1 00:00:00,000 --> 00:00:02,405 >> [موسیقی] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 دیوید مالان: همه حق است، این CS50. 4 00:00:11,980 --> 00:00:13,740 این پایان هفته هشتم است. 5 00:00:13,740 --> 00:00:15,887 و امروز، ما شروع برای پر کردن در برخی از قطعات 6 00:00:15,887 --> 00:00:17,720 که آن را به ساختمان می آید همه چیز در وب است. 7 00:00:17,720 --> 00:00:20,020 بنابراین، به یاد آورید که در روز دوشنبه ما زمان زیادی را صرف 8 00:00:20,020 --> 00:00:22,530 در پی اچ پی است که این پویا زبان برنامه نویسی است که 9 00:00:22,530 --> 00:00:26,872 ما اجازه می دهد تا خروجی، در میان دیگر همه چیز، HTML و دیگر محتوا مانند 10 00:00:26,872 --> 00:00:27,830 که ما می خواهید برای دیدن. 11 00:00:27,830 --> 00:00:30,871 اما ما واقعا در چگونه نگاه نمی ما قصد داریم به ذخیره هر گونه اطلاعات. 12 00:00:30,871 --> 00:00:34,477 در واقع، تقریبا هر کدام از این که فوق العاده وب سایت های جالب شما بازدید امروز 13 00:00:34,477 --> 00:00:36,560 به نوعی از پایگاه داده در پایان به عقب، درست است؟ 14 00:00:36,560 --> 00:00:39,540 فیس بوک قطعا ذخیره مقدار زیادی از داده در مورد همه ما و فروشگاه های جیمیل همه 15 00:00:39,540 --> 00:00:40,210 از ایمیل های خود را. 16 00:00:40,210 --> 00:00:44,150 >> و بنابراین، بسیاری از سایت های دیگر فقط نمی محتوای استاتیک که اطلاعاتی است. 17 00:00:44,150 --> 00:00:45,640 این در واقع در برخی از راه پویا. 18 00:00:45,640 --> 00:00:48,480 شما فراهم ورودی، آن به روز رسانی صفحات را برای افراد دیگر. 19 00:00:48,480 --> 00:00:50,620 شما دریافت می کنید پیام، شما ارسال پیام ها، و غیره. 20 00:00:50,620 --> 00:00:54,250 بنابراین، امروز، ما نگاه در نزدیک که پایه های یک پروژه 21 00:00:54,250 --> 00:00:57,330 که شما را به شیرجه رفتن بعدی هفته، CS50 مالی، که 22 00:00:57,330 --> 00:01:00,509 است که در واقع رفتن به شما ساخت چیزی نیست که در C، اما در پی اچ پی. 23 00:01:00,509 --> 00:01:02,550 یک وب سایت که به نظر می رسد چیزی کمی شبیه به این 24 00:01:02,550 --> 00:01:05,810 که اجازه می دهد به خرید و فروش سهام هستند که در واقع 25 00:01:05,810 --> 00:01:09,044 رفتن به قرعه کشی بر زمان واقعی اطلاعات سهام از یاهو مالی. 26 00:01:09,044 --> 00:01:11,960 و بنابراین در نهایت، شما باید توهم برای خود و برای کاربران 27 00:01:11,960 --> 00:01:14,550 که شما در واقع خرید و فروش سهام و گرفتن زمان نزدیک به واقعی 28 00:01:14,550 --> 00:01:16,800 به روز رسانی، مدیریت یک نمونه کارها، همه از آن 29 00:01:16,800 --> 00:01:20,310 است که نیاز به داشتن، در نهایت، یک پایگاه داده از کاربران است. 30 00:01:20,310 --> 00:01:23,330 >> بنابراین، در کلمات خود را، به خصوص اگر شما نمی 31 00:01:23,330 --> 00:01:25,670 فوق العاده با کامپیوتر آشنا علم و یا پایگاه های داده، چه 32 00:01:25,670 --> 00:01:30,790 آیا می دانید که یک پایگاه داده به در حال حاضر، در غیر فنی. 33 00:01:30,790 --> 00:01:32,300 چه در آن است؟ 34 00:01:32,300 --> 00:01:36,882 چگونه آن را توصیف به یک هم اتاقی یا دوست؟ 35 00:01:36,882 --> 00:01:40,100 >> مخاطبان: [نامفهوم] اطلاعات [نامفهوم] 36 00:01:40,100 --> 00:01:44,430 >> دیوید مالان: بنابراین، یک لیست از اطلاعات، یا یک store-- یک لیست از اطلاعات 37 00:01:44,430 --> 00:01:47,160 که شما ممکن است بخواهید برای ذخیره در مورد چیزی، مانند یک کاربر. 38 00:01:47,160 --> 00:01:50,190 و چه کاربران باید در ارتباط با آنها؟ 39 00:01:50,190 --> 00:01:53,160 اگر شما یک کاربر در فیس بوک یا هستید جیمیل، چه ویژگی های هستند 40 00:01:53,160 --> 00:01:54,940 که همه ما کاربران را داشته باشد؟ 41 00:01:54,940 --> 00:01:58,530 مانند، چه ممکن است برخی از ستون در صفحه گسترده که ما 42 00:01:58,530 --> 00:01:59,390 اشاره زمان آخرین؟ 43 00:01:59,390 --> 00:02:01,140 از آنجا دوباره، شما می توانید از یک پایگاه داده فکر می کنم 44 00:02:01,140 --> 00:02:05,810 واقعا به عنوان یک فایل اکسل فانتزی و یا گوگل گسترده و یا اپل اعداد فایل. 45 00:02:05,810 --> 00:02:08,280 >> بنابراین، چه چیزی شما را از فکر می کنم زمانی که شما از یک کاربر فکر می کنم؟ 46 00:02:08,280 --> 00:02:11,290 چه را دارند؟ 47 00:02:11,290 --> 00:02:11,790 آن چیست؟ 48 00:02:11,790 --> 00:02:12,470 >> مخاطبان: یک نام است. 49 00:02:12,470 --> 00:02:13,303 >> دیوید مالان: یک نام است. 50 00:02:13,303 --> 00:02:16,840 بنابراین اگر نام، مانند، دیوید مالان می شود نام برخی از کاربران. 51 00:02:16,840 --> 00:02:17,980 چه چیز دیگری می کند یک کاربر؟ 52 00:02:17,980 --> 00:02:18,770 >> مخاطبان: یک ID. 53 00:02:18,770 --> 00:02:19,561 >> دیوید مالان: یک ID. 54 00:02:19,561 --> 00:02:23,320 بنابراین، مانند شماره ID، مانند هاروارد خود را ID و یا خود را ییل ID خالص و یا مانند. 55 00:02:23,320 --> 00:02:24,923 چه چیز دیگری ممکن است یک کاربر؟ 56 00:02:24,923 --> 00:02:25,890 >> مخاطبان: رمز عبور. 57 00:02:25,890 --> 00:02:29,240 >> دیوید مالان: رمز عبور، شاید یک آدرس، شاید یک شماره تلفن، شاید 58 00:02:29,240 --> 00:02:30,050 یک آدرس ایمیل. 59 00:02:30,050 --> 00:02:32,640 بنابراین، مجموعه ای از رشته ها و این وجود دارد می تواند از چرخه خارج از کنترل 60 00:02:32,640 --> 00:02:34,760 به سرعت به عنوان محض اینکه شما شروع تحقق، آه، اجازه دهید این فروشگاه 61 00:02:34,760 --> 00:02:36,190 و اجازه دهید این و آن را ذخیره کنید. 62 00:02:36,190 --> 00:02:37,657 >> اما چگونه ما در واقع انجام این کار؟ 63 00:02:37,657 --> 00:02:39,740 پس دوباره، مدل ذهنی برای امروز به عنوان ما 64 00:02:39,740 --> 00:02:42,320 شیرجه رفتن به واقعی SQL، ساختار زبان پرس و جو، 65 00:02:42,320 --> 00:02:44,186 یک پایگاه داده که شبیه به این است. 66 00:02:44,186 --> 00:02:45,310 این فقط سطر و ستون است. 67 00:02:45,310 --> 00:02:48,309 و شما می توانید صفحات گسترده گوگل تصور کنید یا هر تعداد از برنامه های دیگر. 68 00:02:48,309 --> 00:02:52,130 اما آنچه در مورد خروجی زیر کلید است، که این نرم افزار پایگاه داده ما قصد داریم برای استفاده، 69 00:02:52,130 --> 00:02:54,920 آزادانه آشکارا available-- استفاده از فیس بوک 70 00:02:54,920 --> 00:02:59,200 و هر تعداد از دیگر websites-- پایگاه داده ذخیره چیز روابط، 71 00:02:59,200 --> 00:03:01,770 و یک پایگاه داده رابطه ای فقط به این معنی است که به معنای واقعی کلمه 72 00:03:01,770 --> 00:03:03,672 ذخیره داده های خود را در سطر و ستون. 73 00:03:03,672 --> 00:03:04,630 آن را به عنوان ساده است. 74 00:03:04,630 --> 00:03:07,230 >> بنابراین، حتی چیزی شبیه به اوراکل که شما ممکن است به طور کلی از شنیده 75 00:03:07,230 --> 00:03:08,271 یک پایگاه داده رابطه است. 76 00:03:08,271 --> 00:03:10,929 و در زیر هود از آن، فروشگاه داده در سطر و ستون. 77 00:03:10,929 --> 00:03:12,970 و اوراکل شما یک اتهام مقدار زیادی از پول برای انجام این کار، 78 00:03:12,970 --> 00:03:15,550 در حالی که اتهامات خروجی زیر شما برای همان هیچ چیز نیست. 79 00:03:15,550 --> 00:03:18,790 بنابراین، SQL است که به ما می دهد حداقل چهار عملیات. 80 00:03:18,790 --> 00:03:23,190 توانایی انتخاب داده ها، مانند خواندن داده ها، درج، حذف، و به روز رسانی داده ها. 81 00:03:23,190 --> 00:03:25,525 به عبارت دیگر، کسانی هستند واقعا از چهار عملیات کلیدی 82 00:03:25,525 --> 00:03:28,950 که می رویم به ما اجازه می دهد به تغییر مسائل در آن سطر و ستون. 83 00:03:28,950 --> 00:03:33,250 >> ابزاری است که ما امروز به خصوص استفاده به یاد بگیرند که SQL و به بازی با آن 84 00:03:33,250 --> 00:03:34,627 دوباره PHP MyAdmin نامیده می شود. 85 00:03:34,627 --> 00:03:35,460 این ابزار مبتنی بر وب است. 86 00:03:35,460 --> 00:03:38,200 تصادف مجموع که آن را در PHP نوشته شده است. 87 00:03:38,200 --> 00:03:42,400 اما آن را به ما یک گرافیکی را رابط کاربری به طوری که ما می تواند در حقیقت 88 00:03:42,400 --> 00:03:46,054 ایجاد این ردیف ها و ستون و سپس به آنها صحبت از طریق کد. 89 00:03:46,054 --> 00:03:47,970 بنابراین، اجازه دهید در حال حاضر شروع چه من فکر می کنم رک و پوست کنده 90 00:03:47,970 --> 00:03:51,000 نوع فرایند سرگرم کننده از ساخت و ساز در پایان به وب سایت ها، 91 00:03:51,000 --> 00:03:54,580 قطعات که کاربران نمی را مشاهده کنید، اما مطمئنا در مورد انجام مراقبت، 92 00:03:54,580 --> 00:03:56,170 چرا که نه داده شود. 93 00:03:56,170 --> 00:03:59,570 بنابراین، شبیه به C و یک کمی کمتر به مانند PHP، 94 00:03:59,570 --> 00:04:04,954 SQL، یا یک پایگاه داده است که پشتیبانی از SQL، دارای انواع حداقل این داده ها 95 00:04:04,954 --> 00:04:05,870 و مجموعه ای از دیگران است. 96 00:04:05,870 --> 00:04:08,107 CHAR، VARCHAR، INT، BIGINT، اعشاری، و استاندارد. 97 00:04:08,107 --> 00:04:09,940 و یک کل وجود دارد دسته از ویژگی های دیگر، 98 00:04:09,940 --> 00:04:11,940 اما اجازه دهید این کار را با به عنوان مثال واقعی. 99 00:04:11,940 --> 00:04:16,450 >> من قصد دارم برای رفتن به CS50 IDE که در آن، در پیش است، من در وارد کرده اید 100 00:04:16,450 --> 00:04:19,372 و من هم یک URL برای بازدید کرده اید این ابزار به نام PHP MyAdmin. 101 00:04:19,372 --> 00:04:22,580 و در مجموعه ای مشکل هفت، ما به شما دقیقا چگونه برای رسیدن به این رابط 102 00:04:22,580 --> 00:04:23,200 به خوبی. 103 00:04:23,200 --> 00:04:25,640 در گوشه بالا سمت چپ، متوجه آن می گوید سخنرانی کنند. 104 00:04:25,640 --> 00:04:27,610 و این فقط بدان معنی است که در پیش است، من ایجاد 105 00:04:27,610 --> 00:04:31,360 یک پایگاه داده به نام سخنرانی خالی است که هیچ صفحات گسترده در آن است. 106 00:04:31,360 --> 00:04:32,600 هیچ سطر و ستون وجود دارد. 107 00:04:32,600 --> 00:04:34,308 از آنجا که اولین چیزی که ما در حال رفتن به 108 00:04:34,308 --> 00:04:37,100 این است شروع به ایجاد یک جدول که رفتن به ذخیره کاربران ما. 109 00:04:37,100 --> 00:04:39,100 >> بنابراین، به معنای واقعی کلمه بیش از در اینجا به سمت راست، من 110 00:04:39,100 --> 00:04:42,070 رفتن به پایگاه داده من می خواهم یک جدول به نام کاربر. 111 00:04:42,070 --> 00:04:44,845 بنابراین، این است مانند فایل که من می خواهید برای ذخیره تمام داده های من در. 112 00:04:44,845 --> 00:04:45,720 و چگونه بسیاری از ستون؟ 113 00:04:45,720 --> 00:04:47,740 خوب، اجازه دهید آن را ساده نگه دارید در حال حاضر. 114 00:04:47,740 --> 00:04:51,855 من فقط می خواهم برای ذخیره مانند نام کاربری و یک نام برای یک کاربر. 115 00:04:51,855 --> 00:04:53,020 ما شروع به کوچک است. 116 00:04:53,020 --> 00:04:55,370 بنابراین، من می خواهم کل دو ستون است. 117 00:04:55,370 --> 00:04:57,360 و من قصد دارم به جلو بروید و برو کلیک کنید. 118 00:04:57,360 --> 00:04:59,210 و پس از آن، برای این ستون، آنچه که من قصد 119 00:04:59,210 --> 00:05:04,576 به انجام این اینترنت cooperates-- همه حق است، 120 00:05:04,576 --> 00:05:05,950 بنابراین ما قصد داریم به سعی کنید که دوباره و دوباره. 121 00:05:05,950 --> 00:05:09,180 من قصد دارم برای ایجاد یک جدول به نام کاربران با دو ستون، برو کلیک کنید، OK. 122 00:05:09,180 --> 00:05:10,520 در حال حاضر ما باید آن را واقعا سریع است. 123 00:05:10,520 --> 00:05:12,065 با تشکر از شما، به خوبی انجام می شود. 124 00:05:12,065 --> 00:05:14,440 خوب، پس ما چه می خواهیم این ستون به آن می شود؟ 125 00:05:14,440 --> 00:05:16,080 >> بنابراین، یکی را به نام کاربری. 126 00:05:16,080 --> 00:05:19,480 بنابراین، تمام من here-- و رابط رک و پوست کنده می شود کمی زشت در نهایت، 127 00:05:19,480 --> 00:05:21,270 هنگامی که شما شروع به تایپ در تمام این داده ها. 128 00:05:21,270 --> 00:05:27,450 اما آنچه خوب است که مرتب کردن بر اساس است برعکس، من ایجاد ستون، 129 00:05:27,450 --> 00:05:29,977 اما این ابزار دارای احمقانه آنها را در ردیف گذاشته 130 00:05:29,977 --> 00:05:31,560 به طوری که من می توانید از این ستون را پیکربندی کنید. 131 00:05:31,560 --> 00:05:33,550 بنابراین، دو شاهد وجود دارد تحت نام وجود دارد. 132 00:05:33,550 --> 00:05:36,180 و یکی از این زمینه ها من می خواهم به نام کاربری، 133 00:05:36,180 --> 00:05:38,000 و زمینه های دیگر من می خواهم به نام پاسخ. 134 00:05:38,000 --> 00:05:40,340 >> و اکنون من باید انتخاب کنید انواع داده ها را برای این چیزها. 135 00:05:40,340 --> 00:05:42,330 بنابراین، در حالی که در اکسل و صفحات گسترده گوگل، 136 00:05:42,330 --> 00:05:45,531 اگر شما می خواهید یک ستون، به معنای واقعی کلمه فقط نوع نام یا نام کاربری، ضربه وارد کنید. 137 00:05:45,531 --> 00:05:48,030 شاید شما آن را به صورت پررنگ فقط برای وضوح، اما از آن است. 138 00:05:48,030 --> 00:05:50,140 شما مشخص نیست انواع ستون. 139 00:05:50,140 --> 00:05:53,790 در حال حاضر در صفحات گسترده گوگل یا اکسل، شما ممکن است مشخص کنید که چگونه داده ها ارائه شده است. 140 00:05:53,790 --> 00:05:58,120 شما می توانید به منوی Format، و شما می توانید مشخص کنید این علامت دلار مانند نشان می دهد، 141 00:05:58,120 --> 00:05:59,900 نشان می دهد این مثل یک مقدار ممیز شناور. 142 00:05:59,900 --> 00:06:01,990 >> بنابراین، آن را در روح به مشابه که آنچه ما در مورد به انجام، 143 00:06:01,990 --> 00:06:04,740 اما این است که در واقع به زور داده ها به یک نوع خاص است. 144 00:06:04,740 --> 00:06:07,750 در حال حاضر، حتی اگر یک لحظه پیش من گفت تنها چند نوع داده وجود دارد، 145 00:06:07,750 --> 00:06:11,120 در واقع وجود دارد طیف زیادی، و آنها 146 00:06:11,120 --> 00:06:12,910 در درجه از ویژگی های مختلف. 147 00:06:12,910 --> 00:06:14,970 و به عنوان یک به کنار، شما حتی می توانید انجام کارهای فانتزی 148 00:06:14,970 --> 00:06:17,520 مانند هندسه ذخیره سازی در داخل یک پایگاه داده است. 149 00:06:17,520 --> 00:06:19,250 شما می توانید همه چیز را ذخیره مانند مختصات GPS 150 00:06:19,250 --> 00:06:22,420 و در واقع پیدا، ریاضی، نقاط که نزدیک به دیگران است. 151 00:06:22,420 --> 00:06:24,128 اما ما قصد داریم به نگه داشتن این فوق العاده ساده 152 00:06:24,128 --> 00:06:26,800 و تا به اینجا، همه از به اصطلاح نوع رشته. 153 00:06:26,800 --> 00:06:29,240 >> بنابراین، در اینجا یک لیست از این تمام دسته از گزینه. 154 00:06:29,240 --> 00:06:32,740 CHAR، VARCHAR، TINYTEXT، MEDIUMTEXT، LONGTEXT. 155 00:06:32,740 --> 00:06:34,110 و آن نوع از قریب به اتفاق است. 156 00:06:34,110 --> 00:06:37,610 و متاسفانه، تا حدودی متناقض نما به C، 157 00:06:37,610 --> 00:06:40,120 یک کاراکتر است که واقعا یک کاراکتر است. 158 00:06:40,120 --> 00:06:44,170 اگر شما در یک پایگاه داده را مشخص که نوع داده خود را CHAR است، 159 00:06:44,170 --> 00:06:47,390 که بدان معنی است که بله، آن را یک CHAR، اما آن را یک یا چند کاراکتر. 160 00:06:47,390 --> 00:06:49,630 و شما باید برای مشخص چگونه بسیاری از کاراکتر شما می خواهید. 161 00:06:49,630 --> 00:06:51,636 بنابراین، آنچه که یک نمونه طول یک نام کاربری؟ 162 00:06:51,636 --> 00:06:52,760 به طور معمول یک محدودیتی وجود دارد؟ 163 00:06:52,760 --> 00:06:53,920 >> مخاطبان: [نامفهوم] 164 00:06:53,920 --> 00:06:55,050 >> دیوید مالان: 16 شاید؟ 165 00:06:55,050 --> 00:06:55,990 یه چیزی شبیه اون. 166 00:06:55,990 --> 00:06:57,948 شما می دانید، در روز، از آن استفاده شود و به هشت. 167 00:06:57,948 --> 00:07:00,289 گاهی اوقات آن را 16، گاهی اوقات آن را حتی بیشتر از آن. 168 00:07:00,289 --> 00:07:02,080 و بنابراین، این را نمی کند معنی من یک کاراکتر است. 169 00:07:02,080 --> 00:07:04,730 این به این معنی من باید برای مشخص طول این زمینه، 170 00:07:04,730 --> 00:07:07,402 و در حال حاضر ممکن است چیزی شبیه 16 می گویند. 171 00:07:07,402 --> 00:07:08,610 و یک تجارت کردن در اینجا وجود دارد. 172 00:07:08,610 --> 00:07:11,360 بنابراین، ما در یک لحظه را ببینید که این به معنای یک، 173 00:07:11,360 --> 00:07:14,620 هر نام کاربری تا به 16 کاراکتر. 174 00:07:14,620 --> 00:07:18,720 اما یک دقیقه، M-A-L-A-N صبر کنید. در صورتی که نام کاربری من و من تنها با استفاده از پنج، 175 00:07:18,720 --> 00:07:23,070 آنچه را که شما پیشنهاد می کنند که در پایگاه داده برای 11 شخصیت های دیگر که 176 00:07:23,070 --> 00:07:24,471 من فضا برای محفوظ ام؟ 177 00:07:24,471 --> 00:07:25,220 چه کار می کنید؟ 178 00:07:25,220 --> 00:07:26,480 >> مخاطبان: [نامفهوم] 179 00:07:26,480 --> 00:07:27,160 >> دیوید مالان: آره، فقط همه آنها مقدار null را. 180 00:07:27,160 --> 00:07:28,290 آنها را فاصله است. 181 00:07:28,290 --> 00:07:30,816 اما احتمالا تهی، به طوری که یک بسیاری از صفر بک اسلش. 182 00:07:30,816 --> 00:07:33,190 بنابراین، از یک سو، ما اکنون مطمئن ساخته شده است که نام کاربری من 183 00:07:33,190 --> 00:07:34,780 می تواند بیشتر از 16 کاراکتر است. 184 00:07:34,780 --> 00:07:37,590 و از طرف دیگر از آن است که اگر من تا به حال یک نام واقعا طولانی 185 00:07:37,590 --> 00:07:39,940 و یا می خواستم یک واقعا طولانی نام کاربری مانند برخی از شما 186 00:07:39,940 --> 00:07:44,840 بچه ها ممکن است در آن کالج و یا در Yale.edu، شما نمی توانید آن را ندارد. 187 00:07:44,840 --> 00:07:47,177 و به این ترتیب در واقع، اگر شما تا کنون برای یک وب سایت ثبت نام 188 00:07:47,177 --> 00:07:49,385 و شما در گفت فریاد زد رمز عبور خود را بیش از حد طولانی 189 00:07:49,385 --> 00:07:52,710 و یا نام کاربری خود را بیش از حد طولانی، آن را تنها به دلیل یک برنامه نویس، که 190 00:07:52,710 --> 00:07:55,500 پیکربندی پایگاه داده خود، تصمیم گرفت که این فیلد 191 00:07:55,500 --> 00:07:57,150 بیش از این طول داشته باشد. 192 00:07:57,150 --> 00:08:00,580 >> خوب، پس چه می شود اگر ما اقدام به نام؟ 193 00:08:00,580 --> 00:08:05,240 چه مدت باید نام و نام خانوادگی انسان معمولی خواهد بود؟ 194 00:08:05,240 --> 00:08:07,492 چگونه بسیاری از شخصیت، 16؟ 195 00:08:07,492 --> 00:08:09,450 من حدس می زنم ما می تواند پیدا کردن کسی در این اتاق 196 00:08:09,450 --> 00:08:13,210 که در آن برای اولین بار به همراه او آخرین نام و نام خانوادگی بیش از 16 کاراکتر است. 197 00:08:13,210 --> 00:08:14,850 بنابراین، آنچه که بهتر از آن، 17؟ 198 00:08:14,850 --> 00:08:17,040 18؟ 199 00:08:17,040 --> 00:08:18,830 25؟ 200 00:08:18,830 --> 00:08:20,350 بزرگتر؟ 201 00:08:20,350 --> 00:08:20,980 30؟ 202 00:08:20,980 --> 00:08:21,855 >> مخاطبان: [نامفهوم] 203 00:08:21,855 --> 00:08:23,700 دیوید مالان: 5،000، آه خدای من. 204 00:08:23,700 --> 00:08:26,309 بنابراین، این احتمالا مناسب و معقول حد بالا، باید ما می گویند. 205 00:08:26,309 --> 00:08:28,350 و در اینجا ما به نوعی باید برای ایجاد یک تماس قضاوت. 206 00:08:28,350 --> 00:08:30,400 مانند، هیچ جواب درست وجود دارد. 207 00:08:30,400 --> 00:08:32,740 بی نهایت است کاملا ممکن نیست، چرا که ما در نهایت هستید 208 00:08:32,740 --> 00:08:34,781 رفتن به have-- ما رفتن به اجرا از حافظه است. 209 00:08:34,781 --> 00:08:36,909 بنابراین، ما باید به یک تماس قضاوت در برخی از نقطه. 210 00:08:36,909 --> 00:08:41,010 >> بسیار معمول می شود، برای مثال، به use-- و اجازه دهید من در اینجا مشخص CHAR 211 00:08:41,010 --> 00:08:46,050 به عنوان before-- 255 به معنای واقعی کلمه بود حد بالایی بر روی این نرم افزار پایگاه داده 212 00:08:46,050 --> 00:08:46,700 سالها پیش. 213 00:08:46,700 --> 00:08:48,575 و بنابراین، بسیاری از انسان ها می فقط می گویند، خوب است. 214 00:08:48,575 --> 00:08:49,420 255 از حد است. 215 00:08:49,420 --> 00:08:50,620 اجازه دهید فقط حداکثر استفاده کنید. 216 00:08:50,620 --> 00:08:51,870 و این بسیار مضحک است. 217 00:08:51,870 --> 00:08:55,060 مانند، اگر شما در حال تایپ کردن کسی نام برای 200 کاراکتر به علاوه، 218 00:08:55,060 --> 00:08:56,140 که کمی مضحک است. 219 00:08:56,140 --> 00:08:59,624 >> اما، به یاد داشته باشید که ASCII است تنها سیستم برای شخصیت. 220 00:08:59,624 --> 00:09:01,540 و به این ترتیب، به ویژه در بسیاری از زبان های آسیایی 221 00:09:01,540 --> 00:09:04,248 که در آن شخصیت وجود دارد ما می توانیم بیان بر روی صفحه کلید مانند ایالات متحده من 222 00:09:04,248 --> 00:09:08,209 صفحه کلید، برخی از شخصیت های واقعی تا 16 بیت به جای هشت بیت است. 223 00:09:08,209 --> 00:09:10,250 و به این ترتیب، این در واقع است که همه غیر منطقی نیست 224 00:09:10,250 --> 00:09:12,250 که ما بیشتر نیاز فضای اگر ما می خواهیم به تناسب 225 00:09:12,250 --> 00:09:16,252 شخصیت بزرگتر از آمریکا بسیار آنهایی که ما تمایل محور به بحث در مورد. 226 00:09:16,252 --> 00:09:17,460 بنابراین، ما باید برخی از حد بالا. 227 00:09:17,460 --> 00:09:21,470 من نمی دانم که چه یکی از بهترین است، اما به طور کلی 255 یکی از رایج است. 228 00:09:21,470 --> 00:09:22,700 25 احساس می کند کم است. 229 00:09:22,700 --> 00:09:23,857 16، 32 احساس پایین. 230 00:09:23,857 --> 00:09:25,690 من در سمت گمراه از چیزی بالاتر است. 231 00:09:25,690 --> 00:09:27,330 اما یک تجارت وجود دارد خاموش، مثل همیشه. 232 00:09:27,330 --> 00:09:31,902 چه، شاید، آشکار تجارت کردن از رزرو 255 کاراکتر 233 00:09:31,902 --> 00:09:33,360 برای نام همه را در پایگاه داده من؟ 234 00:09:33,360 --> 00:09:34,230 >> مخاطبان: [نامفهوم] 235 00:09:34,230 --> 00:09:34,510 >> دیوید مالان: آن چیست؟ 236 00:09:34,510 --> 00:09:35,430 >> مخاطبان: [نامفهوم] 237 00:09:35,430 --> 00:09:37,138 >> دیوید مالان: این یک مقدار زیادی از حافظه، درست است؟ 238 00:09:37,138 --> 00:09:42,280 M-A-L-A-N. من فقط به هدر رفته 250 شخصیت فقط برای ذخیره کردن نام من 239 00:09:42,280 --> 00:09:46,000 دفاعی، فقط در مورد کسی در کلاس دارای یک نام واقعا طولانی است. 240 00:09:46,000 --> 00:09:47,940 که به نظر می رسد مثل یک معاوضه معقول 241 00:09:47,940 --> 00:09:52,040 >> بنابراین، معلوم است که SQL، این زبان پایگاه داده، 242 00:09:52,040 --> 00:09:55,480 در واقع از چیزی نام VARCHAR، و یا متغیر کاراکتر. 243 00:09:55,480 --> 00:09:59,390 و این نوع از در که این خوب به شما اجازه نمی ثابت 244 00:09:59,390 --> 00:10:01,900 عرض، بلکه، یک عرض متغیر. 245 00:10:01,900 --> 00:10:05,060 و بیشتر به طور خاص، حداکثر عرض این زمینه است. 246 00:10:05,060 --> 00:10:08,901 بنابراین، این بدان معنی است که یک نام می تواند می شود بیش از 250 کاراکتر، 247 00:10:08,901 --> 00:10:10,150 اما قطعا می توانید کمتر باشد. 248 00:10:10,150 --> 00:10:11,733 و پایگاه داده است برای رفتن به هوشمند. 249 00:10:11,733 --> 00:10:14,860 اگر شما در M-A-L-A-N قرار داده است، آن را تنها رفتن به استفاده از پنج، 250 00:10:14,860 --> 00:10:18,120 شاید شش بایت برای مانند یک شخصیت های پوچ انتهایی، 251 00:10:18,120 --> 00:10:23,330 و نه اضافی صرف 249 یا 250 بایت بی ارزش. 252 00:10:23,330 --> 00:10:27,380 >> بنابراین، این به نظر می رسد مانند من باید با این داستان آغاز شده است. 253 00:10:27,380 --> 00:10:29,140 اما همیشه یک معاوضه وجود دارد. 254 00:10:29,140 --> 00:10:33,024 بنابراین، از یک سو، یک نام کاربری من مشخص به سخت در 16 رمزی، 255 00:10:33,024 --> 00:10:34,940 و شاید بود که نه تماس راست، شاید آن 256 00:10:34,940 --> 00:10:40,040 است، اما چرا استفاده نمی متغیر varchar برای همه چیز؟ 257 00:10:40,040 --> 00:10:42,020 >> امر به دلیل وجود دارد. 258 00:10:42,020 --> 00:10:46,200 چرا متغیر varchar برای هر زمینه استفاده نمی که طول شما در پیشبرد دانم 259 00:10:46,200 --> 00:10:48,180 اگر به نظر می رسد یک چیز بزرگ، درست است؟ 260 00:10:48,180 --> 00:10:50,482 استفاده از فضای فقط به اندازه شما نیاز تا به این حد؟ 261 00:10:50,482 --> 00:10:51,271 >> رسید آهسته تر. 262 00:10:51,271 --> 00:10:52,146 دیوید مالان: املاء؟ 263 00:10:52,146 --> 00:10:53,120 رسید آن را می سازد کندتر است؟ 264 00:10:53,120 --> 00:10:53,970 دیوید مالان: آه، آن کندتر است. 265 00:10:53,970 --> 00:10:55,720 خوب است، که تقریبا همیشه پاسخ، رک و پوست کنده. 266 00:10:55,720 --> 00:10:56,520 مانند، چه معاوضه نیست. 267 00:10:56,520 --> 00:10:58,570 این هم هزینه فضای بیشتری و یا هزینه آن زمان بیشتر است. 268 00:10:58,570 --> 00:11:00,111 بنابراین، در این مورد، ممکن است آن کندتر است. 269 00:11:00,111 --> 00:11:00,920 واسه چی؟ 270 00:11:00,920 --> 00:11:05,830 >> مخاطبان: [نامفهوم] تعیین [نامفهوم]. 271 00:11:05,830 --> 00:11:06,640 >> دیوید مالان: خوب. 272 00:11:06,640 --> 00:11:09,670 بنابراین، شما ممکن است از حتی به یاد PSED5، بازی با رویکرد خود را 273 00:11:09,670 --> 00:11:12,750 به فرهنگ لغت، اگر شما را به تخصیص حافظه به صورت پویا و یا نگه داشتن 274 00:11:12,750 --> 00:11:14,630 در حال رشد یک بافر، که در واقع می تواند آهسته باشد. 275 00:11:14,630 --> 00:11:16,963 اگر شما به malloc پاسخ در زیر هود و شاید 276 00:11:16,963 --> 00:11:19,610 این چیزی است که خروجی زیر در حال انجام است، به طوری که مطمئنا که می تواند مورد. 277 00:11:19,610 --> 00:11:22,430 و اگر شما فکر می کنم راه برگشت به PSet-- و یا حتی 278 00:11:22,430 --> 00:11:26,340 هفته دو، همه چیز که ما را دوست جستجوی دودویی یا حتی جستجوی خطی، 279 00:11:26,340 --> 00:11:30,690 یکی از چیزهای خوبی که در مورد هر کلمه در یک پایگاه داده و یا هر کلمه در یک ستون 280 00:11:30,690 --> 00:11:33,690 بودن دقیقا همان طول، حتی اگر یک دسته کامل از کسانی که شخصیت 281 00:11:33,690 --> 00:11:37,390 خالی، این است که شما می توانید استفاده کنید دسترسی تصادفی در داده های خود را، درست است؟ 282 00:11:37,390 --> 00:11:40,310 >> اگر شما می دانید که هر کلمه است 16 کاراکتر دور، 283 00:11:40,310 --> 00:11:46,460 شما می توانید حساب اشاره گر استفاده کنید، بنابراین به صحبت می کنند، و به ما 16، 32، 48، 64، 284 00:11:46,460 --> 00:11:49,589 و شما فقط می توانید پرش فورا با استفاده از حساب 285 00:11:49,589 --> 00:11:51,130 به هر یک از واژگان در پایگاه داده خود را. 286 00:11:51,130 --> 00:11:54,280 در حالی که اگر آن را به یک VARCHAR است، چه چیزی شما را به جای باید انجام دهید؟ 287 00:11:54,280 --> 00:11:55,960 >> [زنگ تلفن] 288 00:11:55,960 --> 00:11:58,680 >> اگر آن را یک VARCHAR، شما می توانید با دسترسی تصادفی استفاده نمی کند. 289 00:11:58,680 --> 00:12:01,341 آنچه شما باید برای نگاه کنید و یا انجام دهد؟ 290 00:12:01,341 --> 00:12:01,840 آره؟ 291 00:12:01,840 --> 00:12:03,240 >> مخاطبان: [نامفهوم] 292 00:12:03,240 --> 00:12:04,310 >> دیوید مالان: نگاه از طریق ردیابی whole-- 293 00:12:04,310 --> 00:12:06,518 از طریق تمام فهرست به دنبال چه، به احتمال زیاد؟ 294 00:12:06,518 --> 00:12:08,356 چه نوع از ارزش ویژه ای؟ 295 00:12:08,356 --> 00:12:09,230 مخاطبان: [نامفهوم] 296 00:12:09,230 --> 00:12:11,105 دیوید مالان: به دنبال برای قطع null را 297 00:12:11,105 --> 00:12:13,637 که مشخص جدایی از کلمات. 298 00:12:13,637 --> 00:12:15,720 پس دوباره، یک معاوضه و هیچ جواب درست وجود دارد. 299 00:12:15,720 --> 00:12:18,380 اما این جایی است که، به ویژه هنگامی که کاربران خود را دریافت کنید به بسیاری از 300 00:12:18,380 --> 00:12:21,700 و بار خود را بر روی سرور خود را، تعدادی از مردم با استفاده از آن بالا می شود، 301 00:12:21,700 --> 00:12:23,650 این در واقع تصمیم گیری کوچک اما با اهمیت. 302 00:12:23,650 --> 00:12:26,640 بنابراین، ما می توانیم این را به عنوان این ترک کند، اما اجازه دهید در پایین حرکت را به سمت راست 303 00:12:26,640 --> 00:12:27,332 اینجا. 304 00:12:27,332 --> 00:12:30,290 در حال حاضر، یک زن و شوهر از ستون وجود دارد که در آن ما را به یک قضاوت. 305 00:12:30,290 --> 00:12:35,170 آیا این درست است که اجازه می دهد کاربر نام، نام کاربری کاربر یا کاربر 306 00:12:35,170 --> 00:12:36,370 نام، به تهی؟ 307 00:12:36,370 --> 00:12:37,610 این است که، فقط خالی است. 308 00:12:37,610 --> 00:12:40,360 احساس کمی مزخرف، بنابراین من رفتن به بررسی آن جعبه. 309 00:12:40,360 --> 00:12:42,670 اما معلوم است در یک پایگاه داده، شما می توانید می گویند، 310 00:12:42,670 --> 00:12:44,620 کسی اختیاری می توانید این مقدار را داشته باشد. 311 00:12:44,620 --> 00:12:47,180 این ستون اختصاص ندارد در واقع وجود داشته باشد. 312 00:12:47,180 --> 00:12:48,570 >> در حال حاضر، این منوی کشویی وجود دارد. 313 00:12:48,570 --> 00:12:50,810 و متوجه من هنوز در سطر اول وجود دارد، 314 00:12:50,810 --> 00:12:52,520 بنابراین من صحبت کردن در مورد نام کاربری در حال حاضر. 315 00:12:52,520 --> 00:12:56,290 و معلوم است که یک پایگاه داده، بر خلاف یک صفحه گسترده ساده صرف، 316 00:12:56,290 --> 00:12:58,520 دارای ویژگی های قدرتمند به نام شاخص. 317 00:12:58,520 --> 00:13:02,600 و شاخص راه گفتن است پایگاه داده در پیش است که من انسان 318 00:13:02,600 --> 00:13:03,900 من باهوش تر از شما. 319 00:13:03,900 --> 00:13:10,430 >> من می دانم که چه نوع نمایش داده شد، را انتخاب کنید و یا قرار دادن و یا حذف و یا به روز رسانی، 320 00:13:10,430 --> 00:13:13,182 که کد من است که برای پایان تا انجام در این پایگاه داده است. 321 00:13:13,182 --> 00:13:14,390 من می خواهم به خواندن بسیاری از داده ها. 322 00:13:14,390 --> 00:13:15,681 من می خواهم برای قرار دادن بسیاری از داده ها. 323 00:13:15,681 --> 00:13:17,530 من به طور مداوم می خواهید حذف بسیاری از داده ها. 324 00:13:17,530 --> 00:13:21,520 اگر من می دانم که من قصد دارم به دسترسی به یک میدان مانند نام کاربری زیادی، 325 00:13:21,520 --> 00:13:24,770 من پیشگیرانه می توانید بگویید پایگاه داده، من می دانم بیش از شما، 326 00:13:24,770 --> 00:13:29,220 و من به فرمان می خواهید که شما باید اول این زمینه. 327 00:13:29,220 --> 00:13:33,200 که در آن نمایه سازی یک میدان و یا یک ستون بدان معنی است که پایگاه داده در 328 00:13:33,200 --> 00:13:37,040 باید ایده هایی از، مانند قرض، هفته چهار و پنج و شش از CS50 329 00:13:37,040 --> 00:13:39,240 و در واقع ساخت تا چیزی شبیه به یک جستجوی دودویی 330 00:13:39,240 --> 00:13:41,560 درخت و یا چیزی به طور کلی یک درخت B به نام 331 00:13:41,560 --> 00:13:43,410 که شما را یاد بگیرند در یک کلاس مانند CS124 332 00:13:43,410 --> 00:13:46,710 در دانشگاه هاروارد، یک کلاس الگوریتم، یا هر تعداد از جاهای دیگر. 333 00:13:46,710 --> 00:13:49,570 >> پایگاه داده ها و هوشمند افرادی که آن را اجرا 334 00:13:49,570 --> 00:13:53,880 کشف کردن که چگونه برای ذخیره که جدول از اطلاعات 335 00:13:53,880 --> 00:13:57,061 در حافظه به طوری که جستجو و عملیات دیگر هستند فوق العاده سریع. 336 00:13:57,061 --> 00:13:58,060 شما لازم نیست که به انجام آن. 337 00:13:58,060 --> 00:14:00,640 شما لازم نیست که برای پیاده سازی جستجوی خطی یا جستجوی دودویی 338 00:14:00,640 --> 00:14:03,300 و یا ادغام مرتب سازی بر و یا انتخاب مرتب سازی بر اساس، هر یک از آن. 339 00:14:03,300 --> 00:14:06,590 پایگاه داده آن را برای شما اگر به شما بگویم آن پیشگیرانه به صفحه اول این زمینه. 340 00:14:06,590 --> 00:14:09,100 >> و شما هم می توانید ببینید، وجود دارد برخی از ویژگی های دیگر 341 00:14:09,100 --> 00:14:11,010 ما می توانید بگویید پایگاه داده برای به اجرا درآوردن. 342 00:14:11,010 --> 00:14:16,431 چه معنایی ممکن است در صورت منحصر به فرد را انتخاب من از این منو، فقط به طور مستقیم؟ 343 00:14:16,431 --> 00:14:16,930 آره؟ 344 00:14:16,930 --> 00:14:17,889 >> مخاطبان: [نامفهوم] 345 00:14:17,889 --> 00:14:19,930 دیوید مالان: آره، نام کاربری باید منحصر به فرد. 346 00:14:19,930 --> 00:14:23,330 آیا این یک چیز خوب یا بد برای یک پایگاه داده، برای یک وب سایت با کاربران؟ 347 00:14:23,330 --> 00:14:24,965 باید نام کاربری منحصر به فرد باشد. 348 00:14:24,965 --> 00:14:25,880 آره، احتمالا. 349 00:14:25,880 --> 00:14:27,800 اگر این چیزی است که درست استفاده می کنیم برای ورود به سیستم، 350 00:14:27,800 --> 00:14:31,867 شما واقعا به مردم داشتن می خواهید همان احساس و یا همان نام کاربری. 351 00:14:31,867 --> 00:14:33,700 بنابراین، ما می توانیم دارند پایگاه داده اجرا که 352 00:14:33,700 --> 00:14:37,880 که در حال حاضر در کد PHP یا هر زبان، من لازم نیست به عنوان مثال، بررسی 353 00:14:37,880 --> 00:14:41,490 لزوما این نام کاربری وجود قبل از من اجازه کسی ثبت نام دارید؟ 354 00:14:41,490 --> 00:14:46,690 پایگاه داده خواهد شد دو نفر به نام اجازه نمی دیوید و یا برای ثبت نام اینجا Malans در این مورد. 355 00:14:46,690 --> 00:14:50,030 >> و به عنوان یک کنار، حتی اگر این منوی تنها به شما اجازه یکی را انتخاب کنید، 356 00:14:50,030 --> 00:14:54,550 شاخص منحصر به فرد یکی که است نمایه برای عملکرد فوق العاده سریع، 357 00:14:54,550 --> 00:14:56,100 اما آن را نیز به اجرا می گذارد منحصر به فرد. 358 00:14:56,100 --> 00:14:58,850 و ما به چه آمده دو نفر دیگر معنی در یک لحظه. 359 00:14:58,850 --> 00:15:00,930 در همین حال، اگر من به ردیف دوم من، که 360 00:15:00,930 --> 00:15:06,230 نام کاربر است، باید مشخص من که نام باید منحصر به فرد باشد. 361 00:15:06,230 --> 00:15:09,550 نه، چون شما می تواند قطعا have-- هیچ دو دیوید وجود دارد 362 00:15:09,550 --> 00:15:11,050 Malans در این اتاق، به احتمال زیاد. 363 00:15:11,050 --> 00:15:14,290 اما اگر ما یک نام متفاوت را انتخاب کنید، ما مطمئنا ممکن است برخورد داشته باشد. 364 00:15:14,290 --> 00:15:16,130 >> فکر می کنم به هش جداول و مانند آن. 365 00:15:16,130 --> 00:15:18,604 بنابراین، ما قطعا نمی خواهید به قسمت نام منحصر به فرد. 366 00:15:18,604 --> 00:15:21,270 بنابراین، ما فقط رفتن به ترک که به عنوان فاصله، فاصله، فاصله، هیچ چیز نیست. 367 00:15:21,270 --> 00:15:22,660 و من قصد دارم به ترک هر چیز دیگری به تنهایی. 368 00:15:22,660 --> 00:15:25,035 در واقع، بیشتر از این زمینه ها ما نمی خواهد که در مورد مراقبت. 369 00:15:25,035 --> 00:15:27,830 و زمانی که من آماده برای نجات این هستم، اگر اینترنت همکاری، 370 00:15:27,830 --> 00:15:35,032 من روی Save کلیک کنید، و بسیار، بسیار، بسیار به آرامی می کند پایگاه داده از نجات داد. 371 00:15:35,032 --> 00:15:37,240 و در حال حاضر من برگشتم به این رابط کاربری، که مسلما، 372 00:15:37,240 --> 00:15:38,680 قریب به اتفاق در نگاه اول است. 373 00:15:38,680 --> 00:15:42,450 اما همه من قصد دارم برای انجام کلیک کنید بر روی کاربران کلمه در بالا سمت چپ. 374 00:15:42,450 --> 00:15:47,630 من قصد دارم به تا اینجا، کلیک کنید کاربران و به طور پیش فرض، آن 375 00:15:47,630 --> 00:15:50,180 اعدام کرده است برخی از SQL، اما بیشتر در مورد که در یک لحظه. 376 00:15:50,180 --> 00:15:52,654 در اینجا فقط یک خلاصه ای از آنچه که من انجام است. 377 00:15:52,654 --> 00:15:55,320 و نه نگران که می بینید ذکر لاتین و سوئدی در اینجا. 378 00:15:55,320 --> 00:16:00,490 کسانی که فقط به طور پیش فرض تنظیمات، به دلیل خروجی زیر در اصل، 379 00:16:00,490 --> 00:16:04,000 و یا PHP MyAdmin، یکی از دو اتفاق افتاد به توسط برخی از افراد سوئدی نوشته شود. 380 00:16:04,000 --> 00:16:06,100 اما آن را بی ربط در مورد ما در اینجا. 381 00:16:06,100 --> 00:16:08,280 >> همه حق است، پس چرا این همه جالب است؟ 382 00:16:08,280 --> 00:16:13,050 به نظر می رسد، من می توانم اطلاعات درج به یک پایگاه داده با نوشتن کد. 383 00:16:13,050 --> 00:16:15,940 و من به جلو بروید و در پرونده من در اینجا، من 384 00:16:15,940 --> 00:16:19,000 رفتن به جلو بروید و وانمود کنیم این است که به پایگاه داده، سیمی که 385 00:16:19,000 --> 00:16:23,040 آن است که در حال حاضر نیست، اما از آن خواهد شد شود زمانی که ما به مشکل تنظیم هفت. 386 00:16:23,040 --> 00:16:25,640 و من قصد دارم به جلو بروید و اجرای یک تابع به نام پرس و جو، 387 00:16:25,640 --> 00:16:28,730 که ما شما را در مشکل را مجموعه کد هفت توزیع، که 388 00:16:28,730 --> 00:16:31,490 حداقل یک آرگومان طول می کشد، که فقط یک رشته است. 389 00:16:31,490 --> 00:16:33,460 رشته ای از کد SQL. 390 00:16:33,460 --> 00:16:36,700 بنابراین، شما در مورد به یاد بگیرند که چگونه به هستی ارسال پرس و جو ساخت یافته زبان. 391 00:16:36,700 --> 00:16:41,270 >> اگر من می خواهم برای وارد کردن یک ردیف جدید را به من پایگاه داده به خاطر کسی که ارائه کرده است 392 00:16:41,270 --> 00:16:47,600 یک فرم به کد من، من به معنای واقعی کلمه ارسال INSERT INTO کاربران زیر 393 00:16:47,600 --> 00:16:52,800 زمینه: نام کاربری، کاما، نام، ارزش ها، 394 00:16:52,800 --> 00:16:57,480 و در حال حاضر نیاز به وارد کردن چیزی شبیه به مالان، و نقل قول، 395 00:16:57,480 --> 00:17:01,490 "دیوید مالان. تمام کردن و در حال حاضر حتی برای کسانی که با SQL نا آشنا، 396 00:17:01,490 --> 00:17:07,830 چرا من با استفاده از نقل قول تکی در داخل این رشته سبز؟ 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 آنچه ممکن است به این دلیل که اینجا هستید؟ 399 00:17:13,040 --> 00:17:14,609 >> توجه داشته باشید من Co-اختلاط دو زبان است. 400 00:17:14,609 --> 00:17:18,099 پرس و جو یک تابع PHP است، اما طول می کشد استدلال است. 401 00:17:18,099 --> 00:17:21,740 و این استدلال را به خود باشد نوشته شده به زبان دیگری به نام 402 00:17:21,740 --> 00:17:23,500 SQL، ساختار زبان پرس و جو. 403 00:17:23,500 --> 00:17:27,940 بنابراین، آنچه را که من فقط در اینجا برجسته 404 00:17:27,940 --> 00:17:30,380 این زبان به نام SQL است. 405 00:17:30,380 --> 00:17:36,290 بنابراین، آنچه با نقل قول تکی، فقط به عنوان بررسی سلامت عقل سریع؟ 406 00:17:36,290 --> 00:17:37,324 برو جلو. 407 00:17:37,324 --> 00:17:37,990 آنها رشته است. 408 00:17:37,990 --> 00:17:41,590 بنابراین، نقل قول، تمام کردن مالان و نقل قول، تمام کردن دیوید مالان رشته ها. 409 00:17:41,590 --> 00:17:45,210 و فقط فکر به طور مستقیم در حال حاضر، دانستن اینکه چه چیزی شما را در مورد C و PHP می دانم، 410 00:17:45,210 --> 00:17:50,220 چرا من این کار را نمی داد، که من معمولا استفاده نقل از دو برابر برای رشته؟ 411 00:17:50,220 --> 00:17:52,310 چرا من می خواهم به انجام این کار؟ 412 00:17:52,310 --> 00:17:52,810 آره؟ 413 00:17:52,810 --> 00:17:53,685 >> مخاطبان: [نامفهوم] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 دیوید مالان: دقیقا. 416 00:17:57,570 --> 00:17:59,653 از آنجا که من در حال حاضر با استفاده از به نقل از دو در راه 417 00:17:59,653 --> 00:18:01,929 خارج از بحث به تابع پی اچ پی، 418 00:18:01,929 --> 00:18:03,470 من فقط می مفسر اشتباه است. 419 00:18:03,470 --> 00:18:04,860 آن را نمی خواهد می دانم، آیا این با هم؟ 420 00:18:04,860 --> 00:18:05,735 آیا این با هم؟ 421 00:18:05,735 --> 00:18:06,810 آیا این با هم؟ 422 00:18:06,810 --> 00:18:08,070 بنابراین، من به جای متناوب. 423 00:18:08,070 --> 00:18:11,784 >> و یا من می تواند چیزی شبیه به این کار، نقل قول بک اسلش یا بک اسلش نقل قول. 424 00:18:11,784 --> 00:18:14,200 صادقانه بگویم، که فقط به شروع می شود بسیار خواندن و زشت است. 425 00:18:14,200 --> 00:18:16,790 اما که به تحقق همان نتیجه را به عنوان. 426 00:18:16,790 --> 00:18:19,760 >> بنابراین، اگر من به اجرای این پرس و جو در حال حاضر، بیایید ببینید که چه اتفاقی می افتد. 427 00:18:19,760 --> 00:18:22,740 من قصد دارم به جلو بروید در حال حاضر و نه از اجرای کد پی اچ پی، که 428 00:18:22,740 --> 00:18:24,610 است که در آن شما بازی در مشکل مجموعه هفت، 429 00:18:24,610 --> 00:18:27,200 من قصد دارم به جای آن به PHP MyAdmin است. 430 00:18:27,200 --> 00:18:29,770 و من دستی رفتن برای رفتن به تب SQL، به 431 00:18:29,770 --> 00:18:31,580 و به من اجازه زوم در رابط. 432 00:18:31,580 --> 00:18:34,007 و من قصد دارم برای قرار دادن در چیزی که من فقط تایپ. 433 00:18:34,007 --> 00:18:36,090 و برنامه نویسی رنگ است کمی تغییر در حال حاضر، 434 00:18:36,090 --> 00:18:38,750 فقط به خاطر فرمت برنامه همه چیز کمی متفاوت است. 435 00:18:38,750 --> 00:18:41,960 اما توجه کنید که تمام من انجام داده ام است که گفته ام، وارد کردن به کاربران. 436 00:18:41,960 --> 00:18:45,790 من مشخص کرده اید، پس از آن، در یک کاما از هم از هم جدا لیست پرانتز دو 437 00:18:45,790 --> 00:18:48,850 زمینه های است که من می خواهم به قرار دادن، و پس از آن من به معنای واقعی کلمه گفته ام ارزش 438 00:18:48,850 --> 00:18:51,510 پس از پرانتز دیگر، و سپس دو مقدار 439 00:18:51,510 --> 00:18:53,520 من می خواهم به پلاگین، و در حال حاضر برای اندازه گیری خوب، 440 00:18:53,520 --> 00:18:55,010 من یک نقطه و ویرگول در پایان قرار داده است. 441 00:18:55,010 --> 00:18:56,570 بنابراین، این است C. نه این است که پی اچ پی. 442 00:18:56,570 --> 00:18:59,970 این در حال حاضر SQL، و من آن را چسباندن به این رابط مبتنی بر وب است که 443 00:18:59,970 --> 00:19:02,710 فقط رفتن به من اجازه دهید، به محض اینکه من GO کلیک کنید، 444 00:19:02,710 --> 00:19:08,060 این اجرای پرس و جو در پایگاه داده در حال اجرا در داخل CS50 IDE. 445 00:19:08,060 --> 00:19:09,470 >> بنابراین این خوب است. 446 00:19:09,470 --> 00:19:12,520 توجه داشته باشید که گفت یک ردیف درج شده است، رفت و فوق العاده سریع، 447 00:19:12,520 --> 00:19:15,190 0.0054 ثانیه برای وارد کردن آن داده است. 448 00:19:15,190 --> 00:19:16,610 بنابراین، برای تلفن های موبایل که بسیار سالم است. 449 00:19:16,610 --> 00:19:19,350 این پرس و جو من مجدد برای من در اینجا فقط به آن را ببینید 450 00:19:19,350 --> 00:19:21,730 در نوع رنگی نسخه. 451 00:19:21,730 --> 00:19:24,540 اما در حال حاضر اگر من کلیک کنید مرور، توجه کنید که، حتی 452 00:19:24,540 --> 00:19:29,070 هر چند در بسیاری از درهم و برهمی وجود دارد صفحه نمایش، جدول من در حال حاضر دارای دو ردیف. 453 00:19:29,070 --> 00:19:30,700 >> بنابراین، اجازه دهید من به جلو و دیگر. 454 00:19:30,700 --> 00:19:33,760 به جای این، به من اجازه به تب SQL بروید دوباره. 455 00:19:33,760 --> 00:19:40,723 و این بار من چیزی شبیه به قرار دادن راب و نام او را غارت باودن. 456 00:19:40,723 --> 00:19:42,330 باودن. 457 00:19:42,330 --> 00:19:44,040 بیایید روی Save کلیک کنید. 458 00:19:44,040 --> 00:19:46,140 اوه، و نه برو. 459 00:19:46,140 --> 00:19:48,890 >> دوباره مرور کلیک کنید، و در حال حاضر متوجه من دو ردیف. 460 00:19:48,890 --> 00:19:52,390 بنابراین، این فقط یک مجموعه راه است راه باز شدن صفحات گسترده گوگل 461 00:19:52,390 --> 00:19:54,010 و تنها با تایپ کردن یک ردیف در یک ستون. 462 00:19:54,010 --> 00:19:57,070 اما آنچه مهم این است که ما در حال حاضر به نحو 463 00:19:57,070 --> 00:20:00,220 که با آن به ارسال کد به طوری که در نهایت، ما در واقع می تواند 464 00:20:00,220 --> 00:20:01,790 انجام برخی از این. 465 00:20:01,790 --> 00:20:05,380 به یاد بیاورید که از PHP پشتیبانی متغیرهای فوق العاده جهانی است. 466 00:20:05,380 --> 00:20:08,415 >> چه در داخل دلار ثبت نام زیرین در PHP را دریافت کنید؟ 467 00:20:08,415 --> 00:20:10,290 ما نگاهی به یکی در زمان یا دو مثال ساده. 468 00:20:10,290 --> 00:20:15,640 و در PSet6، به یاد شما سلام نقطه PHP که با استفاده از این متغیر. 469 00:20:15,640 --> 00:20:17,870 چه می رود در آن وجود دارد؟ 470 00:20:17,870 --> 00:20:21,015 و یا آنچه در آن است؟ 471 00:20:21,015 --> 00:20:22,522 کمی بلندتر. 472 00:20:22,522 --> 00:20:23,790 >> مخاطبان: [نامفهوم] 473 00:20:23,790 --> 00:20:25,030 >> دیوید مالان: این یک برف بذر آرایه، که 474 00:20:25,030 --> 00:20:27,714 فقط یک راه فانتزی است به گفتن آرایه است که جفت کلید. 475 00:20:27,714 --> 00:20:28,880 و این کلیدها عددی است. 476 00:20:28,880 --> 00:20:30,420 آنها کلمات و یا رشته است. 477 00:20:30,420 --> 00:20:32,750 و به طور خاص، چه کسانی که جفت کلید است؟ 478 00:20:32,750 --> 00:20:35,110 از کجا آمده است؟ 479 00:20:35,110 --> 00:20:35,620 متاسف؟ 480 00:20:35,620 --> 00:20:36,994 >> مخاطبان: [نامفهوم] 481 00:20:36,994 --> 00:20:37,660 دیوید مالان: نه؟ 482 00:20:37,660 --> 00:20:40,700 که در آن انجام آن کلیدی جفت ارزش آمده است؟ 483 00:20:40,700 --> 00:20:42,490 دوباره بگو؟ 484 00:20:42,490 --> 00:20:44,610 از نو؟ 485 00:20:44,610 --> 00:20:46,472 تنها یک جلسه چیزی هستم؟ 486 00:20:46,472 --> 00:20:47,810 >> [خنده حضار] 487 00:20:47,810 --> 00:20:49,042 >> درست است، بله؟ 488 00:20:49,042 --> 00:20:50,435 >> مخاطبان: [نامفهوم] 489 00:20:50,435 --> 00:20:52,560 دیوید مالان: بله، آنها از رشته پرس و جو است. 490 00:20:52,560 --> 00:20:55,380 بنابراین، اگر شما در زمان به عقب هنگامی که ما با گوگل بازی کرده ام 491 00:20:55,380 --> 00:20:59,600 و ما به بریده بریده Google.com رفته جستجو علامت سوال Q برابر با گربه ها، 492 00:20:59,600 --> 00:21:03,550 اگر من به آمار را وارد کنید و اگر گوگل در پی اچ پی اجرا شد، 493 00:21:03,550 --> 00:21:07,017 کد پی اچ پی که گوگل نوشت دسترسی به علامت دلار دارند 494 00:21:07,017 --> 00:21:11,600 تأکید GET که در داخل آن یک کلید به نام Q و یک ارزش است 495 00:21:11,600 --> 00:21:17,680 گربه به نام که پس از آن می توانید استفاده کنید مورد استفاده برای انجام یک جستجوی واقعی با. 496 00:21:17,680 --> 00:21:20,860 >> بنابراین، در واقع، آنچه که من قصد دارم به انجام دهید این است رفتن به کد پی اچ پی من 497 00:21:20,860 --> 00:21:23,140 که شما دوباره خواهید دید بیشتر از در PSet7. 498 00:21:23,140 --> 00:21:25,440 و به جای اتصال در ارزش کدگذاری سخت است که 499 00:21:25,440 --> 00:21:27,630 مانند یک نظر نمی رسد بسیار وب سایت پویا، 500 00:21:27,630 --> 00:21:30,680 من قصد دارم به شما یک تیزر از را چه کد واقعی خود را انجام دهد. 501 00:21:30,680 --> 00:21:32,854 شما می توانید در دو قرار داده است سوالاتی مثل این. 502 00:21:32,854 --> 00:21:34,270 من نمی دانم که چه نام کاربر است. 503 00:21:34,270 --> 00:21:37,390 من چه مطمئن شوید که نام است برای رفتن به، 504 00:21:37,390 --> 00:21:39,470 اما من نمی دانم من می توانم آنها را به صورت پویا. 505 00:21:39,470 --> 00:21:43,420 >> بنابراین، اگر کد ما در حال حاضر نوشتن است کد در حال اجرا بر روی سرورهای گوگل، 506 00:21:43,420 --> 00:21:46,940 و یا اگر این نقطه است سلام PHP، که همراه با PSet6، 507 00:21:46,940 --> 00:21:48,650 من قصد دارم به تصویب به عملکرد پرس و جو 508 00:21:48,650 --> 00:21:51,450 درست مثل تابع () printf، دو استدلال دیگر. 509 00:21:51,450 --> 00:21:57,120 دریافت، نقل قول، نام کاربری را تمام کردن، و دریافت، نقل قول، نام تمام کردن. 510 00:21:57,120 --> 00:22:00,720 و در حال حاضر، توجه چه ساختار کلی است در اینجا. 511 00:22:00,720 --> 00:22:03,320 من در سمت چپ کردم سمت از تماس، 512 00:22:03,320 --> 00:22:05,480 این تابع در PHP پرس و جو نامیده می شود. 513 00:22:05,480 --> 00:22:08,160 من هنوز هم به عنوان اولین دارند بحث، فقط یک رشته از متن. 514 00:22:08,160 --> 00:22:11,000 >> اما این رشته از متن است نوشته شده در یک زبان به نام SQL. 515 00:22:11,000 --> 00:22:12,616 و رک و پوست کنده، آن را یک زبان بزرگ نیست. 516 00:22:12,616 --> 00:22:14,990 ما فقط در حال رفتن به بحث در مورد آن را به طور رسمی امروز، واقعا. 517 00:22:14,990 --> 00:22:17,031 و سپس در مجموعه ای مشکل هفت، نسبتا وجود دارد 518 00:22:17,031 --> 00:22:18,800 ویژگی های چند که ما رفتن به اهرم. 519 00:22:18,800 --> 00:22:22,530 علامت سوال ها، هر چند، به معنای پلاگین در یک مقدار در اینجا و به برق وصل یکی دیگر از ارزش 520 00:22:22,530 --> 00:22:23,130 اینجا. 521 00:22:23,130 --> 00:22:26,010 و توجه من را حذف کرده ام چه از سراسر لعنتی quote-- 522 00:22:26,010 --> 00:22:30,470 it-- سراسر نقل قول نشانه این زمان. 523 00:22:30,470 --> 00:22:34,930 من نقل قول را حذف کرده ام علائم در اطراف علامت سوال، 524 00:22:34,930 --> 00:22:36,410 با عرض پوزش، این زمان در اطراف. 525 00:22:36,410 --> 00:22:38,870 >> بنابراین، چه خوب در مورد این درخواست از ویژگی های خوانده شده را علامت که 526 00:22:38,870 --> 00:22:42,830 PHP تمایل به حمایت، روبی و پایتون و زبان های دیگر، 527 00:22:42,830 --> 00:22:45,730 این فقط به معنی پلاگین در برخی از مقدار در اینجا و شما می دانید چه؟ 528 00:22:45,730 --> 00:22:48,300 شما کشف کردن که آیا برای استفاده نقل قول تکی یا به نقل از دو برابر شود. 529 00:22:48,300 --> 00:22:50,966 من با کسانی که زحمت نیست جزئیات فکری غیر. 530 00:22:50,966 --> 00:22:53,780 اما، مطمئن شوید که آن را درست به طوری که در نهایت من است کد 531 00:22:53,780 --> 00:22:57,010 عملیاتی و امن، که یک معنی قبل از اینکه طولانی داشته باشد. 532 00:22:57,010 --> 00:23:00,460 >> در حال حاضر، چگونه بسیاری از استدلال مجموع، فقط به روشن باشد، پرس و جو گرفتن تابع است؟ 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 هر کسی مایل به بیش از دو رای می دهید؟ 535 00:23:07,581 --> 00:23:08,080 سه؟ 536 00:23:08,080 --> 00:23:10,001 مطمئنا، چرا؟ 537 00:23:10,001 --> 00:23:10,920 چرا سه؟ 538 00:23:10,920 --> 00:23:12,305 >> مخاطبان: [نامفهوم] 539 00:23:12,305 --> 00:23:13,180 دیوید مالان: دقیقا. 540 00:23:13,180 --> 00:23:14,610 بخش اول رشته است. 541 00:23:14,610 --> 00:23:18,640 آرگومان دوم علامت دلار است GET نام کاربری براکت تأکید. 542 00:23:18,640 --> 00:23:21,950 و آرگومان سوم است همین است، اما فقط نام. 543 00:23:21,950 --> 00:23:24,590 بنابراین به عبارت دیگر، در حال حاضر اگر من یک فرم وب 544 00:23:24,590 --> 00:23:27,149 که تا به حال فیلدهای متنی، یکی برای نام کاربری کاربر، 545 00:23:27,149 --> 00:23:29,690 یکی برای خود و یا نام او، فقط مثل وقتی که در یک وب سایت را ببینید 546 00:23:29,690 --> 00:23:32,120 در هنگام ثبت نام برخی از وب سایت، این ممکن است 547 00:23:32,120 --> 00:23:35,450 با استفاده از کد در پایان به عقب که در واقع نشانی از درج اکنون 548 00:23:35,450 --> 00:23:37,220 به پایگاه داده. 549 00:23:37,220 --> 00:23:40,870 >> در حال حاضر در مقابل، بیایید سریع به جلو. 550 00:23:40,870 --> 00:23:43,840 فرض کنید یک کاربر در حال حاضر ورود به سیستم و شما می خواهید 551 00:23:43,840 --> 00:23:48,860 برای نوشتن کد پی اچ پی که آیا چک کسی که فقط به سیستم وارد 552 00:23:48,860 --> 00:23:52,250 است که در واقع یک کاربر، شما می توانید استفاده از نحو خیلی ساده است. 553 00:23:52,250 --> 00:23:55,832 شما می توانید می گویند SELECT، اجازه دهید بگویم ستاره، که در آن ستاره به معنای همه چیز است. 554 00:23:55,832 --> 00:23:57,540 من نمی دانم چه من می خواهید، بنابراین فقط به من بدهد 555 00:23:57,540 --> 00:24:01,585 تمام ستون از جدول نام کاربران که در آن، و این خوب است. 556 00:24:01,585 --> 00:24:03,710 انتخاب از چه نام محمول است، که 557 00:24:03,710 --> 00:24:06,630 مانند یک راه صعود آنچه شما می خواهید. 558 00:24:06,630 --> 00:24:10,590 که در آن نام کاربری برابر نقل قول، تمام کردن مالان. 559 00:24:10,590 --> 00:24:13,680 بنابراین در اینجا نیز، من تعبیه شده که در داخل این استدلال 560 00:24:13,680 --> 00:24:16,110 به یک تابع PHP، یک خط از کد SQL. 561 00:24:16,110 --> 00:24:18,680 و کد SQL این زمان به معنای واقعی کلمه 562 00:24:18,680 --> 00:24:21,790 به جستجو برای نقل قول، تمام کردن مالان. 563 00:24:21,790 --> 00:24:24,420 >> حالا که این همه که مفید نیست، بنابراین من قصد دارم به جست و خیز که 564 00:24:24,420 --> 00:24:28,650 و من قصد دارم برای قرار دادن دور این نکته از بردی، و رفتن 565 00:24:28,650 --> 00:24:30,990 و پلاگین در جای یک علامت سوال در اینجا. 566 00:24:30,990 --> 00:24:33,290 بنابراین، فقط به روشن، چه باید آرگومان دوم من 567 00:24:33,290 --> 00:24:37,480 اگر کسی به تازگی در سیستم وارد شده و من می خواهید برای بررسی اگر او است که در واقع 568 00:24:37,480 --> 00:24:39,265 یک کاربر؟ 569 00:24:39,265 --> 00:24:40,140 مخاطبان: [نامفهوم] 570 00:24:40,140 --> 00:24:40,890 دیوید مالان: آره. 571 00:24:40,890 --> 00:24:44,120 من می شنوم دلار زیرین ثبت نام دریافت نقل قول، نام کاربری را تمام کردن. 572 00:24:44,120 --> 00:24:50,040 و است که باید به من بازگشت هر یک از ردیف در پایگاه داده من 573 00:24:50,040 --> 00:24:51,986 که یک نام کاربری از مالان داشته باشد. 574 00:24:51,986 --> 00:24:54,860 در حال حاضر امیدوارم، من قصد دارم به عقب بر گردیم صفر اگر به مالان در اینجا نبوده است، 575 00:24:54,860 --> 00:24:56,290 و یا یک اگر او تا. 576 00:24:56,290 --> 00:24:59,026 من باید دوباره نیست دو یا سه یا چهار. 577 00:24:59,026 --> 00:24:59,526 واسه چی؟ 578 00:24:59,526 --> 00:25:00,220 >> مخاطبان: [نامفهوم] 579 00:25:00,220 --> 00:25:01,120 >> دیوید مالان: من گفتم منحصر به فرد، درست است؟ 580 00:25:01,120 --> 00:25:01,750 دلیل ساده است. 581 00:25:01,750 --> 00:25:04,030 از آنجا که من گفت آن را به کردم منحصر به فرد، فقط منطقی، 582 00:25:04,030 --> 00:25:07,940 شما تنها می توانید صفر یا یک Malans دارند در این جدول پایگاه داده خاص است. 583 00:25:07,940 --> 00:25:10,965 در حال حاضر به عنوان یک کنار، فقط تا شما را دیده ام آن را، حتی اگر من با استفاده از نگه دارید 584 00:25:10,965 --> 00:25:14,350 و حتی اگر PSet6 تنها استفاده می شود دریافت، شما قطعا می توانید POST داشته باشد. 585 00:25:14,350 --> 00:25:17,212 به یاد بیاورید که پست دیگری است روش برای ارسال اطلاعات 586 00:25:17,212 --> 00:25:19,170 از یک فرم است، اما آن نشان نمی دهد تا در URL است. 587 00:25:19,170 --> 00:25:22,690 آن را کمی امن تر قطعا برای چیزهایی مانند نام کاربری و کلمه عبور، 588 00:25:22,690 --> 00:25:25,210 که PSet7، در واقع، شامل خواهد شد. 589 00:25:25,210 --> 00:25:28,130 >> بنابراین، اجازه دهید این کار را در پی اچ پی MyAdmin و ببینید چه اتفاقی می افتد. 590 00:25:28,130 --> 00:25:30,020 من قصد دارم به رفتن به تب داده. 591 00:25:30,020 --> 00:25:34,450 و توجه کنید که مقدار پیش فرض برای PHP MyAdmin، فقط سعی کنید به مفید باشد، 592 00:25:34,450 --> 00:25:37,050 است به ستاره را انتخاب کنید از کاربران که در آن یک. 593 00:25:37,050 --> 00:25:39,430 خب، یکی است که همیشه درست، به طوری که این احمقانه موثر 594 00:25:39,430 --> 00:25:40,400 از همه چیز را انتخاب کنید. 595 00:25:40,400 --> 00:25:42,691 اما من قصد دارم به کمی موشکاف و دستی 596 00:25:42,691 --> 00:25:45,920 تایپ کردن ستاره انتخاب از کاربران است. 597 00:25:45,920 --> 00:25:48,294 >> در حال حاضر از لحاظ فنی، شما می توانید نقل قول نام جداول. 598 00:25:48,294 --> 00:25:50,460 این نادر است که شما را به، اما متوجه این نیست 599 00:25:50,460 --> 00:25:52,240 نقل قول های عادی خود را بر روی صفحه کلید است. 600 00:25:52,240 --> 00:25:54,760 این backtick به اصطلاح، که است به طور کلی از سوی بالا سمت چپ 601 00:25:54,760 --> 00:25:56,000 گوشه ای از صفحه کلید خود را. 602 00:25:56,000 --> 00:25:58,500 اما این نادر است که شما در واقع نیاز به زحمت با آن، 603 00:25:58,500 --> 00:25:59,950 بنابراین من فقط آنها به هر حال حذف. 604 00:25:59,950 --> 00:26:02,280 بنابراین در حال حاضر، اجازه دهید من به جلو و ضربه برو. 605 00:26:02,280 --> 00:26:06,616 و چگونه بسیاری از ردیف را باید دریافت کنم زمانی که ستاره از کاربران را انتخاب کنید؟ 606 00:26:06,616 --> 00:26:08,407 >> مخاطبان: [نامفهوم] 607 00:26:08,407 --> 00:26:09,990 دیوید مالان: تعداد سطر، مطمئن شوید. 608 00:26:09,990 --> 00:26:12,390 اما چگونه بسیاری در این داستان بتن در حال حاضر؟ 609 00:26:12,390 --> 00:26:14,640 دو، به دلیل وجود بود من و راب وجود دارد. 610 00:26:14,640 --> 00:26:19,370 بنابراین، اگر GO کلیک کنید، من آن را ببینید بصری من ام، در واقع، دو ردیف. 611 00:26:19,370 --> 00:26:22,060 در بسیاری از درهم و برهمی وجود دارد در صفحه نمایش، اما من فقط دو سطر را ببینید. 612 00:26:22,060 --> 00:26:28,580 در مقابل، اگر من این کار را دوباره و انجام ستاره انتخاب از کاربران، جایی که نام کاربری 613 00:26:28,580 --> 00:26:31,840 نقل قول برابر، تمام کردن مالان، در حال حاضر اگر GO کلیک کنید I، 614 00:26:31,840 --> 00:26:33,970 من فقط رفتن به عقب بر گردیم یک ردیف. 615 00:26:33,970 --> 00:26:36,499 و در آخر، اگر من چیزی شبیه به این، فرض 616 00:26:36,499 --> 00:26:38,290 که برای من مهم نیست در مورد گرفتن همه چیز، 617 00:26:38,290 --> 00:26:41,020 که نوع بی معنی در حال حاضر، چرا که تنها دو ستون وجود دارد. 618 00:26:41,020 --> 00:26:43,103 آن را دوست ندارم من انتخاب مقدار زیادی از داده ها. 619 00:26:43,103 --> 00:26:46,720 فرض کنید من به جلو بروید و انجام نام را انتخاب کنید از 620 00:26:46,720 --> 00:26:51,990 کاربران، جایی که نام کاربری برابر مالان، چه خوب در مورد SQL صادقانه، 621 00:26:51,990 --> 00:26:54,290 است که آن را واقعا فقط می کند چه شما آن را به انجام. 622 00:26:54,290 --> 00:26:57,550 آن را بسیار موجز، اما شما به معنای واقعی کلمه فقط آن را به آنچه که شما می خواهید انجام دهید. 623 00:26:57,550 --> 00:27:01,130 انتخاب نام از کاربران که در آن نام کاربری برابر مالان. 624 00:27:01,130 --> 00:27:03,440 و آن را واقعا که صریح و روشن است. 625 00:27:03,440 --> 00:27:08,410 بنابراین، در حال حاضر اگر من ضربه برو، که چگونه بسیاری ردیف من رفتن به عقب بر گردیم؟ 626 00:27:08,410 --> 00:27:10,770 یک، به دلیل آن را فقط مالان، امیدوارم. 627 00:27:10,770 --> 00:27:13,100 یا صفر اگر او نیست یکی از حداکثر وجود دارد، اما. 628 00:27:13,100 --> 00:27:17,610 >> و چگونه بسیاری از ستون من به عقب بر گردیم؟ 629 00:27:17,610 --> 00:27:18,450 چگونه بسیاری از ستون؟ 630 00:27:18,450 --> 00:27:20,658 در این زمان، من فقط رفتن به یک دلیل من نیست 631 00:27:20,658 --> 00:27:22,380 ستاره را انتخاب کنید، که همه چیز. 632 00:27:22,380 --> 00:27:27,900 در حال حاضر من انتخاب فقط نام، بنابراین من فقط تماس یک ستون و یک ردیف. 633 00:27:27,900 --> 00:27:31,730 و به نظر می رسد نوع مناسب مسخره، فقط به دنبال فوق العاده 634 00:27:31,730 --> 00:27:33,060 کوچک شبیه به این. 635 00:27:33,060 --> 00:27:34,290 بنابراین، آنچه واقعا اتفاق می افتد؟ 636 00:27:34,290 --> 00:27:36,890 هنگامی که شما یک SQL اجرا پرس و جو با استفاده از را انتخاب کنید، 637 00:27:36,890 --> 00:27:38,700 آنچه شما گرفتن تماس از پایگاه داده 638 00:27:38,700 --> 00:27:42,970 مثل این است که یک جدول موقت با سطر و ستون، شاید، 639 00:27:42,970 --> 00:27:46,260 اما هر چیزی را حذف که که در واقع توسط شما انتخاب شده است. 640 00:27:46,260 --> 00:27:49,010 بنابراین، آن را مانند اگر کسی بزرگ داشته است صفحه گسترده از همه دانش آموزان 641 00:27:49,010 --> 00:27:51,610 ثبت نام برای برخی از گروه های دانشجویی، و به شما می گویند، 642 00:27:51,610 --> 00:27:55,097 همه از دانشجوی سال اول که این به من بدهد ثبت نام برای گروه دانشجویی ما، چه 643 00:27:55,097 --> 00:27:56,930 همکار خود را در گروه دانشجویی ممکن است انجام 644 00:27:56,930 --> 00:27:58,430 است که آنها فقط می تواند دست شما در طیف گسترده. 645 00:27:58,430 --> 00:27:59,742 که مثل کرد و گفت ستاره را انتخاب کنید است. 646 00:27:59,742 --> 00:28:02,200 و آن را کمی آزار دهنده است اگر شما فقط می خواست دانشجوی سال اول. 647 00:28:02,200 --> 00:28:05,640 و به همین ترتیب، اگر شما به جای گفت: ستاره انتخاب کنید و از جدول پایگاه داده 648 00:28:05,640 --> 00:28:08,470 که در آن سال برابر با نقل قول، دانشجوی سال اول تمام کردن، 649 00:28:08,470 --> 00:28:10,810 آن را به عنوان هر چند دوست شما در گروه دانشجویی 650 00:28:10,810 --> 00:28:13,770 به معنای واقعی کلمه برجسته و کپی تنها ردیف دانشجوی سال اول، 651 00:28:13,770 --> 00:28:16,780 آنها را به یک گوگل جدید جا به جا گسترده و یا یک فایل اکسل، 652 00:28:16,780 --> 00:28:18,860 و شما دست به عقب نتیجه فایل تنها. 653 00:28:18,860 --> 00:28:21,710 که همه که رفتن در اینجا مفهومی. 654 00:28:21,710 --> 00:28:23,920 >> بنابراین در پایان، ما می توانیم انجام برخی از چیزهایی که بسیار فانتزی 655 00:28:23,920 --> 00:28:26,560 با ذخیره چیزهایی مانند نام کاربری و کلمه عبور و مانند آن. 656 00:28:26,560 --> 00:28:30,310 اما، که معلوم است، ما باید انجام دهیم کمی متفاوت از این است. 657 00:28:30,310 --> 00:28:34,750 آن است که نه تنها به هوشمند یک نام کاربری و رمز عبور را ذخیره کنید. 658 00:28:34,750 --> 00:28:37,790 کسی قبل از آن، من فکر می کنم در اینجا، پیشنهاد یک ID. 659 00:28:37,790 --> 00:28:40,787 در حال حاضر یک ID می تواند مانند یک باشد دانشگاه هاروارد ID و یا ID خالص ییل، 660 00:28:40,787 --> 00:28:42,870 اما می تواند حتی ساده در مورد بانک اطلاعاتی ما. 661 00:28:42,870 --> 00:28:45,120 و در واقع، صورت مشترک این است که ستون دیگر. 662 00:28:45,120 --> 00:28:46,953 و من قصد دارم به جدول من جلو و ویرایش کنید. 663 00:28:46,953 --> 00:28:49,521 و اگر شما بازی در اطراف با این رابط کاربری را برای PSet7، 664 00:28:49,521 --> 00:28:51,770 شما خواهید دید که شما می توانید بررسی کنید این دکمه در اینجا و اضافه کردن 665 00:28:51,770 --> 00:28:53,750 یک میدان در آغاز از جدول. 666 00:28:53,750 --> 00:28:56,720 و حالا اگر GO کلیک کنید من، آن را به من یکی از کسانی که فرم را 667 00:28:56,720 --> 00:28:57,600 از پیش از آن. 668 00:28:57,600 --> 00:29:00,170 من قصد دارم به اضافه کردن یک فیلد به نام ID. 669 00:29:00,170 --> 00:29:03,070 و من قصد دارم آن را به یک نوع عددی است. 670 00:29:03,070 --> 00:29:05,362 >> من یک دسته کامل از ارزش ها برای عدد. 671 00:29:05,362 --> 00:29:08,677 من فقط رفتن به انتخاب INT و در مورد اندازه های مختلف نگران نباشید. 672 00:29:08,677 --> 00:29:10,510 من لازم نیست برای مشخص طول و یا یک مقدار، 673 00:29:10,510 --> 00:29:13,710 به دلیل آن را به 32 بیت بدون توجه به آنچه. 674 00:29:13,710 --> 00:29:16,070 ویژگی، ما که قبلا نمی دید. 675 00:29:16,070 --> 00:29:18,410 هر گونه علاقه در هر یک از این گزینه های منو این زمان؟ 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 یک int؟ 678 00:29:23,745 --> 00:29:24,620 آنچه شما مطرح کردید؟ 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 هیچ؟ 681 00:29:28,445 --> 00:29:29,570 هر یک از این حس را؟ 682 00:29:29,570 --> 00:29:30,536 آره. 683 00:29:30,536 --> 00:29:31,900 آره، بدون علامت، درست است؟ 684 00:29:31,900 --> 00:29:35,930 >> به طور کلی، اگر ما قصد داریم به هر کس یک شماره منحصر به فرد، که 685 00:29:35,930 --> 00:29:38,200 است که در آن این داستان است رفتن، من واقعا تنها علاقه مند به 686 00:29:38,200 --> 00:29:41,919 یک فرد به تعداد صفر مانند و یک و دو و سه و چهار. 687 00:29:41,919 --> 00:29:43,710 من لازم نیست که برای مقابله با اعداد منفی. 688 00:29:43,710 --> 00:29:45,210 این فقط به نظر می رسد مانند پیچیدگی بی. 689 00:29:45,210 --> 00:29:48,470 من می خواهم چهار میلیارد مقادیر ممکن، چهار میلیارد مقادیر ممکن است، 690 00:29:48,470 --> 00:29:50,699 بنابراین من فقط دو برابر ظرفیت INT من. 691 00:29:50,699 --> 00:29:53,490 از سوی دیگر، اگر شما می خواهید برای ارتباط این به چیزی شبیه به فیس بوک، 692 00:29:53,490 --> 00:29:56,190 در نوعی از روز من که فیس بوک برای اولین بار بیرون آمد، 693 00:29:56,190 --> 00:29:59,510 من معتقدم که آنچه آنها با استفاده از پایگاه داده MySQL را در 694 00:29:59,510 --> 00:30:02,856 برای ذخیره یک کاربر شناسه، فقط یک INT بود. 695 00:30:02,856 --> 00:30:05,230 اما البته، در بسیاری وجود دارد از افراد واقعی در جهان است. 696 00:30:05,230 --> 00:30:07,438 در بسیاری از جعلی فیس بوک وجود دارد به حساب در جهان است. 697 00:30:07,438 --> 00:30:11,701 و بنابراین در نهایت، فیس بوک سرریز به اندازه یک INT، یک چهار میلیارد 698 00:30:11,701 --> 00:30:12,200 ارزش. 699 00:30:12,200 --> 00:30:15,032 همین دلیل است که، اگر شما نگاه در اطراف و وب سایت وجود دارد 700 00:30:15,032 --> 00:30:16,740 است که می تواند شما را به آنچه شناسه منحصر به فرد خود است. 701 00:30:16,740 --> 00:30:19,781 و اگر شما هرگز یک نام کاربری در انتخاب فیس بوک، شما ID منحصر به فرد خود را ببینید. 702 00:30:19,781 --> 00:30:23,080 من فکر می کنم نقطه مشخصات PHP علامت سوال ID برابر است با چیزی. 703 00:30:23,080 --> 00:30:27,210 که در حال حاضر چیزی شبیه به یک بزرگ INT، و یا طولانی مدت اگر شما خواهد شد، 704 00:30:27,210 --> 00:30:29,700 که یک ارزش 64 بیتی و یا چیزی قابل مقایسه است. 705 00:30:29,700 --> 00:30:33,620 >> بنابراین، حتی در دنیای واقعی این کار را انجام مسائل در نهایت گاهی اوقات مهم است. 706 00:30:33,620 --> 00:30:37,600 و معلوم است در اینجا، اگر من به همه کاربران من یک ID منحصر به فرد، 707 00:30:37,600 --> 00:30:41,750 من می خواهم به صریح و فوق العاده حداقل این زمینه منحصر به فرد. 708 00:30:41,750 --> 00:30:44,750 اما معلوم است یکی وجود دارد قطعه ای از نامگذاری امروز بیش از حد 709 00:30:44,750 --> 00:30:46,470 که یک کلید اصلی است. 710 00:30:46,470 --> 00:30:49,800 اگر شما در حال طراحی یک پایگاه داده جدول و شما در پیشبرد دانم 711 00:30:49,800 --> 00:30:55,580 که یکی از ستون های آن جدول باید و منحصر به فرد شناسایی ردیف خواهد 712 00:30:55,580 --> 00:30:58,500 در جدول، شما می خواهید مشخص آن و پایگاه داده را بگویید، 713 00:30:58,500 --> 00:31:00,250 این کلید اصلی من است. 714 00:31:00,250 --> 00:31:02,110 ممکن است تکراری وجود دارد در زمینه های دیگر، 715 00:31:02,110 --> 00:31:06,330 اما من گفتن که این پایگاه داده اصلی من است، درست مهم من، 716 00:31:06,330 --> 00:31:08,420 که تضمین می شود منحصر به فرد. 717 00:31:08,420 --> 00:31:09,660 >> در حال حاضر، این کار برکنار شده به نظر می رسد. 718 00:31:09,660 --> 00:31:13,830 من در حال حاضر پیشنهاد که ما اضافه کردن، با کلیک روی ذخیره در اینجا، 719 00:31:13,830 --> 00:31:17,210 called-- درست و من قصد دارم به جلو بروید و AI کلیک کنید، 720 00:31:17,210 --> 00:31:19,720 ما به آمده که در یک لحظه، ذخیره. 721 00:31:19,720 --> 00:31:22,540 من در حال حاضر که پیشنهاد می کنم جدول من نگاه مثل این. 722 00:31:22,540 --> 00:31:26,305 من یک فیلد int به نام ID، یک میدان به نام CHAR نام کاربری، 723 00:31:26,305 --> 00:31:31,100 یک میدان به نام VARCHAR نام، اما ID، اگر آن را اولیه و در نتیجه منحصر به فرد، 724 00:31:31,100 --> 00:31:33,760 چرا من فقط هدر داد زمان معرفی چه 725 00:31:33,760 --> 00:31:39,140 به طور موثر یک ثانیه منحصر به فرد است درست به نام ID که یک INT؟ 726 00:31:39,140 --> 00:31:41,980 >> نام کاربری، فراخوان، بود در حال حاضر منحصر به فرد، ما گفت. 727 00:31:41,980 --> 00:31:45,350 پس فقط منطقی، شما لازم نیست هر تجربه پایگاه داده به دلیل 728 00:31:45,350 --> 00:31:47,570 از طریق این، به همین دلیل ممکن است من را معرفی کرده اند 729 00:31:47,570 --> 00:31:50,065 دانشنامه هوشمند به عنوان شناسه منحصر به فرد من را به خوبی؟ 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 چه this-- دوباره می گویند؟ 732 00:31:53,930 --> 00:31:55,580 >> مخاطبان: [نامفهوم] 733 00:31:55,580 --> 00:31:59,534 >> دیوید مالان: تصادفی دسترسی آسان تر است، چرا؟ 734 00:31:59,534 --> 00:32:00,410 >> مخاطبان: [نامفهوم] 735 00:32:00,410 --> 00:32:02,367 دیوید مالان: آره، آن را فقط دسترسی اعداد. 736 00:32:02,367 --> 00:32:04,750 بنابراین، اگر شما فکر می کنم این واقعا یک جدول است، مانند یک آرایه، 737 00:32:04,750 --> 00:32:07,690 در حال حاضر من شناسه منحصر به فرد که من در اطراف می توانید پرش. 738 00:32:07,690 --> 00:32:11,520 و بهتر از آن این است که هنوز چقدر بزرگ شده است یک INT دوباره می شود؟ 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 32 بیت یا چهار بایت. 741 00:32:15,800 --> 00:32:17,750 >> چقدر است نام کاربری من خواهد بود؟ 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 حداکثر؟ 744 00:32:21,990 --> 00:32:22,880 16 بایت. 745 00:32:22,880 --> 00:32:26,080 >> بنابراین، اگر شما واقعا در مورد مراقبت عملکرد کد خود را، 746 00:32:26,080 --> 00:32:31,390 فکر می کنم به PSet5، ترجیح می به جستجو برای یک ارزش چهار بایت و یا 16 747 00:32:31,390 --> 00:32:32,240 مقدار بایت، درست است؟ 748 00:32:32,240 --> 00:32:33,810 واقعا به همین سادگی است است. 749 00:32:33,810 --> 00:32:38,060 شما باید برای انجام چهار بار به عنوان کار بسیار برای جستجوی نامهای کاربری به دلیل آن 750 00:32:38,060 --> 00:32:38,830 16 بایت می باشد. 751 00:32:38,830 --> 00:32:41,320 بنابراین، شما به معنای واقعی کلمه مقایسه تمام 16 بایت به 752 00:32:41,320 --> 00:32:43,140 مطمئن بله، این نام کاربری من می خواهم. 753 00:32:43,140 --> 00:32:46,610 در حالی که برای یک int، شما می توانید این کار را با تنها چهار بایت است. 754 00:32:46,610 --> 00:32:49,212 >> و به عنوان یک کنار برای کسانی که علاقه مند در سخت افزار کامپیوتر، 755 00:32:49,212 --> 00:32:52,420 که معلوم است شما می توانید چیزی شبیه به تناسب دانشنامه هوشمند یا یک مقدار 32 بیتی در چیزی 756 00:32:52,420 --> 00:32:55,330 نام ثبت نام در یک کامپیوتر CPU، که به معنی آن فوق العاده، 757 00:32:55,330 --> 00:32:58,400 فوق العاده سریع، حتی در پایین ترین سطح سخت افزار کامپیوتر. 758 00:32:58,400 --> 00:33:00,530 بنابراین، فقط مزایای تمام اطراف وجود دارد. 759 00:33:00,530 --> 00:33:01,530 بنابراین، به چه معنی است؟ 760 00:33:01,530 --> 00:33:04,850 در واقع، هنگامی که شما در حال طراحی یک جدول پایگاه داده، تقریبا تمام زمان 761 00:33:04,850 --> 00:33:07,170 می خواهید به ندارد تنها اطلاعات شما در مورد مراقبت، 762 00:33:07,170 --> 00:33:09,280 بلکه چیزی شبیه به شناسه منحصر به فرد 763 00:33:09,280 --> 00:33:11,280 دلیل این است که به اجازه دهید ما چیزهای دیگر انجام دهید. 764 00:33:11,280 --> 00:33:13,160 و اجازه دهید بیش از یک مشکل سفر در اینجا. 765 00:33:13,160 --> 00:33:15,990 >> فرض کنید که کاربران ندارد فقط نام کاربری و نام، 766 00:33:15,990 --> 00:33:19,540 اما آنها نیز چیزهایی مانند شهرستانها داشته و دولت ها و کدهای پستی، حداقل 767 00:33:19,540 --> 00:33:20,432 اینجا در ایالات متحده. 768 00:33:20,432 --> 00:33:22,390 بنابراین، من رفتن به جلو بروید و فقط به سرعت می گویند، 769 00:33:22,390 --> 00:33:26,180 من سه ستون بیشتری می دهد در پایان از جدول. 770 00:33:26,180 --> 00:33:28,900 و این است که برای رفتن به شهر، این است برای رفتن به دولت، 771 00:33:28,900 --> 00:33:30,400 و این است که رفتن به فایل های فشرده. 772 00:33:30,400 --> 00:33:32,710 >> در حال حاضر انواع شهر، چه داده باید این باشد، شاید؟ 773 00:33:32,710 --> 00:33:35,460 774 00:33:35,460 --> 00:33:35,989 VARCHAR؟ 775 00:33:35,989 --> 00:33:37,780 من چه مطمئن شوید که طولانی ترین نام شهرستان است. 776 00:33:37,780 --> 00:33:40,571 جایی در امریکا، وجود دارد احتمالا برخی از کلمه مسخره طولانی، 777 00:33:40,571 --> 00:33:43,605 بنابراین اجازه دهید فقط با 255 بروید، تا حدودی تاریخی و یا خودسرانه. 778 00:33:43,605 --> 00:33:44,730 دولت، آنچه شما می خواهید کاری انجام دهید؟ 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 قضاوت پاسخ، درست است؟ 781 00:33:50,367 --> 00:33:51,700 چه شاید از کارآمد ترین؟ 782 00:33:51,700 --> 00:33:53,500 چگونه بسیاری از شخصیت؟ 783 00:33:53,500 --> 00:33:55,950 شاید فقط دو، اگر ما می توانیم دور با انجام این کار، 784 00:33:55,950 --> 00:33:58,250 مانند، MA برای ماساچوست و غیره. 785 00:33:58,250 --> 00:34:00,520 بنابراین، من قصد دارم برای رفتن ارزش CHAR دو. 786 00:34:00,520 --> 00:34:03,080 >> کد پستی یکی از جالب است. 787 00:34:03,080 --> 00:34:06,679 ما در اینجا در 02138 هستید، به طوری که نشان می دهد ما باید چه استفاده کنید؟ 788 00:34:06,679 --> 00:34:07,470 این INT، درست است؟ 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 INT، INT، کوتاه؟ 791 00:34:12,800 --> 00:34:14,521 کوتاه کار می کنند. 792 00:34:14,521 --> 00:34:15,020 هیچ؟ 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 CHAR یا پنج، اما من می خواهم یک int است. 795 00:34:20,870 --> 00:34:23,710 چرا فشار به عقب به یک INT؟ 796 00:34:23,710 --> 00:34:26,820 من از این متقاعد کردن. 797 00:34:26,820 --> 00:34:29,210 چه احمقانه در مورد یک int، ایده من؟ 798 00:34:29,210 --> 00:34:29,871 آره. 799 00:34:29,871 --> 00:34:31,199 >> رسید تا حافظه بیشتر است. 800 00:34:31,199 --> 00:34:32,909 >> دیوید مالان: تا حافظه بیشتر است. 801 00:34:32,909 --> 00:34:35,310 چهار بایت، اما شما پیشنهاد یک کد پستی 802 00:34:35,310 --> 00:34:39,000 به عنوان پنج بایت یا کسی که به عنوان یک کاراکتر بود، که احساس می کند مانند EH، که واقعا نمی 803 00:34:39,000 --> 00:34:39,620 مورد. 804 00:34:39,620 --> 00:34:40,489 >> خب، داستان سرگرم کننده است. 805 00:34:40,489 --> 00:34:43,179 سال پیش، زمانی که من استفاده می شود به استفاده از مایکروسافت چشم انداز برای ایمیل من، 806 00:34:43,179 --> 00:34:45,150 من در نهایت می خواستم به تبدیل به جیمیل. 807 00:34:45,150 --> 00:34:48,949 و بنابراین، من همه صادر من تماس با ما از چشم انداز به عنوان یک فایل CSV. 808 00:34:48,949 --> 00:34:50,699 کاما از هم جدا ارزش ها، که فقط من به معنای 809 00:34:50,699 --> 00:34:54,060 حال همه دوستان من نام و آخرین نام و شماره تلفن و کد پستی 810 00:34:54,060 --> 00:34:54,747 و همه از آن. 811 00:34:54,747 --> 00:34:56,580 و پس از آن من ساخته شده اشتباه از باز کردن آن تا 812 00:34:56,580 --> 00:34:58,640 در اکسل است، که یک برنامه صفحه گسترده است که 813 00:34:58,640 --> 00:35:00,289 درک فایل های CSV به عنوان دیده ایم. 814 00:35:00,289 --> 00:35:03,080 اما پس از آن، من باید ضربه، مانند، دستور و یا کنترل S در یک نقطه. 815 00:35:03,080 --> 00:35:06,250 اکسل و ظاهرا در آن زمان حال یکی از ویژگی های که به موجب آن، هر زمان که 816 00:35:06,250 --> 00:35:08,100 دیدم یک عدد، آن را تلاش برای مفید باشد. 817 00:35:08,100 --> 00:35:11,610 و در صورتی که تعداد با آغاز صفر، آن را فقط از شر آنها خلاص. 818 00:35:11,610 --> 00:35:13,420 چرا شما نیاز به برجسته صفر در اعداد صحیح؟ 819 00:35:13,420 --> 00:35:15,140 آنها ریاضی معنی هستید. 820 00:35:15,140 --> 00:35:17,530 آنها بی معنی نیست در سیستم پستی ایالات متحده. 821 00:35:17,530 --> 00:35:19,954 بنابراین، من برای سال ها داشته ام، تا به امروز، من هنوز هم 822 00:35:19,954 --> 00:35:22,370 دوستان که زمانی که مورد نادر است که من به کسی نیاز است 823 00:35:22,370 --> 00:35:24,078 رسیدگی به این روز، من هنوز به تو که من می بینم 824 00:35:24,078 --> 00:35:26,767 یک دوست در کمبریج، ماساچوست، 2138. 825 00:35:26,767 --> 00:35:29,350 و آن را آزار دهنده اگر شما تلاش برای از برنامه نویسی 826 00:35:29,350 --> 00:35:30,975 تولید پاکت و یا فقط آن نقطه پایین. 827 00:35:30,975 --> 00:35:33,599 و این به دلیل این دلیل، من نوع داده های اشتباه را انتخاب کرد. 828 00:35:33,599 --> 00:35:34,490 بنابراین، من عاشق ایده های خود را. 829 00:35:34,490 --> 00:35:35,650 حال با استفاده از یک میدان کاراکتر. 830 00:35:35,650 --> 00:35:38,340 پنج شخصیت، به جز است مورد گوشه وجود دارد. 831 00:35:38,340 --> 00:35:42,220 اگر شما هنوز هم ارسال ایمیل، گاهی اوقات فایل های فشرده کدهای این روزها، 832 00:35:42,220 --> 00:35:45,360 آنها، مانند، به علاوه چهار. 833 00:35:45,360 --> 00:35:48,200 بنابراین، ما باید یک خط تیره و سپس ما نیاز چهار عدد بیشتر است. 834 00:35:48,200 --> 00:35:50,330 بنابراین به صداقت، آن می تواند رفتن بسیاری از روش های مختلف. 835 00:35:50,330 --> 00:35:52,371 >> در حال حاضر، من قصد دارم به حفظ آن را ساده و من فقط 836 00:35:52,371 --> 00:35:54,780 رفتن به می گویند که این یک پنج ارزش CHAR و ما 837 00:35:54,780 --> 00:35:56,739 رفتن به جست و خیز طیف خط تیره به علاوه چهار. 838 00:35:56,739 --> 00:35:58,280 اما این نوع از مبادلات هستند. 839 00:35:58,280 --> 00:36:00,196 و شما می توانید از فکر می کنم همان مشکلات ناشی 840 00:36:00,196 --> 00:36:01,860 با شماره تلفن و یا زمینه های دیگر. 841 00:36:01,860 --> 00:36:04,350 >> و در حال حاضر، این است که در واقع یک جاده احمقانه به پایین. 842 00:36:04,350 --> 00:36:08,000 فرض کنید هر دو راب و من و هانا و ماریا و [؟ Davon؟] و اندی 843 00:36:08,000 --> 00:36:12,820 و دیگران در کارکنان تمام زندگی در کمبریج، ماساچوست، 02138. 844 00:36:12,820 --> 00:36:17,970 این در واقع احساس احمق که من اضافه کردن به جدول کاربران من، شهرستان، استان، 845 00:36:17,970 --> 00:36:18,630 و ZIP. 846 00:36:18,630 --> 00:36:20,980 واسه چی؟ 847 00:36:20,980 --> 00:36:21,960 >> مخاطبان: [نامفهوم] 848 00:36:21,960 --> 00:36:22,918 >> دیوید مالان: بگو دوباره؟ 849 00:36:22,918 --> 00:36:24,310 مخاطبان: [نامفهوم] 850 00:36:24,310 --> 00:36:25,850 >> دیوید مالان: آنها همیشه برای رفتن با هم، درست است؟ 851 00:36:25,850 --> 00:36:28,660 وقتی که معلوم است، ما قبلا فکر این مورد تا زمانی که ما جامع بود 852 00:36:28,660 --> 00:36:30,570 جستجو کل ایالات متحده، و معلوم است که وجود دارد 853 00:36:30,570 --> 00:36:32,653 برخی از تناقضات هستند که در آن شهرهای متعدد داشته 854 00:36:32,653 --> 00:36:35,060 فایل های فشرده همان است که عجیب و غریب. 855 00:36:35,060 --> 00:36:40,580 اما، اگر ما در حال حاضر که 02138 تصریح همیشه کمبریج، ماساچوست، 856 00:36:40,580 --> 00:36:44,910 چرا در جهان را به شما در ذخیره پایگاه داده خود را کمبریج و کارشناسی ارشد و 02138 857 00:36:44,910 --> 00:36:49,357 برای من و برای هانا و راب و برای [؟ Davon؟] و برای دیگران که زندگی می کنند 858 00:36:49,357 --> 00:36:51,190 در اینجا در کمبریج، آن را کاملا کار برکنار شده. 859 00:36:51,190 --> 00:36:54,480 >> ما باید دور تنها با ذخیره سازی چه؟ 860 00:36:54,480 --> 00:36:55,610 فقط کد پستی. 861 00:36:55,610 --> 00:36:58,660 اما پس از آن، اگر ما فقط در فروشگاه کد پستی، من نمی خواهم، احتمالا، 862 00:36:58,660 --> 00:37:02,160 برای وب سایت من را به جایی که 02138 است. 863 00:37:02,160 --> 00:37:03,910 بنابراین، من نیاز به یک جدول دیگر. 864 00:37:03,910 --> 00:37:04,697 و این خوب است. 865 00:37:04,697 --> 00:37:07,530 و در واقع، این یکی از است فرآیندهای طراحی جداول طراحی 866 00:37:07,530 --> 00:37:11,472 است که شما در PSet7 و همچنین به موجب آن انجام شما می خواهید به عامل از داده رایج است. 867 00:37:11,472 --> 00:37:14,430 درست مثل ما شده است مقاطعه خارج کد مشترک و مقاطعه خارج مشترک 868 00:37:14,430 --> 00:37:17,380 سبک های از CSS، در اینجا بیش از حد در پایگاه داده، 869 00:37:17,380 --> 00:37:21,180 اگر من فقط نیاز به منحصر به فرد 02138 شناسایی زادگاه کسی، 870 00:37:21,180 --> 00:37:25,020 انجام کمبریج، ماساچوست برای ذخیره نمی هر کاربر سد در جدول خود را. 871 00:37:25,020 --> 00:37:29,770 >> در عوض، باید یک جدول جداگانه به نام فشرده که باید چه ستون؟ 872 00:37:29,770 --> 00:37:33,490 احتمالا یک میدان ID، فقط به خاطر، برای اصول ما در حال صحبت کردن در مورد در حال حاضر. 873 00:37:33,490 --> 00:37:35,720 احتمالا یک میدان فایل های فشرده برای 02138. 874 00:37:35,720 --> 00:37:38,400 و پس از آن احتمالا چه ستون های دیگر؟ 875 00:37:38,400 --> 00:37:42,950 شهرستان و دولت است، اما فقط یکی ردیف برای 02138، یک ردیف برای 02139، 876 00:37:42,950 --> 00:37:44,772 یک ردیف برای 90210. 877 00:37:44,772 --> 00:37:46,730 و این است که به معنای واقعی کلمه تمام کد پستی من می دانم. 878 00:37:46,730 --> 00:37:49,012 >> بنابراین در حال حاضر، چه می توانید بکنید؟ 879 00:37:49,012 --> 00:37:51,220 این مشکل است، چرا که در حال حاضر من دو جدول دارم. 880 00:37:51,220 --> 00:37:54,660 بنابراین، کاربران من بیشتر در اینجا هستند، اما اطلاعات دولت شهرستان خود 881 00:37:54,660 --> 00:37:55,390 بیش از اینجا. 882 00:37:55,390 --> 00:37:58,635 بنابراین، به نظر می رسد با SQL، وجود دارد در واقع یک راه را برای پیوستن اطلاعات، 883 00:37:58,635 --> 00:38:00,470 و شما این را در PSet ببینید. 884 00:38:00,470 --> 00:38:03,000 >> اما معلوم است که شما می توانید چیزی شبیه به این. 885 00:38:03,000 --> 00:38:10,501 ستاره انتخاب از کاربران، فشرده بر بپیوندید کاربران دات پستی برابر فشرده نقطه پستی. 886 00:38:10,501 --> 00:38:13,360 که دارای اطناب کوچک است، مسلما، اما این فقط 887 00:38:13,360 --> 00:38:17,590 یعنی همه چیز انتخاب کنید و از روند گرفتن جدول کاربران من 888 00:38:17,590 --> 00:38:19,580 و جدول فشرده است. 889 00:38:19,580 --> 00:38:22,120 آنها را بر روی یکی از اضافه کردن درست است که در ستون داشته باشد. 890 00:38:22,120 --> 00:38:24,780 بنابراین، به معنای واقعی کلمه انجام کاری مانند این، و من به عقب 891 00:38:24,780 --> 00:38:27,360 یک جدول موقت جدید که گسترده تر، که بزرگتر، 892 00:38:27,360 --> 00:38:29,450 که همه از ستون از هر دو آنها. 893 00:38:29,450 --> 00:38:33,510 و این، کاملا به سادگی، خواهد بود نحو برای انجام چیزی شبیه به این. 894 00:38:33,510 --> 00:38:35,540 >> بنابراین، این باقی مانده است، اما برای رفتن وجود دارد 895 00:38:35,540 --> 00:38:38,950 به دیگر تصمیمات طراحی نظر شما باید به، نه تنها با شاخص 896 00:38:38,950 --> 00:38:40,550 اما همچنین به چالش در حال اجرا. 897 00:38:40,550 --> 00:38:43,360 در واقع، یک چالش وجود دارد در هر طراحی پایگاه داده 898 00:38:43,360 --> 00:38:47,930 به موجب آن گاهی اوقات دو نفر ممکن است بخواهید برای دسترسی به ردیف همان پایگاه داده 899 00:38:47,930 --> 00:38:48,530 جدول. 900 00:38:48,530 --> 00:38:51,450 بنابراین، این چیزی است که ما روبرو می شوند در PSet7 است. 901 00:38:51,450 --> 00:38:54,686 >> اما من فکر کردم من می خواهم در یک نگاه حمله ای که ممکن است در SQL. 902 00:38:54,686 --> 00:38:56,560 برخی از چیست مشکلاتی که می تواند بوجود می آیند؟ 903 00:38:56,560 --> 00:38:58,170 بنابراین، به شما این در PSet7 روبرو می شوند. 904 00:38:58,170 --> 00:39:01,874 و ما به شما بگویم چه آشکار برنامه نویسی راه حل برای این مشکل است. 905 00:39:01,874 --> 00:39:04,790 اما اگر شما یک کلاس سطح بالاتر، به خصوص در سیستم عامل، 906 00:39:04,790 --> 00:39:06,950 شما در حال رفتن به برخورد یک مسئله از ظرفیت اتمی، 907 00:39:06,950 --> 00:39:10,080 مشکل در تلاش برای انجام کارهای مختلف همه در یک بار 908 00:39:10,080 --> 00:39:11,000 بدون وقفه. 909 00:39:11,000 --> 00:39:14,560 >> و من فکر کردم من می خواهم این معرفی ایده برای PSet7 با یک استعاره 910 00:39:14,560 --> 00:39:18,160 که من خودم در مارگو دست سیستم عامل های CS164 دار است 911 00:39:18,160 --> 00:39:18,990 سال کلاس پیش. 912 00:39:18,990 --> 00:39:22,230 فرض کنید که شما یکی از این خوابگاه دارند یخچال در اتاق خوابگاه یا خانه خود را، 913 00:39:22,230 --> 00:39:24,474 و شما یک میل شدید واقعی برای شیر. 914 00:39:24,474 --> 00:39:27,140 و بنابراین، شما به خانه از طبقات یک روز، شما برای باز کردن در یخچال. 915 00:39:27,140 --> 00:39:27,620 آه، آن را لعنت کند. 916 00:39:27,620 --> 00:39:28,870 هیچ شیر در یخچال وجود دارد. 917 00:39:28,870 --> 00:39:32,470 بنابراین، به شما نزدیک یخچال، قفل درب، قفل خوابگاه خود را، 918 00:39:32,470 --> 00:39:34,770 راه رفتن در اطراف گوشه به CVS، در خط، 919 00:39:34,770 --> 00:39:36,312 و شروع به چک کردن برای برخی از شیر. 920 00:39:36,312 --> 00:39:38,978 و آن را به در حالی که، زیرا این پرداخت خود لعنت 921 00:39:38,978 --> 00:39:40,570 شمارنده را برای همیشه به استفاده از به هر حال. 922 00:39:40,570 --> 00:39:41,950 بنابراین در عین حال، هم اتاقی خود را به خانه می آید. 923 00:39:41,950 --> 00:39:43,470 او واقعا دوست دارد شیر است. 924 00:39:43,470 --> 00:39:45,520 آنها را به اتاق خوابگاه آمده است، باز کردن در یخچال، آه، آن سد. 925 00:39:45,520 --> 00:39:46,490 هیچ شیر بیشتر وجود دارد. 926 00:39:46,490 --> 00:39:49,040 >> بنابراین، او نیز در اطراف گوشه می رود. 927 00:39:49,040 --> 00:39:51,670 اما در حال حاضر، چرا که مانند دو وجود دارد یا سه یا چهار CVSes این نزدیکی هست، 928 00:39:51,670 --> 00:39:53,800 آنها رخ می دهد برای رفتن به یکی از آنهایی که متفاوت در مربع است. 929 00:39:53,800 --> 00:39:55,830 و بنابراین در حال حاضر، چند دقیقه بعد، هر دو از شما 930 00:39:55,830 --> 00:39:58,060 به خانه و اخ، بدترین مشکل همیشه. 931 00:39:58,060 --> 00:40:00,967 در حال حاضر شما شیر بیش از حد به دلیل آن را به ترش. 932 00:40:00,967 --> 00:40:03,050 و شما مانند شیر، اما شما شیر نیست واقعا دوست دارم. 933 00:40:03,050 --> 00:40:06,730 >> بنابراین در حال حاضر، این گران بود اشتباه به دلیل هر دو از شما 934 00:40:06,730 --> 00:40:09,870 یک تصمیم بر اساس دولت از برخی از متغیر است که 935 00:40:09,870 --> 00:40:12,660 در روند بود توسط شما تغییر می کند، 936 00:40:12,660 --> 00:40:14,560 آغازگر رفتن به شیر. 937 00:40:14,560 --> 00:40:17,785 بنابراین، آنچه که شاید یک انسان راه حلی برای این مشکل؟ 938 00:40:17,785 --> 00:40:18,660 مخاطبان: [نامفهوم] 939 00:40:18,660 --> 00:40:19,430 دیوید مالان: ترک توجه داشته باشید، درست است؟ 940 00:40:19,430 --> 00:40:21,850 همیشه توجه داشته باشید ترک، اگر شما آشنا با آن نشان می دهد. 941 00:40:21,850 --> 00:40:23,100 بله، دو نفر از ما وجود دارد. 942 00:40:23,100 --> 00:40:25,940 بنابراین، همیشه توجه داشته باشید ترک، و یا به معنای واقعی کلمه قفل کردن یخچال و فریزر 943 00:40:25,940 --> 00:40:28,602 با برخی از نوع قفل و یا چیزی بیش از بالا شبیه به آن. 944 00:40:28,602 --> 00:40:31,310 اما این در واقع رفتن به مشکل اصلی با طراحی پایگاه داده، 945 00:40:31,310 --> 00:40:34,710 به ویژه هنگامی که شما ممکن است مرورگرهای مختلف، لپ تاپ های متعدد، 946 00:40:34,710 --> 00:40:37,450 کاربران متعدد همه در تلاش برای به روز رسانی اطلاعات در یک بار. 947 00:40:37,450 --> 00:40:40,590 اطلاعات حساس مانند اطلاعات مالی، 948 00:40:40,590 --> 00:40:43,350 به موجب آن با معاملات سهام وب سایت مانند شما می شود ساخت و ساز، 949 00:40:43,350 --> 00:40:47,270 اگر شما می خواهید برای بررسی چقدر پول شما و پس از آن اگر شما به اندازه کافی، 950 00:40:47,270 --> 00:40:48,490 خرید برخی از سهام؟ 951 00:40:48,490 --> 00:40:50,899 >> اما اگر شخص دیگری که دارای یک حساب مشترک با شما 952 00:40:50,899 --> 00:40:52,690 است به طور همزمان تلاش برای خرید برخی از سهام؟ 953 00:40:52,690 --> 00:40:55,190 بنابراین، او چک کردن است مانده حساب، هر دو از شما 954 00:40:55,190 --> 00:40:57,540 بازگشت همان پاسخ، هیچ شیر وجود دارد. 955 00:40:57,540 --> 00:41:00,580 یا هر دو شما را از پشت پاسخ، شما 100 $ در حساب. 956 00:41:00,580 --> 00:41:04,680 هر دو شما سعی می کنید به تصمیم قبل از خرید یک سهم از سهام شرکت برخی. 957 00:41:04,680 --> 00:41:06,130 >> و در حال حاضر، چه اتفاقی می افتد؟ 958 00:41:06,130 --> 00:41:07,140 شما باید دو سهم؟ 959 00:41:07,140 --> 00:41:08,420 شما هیچ سهام؟ 960 00:41:08,420 --> 00:41:10,320 مشکلات مانند است که می تواند بوجود می آیند. 961 00:41:10,320 --> 00:41:11,755 بنابراین، ما با آنها مواجه است. 962 00:41:11,755 --> 00:41:14,630 حملات تزریق SQL، خوشبختانه، چیزی که ما به شما کمک می کند با، 963 00:41:14,630 --> 00:41:17,430 اما این طرز فجیعی رایج این روزها هنوز هم. 964 00:41:17,430 --> 00:41:18,680 بنابراین، این فقط یک مثال است. 965 00:41:18,680 --> 00:41:21,290 من هیچ ادعای را که سیستم هاروارد PIN است 966 00:41:21,290 --> 00:41:23,130 آسیب پذیر به این حمله خاص است. 967 00:41:23,130 --> 00:41:24,160 ما سعی کرده ایم. 968 00:41:24,160 --> 00:41:26,120 اما شما می دانید که ما یک میدان مثل این. 969 00:41:26,120 --> 00:41:29,620 و ID خالص ییل است مشابه به دنبال صفحه نمایش این روز است. 970 00:41:29,620 --> 00:41:33,190 و معلوم است، که شاید سیستم PIN در PHP اجرا شده است. 971 00:41:33,190 --> 00:41:37,050 >> و اگر آن را were-- آن not-- آنها ممکن است کد که شبیه به این داشته باشد. 972 00:41:37,050 --> 00:41:38,210 آنها دو متغیر. 973 00:41:38,210 --> 00:41:42,495 من نام کاربری و رمز را از متغیر پست فوق العاده جهانی 974 00:41:42,495 --> 00:41:43,970 که ما در مورد قبل از آن صحبت کردیم. 975 00:41:43,970 --> 00:41:47,310 شاید هاروارد یک پرس و جو مانند ستاره انتخاب از کاربران 976 00:41:47,310 --> 00:41:50,005 که در آن نام کاربری برابر است و رمز عبور برابر است. 977 00:41:50,005 --> 00:41:51,880 و توجه کنید که من فقط متصل کردن آن با استفاده از 978 00:41:51,880 --> 00:41:55,050 نماد آکولاد از دیگر روز، که به معنی فقط در یک ارزش پلاگین 979 00:41:55,050 --> 00:41:55,550 اینجا. 980 00:41:55,550 --> 00:41:57,449 من با استفاده از نه روش علامت سوال است. 981 00:41:57,449 --> 00:41:59,240 من هیچ ندارد دوم و یا استدلال سوم. 982 00:41:59,240 --> 00:42:02,350 من فقط به معنای واقعی کلمه هستم ساخت رشته خودم. 983 00:42:02,350 --> 00:42:04,930 >> این مشکل، این است که اگر کسی را دوست دارم scroob، 984 00:42:04,930 --> 00:42:09,020 که اشاره به یک فیلم است، سیاهههای مربوط با چیزی شبیه به این، 985 00:42:09,020 --> 00:42:11,250 و من نقطه را حذف کردیم که معمولا پوشش 986 00:42:11,250 --> 00:42:14,370 کلمه عبور، اگر چه او است ویژه های مخرب 987 00:42:14,370 --> 00:42:18,860 و رمز عبور خود را شاید 12345 است، در هر فیلم به نام "Spaceballs،" 988 00:42:18,860 --> 00:42:21,970 اما او به شدت انواع A تنها نقل قول پس از پنج، 989 00:42:21,970 --> 00:42:24,790 پس از آن به معنای واقعی کلمه به کلمه یا در فضا، و پس از آن نقل قول، 990 00:42:24,790 --> 00:42:29,160 یکی را تمام کردن یک نقل قول برابر، اما متوجه او حذف چه؟ 991 00:42:29,160 --> 00:42:32,700 او نقل قول در سمت راست حذف و او را حذف نقل قول در سمت چپ. 992 00:42:32,700 --> 00:42:35,170 >> چرا که اگر این مهاجم فرض scroob است 993 00:42:35,170 --> 00:42:38,160 این است که مردم که نوشت این کد PHP بودند روشن نیست، 994 00:42:38,160 --> 00:42:42,990 شاید آنها فقط برخی از واحد نقل قول در اطراف درون یابی 995 00:42:42,990 --> 00:42:45,210 یک متغیر در آکولاد؟ 996 00:42:45,210 --> 00:42:48,620 و به این ترتیب شاید، او می تواند نوع از فکر خود را کامل 997 00:42:48,620 --> 00:42:53,290 برای آنها، اما در یک راه که رفتن به او اجازه را به سیستم PIN هک. 998 00:42:53,290 --> 00:42:55,310 به عبارت دیگر، فرض که این کد فعال است 999 00:42:55,310 --> 00:42:57,140 و ما در حال حاضر در چه تایپ scroob وصل کنید. 1000 00:42:57,140 --> 00:42:58,770 و آن را به رنگ قرمز، به دلیل این بد است. 1001 00:42:58,770 --> 00:43:01,310 >> و متن درسی چیزی است که او در تایپ، 1002 00:43:01,310 --> 00:43:05,510 scroob می تواند سرور را فریب هاروارد به ساختن یک پرسش SQL 1003 00:43:05,510 --> 00:43:07,440 رشته ای که به نظر می رسد مثل این. 1004 00:43:07,440 --> 00:43:11,760 رمز عبور برابر 12345 و یا یک معادل یک. 1005 00:43:11,760 --> 00:43:14,820 نتیجه ای که، منطقی، این است که این scroob ورود 1006 00:43:14,820 --> 00:43:18,360 در صورتی که رمز عبور خود را 12345 و یا اگر یک مساوی 1007 00:43:18,360 --> 00:43:22,660 یکی، که البته همیشه درست است، که به معنی scroob همیشه در می شود. 1008 00:43:22,660 --> 00:43:26,060 >> و بنابراین، راه برای حل این، همانطور که در بسیاری از موارد، 1009 00:43:26,060 --> 00:43:28,140 خواهد بود به نوشتن دفاعی. 1010 00:43:28,140 --> 00:43:30,390 برای استفاده از چیزی شبیه به ما تابع پرس و جو واقعی، که 1011 00:43:30,390 --> 00:43:33,980 شما در PSet7، که در آن ما را در پلاگین را ببینید چیزی شبیه به سوالاتی در اینجا. 1012 00:43:33,980 --> 00:43:35,980 و زیبایی از تابع پرس و جو که ما 1013 00:43:35,980 --> 00:43:40,010 به شما است آن را در برابر این دفاع به اصطلاح حملات تزریق SQL، که در آن 1014 00:43:40,010 --> 00:43:44,260 کسی است که فریب کد خود را به تزریق کد SQL او را. 1015 00:43:44,260 --> 00:43:47,380 چون آنچه را که تابع پرس و جو ما به شما در واقع انجام خواهد داد، 1016 00:43:47,380 --> 00:43:51,270 در صورت استفاده از نحو علامت سوال و یک دوم و یک آرگومان سوم در اینجا، 1017 00:43:51,270 --> 00:43:54,590 همان چیزی است که آن را به اضافه کرد ورودی که کاربر ارائه می شود؟ 1018 00:43:54,590 --> 00:43:56,060 کسانی که بک اسلش به نقل از. 1019 00:43:56,060 --> 00:43:58,590 >> بنابراین، آن را با فرار هر طور بالقوه شخصیت خطرناک است. 1020 00:43:58,590 --> 00:44:01,000 این به نظر می رسد عجیب و غریب در حال حاضر، اما آن را آسیب پذیر 1021 00:44:01,000 --> 00:44:03,260 به دلیل آن را نمی کند تغییر منطق دیگر 1022 00:44:03,260 --> 00:44:06,470 چرا که طیف رمز عبور است در حال حاضر یک نقل قول تنها که نه، 1023 00:44:06,470 --> 00:44:07,596 در واقع، رمز عبور scroob است. 1024 00:44:07,596 --> 00:44:09,845 بنابراین، بوده است برخی از جوک ها وجود دارد در مورد این در طول سال. 1025 00:44:09,845 --> 00:44:12,570 بنابراین، این بود که عکس گرفته شده برخی از گیک در یک پارکینگ 1026 00:44:12,570 --> 00:44:16,620 به موجب آن شما ممکن است که برخی از شهرستانها می دانید و ایالات سعی کنید به اسکن مجوز خود را 1027 00:44:16,620 --> 00:44:19,460 صفحه شما و یا به صورتحساب شما بلیط اگر شما از طریق بدون، مانند، 1028 00:44:19,460 --> 00:44:20,660 چیزی E-Z منتقل می کند. 1029 00:44:20,660 --> 00:44:24,490 بنابراین، این فرد فرض که شاید مردم نوشتن سیستم E-Z رمز عبور 1030 00:44:24,490 --> 00:44:28,240 به طوری روشن نیست، و شاید آنها فقط با هم الحاق یک رشته، 1031 00:44:28,240 --> 00:44:32,190 به طوری که او می تواند بدتر نیست نه تنها فکر خود را کامل، 1032 00:44:32,190 --> 00:44:35,150 اما در واقع اجرای یک فرمان بد، که ما هنوز ذکر ام، 1033 00:44:35,150 --> 00:44:36,380 اما شما احتمالا می توانید حدس بزنید. 1034 00:44:36,380 --> 00:44:39,820 که علاوه بر حذف و قرار دادن و به روز رسانی و انتخاب کنید، 1035 00:44:39,820 --> 00:44:43,370 نیز وجود دارد یک کلمه کلیدی به نام قطره، که به معنای واقعی کلمه حذف همه چیز 1036 00:44:43,370 --> 00:44:45,300 در پایگاه داده، که به خصوص بد است. 1037 00:44:45,300 --> 00:44:48,760 >> ما می توانیم در این اگر زوم در آن را کمی دشوار را ببینید. 1038 00:44:48,760 --> 00:44:52,300 این، در حال حاضر، یک کارتونی معروف است که زیبا و هوشمندانه در حال حاضر 1039 00:44:52,300 --> 00:44:53,145 و قابل درک است. 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [خنده حضار] 1042 00:45:04,750 --> 00:45:05,910 >> آره، سرد است. 1043 00:45:05,910 --> 00:45:06,800 نوع geeking است. 1044 00:45:06,800 --> 00:45:08,800 بنابراین این، پس از آن، می حملات تزریق SQL. 1045 00:45:08,800 --> 00:45:13,050 و آنها بسیار آسان برای جلوگیری از با استفاده از هستید کد سمت راست و یا از کتابخانه است. 1046 00:45:13,050 --> 00:45:15,947 و شما را در PSet7 را مشاهده کنید، که دلیل ما به شما تابع پرس و جو است. 1047 00:45:15,947 --> 00:45:17,780 بنابراین، یک زن و شوهر از طعنه که ما فکر کردم ما 1048 00:45:17,780 --> 00:45:19,930 شما در اینجا در به ما دقیقه باقی مانده با هم. 1049 00:45:19,930 --> 00:45:24,030 بنابراین، همانطور که از هفته صفر به یاد داشته باشید، ما معرفی این دو لامپ که 1050 00:45:24,030 --> 00:45:26,610 هستند خوب، نه فقط به خاطر آنها بسیار هستید و رنگارنگ، 1051 00:45:26,610 --> 00:45:29,450 اما از آنجا که چیزی حمایت به نام API، نرم افزار 1052 00:45:29,450 --> 00:45:31,980 رابط برنامه نویسی و در CS50 تا کنون، ما 1053 00:45:31,980 --> 00:45:34,440 عمدتا در GET متمرکز و POST، اما معلوم است 1054 00:45:34,440 --> 00:45:37,390 این دیگر افعال HTTP مثل قرار داده است. 1055 00:45:37,390 --> 00:45:39,430 >> و در واقع، این بود یک اسلاید از هفته صفر 1056 00:45:39,430 --> 00:45:44,930 موجب آن اگر شما نوشتن کد است که می فرستد لا PSet6 یک درخواست HTTP که 1057 00:45:44,930 --> 00:45:49,647 به نظر می رسد مثل این با این تکه از متن در پایین، است که به نام JSON، 1058 00:45:49,647 --> 00:45:52,230 یا JavaScript Object Notation انجام که ما در مورد هفته آینده صحبت می کنید، 1059 00:45:52,230 --> 00:45:57,030 شما می توانید روشن یا خاموش کردن یا تغییر رنگ چراغ مانند کسانی که. 1060 00:45:57,030 --> 00:46:00,480 بنابراین اگر CS50 همچنین علاوه بر برخی است از آن لامپ در اینجا در نیوهیون 1061 00:46:00,480 --> 00:46:02,480 اگر شما می خواهم به قرض گرفتن آنها را برای پروژه های نهایی، 1062 00:46:02,480 --> 00:46:04,370 همچنین برخی از مایکروسافت گروههای موسیقی، که مانند 1063 00:46:04,370 --> 00:46:07,619 ساعت که شما در اطراف مچ دست خود را می پوشند به طور مشابه یک API به طوری که به شما 1064 00:46:07,619 --> 00:46:10,040 می توانید نرم افزار خود را برای آنها ارسال. 1065 00:46:10,040 --> 00:46:12,490 >> ما یک حساب کاربری با کد iOS اپل تا 1066 00:46:12,490 --> 00:46:15,510 که اگر شما یک ساعت اپل یا یک آیفون یا یک آی پاد یا آی پاد، 1067 00:46:15,510 --> 00:46:17,707 شما می توانید کد ارسال که در واقع در آن اجرا می شود. 1068 00:46:17,707 --> 00:46:19,540 ما یک دسته کامل از Arduinos، که 1069 00:46:19,540 --> 00:46:22,010 کامپیوتر کوچک بدون موارد، در اصل، 1070 00:46:22,010 --> 00:46:25,240 که شما می توانید از طریق USB اتصال، به طور معمول به مک خود و یا PC، 1071 00:46:25,240 --> 00:46:28,810 ارسال کد اجرا می شود که در این فیزیکی دستگاه هایی که اغلب دارای سنسور بر روی آنها 1072 00:46:28,810 --> 00:46:30,790 بنابراین شما می توانید با دنیای واقعی ارتباط برقرار. 1073 00:46:30,790 --> 00:46:32,860 ما یک دسته کامل از دستگاه های جهش حرکت، 1074 00:46:32,860 --> 00:46:36,500 که دستگاه های USB برای مکینتاش هستند و رایانه های شخصی، در اینجا و دوباره، در نیوهیون. 1075 00:46:36,500 --> 00:46:40,080 و اگر شما آن را به مک خود متصل شود، شما می توانید در واقع کنترل کامپیوتر خود را 1076 00:46:40,080 --> 00:46:42,550 با نوشتن نرم افزار که از طریق پرتوهای مادون قرمز، 1077 00:46:42,550 --> 00:46:46,360 ارقام که در آن دست بشر خود هستند، حتی بدون دست زدن به صفحه کلید خود را. 1078 00:46:46,360 --> 00:46:49,135 ما فکر کردم ما به اشتراک گذاری سریع نگاه اجمالی در این، برای مثال. 1079 00:46:49,135 --> 00:46:51,428 >> [موسیقی] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 بنابراین، ما باید یک کل دسته از این چیزها، 1082 00:47:57,590 --> 00:48:01,040 بیش از حد، به نام باندهای بازوی میو که شما بیش از ساعد خود قرار داده است 1083 00:48:01,040 --> 00:48:04,595 و پس از آن شما می توانید واقعی کنترل جهان یا جهان مجازی مثل این. 1084 00:48:04,595 --> 00:48:06,471 >> [موسیقی] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 یا، ما نیز برخی گوگل مقوا، است که به معنای واقعی کلمه، مانند، 1087 00:49:20,920 --> 00:49:24,841 یک جعبه مقوایی شما می توانید در قرار خود را صورت، اما اسلاید در گوشی خود را به آن 1088 00:49:24,841 --> 00:49:27,590 به طوری که شما با قرار دادن شیشه ای خود را تلفن واقعا نزدیک به چشم خود را. 1089 00:49:27,590 --> 00:49:30,190 و گوگل کارتن است بسیار ارزان در 10 $ یا 20 $. 1090 00:49:30,190 --> 00:49:32,230 و آن را تا لنز کمی که کمی خارج از SHIFT 1091 00:49:32,230 --> 00:49:35,900 تصویر بر روی صفحه نمایش خود را برای انسان چشم به شما حس عمق را 1092 00:49:35,900 --> 00:49:39,550 به طوری که شما در واقع یک 3D دارای محیط زیست در مقابل از شما. 1093 00:49:39,550 --> 00:49:42,927 ما همچنین برخی از دنده سامسونگ، کدام نسخه گران تر از این است، 1094 00:49:42,927 --> 00:49:46,010 اما به طور مشابه می تواند در یک اسلاید تلفن های Android و شما در توهم را 1095 00:49:46,010 --> 00:49:48,309 of-- و یا به تجربه واقعیت مجازی. 1096 00:49:48,309 --> 00:49:50,850 و در دو دقیقه نهایی ما، ما فکر کردم ما سعی به انجام این کار. 1097 00:49:50,850 --> 00:49:55,250 اگر من می توانم پروژه چیست کولتون است در اینجا فقط به اشتهای شما را، 1098 00:49:55,250 --> 00:49:58,442 اجازه بدهید به جلو و پرتاب بر روی صفحه نمایش بزرگ در اینجا. 1099 00:49:58,442 --> 00:49:59,400 اجازه دهید من چراغ را بکشند. 1100 00:49:59,400 --> 00:50:02,290 کولتون، آیا می خواهید به جلو بروید و در سلول خود و برای یک لحظه قرار 1101 00:50:02,290 --> 00:50:05,171 و در بیش از آمدن به وسط صحنه؟ 1102 00:50:05,171 --> 00:50:07,420 و آیا شما می خواهید به project-- این چیزی است که کولتون می بیند. 1103 00:50:07,420 --> 00:50:10,560 >> در حال حاضر، Wi-Fi را در اینجا است نه برای این دستگاه قوی 1104 00:50:10,560 --> 00:50:13,870 که این است که فوق العاده قانع کننده، اما به معنای واقعی کلمه است کولتون 1105 00:50:13,870 --> 00:50:15,710 در این محل مربوط به اینده جادویی. 1106 00:50:15,710 --> 00:50:16,796 او فقط یک تصویر را می بیند. 1107 00:50:16,796 --> 00:50:19,920 شما در حال دیدن چشم چپ و راست خود که مغز او دوخت با هم 1108 00:50:19,920 --> 00:50:22,260 در یک سه بعدی محیط زیست در چهره اش. 1109 00:50:22,260 --> 00:50:24,319 او فقط انتخاب یک گزینه منو در اینجا. 1110 00:50:24,319 --> 00:50:27,360 پس بار دیگر، او با پوشیدن این هدست با یک تلفن سامسونگ بر روی آن است که 1111 00:50:27,360 --> 00:50:29,080 بی سیم طرح به سربار ما است. 1112 00:50:29,080 --> 00:50:30,349 در حال حاضر شما در مریخ، من فکر می کنم؟ 1113 00:50:30,349 --> 00:50:31,140 COLTON: من فکر می کنم. 1114 00:50:31,140 --> 00:50:32,181 من مطمئن هستم که [نامفهوم] است. 1115 00:50:32,181 --> 00:50:34,250 [خنده حضار] 1116 00:50:34,250 --> 00:50:36,374 >> دیوید مالان: معلوم است مریخ دارای این منوها. 1117 00:50:36,374 --> 00:50:41,590 >> COLTON: [نامفهوم] برخی از خنک مکان اگر ما می خواهیم به to-- 1118 00:50:41,590 --> 00:50:43,330 >> دیوید مالان: از کجا می خواهیم برویم؟ 1119 00:50:43,330 --> 00:50:45,837 >> COLTON: [نامفهوم] 1120 00:50:45,837 --> 00:50:48,170 دیوید مالان: و اجازه دهید ببینیم که در آن کولتون هم اکنون با ما گرفتن. 1121 00:50:48,170 --> 00:50:48,961 COLTON: [نامفهوم] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> دیوید مالان: بنابراین، بسیاری وجود دارد مکان های مختلف شما می توانید خودتان را. 1124 00:50:56,380 --> 00:51:00,590 این FAPIs وجود دارد که از طریق آن شما می توانید ارسال بازی ها و یا فعل و انفعالات که 1125 00:51:00,590 --> 00:51:01,950 اجرا، در نهایت، بر روی تلفن. 1126 00:51:01,950 --> 00:51:03,908 بنابراین، شما واقعا فقط نوشتن یک برنامه تلفن همراه. 1127 00:51:03,908 --> 00:51:06,380 اما به لطف نرم افزار و قابلیت های گرافیکی، 1128 00:51:06,380 --> 00:51:08,765 اکنون کولتون در این است کلبه کمی کوچک است. 1129 00:51:08,765 --> 00:51:10,515 و در معرض خطر قریب به اتفاق قربانیان خود، 1130 00:51:10,515 --> 00:51:13,330 کولتون و من برای چوب در اطراف در حالی که در پایان کلاس کلیک در اینجا اکنون 1131 00:51:13,330 --> 00:51:14,300 اگر شما می خواهم برای آمدن و بازی. 1132 00:51:14,300 --> 00:51:16,350 و ما آنها را تماس هفته آینده است. 1133 00:51:16,350 --> 00:51:18,420 بدون ADO بیشتر که آن را برای امروز. 1134 00:51:18,420 --> 00:51:21,990 ما شما را هفته آینده را ببینید. 1135 00:51:21,990 --> 00:51:24,140 >> [MUSIC - Ragga به دوقلوها، "مرد بد"] 1136 00:51:24,140 --> 00:55:23,146