>> [موسیقی]
دیوید مالان: همه حق است، این CS50.
این پایان هفته هشتم است.
و امروز، ما شروع برای پر کردن در برخی از قطعات
که آن را به ساختمان می آید همه چیز در وب است.
بنابراین، به یاد آورید که در روز دوشنبه ما زمان زیادی را صرف
در پی اچ پی است که این پویا زبان برنامه نویسی است که
ما اجازه می دهد تا خروجی، در میان دیگر همه چیز، HTML و دیگر محتوا مانند
که ما می خواهید برای دیدن.
اما ما واقعا در چگونه نگاه نمی ما قصد داریم به ذخیره هر گونه اطلاعات.
در واقع، تقریبا هر کدام از این که فوق العاده وب سایت های جالب شما بازدید امروز
به نوعی از پایگاه داده در پایان به عقب، درست است؟
فیس بوک قطعا ذخیره مقدار زیادی از داده در مورد همه ما و فروشگاه های جیمیل همه
از ایمیل های خود را.
>> و بنابراین، بسیاری از سایت های دیگر فقط نمی محتوای استاتیک که اطلاعاتی است.
این در واقع در برخی از راه پویا.
شما فراهم ورودی، آن به روز رسانی صفحات را برای افراد دیگر.
شما دریافت می کنید پیام، شما ارسال پیام ها، و غیره.
بنابراین، امروز، ما نگاه در نزدیک که پایه های یک پروژه
که شما را به شیرجه رفتن بعدی هفته، CS50 مالی، که
است که در واقع رفتن به شما ساخت چیزی نیست که در C، اما در پی اچ پی.
یک وب سایت که به نظر می رسد چیزی کمی شبیه به این
که اجازه می دهد به خرید و فروش سهام هستند که در واقع
رفتن به قرعه کشی بر زمان واقعی اطلاعات سهام از یاهو مالی.
و بنابراین در نهایت، شما باید توهم برای خود و برای کاربران
که شما در واقع خرید و فروش سهام و گرفتن زمان نزدیک به واقعی
به روز رسانی، مدیریت یک نمونه کارها، همه از آن
است که نیاز به داشتن، در نهایت، یک پایگاه داده از کاربران است.
>> بنابراین، در کلمات خود را، به خصوص اگر شما نمی
فوق العاده با کامپیوتر آشنا علم و یا پایگاه های داده، چه
آیا می دانید که یک پایگاه داده به در حال حاضر، در غیر فنی.
چه در آن است؟
چگونه آن را توصیف به یک هم اتاقی یا دوست؟
>> مخاطبان: [نامفهوم] اطلاعات [نامفهوم]
>> دیوید مالان: بنابراین، یک لیست از اطلاعات، یا یک store-- یک لیست از اطلاعات
که شما ممکن است بخواهید برای ذخیره در مورد چیزی، مانند یک کاربر.
و چه کاربران باید در ارتباط با آنها؟
اگر شما یک کاربر در فیس بوک یا هستید جیمیل، چه ویژگی های هستند
که همه ما کاربران را داشته باشد؟
مانند، چه ممکن است برخی از ستون در صفحه گسترده که ما
اشاره زمان آخرین؟
از آنجا دوباره، شما می توانید از یک پایگاه داده فکر می کنم
واقعا به عنوان یک فایل اکسل فانتزی و یا گوگل گسترده و یا اپل اعداد فایل.
>> بنابراین، چه چیزی شما را از فکر می کنم زمانی که شما از یک کاربر فکر می کنم؟
چه را دارند؟
آن چیست؟
>> مخاطبان: یک نام است.
>> دیوید مالان: یک نام است.
بنابراین اگر نام، مانند، دیوید مالان می شود نام برخی از کاربران.
چه چیز دیگری می کند یک کاربر؟
>> مخاطبان: یک ID.
>> دیوید مالان: یک ID.
بنابراین، مانند شماره ID، مانند هاروارد خود را ID و یا خود را ییل ID خالص و یا مانند.
چه چیز دیگری ممکن است یک کاربر؟
>> مخاطبان: رمز عبور.
>> دیوید مالان: رمز عبور، شاید یک آدرس، شاید یک شماره تلفن، شاید
یک آدرس ایمیل.
بنابراین، مجموعه ای از رشته ها و این وجود دارد می تواند از چرخه خارج از کنترل
به سرعت به عنوان محض اینکه شما شروع تحقق، آه، اجازه دهید این فروشگاه
و اجازه دهید این و آن را ذخیره کنید.
>> اما چگونه ما در واقع انجام این کار؟
پس دوباره، مدل ذهنی برای امروز به عنوان ما
شیرجه رفتن به واقعی SQL، ساختار زبان پرس و جو،
یک پایگاه داده که شبیه به این است.
این فقط سطر و ستون است.
و شما می توانید صفحات گسترده گوگل تصور کنید یا هر تعداد از برنامه های دیگر.
اما آنچه در مورد خروجی زیر کلید است، که این نرم افزار پایگاه داده ما قصد داریم برای استفاده،
آزادانه آشکارا available-- استفاده از فیس بوک
و هر تعداد از دیگر websites-- پایگاه داده ذخیره چیز روابط،
و یک پایگاه داده رابطه ای فقط به این معنی است که به معنای واقعی کلمه
ذخیره داده های خود را در سطر و ستون.
آن را به عنوان ساده است.
>> بنابراین، حتی چیزی شبیه به اوراکل که شما ممکن است به طور کلی از شنیده
یک پایگاه داده رابطه است.
و در زیر هود از آن، فروشگاه داده در سطر و ستون.
و اوراکل شما یک اتهام مقدار زیادی از پول برای انجام این کار،
در حالی که اتهامات خروجی زیر شما برای همان هیچ چیز نیست.
بنابراین، SQL است که به ما می دهد حداقل چهار عملیات.
توانایی انتخاب داده ها، مانند خواندن داده ها، درج، حذف، و به روز رسانی داده ها.
به عبارت دیگر، کسانی هستند واقعا از چهار عملیات کلیدی
که می رویم به ما اجازه می دهد به تغییر مسائل در آن سطر و ستون.
>> ابزاری است که ما امروز به خصوص استفاده به یاد بگیرند که SQL و به بازی با آن
دوباره PHP MyAdmin نامیده می شود.
این ابزار مبتنی بر وب است.
تصادف مجموع که آن را در PHP نوشته شده است.
اما آن را به ما یک گرافیکی را رابط کاربری به طوری که ما می تواند در حقیقت
ایجاد این ردیف ها و ستون و سپس به آنها صحبت از طریق کد.
بنابراین، اجازه دهید در حال حاضر شروع چه من فکر می کنم رک و پوست کنده
نوع فرایند سرگرم کننده از ساخت و ساز در پایان به وب سایت ها،
قطعات که کاربران نمی را مشاهده کنید، اما مطمئنا در مورد انجام مراقبت،
چرا که نه داده شود.
بنابراین، شبیه به C و یک کمی کمتر به مانند PHP،
SQL، یا یک پایگاه داده است که پشتیبانی از SQL، دارای انواع حداقل این داده ها
و مجموعه ای از دیگران است.
CHAR، VARCHAR، INT، BIGINT، اعشاری، و استاندارد.
و یک کل وجود دارد دسته از ویژگی های دیگر،
اما اجازه دهید این کار را با به عنوان مثال واقعی.
>> من قصد دارم برای رفتن به CS50 IDE که در آن، در پیش است، من در وارد کرده اید
و من هم یک URL برای بازدید کرده اید این ابزار به نام PHP MyAdmin.
و در مجموعه ای مشکل هفت، ما به شما دقیقا چگونه برای رسیدن به این رابط
به خوبی.
در گوشه بالا سمت چپ، متوجه آن می گوید سخنرانی کنند.
و این فقط بدان معنی است که در پیش است، من ایجاد
یک پایگاه داده به نام سخنرانی خالی است که هیچ صفحات گسترده در آن است.
هیچ سطر و ستون وجود دارد.
از آنجا که اولین چیزی که ما در حال رفتن به
این است شروع به ایجاد یک جدول که رفتن به ذخیره کاربران ما.
>> بنابراین، به معنای واقعی کلمه بیش از در اینجا به سمت راست، من
رفتن به پایگاه داده من می خواهم یک جدول به نام کاربر.
بنابراین، این است مانند فایل که من می خواهید برای ذخیره تمام داده های من در.
و چگونه بسیاری از ستون؟
خوب، اجازه دهید آن را ساده نگه دارید در حال حاضر.
من فقط می خواهم برای ذخیره مانند نام کاربری و یک نام برای یک کاربر.
ما شروع به کوچک است.
بنابراین، من می خواهم کل دو ستون است.
و من قصد دارم به جلو بروید و برو کلیک کنید.
و پس از آن، برای این ستون، آنچه که من قصد
به انجام این اینترنت cooperates-- همه حق است،
بنابراین ما قصد داریم به سعی کنید که دوباره و دوباره.
من قصد دارم برای ایجاد یک جدول به نام کاربران با دو ستون، برو کلیک کنید، OK.
در حال حاضر ما باید آن را واقعا سریع است.
با تشکر از شما، به خوبی انجام می شود.
خوب، پس ما چه می خواهیم این ستون به آن می شود؟
>> بنابراین، یکی را به نام کاربری.
بنابراین، تمام من here-- و رابط رک و پوست کنده می شود کمی زشت در نهایت،
هنگامی که شما شروع به تایپ در تمام این داده ها.
اما آنچه خوب است که مرتب کردن بر اساس است برعکس، من ایجاد ستون،
اما این ابزار دارای احمقانه آنها را در ردیف گذاشته
به طوری که من می توانید از این ستون را پیکربندی کنید.
بنابراین، دو شاهد وجود دارد تحت نام وجود دارد.
و یکی از این زمینه ها من می خواهم به نام کاربری،
و زمینه های دیگر من می خواهم به نام پاسخ.
>> و اکنون من باید انتخاب کنید انواع داده ها را برای این چیزها.
بنابراین، در حالی که در اکسل و صفحات گسترده گوگل،
اگر شما می خواهید یک ستون، به معنای واقعی کلمه فقط نوع نام یا نام کاربری، ضربه وارد کنید.
شاید شما آن را به صورت پررنگ فقط برای وضوح، اما از آن است.
شما مشخص نیست انواع ستون.
در حال حاضر در صفحات گسترده گوگل یا اکسل، شما ممکن است مشخص کنید که چگونه داده ها ارائه شده است.
شما می توانید به منوی Format، و شما می توانید مشخص کنید این علامت دلار مانند نشان می دهد،
نشان می دهد این مثل یک مقدار ممیز شناور.
>> بنابراین، آن را در روح به مشابه که آنچه ما در مورد به انجام،
اما این است که در واقع به زور داده ها به یک نوع خاص است.
در حال حاضر، حتی اگر یک لحظه پیش من گفت تنها چند نوع داده وجود دارد،
در واقع وجود دارد طیف زیادی، و آنها
در درجه از ویژگی های مختلف.
و به عنوان یک به کنار، شما حتی می توانید انجام کارهای فانتزی
مانند هندسه ذخیره سازی در داخل یک پایگاه داده است.
شما می توانید همه چیز را ذخیره مانند مختصات GPS
و در واقع پیدا، ریاضی، نقاط که نزدیک به دیگران است.
اما ما قصد داریم به نگه داشتن این فوق العاده ساده
و تا به اینجا، همه از به اصطلاح نوع رشته.
>> بنابراین، در اینجا یک لیست از این تمام دسته از گزینه.
CHAR، VARCHAR، TINYTEXT، MEDIUMTEXT، LONGTEXT.
و آن نوع از قریب به اتفاق است.
و متاسفانه، تا حدودی متناقض نما به C،
یک کاراکتر است که واقعا یک کاراکتر است.
اگر شما در یک پایگاه داده را مشخص که نوع داده خود را CHAR است،
که بدان معنی است که بله، آن را یک CHAR، اما آن را یک یا چند کاراکتر.
و شما باید برای مشخص چگونه بسیاری از کاراکتر شما می خواهید.
بنابراین، آنچه که یک نمونه طول یک نام کاربری؟
به طور معمول یک محدودیتی وجود دارد؟
>> مخاطبان: [نامفهوم]
>> دیوید مالان: 16 شاید؟
یه چیزی شبیه اون.
شما می دانید، در روز، از آن استفاده شود و به هشت.
گاهی اوقات آن را 16، گاهی اوقات آن را حتی بیشتر از آن.
و بنابراین، این را نمی کند معنی من یک کاراکتر است.
این به این معنی من باید برای مشخص طول این زمینه،
و در حال حاضر ممکن است چیزی شبیه 16 می گویند.
و یک تجارت کردن در اینجا وجود دارد.
بنابراین، ما در یک لحظه را ببینید که این به معنای یک،
هر نام کاربری تا به 16 کاراکتر.
اما یک دقیقه، M-A-L-A-N صبر کنید. در صورتی که نام کاربری من و من تنها با استفاده از پنج،
آنچه را که شما پیشنهاد می کنند که در پایگاه داده برای 11 شخصیت های دیگر که
من فضا برای محفوظ ام؟
چه کار می کنید؟
>> مخاطبان: [نامفهوم]
>> دیوید مالان: آره، فقط همه آنها مقدار null را.
آنها را فاصله است.
اما احتمالا تهی، به طوری که یک بسیاری از صفر بک اسلش.
بنابراین، از یک سو، ما اکنون مطمئن ساخته شده است که نام کاربری من
می تواند بیشتر از 16 کاراکتر است.
و از طرف دیگر از آن است که اگر من تا به حال یک نام واقعا طولانی
و یا می خواستم یک واقعا طولانی نام کاربری مانند برخی از شما
بچه ها ممکن است در آن کالج و یا در Yale.edu، شما نمی توانید آن را ندارد.
و به این ترتیب در واقع، اگر شما تا کنون برای یک وب سایت ثبت نام
و شما در گفت فریاد زد رمز عبور خود را بیش از حد طولانی
و یا نام کاربری خود را بیش از حد طولانی، آن را تنها به دلیل یک برنامه نویس، که
پیکربندی پایگاه داده خود، تصمیم گرفت که این فیلد
بیش از این طول داشته باشد.
>> خوب، پس چه می شود اگر ما اقدام به نام؟
چه مدت باید نام و نام خانوادگی انسان معمولی خواهد بود؟
چگونه بسیاری از شخصیت، 16؟
من حدس می زنم ما می تواند پیدا کردن کسی در این اتاق
که در آن برای اولین بار به همراه او آخرین نام و نام خانوادگی بیش از 16 کاراکتر است.
بنابراین، آنچه که بهتر از آن، 17؟
18؟
25؟
بزرگتر؟
30؟
>> مخاطبان: [نامفهوم]
دیوید مالان: 5،000، آه خدای من.
بنابراین، این احتمالا مناسب و معقول حد بالا، باید ما می گویند.
و در اینجا ما به نوعی باید برای ایجاد یک تماس قضاوت.
مانند، هیچ جواب درست وجود دارد.
بی نهایت است کاملا ممکن نیست، چرا که ما در نهایت هستید
رفتن به have-- ما رفتن به اجرا از حافظه است.
بنابراین، ما باید به یک تماس قضاوت در برخی از نقطه.
>> بسیار معمول می شود، برای مثال، به use-- و اجازه دهید من در اینجا مشخص CHAR
به عنوان before-- 255 به معنای واقعی کلمه بود حد بالایی بر روی این نرم افزار پایگاه داده
سالها پیش.
و بنابراین، بسیاری از انسان ها می فقط می گویند، خوب است.
255 از حد است.
اجازه دهید فقط حداکثر استفاده کنید.
و این بسیار مضحک است.
مانند، اگر شما در حال تایپ کردن کسی نام برای 200 کاراکتر به علاوه،
که کمی مضحک است.
>> اما، به یاد داشته باشید که ASCII است تنها سیستم برای شخصیت.
و به این ترتیب، به ویژه در بسیاری از زبان های آسیایی
که در آن شخصیت وجود دارد ما می توانیم بیان بر روی صفحه کلید مانند ایالات متحده من
صفحه کلید، برخی از شخصیت های واقعی تا 16 بیت به جای هشت بیت است.
و به این ترتیب، این در واقع است که همه غیر منطقی نیست
که ما بیشتر نیاز فضای اگر ما می خواهیم به تناسب
شخصیت بزرگتر از آمریکا بسیار آنهایی که ما تمایل محور به بحث در مورد.
بنابراین، ما باید برخی از حد بالا.
من نمی دانم که چه یکی از بهترین است، اما به طور کلی 255 یکی از رایج است.
25 احساس می کند کم است.
16، 32 احساس پایین.
من در سمت گمراه از چیزی بالاتر است.
اما یک تجارت وجود دارد خاموش، مثل همیشه.
چه، شاید، آشکار تجارت کردن از رزرو 255 کاراکتر
برای نام همه را در پایگاه داده من؟
>> مخاطبان: [نامفهوم]
>> دیوید مالان: آن چیست؟
>> مخاطبان: [نامفهوم]
>> دیوید مالان: این یک مقدار زیادی از حافظه، درست است؟
M-A-L-A-N. من فقط به هدر رفته 250 شخصیت فقط برای ذخیره کردن نام من
دفاعی، فقط در مورد کسی در کلاس دارای یک نام واقعا طولانی است.
که به نظر می رسد مثل یک معاوضه معقول
>> بنابراین، معلوم است که SQL، این زبان پایگاه داده،
در واقع از چیزی نام VARCHAR، و یا متغیر کاراکتر.
و این نوع از در که این خوب به شما اجازه نمی ثابت
عرض، بلکه، یک عرض متغیر.
و بیشتر به طور خاص، حداکثر عرض این زمینه است.
بنابراین، این بدان معنی است که یک نام می تواند می شود بیش از 250 کاراکتر،
اما قطعا می توانید کمتر باشد.
و پایگاه داده است برای رفتن به هوشمند.
اگر شما در M-A-L-A-N قرار داده است، آن را تنها رفتن به استفاده از پنج،
شاید شش بایت برای مانند یک شخصیت های پوچ انتهایی،
و نه اضافی صرف 249 یا 250 بایت بی ارزش.
>> بنابراین، این به نظر می رسد مانند من باید با این داستان آغاز شده است.
اما همیشه یک معاوضه وجود دارد.
بنابراین، از یک سو، یک نام کاربری من مشخص به سخت در 16 رمزی،
و شاید بود که نه تماس راست، شاید آن
است، اما چرا استفاده نمی متغیر varchar برای همه چیز؟
>> امر به دلیل وجود دارد.
چرا متغیر varchar برای هر زمینه استفاده نمی که طول شما در پیشبرد دانم
اگر به نظر می رسد یک چیز بزرگ، درست است؟
استفاده از فضای فقط به اندازه شما نیاز تا به این حد؟
>> رسید آهسته تر.
دیوید مالان: املاء؟
رسید آن را می سازد کندتر است؟
دیوید مالان: آه، آن کندتر است.
خوب است، که تقریبا همیشه پاسخ، رک و پوست کنده.
مانند، چه معاوضه نیست.
این هم هزینه فضای بیشتری و یا هزینه آن زمان بیشتر است.
بنابراین، در این مورد، ممکن است آن کندتر است.
واسه چی؟
>> مخاطبان: [نامفهوم] تعیین [نامفهوم].
>> دیوید مالان: خوب.
بنابراین، شما ممکن است از حتی به یاد PSED5، بازی با رویکرد خود را
به فرهنگ لغت، اگر شما را به تخصیص حافظه به صورت پویا و یا نگه داشتن
در حال رشد یک بافر، که در واقع می تواند آهسته باشد.
اگر شما به malloc پاسخ در زیر هود و شاید
این چیزی است که خروجی زیر در حال انجام است، به طوری که مطمئنا که می تواند مورد.
و اگر شما فکر می کنم راه برگشت به PSet-- و یا حتی
هفته دو، همه چیز که ما را دوست جستجوی دودویی یا حتی جستجوی خطی،
یکی از چیزهای خوبی که در مورد هر کلمه در یک پایگاه داده و یا هر کلمه در یک ستون
بودن دقیقا همان طول، حتی اگر یک دسته کامل از کسانی که شخصیت
خالی، این است که شما می توانید استفاده کنید دسترسی تصادفی در داده های خود را، درست است؟
>> اگر شما می دانید که هر کلمه است 16 کاراکتر دور،
شما می توانید حساب اشاره گر استفاده کنید، بنابراین به صحبت می کنند، و به ما 16، 32، 48، 64،
و شما فقط می توانید پرش فورا با استفاده از حساب
به هر یک از واژگان در پایگاه داده خود را.
در حالی که اگر آن را به یک VARCHAR است، چه چیزی شما را به جای باید انجام دهید؟
>> [زنگ تلفن]
>> اگر آن را یک VARCHAR، شما می توانید با دسترسی تصادفی استفاده نمی کند.
آنچه شما باید برای نگاه کنید و یا انجام دهد؟
آره؟
>> مخاطبان: [نامفهوم]
>> دیوید مالان: نگاه از طریق ردیابی whole--
از طریق تمام فهرست به دنبال چه، به احتمال زیاد؟
چه نوع از ارزش ویژه ای؟
مخاطبان: [نامفهوم]
دیوید مالان: به دنبال برای قطع null را
که مشخص جدایی از کلمات.
پس دوباره، یک معاوضه و هیچ جواب درست وجود دارد.
اما این جایی است که، به ویژه هنگامی که کاربران خود را دریافت کنید به بسیاری از
و بار خود را بر روی سرور خود را، تعدادی از مردم با استفاده از آن بالا می شود،
این در واقع تصمیم گیری کوچک اما با اهمیت.
بنابراین، ما می توانیم این را به عنوان این ترک کند، اما اجازه دهید در پایین حرکت را به سمت راست
اینجا.
در حال حاضر، یک زن و شوهر از ستون وجود دارد که در آن ما را به یک قضاوت.
آیا این درست است که اجازه می دهد کاربر نام، نام کاربری کاربر یا کاربر
نام، به تهی؟
این است که، فقط خالی است.
احساس کمی مزخرف، بنابراین من رفتن به بررسی آن جعبه.
اما معلوم است در یک پایگاه داده، شما می توانید می گویند،
کسی اختیاری می توانید این مقدار را داشته باشد.
این ستون اختصاص ندارد در واقع وجود داشته باشد.
>> در حال حاضر، این منوی کشویی وجود دارد.
و متوجه من هنوز در سطر اول وجود دارد،
بنابراین من صحبت کردن در مورد نام کاربری در حال حاضر.
و معلوم است که یک پایگاه داده، بر خلاف یک صفحه گسترده ساده صرف،
دارای ویژگی های قدرتمند به نام شاخص.
و شاخص راه گفتن است پایگاه داده در پیش است که من انسان
من باهوش تر از شما.
>> من می دانم که چه نوع نمایش داده شد، را انتخاب کنید و یا قرار دادن و یا حذف و یا به روز رسانی،
که کد من است که برای پایان تا انجام در این پایگاه داده است.
من می خواهم به خواندن بسیاری از داده ها.
من می خواهم برای قرار دادن بسیاری از داده ها.
من به طور مداوم می خواهید حذف بسیاری از داده ها.
اگر من می دانم که من قصد دارم به دسترسی به یک میدان مانند نام کاربری زیادی،
من پیشگیرانه می توانید بگویید پایگاه داده، من می دانم بیش از شما،
و من به فرمان می خواهید که شما باید اول این زمینه.
که در آن نمایه سازی یک میدان و یا یک ستون بدان معنی است که پایگاه داده در
باید ایده هایی از، مانند قرض، هفته چهار و پنج و شش از CS50
و در واقع ساخت تا چیزی شبیه به یک جستجوی دودویی
درخت و یا چیزی به طور کلی یک درخت B به نام
که شما را یاد بگیرند در یک کلاس مانند CS124
در دانشگاه هاروارد، یک کلاس الگوریتم، یا هر تعداد از جاهای دیگر.
>> پایگاه داده ها و هوشمند افرادی که آن را اجرا
کشف کردن که چگونه برای ذخیره که جدول از اطلاعات
در حافظه به طوری که جستجو و عملیات دیگر هستند فوق العاده سریع.
شما لازم نیست که به انجام آن.
شما لازم نیست که برای پیاده سازی جستجوی خطی یا جستجوی دودویی
و یا ادغام مرتب سازی بر و یا انتخاب مرتب سازی بر اساس، هر یک از آن.
پایگاه داده آن را برای شما اگر به شما بگویم آن پیشگیرانه به صفحه اول این زمینه.
>> و شما هم می توانید ببینید، وجود دارد برخی از ویژگی های دیگر
ما می توانید بگویید پایگاه داده برای به اجرا درآوردن.
چه معنایی ممکن است در صورت منحصر به فرد را انتخاب من از این منو، فقط به طور مستقیم؟
آره؟
>> مخاطبان: [نامفهوم]
دیوید مالان: آره، نام کاربری باید منحصر به فرد.
آیا این یک چیز خوب یا بد برای یک پایگاه داده، برای یک وب سایت با کاربران؟
باید نام کاربری منحصر به فرد باشد.
آره، احتمالا.
اگر این چیزی است که درست استفاده می کنیم برای ورود به سیستم،
شما واقعا به مردم داشتن می خواهید همان احساس و یا همان نام کاربری.
بنابراین، ما می توانیم دارند پایگاه داده اجرا که
که در حال حاضر در کد PHP یا هر زبان، من لازم نیست به عنوان مثال، بررسی
لزوما این نام کاربری وجود قبل از من اجازه کسی ثبت نام دارید؟
پایگاه داده خواهد شد دو نفر به نام اجازه نمی دیوید و یا برای ثبت نام اینجا Malans در این مورد.
>> و به عنوان یک کنار، حتی اگر این منوی تنها به شما اجازه یکی را انتخاب کنید،
شاخص منحصر به فرد یکی که است نمایه برای عملکرد فوق العاده سریع،
اما آن را نیز به اجرا می گذارد منحصر به فرد.
و ما به چه آمده دو نفر دیگر معنی در یک لحظه.
در همین حال، اگر من به ردیف دوم من، که
نام کاربر است، باید مشخص من که نام باید منحصر به فرد باشد.
نه، چون شما می تواند قطعا have-- هیچ دو دیوید وجود دارد
Malans در این اتاق، به احتمال زیاد.
اما اگر ما یک نام متفاوت را انتخاب کنید، ما مطمئنا ممکن است برخورد داشته باشد.
>> فکر می کنم به هش جداول و مانند آن.
بنابراین، ما قطعا نمی خواهید به قسمت نام منحصر به فرد.
بنابراین، ما فقط رفتن به ترک که به عنوان فاصله، فاصله، فاصله، هیچ چیز نیست.
و من قصد دارم به ترک هر چیز دیگری به تنهایی.
در واقع، بیشتر از این زمینه ها ما نمی خواهد که در مورد مراقبت.
و زمانی که من آماده برای نجات این هستم، اگر اینترنت همکاری،
من روی Save کلیک کنید، و بسیار، بسیار، بسیار به آرامی می کند پایگاه داده از نجات داد.
و در حال حاضر من برگشتم به این رابط کاربری، که مسلما،
قریب به اتفاق در نگاه اول است.
اما همه من قصد دارم برای انجام کلیک کنید بر روی کاربران کلمه در بالا سمت چپ.
من قصد دارم به تا اینجا، کلیک کنید کاربران و به طور پیش فرض، آن
اعدام کرده است برخی از SQL، اما بیشتر در مورد که در یک لحظه.
در اینجا فقط یک خلاصه ای از آنچه که من انجام است.
و نه نگران که می بینید ذکر لاتین و سوئدی در اینجا.
کسانی که فقط به طور پیش فرض تنظیمات، به دلیل خروجی زیر در اصل،
و یا PHP MyAdmin، یکی از دو اتفاق افتاد به توسط برخی از افراد سوئدی نوشته شود.
اما آن را بی ربط در مورد ما در اینجا.
>> همه حق است، پس چرا این همه جالب است؟
به نظر می رسد، من می توانم اطلاعات درج به یک پایگاه داده با نوشتن کد.
و من به جلو بروید و در پرونده من در اینجا، من
رفتن به جلو بروید و وانمود کنیم این است که به پایگاه داده، سیمی که
آن است که در حال حاضر نیست، اما از آن خواهد شد شود زمانی که ما به مشکل تنظیم هفت.
و من قصد دارم به جلو بروید و اجرای یک تابع به نام پرس و جو،
که ما شما را در مشکل را مجموعه کد هفت توزیع، که
حداقل یک آرگومان طول می کشد، که فقط یک رشته است.
رشته ای از کد SQL.
بنابراین، شما در مورد به یاد بگیرند که چگونه به هستی ارسال پرس و جو ساخت یافته زبان.
>> اگر من می خواهم برای وارد کردن یک ردیف جدید را به من پایگاه داده به خاطر کسی که ارائه کرده است
یک فرم به کد من، من به معنای واقعی کلمه ارسال INSERT INTO کاربران زیر
زمینه: نام کاربری، کاما، نام، ارزش ها،
و در حال حاضر نیاز به وارد کردن چیزی شبیه به مالان، و نقل قول،
"دیوید مالان. تمام کردن و در حال حاضر حتی برای کسانی که با SQL نا آشنا،
چرا من با استفاده از نقل قول تکی در داخل این رشته سبز؟
آنچه ممکن است به این دلیل که اینجا هستید؟
>> توجه داشته باشید من Co-اختلاط دو زبان است.
پرس و جو یک تابع PHP است، اما طول می کشد استدلال است.
و این استدلال را به خود باشد نوشته شده به زبان دیگری به نام
SQL، ساختار زبان پرس و جو.
بنابراین، آنچه را که من فقط در اینجا برجسته
این زبان به نام SQL است.
بنابراین، آنچه با نقل قول تکی، فقط به عنوان بررسی سلامت عقل سریع؟
برو جلو.
آنها رشته است.
بنابراین، نقل قول، تمام کردن مالان و نقل قول، تمام کردن دیوید مالان رشته ها.
و فقط فکر به طور مستقیم در حال حاضر، دانستن اینکه چه چیزی شما را در مورد C و PHP می دانم،
چرا من این کار را نمی داد، که من معمولا استفاده نقل از دو برابر برای رشته؟
چرا من می خواهم به انجام این کار؟
آره؟
>> مخاطبان: [نامفهوم]
دیوید مالان: دقیقا.
از آنجا که من در حال حاضر با استفاده از به نقل از دو در راه
خارج از بحث به تابع پی اچ پی،
من فقط می مفسر اشتباه است.
آن را نمی خواهد می دانم، آیا این با هم؟
آیا این با هم؟
بنابراین، من به جای متناوب.
>> و یا من می تواند چیزی شبیه به این کار، نقل قول بک اسلش یا بک اسلش نقل قول.
صادقانه بگویم، که فقط به شروع می شود بسیار خواندن و زشت است.
اما که به تحقق همان نتیجه را به عنوان.
>> بنابراین، اگر من به اجرای این پرس و جو در حال حاضر، بیایید ببینید که چه اتفاقی می افتد.
من قصد دارم به جلو بروید در حال حاضر و نه از اجرای کد پی اچ پی، که
است که در آن شما بازی در مشکل مجموعه هفت،
من قصد دارم به جای آن به PHP MyAdmin است.
و من دستی رفتن برای رفتن به تب SQL، به
و به من اجازه زوم در رابط.
و من قصد دارم برای قرار دادن در چیزی که من فقط تایپ.
و برنامه نویسی رنگ است کمی تغییر در حال حاضر،
فقط به خاطر فرمت برنامه همه چیز کمی متفاوت است.
اما توجه کنید که تمام من انجام داده ام است که گفته ام، وارد کردن به کاربران.
من مشخص کرده اید، پس از آن، در یک کاما از هم از هم جدا لیست پرانتز دو
زمینه های است که من می خواهم به قرار دادن، و پس از آن من به معنای واقعی کلمه گفته ام ارزش
پس از پرانتز دیگر، و سپس دو مقدار
من می خواهم به پلاگین، و در حال حاضر برای اندازه گیری خوب،
من یک نقطه و ویرگول در پایان قرار داده است.
بنابراین، این است C. نه این است که پی اچ پی.
این در حال حاضر SQL، و من آن را چسباندن به این رابط مبتنی بر وب است که
فقط رفتن به من اجازه دهید، به محض اینکه من GO کلیک کنید،
این اجرای پرس و جو در پایگاه داده در حال اجرا در داخل CS50 IDE.
>> بنابراین این خوب است.
توجه داشته باشید که گفت یک ردیف درج شده است، رفت و فوق العاده سریع،
0.0054 ثانیه برای وارد کردن آن داده است.
بنابراین، برای تلفن های موبایل که بسیار سالم است.
این پرس و جو من مجدد برای من در اینجا فقط به آن را ببینید
در نوع رنگی نسخه.
اما در حال حاضر اگر من کلیک کنید مرور، توجه کنید که، حتی
هر چند در بسیاری از درهم و برهمی وجود دارد صفحه نمایش، جدول من در حال حاضر دارای دو ردیف.
>> بنابراین، اجازه دهید من به جلو و دیگر.
به جای این، به من اجازه به تب SQL بروید دوباره.
و این بار من چیزی شبیه به قرار دادن راب و نام او را غارت باودن.
باودن.
بیایید روی Save کلیک کنید.
اوه، و نه برو.
>> دوباره مرور کلیک کنید، و در حال حاضر متوجه من دو ردیف.
بنابراین، این فقط یک مجموعه راه است راه باز شدن صفحات گسترده گوگل
و تنها با تایپ کردن یک ردیف در یک ستون.
اما آنچه مهم این است که ما در حال حاضر به نحو
که با آن به ارسال کد به طوری که در نهایت، ما در واقع می تواند
انجام برخی از این.
به یاد بیاورید که از PHP پشتیبانی متغیرهای فوق العاده جهانی است.
>> چه در داخل دلار ثبت نام زیرین در PHP را دریافت کنید؟
ما نگاهی به یکی در زمان یا دو مثال ساده.
و در PSet6، به یاد شما سلام نقطه PHP که با استفاده از این متغیر.
چه می رود در آن وجود دارد؟
و یا آنچه در آن است؟
کمی بلندتر.
>> مخاطبان: [نامفهوم]
>> دیوید مالان: این یک برف بذر آرایه، که
فقط یک راه فانتزی است به گفتن آرایه است که جفت کلید.
و این کلیدها عددی است.
آنها کلمات و یا رشته است.
و به طور خاص، چه کسانی که جفت کلید است؟
از کجا آمده است؟
متاسف؟
>> مخاطبان: [نامفهوم]
دیوید مالان: نه؟
که در آن انجام آن کلیدی جفت ارزش آمده است؟
دوباره بگو؟
از نو؟
تنها یک جلسه چیزی هستم؟
>> [خنده حضار]
>> درست است، بله؟
>> مخاطبان: [نامفهوم]
دیوید مالان: بله، آنها از رشته پرس و جو است.
بنابراین، اگر شما در زمان به عقب هنگامی که ما با گوگل بازی کرده ام
و ما به بریده بریده Google.com رفته جستجو علامت سوال Q برابر با گربه ها،
اگر من به آمار را وارد کنید و اگر گوگل در پی اچ پی اجرا شد،
کد پی اچ پی که گوگل نوشت دسترسی به علامت دلار دارند
تأکید GET که در داخل آن یک کلید به نام Q و یک ارزش است
گربه به نام که پس از آن می توانید استفاده کنید مورد استفاده برای انجام یک جستجوی واقعی با.
>> بنابراین، در واقع، آنچه که من قصد دارم به انجام دهید این است رفتن به کد پی اچ پی من
که شما دوباره خواهید دید بیشتر از در PSet7.
و به جای اتصال در ارزش کدگذاری سخت است که
مانند یک نظر نمی رسد بسیار وب سایت پویا،
من قصد دارم به شما یک تیزر از را چه کد واقعی خود را انجام دهد.
شما می توانید در دو قرار داده است سوالاتی مثل این.
من نمی دانم که چه نام کاربر است.
من چه مطمئن شوید که نام است برای رفتن به،
اما من نمی دانم من می توانم آنها را به صورت پویا.
>> بنابراین، اگر کد ما در حال حاضر نوشتن است کد در حال اجرا بر روی سرورهای گوگل،
و یا اگر این نقطه است سلام PHP، که همراه با PSet6،
من قصد دارم به تصویب به عملکرد پرس و جو
درست مثل تابع () printf، دو استدلال دیگر.
دریافت، نقل قول، نام کاربری را تمام کردن، و دریافت، نقل قول، نام تمام کردن.
و در حال حاضر، توجه چه ساختار کلی است در اینجا.
من در سمت چپ کردم سمت از تماس،
این تابع در PHP پرس و جو نامیده می شود.
من هنوز هم به عنوان اولین دارند بحث، فقط یک رشته از متن.
>> اما این رشته از متن است نوشته شده در یک زبان به نام SQL.
و رک و پوست کنده، آن را یک زبان بزرگ نیست.
ما فقط در حال رفتن به بحث در مورد آن را به طور رسمی امروز، واقعا.
و سپس در مجموعه ای مشکل هفت، نسبتا وجود دارد
ویژگی های چند که ما رفتن به اهرم.
علامت سوال ها، هر چند، به معنای پلاگین در یک مقدار در اینجا و به برق وصل یکی دیگر از ارزش
اینجا.
و توجه من را حذف کرده ام چه از سراسر لعنتی quote--
it-- سراسر نقل قول نشانه این زمان.
من نقل قول را حذف کرده ام علائم در اطراف علامت سوال،
با عرض پوزش، این زمان در اطراف.
>> بنابراین، چه خوب در مورد این درخواست از ویژگی های خوانده شده را علامت که
PHP تمایل به حمایت، روبی و پایتون و زبان های دیگر،
این فقط به معنی پلاگین در برخی از مقدار در اینجا و شما می دانید چه؟
شما کشف کردن که آیا برای استفاده نقل قول تکی یا به نقل از دو برابر شود.
من با کسانی که زحمت نیست جزئیات فکری غیر.
اما، مطمئن شوید که آن را درست به طوری که در نهایت من است کد
عملیاتی و امن، که یک معنی قبل از اینکه طولانی داشته باشد.
>> در حال حاضر، چگونه بسیاری از استدلال مجموع، فقط به روشن باشد، پرس و جو گرفتن تابع است؟
هر کسی مایل به بیش از دو رای می دهید؟
سه؟
مطمئنا، چرا؟
چرا سه؟
>> مخاطبان: [نامفهوم]
دیوید مالان: دقیقا.
بخش اول رشته است.
آرگومان دوم علامت دلار است GET نام کاربری براکت تأکید.
و آرگومان سوم است همین است، اما فقط نام.
بنابراین به عبارت دیگر، در حال حاضر اگر من یک فرم وب
که تا به حال فیلدهای متنی، یکی برای نام کاربری کاربر،
یکی برای خود و یا نام او، فقط مثل وقتی که در یک وب سایت را ببینید
در هنگام ثبت نام برخی از وب سایت، این ممکن است
با استفاده از کد در پایان به عقب که در واقع نشانی از درج اکنون
به پایگاه داده.
>> در حال حاضر در مقابل، بیایید سریع به جلو.
فرض کنید یک کاربر در حال حاضر ورود به سیستم و شما می خواهید
برای نوشتن کد پی اچ پی که آیا چک کسی که فقط به سیستم وارد
است که در واقع یک کاربر، شما می توانید استفاده از نحو خیلی ساده است.
شما می توانید می گویند SELECT، اجازه دهید بگویم ستاره، که در آن ستاره به معنای همه چیز است.
من نمی دانم چه من می خواهید، بنابراین فقط به من بدهد
تمام ستون از جدول نام کاربران که در آن، و این خوب است.
انتخاب از چه نام محمول است، که
مانند یک راه صعود آنچه شما می خواهید.
که در آن نام کاربری برابر نقل قول، تمام کردن مالان.
بنابراین در اینجا نیز، من تعبیه شده که در داخل این استدلال
به یک تابع PHP، یک خط از کد SQL.
و کد SQL این زمان به معنای واقعی کلمه
به جستجو برای نقل قول، تمام کردن مالان.
>> حالا که این همه که مفید نیست، بنابراین من قصد دارم به جست و خیز که
و من قصد دارم برای قرار دادن دور این نکته از بردی، و رفتن
و پلاگین در جای یک علامت سوال در اینجا.
بنابراین، فقط به روشن، چه باید آرگومان دوم من
اگر کسی به تازگی در سیستم وارد شده و من می خواهید برای بررسی اگر او است که در واقع
یک کاربر؟
مخاطبان: [نامفهوم]
دیوید مالان: آره.
من می شنوم دلار زیرین ثبت نام دریافت نقل قول، نام کاربری را تمام کردن.
و است که باید به من بازگشت هر یک از ردیف در پایگاه داده من
که یک نام کاربری از مالان داشته باشد.
در حال حاضر امیدوارم، من قصد دارم به عقب بر گردیم صفر اگر به مالان در اینجا نبوده است،
و یا یک اگر او تا.
من باید دوباره نیست دو یا سه یا چهار.
واسه چی؟
>> مخاطبان: [نامفهوم]
>> دیوید مالان: من گفتم منحصر به فرد، درست است؟
دلیل ساده است.
از آنجا که من گفت آن را به کردم منحصر به فرد، فقط منطقی،
شما تنها می توانید صفر یا یک Malans دارند در این جدول پایگاه داده خاص است.
در حال حاضر به عنوان یک کنار، فقط تا شما را دیده ام آن را، حتی اگر من با استفاده از نگه دارید
و حتی اگر PSet6 تنها استفاده می شود دریافت، شما قطعا می توانید POST داشته باشد.
به یاد بیاورید که پست دیگری است روش برای ارسال اطلاعات
از یک فرم است، اما آن نشان نمی دهد تا در URL است.
آن را کمی امن تر قطعا برای چیزهایی مانند نام کاربری و کلمه عبور،
که PSet7، در واقع، شامل خواهد شد.
>> بنابراین، اجازه دهید این کار را در پی اچ پی MyAdmin و ببینید چه اتفاقی می افتد.
من قصد دارم به رفتن به تب داده.
و توجه کنید که مقدار پیش فرض برای PHP MyAdmin، فقط سعی کنید به مفید باشد،
است به ستاره را انتخاب کنید از کاربران که در آن یک.
خب، یکی است که همیشه درست، به طوری که این احمقانه موثر
از همه چیز را انتخاب کنید.
اما من قصد دارم به کمی موشکاف و دستی
تایپ کردن ستاره انتخاب از کاربران است.
>> در حال حاضر از لحاظ فنی، شما می توانید نقل قول نام جداول.
این نادر است که شما را به، اما متوجه این نیست
نقل قول های عادی خود را بر روی صفحه کلید است.
این backtick به اصطلاح، که است به طور کلی از سوی بالا سمت چپ
گوشه ای از صفحه کلید خود را.
اما این نادر است که شما در واقع نیاز به زحمت با آن،
بنابراین من فقط آنها به هر حال حذف.
بنابراین در حال حاضر، اجازه دهید من به جلو و ضربه برو.
و چگونه بسیاری از ردیف را باید دریافت کنم زمانی که ستاره از کاربران را انتخاب کنید؟
>> مخاطبان: [نامفهوم]
دیوید مالان: تعداد سطر، مطمئن شوید.
اما چگونه بسیاری در این داستان بتن در حال حاضر؟
دو، به دلیل وجود بود من و راب وجود دارد.
بنابراین، اگر GO کلیک کنید، من آن را ببینید بصری من ام، در واقع، دو ردیف.
در بسیاری از درهم و برهمی وجود دارد در صفحه نمایش، اما من فقط دو سطر را ببینید.
در مقابل، اگر من این کار را دوباره و انجام ستاره انتخاب از کاربران، جایی که نام کاربری
نقل قول برابر، تمام کردن مالان، در حال حاضر اگر GO کلیک کنید I،
من فقط رفتن به عقب بر گردیم یک ردیف.
و در آخر، اگر من چیزی شبیه به این، فرض
که برای من مهم نیست در مورد گرفتن همه چیز،
که نوع بی معنی در حال حاضر، چرا که تنها دو ستون وجود دارد.
آن را دوست ندارم من انتخاب مقدار زیادی از داده ها.
فرض کنید من به جلو بروید و انجام نام را انتخاب کنید از
کاربران، جایی که نام کاربری برابر مالان، چه خوب در مورد SQL صادقانه،
است که آن را واقعا فقط می کند چه شما آن را به انجام.
آن را بسیار موجز، اما شما به معنای واقعی کلمه فقط آن را به آنچه که شما می خواهید انجام دهید.
انتخاب نام از کاربران که در آن نام کاربری برابر مالان.
و آن را واقعا که صریح و روشن است.
بنابراین، در حال حاضر اگر من ضربه برو، که چگونه بسیاری ردیف من رفتن به عقب بر گردیم؟
یک، به دلیل آن را فقط مالان، امیدوارم.
یا صفر اگر او نیست یکی از حداکثر وجود دارد، اما.
>> و چگونه بسیاری از ستون من به عقب بر گردیم؟
چگونه بسیاری از ستون؟
در این زمان، من فقط رفتن به یک دلیل من نیست
ستاره را انتخاب کنید، که همه چیز.
در حال حاضر من انتخاب فقط نام، بنابراین من فقط تماس یک ستون و یک ردیف.
و به نظر می رسد نوع مناسب مسخره، فقط به دنبال فوق العاده
کوچک شبیه به این.
بنابراین، آنچه واقعا اتفاق می افتد؟
هنگامی که شما یک SQL اجرا پرس و جو با استفاده از را انتخاب کنید،
آنچه شما گرفتن تماس از پایگاه داده
مثل این است که یک جدول موقت با سطر و ستون، شاید،
اما هر چیزی را حذف که که در واقع توسط شما انتخاب شده است.
بنابراین، آن را مانند اگر کسی بزرگ داشته است صفحه گسترده از همه دانش آموزان
ثبت نام برای برخی از گروه های دانشجویی، و به شما می گویند،
همه از دانشجوی سال اول که این به من بدهد ثبت نام برای گروه دانشجویی ما، چه
همکار خود را در گروه دانشجویی ممکن است انجام
است که آنها فقط می تواند دست شما در طیف گسترده.
که مثل کرد و گفت ستاره را انتخاب کنید است.
و آن را کمی آزار دهنده است اگر شما فقط می خواست دانشجوی سال اول.
و به همین ترتیب، اگر شما به جای گفت: ستاره انتخاب کنید و از جدول پایگاه داده
که در آن سال برابر با نقل قول، دانشجوی سال اول تمام کردن،
آن را به عنوان هر چند دوست شما در گروه دانشجویی
به معنای واقعی کلمه برجسته و کپی تنها ردیف دانشجوی سال اول،
آنها را به یک گوگل جدید جا به جا گسترده و یا یک فایل اکسل،
و شما دست به عقب نتیجه فایل تنها.
که همه که رفتن در اینجا مفهومی.
>> بنابراین در پایان، ما می توانیم انجام برخی از چیزهایی که بسیار فانتزی
با ذخیره چیزهایی مانند نام کاربری و کلمه عبور و مانند آن.
اما، که معلوم است، ما باید انجام دهیم کمی متفاوت از این است.
آن است که نه تنها به هوشمند یک نام کاربری و رمز عبور را ذخیره کنید.
کسی قبل از آن، من فکر می کنم در اینجا، پیشنهاد یک ID.
در حال حاضر یک ID می تواند مانند یک باشد دانشگاه هاروارد ID و یا ID خالص ییل،
اما می تواند حتی ساده در مورد بانک اطلاعاتی ما.
و در واقع، صورت مشترک این است که ستون دیگر.
و من قصد دارم به جدول من جلو و ویرایش کنید.
و اگر شما بازی در اطراف با این رابط کاربری را برای PSet7،
شما خواهید دید که شما می توانید بررسی کنید این دکمه در اینجا و اضافه کردن
یک میدان در آغاز از جدول.
و حالا اگر GO کلیک کنید من، آن را به من یکی از کسانی که فرم را
از پیش از آن.
من قصد دارم به اضافه کردن یک فیلد به نام ID.
و من قصد دارم آن را به یک نوع عددی است.
>> من یک دسته کامل از ارزش ها برای عدد.
من فقط رفتن به انتخاب INT و در مورد اندازه های مختلف نگران نباشید.
من لازم نیست برای مشخص طول و یا یک مقدار،
به دلیل آن را به 32 بیت بدون توجه به آنچه.
ویژگی، ما که قبلا نمی دید.
هر گونه علاقه در هر یک از این گزینه های منو این زمان؟
یک int؟
آنچه شما مطرح کردید؟
هیچ؟
هر یک از این حس را؟
آره.
آره، بدون علامت، درست است؟
>> به طور کلی، اگر ما قصد داریم به هر کس یک شماره منحصر به فرد، که
است که در آن این داستان است رفتن، من واقعا تنها علاقه مند به
یک فرد به تعداد صفر مانند و یک و دو و سه و چهار.
من لازم نیست که برای مقابله با اعداد منفی.
این فقط به نظر می رسد مانند پیچیدگی بی.
من می خواهم چهار میلیارد مقادیر ممکن، چهار میلیارد مقادیر ممکن است،
بنابراین من فقط دو برابر ظرفیت INT من.
از سوی دیگر، اگر شما می خواهید برای ارتباط این به چیزی شبیه به فیس بوک،
در نوعی از روز من که فیس بوک برای اولین بار بیرون آمد،
من معتقدم که آنچه آنها با استفاده از پایگاه داده MySQL را در
برای ذخیره یک کاربر شناسه، فقط یک INT بود.
اما البته، در بسیاری وجود دارد از افراد واقعی در جهان است.
در بسیاری از جعلی فیس بوک وجود دارد به حساب در جهان است.
و بنابراین در نهایت، فیس بوک سرریز به اندازه یک INT، یک چهار میلیارد
ارزش.
همین دلیل است که، اگر شما نگاه در اطراف و وب سایت وجود دارد
است که می تواند شما را به آنچه شناسه منحصر به فرد خود است.
و اگر شما هرگز یک نام کاربری در انتخاب فیس بوک، شما ID منحصر به فرد خود را ببینید.
من فکر می کنم نقطه مشخصات PHP علامت سوال ID برابر است با چیزی.
که در حال حاضر چیزی شبیه به یک بزرگ INT، و یا طولانی مدت اگر شما خواهد شد،
که یک ارزش 64 بیتی و یا چیزی قابل مقایسه است.
>> بنابراین، حتی در دنیای واقعی این کار را انجام مسائل در نهایت گاهی اوقات مهم است.
و معلوم است در اینجا، اگر من به همه کاربران من یک ID منحصر به فرد،
من می خواهم به صریح و فوق العاده حداقل این زمینه منحصر به فرد.
اما معلوم است یکی وجود دارد قطعه ای از نامگذاری امروز بیش از حد
که یک کلید اصلی است.
اگر شما در حال طراحی یک پایگاه داده جدول و شما در پیشبرد دانم
که یکی از ستون های آن جدول باید و منحصر به فرد شناسایی ردیف خواهد
در جدول، شما می خواهید مشخص آن و پایگاه داده را بگویید،
این کلید اصلی من است.
ممکن است تکراری وجود دارد در زمینه های دیگر،
اما من گفتن که این پایگاه داده اصلی من است، درست مهم من،
که تضمین می شود منحصر به فرد.
>> در حال حاضر، این کار برکنار شده به نظر می رسد.
من در حال حاضر پیشنهاد که ما اضافه کردن، با کلیک روی ذخیره در اینجا،
called-- درست و من قصد دارم به جلو بروید و AI کلیک کنید،
ما به آمده که در یک لحظه، ذخیره.
من در حال حاضر که پیشنهاد می کنم جدول من نگاه مثل این.
من یک فیلد int به نام ID، یک میدان به نام CHAR نام کاربری،
یک میدان به نام VARCHAR نام، اما ID، اگر آن را اولیه و در نتیجه منحصر به فرد،
چرا من فقط هدر داد زمان معرفی چه
به طور موثر یک ثانیه منحصر به فرد است درست به نام ID که یک INT؟
>> نام کاربری، فراخوان، بود در حال حاضر منحصر به فرد، ما گفت.
پس فقط منطقی، شما لازم نیست هر تجربه پایگاه داده به دلیل
از طریق این، به همین دلیل ممکن است من را معرفی کرده اند
دانشنامه هوشمند به عنوان شناسه منحصر به فرد من را به خوبی؟
چه this-- دوباره می گویند؟
>> مخاطبان: [نامفهوم]
>> دیوید مالان: تصادفی دسترسی آسان تر است، چرا؟
>> مخاطبان: [نامفهوم]
دیوید مالان: آره، آن را فقط دسترسی اعداد.
بنابراین، اگر شما فکر می کنم این واقعا یک جدول است، مانند یک آرایه،
در حال حاضر من شناسه منحصر به فرد که من در اطراف می توانید پرش.
و بهتر از آن این است که هنوز چقدر بزرگ شده است یک INT دوباره می شود؟
32 بیت یا چهار بایت.
>> چقدر است نام کاربری من خواهد بود؟
حداکثر؟
16 بایت.
>> بنابراین، اگر شما واقعا در مورد مراقبت عملکرد کد خود را،
فکر می کنم به PSet5، ترجیح می به جستجو برای یک ارزش چهار بایت و یا 16
مقدار بایت، درست است؟
واقعا به همین سادگی است است.
شما باید برای انجام چهار بار به عنوان کار بسیار برای جستجوی نامهای کاربری به دلیل آن
16 بایت می باشد.
بنابراین، شما به معنای واقعی کلمه مقایسه تمام 16 بایت به
مطمئن بله، این نام کاربری من می خواهم.
در حالی که برای یک int، شما می توانید این کار را با تنها چهار بایت است.
>> و به عنوان یک کنار برای کسانی که علاقه مند در سخت افزار کامپیوتر،
که معلوم است شما می توانید چیزی شبیه به تناسب دانشنامه هوشمند یا یک مقدار 32 بیتی در چیزی
نام ثبت نام در یک کامپیوتر CPU، که به معنی آن فوق العاده،
فوق العاده سریع، حتی در پایین ترین سطح سخت افزار کامپیوتر.
بنابراین، فقط مزایای تمام اطراف وجود دارد.
بنابراین، به چه معنی است؟
در واقع، هنگامی که شما در حال طراحی یک جدول پایگاه داده، تقریبا تمام زمان
می خواهید به ندارد تنها اطلاعات شما در مورد مراقبت،
بلکه چیزی شبیه به شناسه منحصر به فرد
دلیل این است که به اجازه دهید ما چیزهای دیگر انجام دهید.
و اجازه دهید بیش از یک مشکل سفر در اینجا.
>> فرض کنید که کاربران ندارد فقط نام کاربری و نام،
اما آنها نیز چیزهایی مانند شهرستانها داشته و دولت ها و کدهای پستی، حداقل
اینجا در ایالات متحده.
بنابراین، من رفتن به جلو بروید و فقط به سرعت می گویند،
من سه ستون بیشتری می دهد در پایان از جدول.
و این است که برای رفتن به شهر، این است برای رفتن به دولت،
و این است که رفتن به فایل های فشرده.
>> در حال حاضر انواع شهر، چه داده باید این باشد، شاید؟
VARCHAR؟
من چه مطمئن شوید که طولانی ترین نام شهرستان است.
جایی در امریکا، وجود دارد احتمالا برخی از کلمه مسخره طولانی،
بنابراین اجازه دهید فقط با 255 بروید، تا حدودی تاریخی و یا خودسرانه.
دولت، آنچه شما می خواهید کاری انجام دهید؟
قضاوت پاسخ، درست است؟
چه شاید از کارآمد ترین؟
چگونه بسیاری از شخصیت؟
شاید فقط دو، اگر ما می توانیم دور با انجام این کار،
مانند، MA برای ماساچوست و غیره.
بنابراین، من قصد دارم برای رفتن ارزش CHAR دو.
>> کد پستی یکی از جالب است.
ما در اینجا در 02138 هستید، به طوری که نشان می دهد ما باید چه استفاده کنید؟
این INT، درست است؟
INT، INT، کوتاه؟
کوتاه کار می کنند.
هیچ؟
CHAR یا پنج، اما من می خواهم یک int است.
چرا فشار به عقب به یک INT؟
من از این متقاعد کردن.
چه احمقانه در مورد یک int، ایده من؟
آره.
>> رسید تا حافظه بیشتر است.
>> دیوید مالان: تا حافظه بیشتر است.
چهار بایت، اما شما پیشنهاد یک کد پستی
به عنوان پنج بایت یا کسی که به عنوان یک کاراکتر بود، که احساس می کند مانند EH، که واقعا نمی
مورد.
>> خب، داستان سرگرم کننده است.
سال پیش، زمانی که من استفاده می شود به استفاده از مایکروسافت چشم انداز برای ایمیل من،
من در نهایت می خواستم به تبدیل به جیمیل.
و بنابراین، من همه صادر من تماس با ما از چشم انداز به عنوان یک فایل CSV.
کاما از هم جدا ارزش ها، که فقط من به معنای
حال همه دوستان من نام و آخرین نام و شماره تلفن و کد پستی
و همه از آن.
و پس از آن من ساخته شده اشتباه از باز کردن آن تا
در اکسل است، که یک برنامه صفحه گسترده است که
درک فایل های CSV به عنوان دیده ایم.
اما پس از آن، من باید ضربه، مانند، دستور و یا کنترل S در یک نقطه.
اکسل و ظاهرا در آن زمان حال یکی از ویژگی های که به موجب آن، هر زمان که
دیدم یک عدد، آن را تلاش برای مفید باشد.
و در صورتی که تعداد با آغاز صفر، آن را فقط از شر آنها خلاص.
چرا شما نیاز به برجسته صفر در اعداد صحیح؟
آنها ریاضی معنی هستید.
آنها بی معنی نیست در سیستم پستی ایالات متحده.
بنابراین، من برای سال ها داشته ام، تا به امروز، من هنوز هم
دوستان که زمانی که مورد نادر است که من به کسی نیاز است
رسیدگی به این روز، من هنوز به تو که من می بینم
یک دوست در کمبریج، ماساچوست، 2138.
و آن را آزار دهنده اگر شما تلاش برای از برنامه نویسی
تولید پاکت و یا فقط آن نقطه پایین.
و این به دلیل این دلیل، من نوع داده های اشتباه را انتخاب کرد.
بنابراین، من عاشق ایده های خود را.
حال با استفاده از یک میدان کاراکتر.
پنج شخصیت، به جز است مورد گوشه وجود دارد.
اگر شما هنوز هم ارسال ایمیل، گاهی اوقات فایل های فشرده کدهای این روزها،
آنها، مانند، به علاوه چهار.
بنابراین، ما باید یک خط تیره و سپس ما نیاز چهار عدد بیشتر است.
بنابراین به صداقت، آن می تواند رفتن بسیاری از روش های مختلف.
>> در حال حاضر، من قصد دارم به حفظ آن را ساده و من فقط
رفتن به می گویند که این یک پنج ارزش CHAR و ما
رفتن به جست و خیز طیف خط تیره به علاوه چهار.
اما این نوع از مبادلات هستند.
و شما می توانید از فکر می کنم همان مشکلات ناشی
با شماره تلفن و یا زمینه های دیگر.
>> و در حال حاضر، این است که در واقع یک جاده احمقانه به پایین.
فرض کنید هر دو راب و من و هانا و ماریا و [؟ Davon؟] و اندی
و دیگران در کارکنان تمام زندگی در کمبریج، ماساچوست، 02138.
این در واقع احساس احمق که من اضافه کردن به جدول کاربران من، شهرستان، استان،
و ZIP.
واسه چی؟
>> مخاطبان: [نامفهوم]
>> دیوید مالان: بگو دوباره؟
مخاطبان: [نامفهوم]
>> دیوید مالان: آنها همیشه برای رفتن با هم، درست است؟
وقتی که معلوم است، ما قبلا فکر این مورد تا زمانی که ما جامع بود
جستجو کل ایالات متحده، و معلوم است که وجود دارد
برخی از تناقضات هستند که در آن شهرهای متعدد داشته
فایل های فشرده همان است که عجیب و غریب.
اما، اگر ما در حال حاضر که 02138 تصریح همیشه کمبریج، ماساچوست،
چرا در جهان را به شما در ذخیره پایگاه داده خود را کمبریج و کارشناسی ارشد و 02138
برای من و برای هانا و راب و برای [؟ Davon؟] و برای دیگران که زندگی می کنند
در اینجا در کمبریج، آن را کاملا کار برکنار شده.
>> ما باید دور تنها با ذخیره سازی چه؟
فقط کد پستی.
اما پس از آن، اگر ما فقط در فروشگاه کد پستی، من نمی خواهم، احتمالا،
برای وب سایت من را به جایی که 02138 است.
بنابراین، من نیاز به یک جدول دیگر.
و این خوب است.
و در واقع، این یکی از است فرآیندهای طراحی جداول طراحی
است که شما در PSet7 و همچنین به موجب آن انجام شما می خواهید به عامل از داده رایج است.
درست مثل ما شده است مقاطعه خارج کد مشترک و مقاطعه خارج مشترک
سبک های از CSS، در اینجا بیش از حد در پایگاه داده،
اگر من فقط نیاز به منحصر به فرد 02138 شناسایی زادگاه کسی،
انجام کمبریج، ماساچوست برای ذخیره نمی هر کاربر سد در جدول خود را.
>> در عوض، باید یک جدول جداگانه به نام فشرده که باید چه ستون؟
احتمالا یک میدان ID، فقط به خاطر، برای اصول ما در حال صحبت کردن در مورد در حال حاضر.
احتمالا یک میدان فایل های فشرده برای 02138.
و پس از آن احتمالا چه ستون های دیگر؟
شهرستان و دولت است، اما فقط یکی ردیف برای 02138، یک ردیف برای 02139،
یک ردیف برای 90210.
و این است که به معنای واقعی کلمه تمام کد پستی من می دانم.
>> بنابراین در حال حاضر، چه می توانید بکنید؟
این مشکل است، چرا که در حال حاضر من دو جدول دارم.
بنابراین، کاربران من بیشتر در اینجا هستند، اما اطلاعات دولت شهرستان خود
بیش از اینجا.
بنابراین، به نظر می رسد با SQL، وجود دارد در واقع یک راه را برای پیوستن اطلاعات،
و شما این را در PSet ببینید.
>> اما معلوم است که شما می توانید چیزی شبیه به این.
ستاره انتخاب از کاربران، فشرده بر بپیوندید کاربران دات پستی برابر فشرده نقطه پستی.
که دارای اطناب کوچک است، مسلما، اما این فقط
یعنی همه چیز انتخاب کنید و از روند گرفتن جدول کاربران من
و جدول فشرده است.
آنها را بر روی یکی از اضافه کردن درست است که در ستون داشته باشد.
بنابراین، به معنای واقعی کلمه انجام کاری مانند این، و من به عقب
یک جدول موقت جدید که گسترده تر، که بزرگتر،
که همه از ستون از هر دو آنها.
و این، کاملا به سادگی، خواهد بود نحو برای انجام چیزی شبیه به این.
>> بنابراین، این باقی مانده است، اما برای رفتن وجود دارد
به دیگر تصمیمات طراحی نظر شما باید به، نه تنها با شاخص
اما همچنین به چالش در حال اجرا.
در واقع، یک چالش وجود دارد در هر طراحی پایگاه داده
به موجب آن گاهی اوقات دو نفر ممکن است بخواهید برای دسترسی به ردیف همان پایگاه داده
جدول.
بنابراین، این چیزی است که ما روبرو می شوند در PSet7 است.
>> اما من فکر کردم من می خواهم در یک نگاه حمله ای که ممکن است در SQL.
برخی از چیست مشکلاتی که می تواند بوجود می آیند؟
بنابراین، به شما این در PSet7 روبرو می شوند.
و ما به شما بگویم چه آشکار برنامه نویسی راه حل برای این مشکل است.
اما اگر شما یک کلاس سطح بالاتر، به خصوص در سیستم عامل،
شما در حال رفتن به برخورد یک مسئله از ظرفیت اتمی،
مشکل در تلاش برای انجام کارهای مختلف همه در یک بار
بدون وقفه.
>> و من فکر کردم من می خواهم این معرفی ایده برای PSet7 با یک استعاره
که من خودم در مارگو دست سیستم عامل های CS164 دار است
سال کلاس پیش.
فرض کنید که شما یکی از این خوابگاه دارند یخچال در اتاق خوابگاه یا خانه خود را،
و شما یک میل شدید واقعی برای شیر.
و بنابراین، شما به خانه از طبقات یک روز، شما برای باز کردن در یخچال.
آه، آن را لعنت کند.
هیچ شیر در یخچال وجود دارد.
بنابراین، به شما نزدیک یخچال، قفل درب، قفل خوابگاه خود را،
راه رفتن در اطراف گوشه به CVS، در خط،
و شروع به چک کردن برای برخی از شیر.
و آن را به در حالی که، زیرا این پرداخت خود لعنت
شمارنده را برای همیشه به استفاده از به هر حال.
بنابراین در عین حال، هم اتاقی خود را به خانه می آید.
او واقعا دوست دارد شیر است.
آنها را به اتاق خوابگاه آمده است، باز کردن در یخچال، آه، آن سد.
هیچ شیر بیشتر وجود دارد.
>> بنابراین، او نیز در اطراف گوشه می رود.
اما در حال حاضر، چرا که مانند دو وجود دارد یا سه یا چهار CVSes این نزدیکی هست،
آنها رخ می دهد برای رفتن به یکی از آنهایی که متفاوت در مربع است.
و بنابراین در حال حاضر، چند دقیقه بعد، هر دو از شما
به خانه و اخ، بدترین مشکل همیشه.
در حال حاضر شما شیر بیش از حد به دلیل آن را به ترش.
و شما مانند شیر، اما شما شیر نیست واقعا دوست دارم.
>> بنابراین در حال حاضر، این گران بود اشتباه به دلیل هر دو از شما
یک تصمیم بر اساس دولت از برخی از متغیر است که
در روند بود توسط شما تغییر می کند،
آغازگر رفتن به شیر.
بنابراین، آنچه که شاید یک انسان راه حلی برای این مشکل؟
مخاطبان: [نامفهوم]
دیوید مالان: ترک توجه داشته باشید، درست است؟
همیشه توجه داشته باشید ترک، اگر شما آشنا با آن نشان می دهد.
بله، دو نفر از ما وجود دارد.
بنابراین، همیشه توجه داشته باشید ترک، و یا به معنای واقعی کلمه قفل کردن یخچال و فریزر
با برخی از نوع قفل و یا چیزی بیش از بالا شبیه به آن.
اما این در واقع رفتن به مشکل اصلی با طراحی پایگاه داده،
به ویژه هنگامی که شما ممکن است مرورگرهای مختلف، لپ تاپ های متعدد،
کاربران متعدد همه در تلاش برای به روز رسانی اطلاعات در یک بار.
اطلاعات حساس مانند اطلاعات مالی،
به موجب آن با معاملات سهام وب سایت مانند شما می شود ساخت و ساز،
اگر شما می خواهید برای بررسی چقدر پول شما و پس از آن اگر شما به اندازه کافی،
خرید برخی از سهام؟
>> اما اگر شخص دیگری که دارای یک حساب مشترک با شما
است به طور همزمان تلاش برای خرید برخی از سهام؟
بنابراین، او چک کردن است مانده حساب، هر دو از شما
بازگشت همان پاسخ، هیچ شیر وجود دارد.
یا هر دو شما را از پشت پاسخ، شما 100 $ در حساب.
هر دو شما سعی می کنید به تصمیم قبل از خرید یک سهم از سهام شرکت برخی.
>> و در حال حاضر، چه اتفاقی می افتد؟
شما باید دو سهم؟
شما هیچ سهام؟
مشکلات مانند است که می تواند بوجود می آیند.
بنابراین، ما با آنها مواجه است.
حملات تزریق SQL، خوشبختانه، چیزی که ما به شما کمک می کند با،
اما این طرز فجیعی رایج این روزها هنوز هم.
بنابراین، این فقط یک مثال است.
من هیچ ادعای را که سیستم هاروارد PIN است
آسیب پذیر به این حمله خاص است.
ما سعی کرده ایم.
اما شما می دانید که ما یک میدان مثل این.
و ID خالص ییل است مشابه به دنبال صفحه نمایش این روز است.
و معلوم است، که شاید سیستم PIN در PHP اجرا شده است.
>> و اگر آن را were-- آن not-- آنها ممکن است کد که شبیه به این داشته باشد.
آنها دو متغیر.
من نام کاربری و رمز را از متغیر پست فوق العاده جهانی
که ما در مورد قبل از آن صحبت کردیم.
شاید هاروارد یک پرس و جو مانند ستاره انتخاب از کاربران
که در آن نام کاربری برابر است و رمز عبور برابر است.
و توجه کنید که من فقط متصل کردن آن با استفاده از
نماد آکولاد از دیگر روز، که به معنی فقط در یک ارزش پلاگین
اینجا.
من با استفاده از نه روش علامت سوال است.
من هیچ ندارد دوم و یا استدلال سوم.
من فقط به معنای واقعی کلمه هستم ساخت رشته خودم.
>> این مشکل، این است که اگر کسی را دوست دارم scroob،
که اشاره به یک فیلم است، سیاهههای مربوط با چیزی شبیه به این،
و من نقطه را حذف کردیم که معمولا پوشش
کلمه عبور، اگر چه او است ویژه های مخرب
و رمز عبور خود را شاید 12345 است، در هر فیلم به نام "Spaceballs،"
اما او به شدت انواع A تنها نقل قول پس از پنج،
پس از آن به معنای واقعی کلمه به کلمه یا در فضا، و پس از آن نقل قول،
یکی را تمام کردن یک نقل قول برابر، اما متوجه او حذف چه؟
او نقل قول در سمت راست حذف و او را حذف نقل قول در سمت چپ.
>> چرا که اگر این مهاجم فرض scroob است
این است که مردم که نوشت این کد PHP بودند روشن نیست،
شاید آنها فقط برخی از واحد نقل قول در اطراف درون یابی
یک متغیر در آکولاد؟
و به این ترتیب شاید، او می تواند نوع از فکر خود را کامل
برای آنها، اما در یک راه که رفتن به او اجازه را به سیستم PIN هک.
به عبارت دیگر، فرض که این کد فعال است
و ما در حال حاضر در چه تایپ scroob وصل کنید.
و آن را به رنگ قرمز، به دلیل این بد است.
>> و متن درسی چیزی است که او در تایپ،
scroob می تواند سرور را فریب هاروارد به ساختن یک پرسش SQL
رشته ای که به نظر می رسد مثل این.
رمز عبور برابر 12345 و یا یک معادل یک.
نتیجه ای که، منطقی، این است که این scroob ورود
در صورتی که رمز عبور خود را 12345 و یا اگر یک مساوی
یکی، که البته همیشه درست است، که به معنی scroob همیشه در می شود.
>> و بنابراین، راه برای حل این، همانطور که در بسیاری از موارد،
خواهد بود به نوشتن دفاعی.
برای استفاده از چیزی شبیه به ما تابع پرس و جو واقعی، که
شما در PSet7، که در آن ما را در پلاگین را ببینید چیزی شبیه به سوالاتی در اینجا.
و زیبایی از تابع پرس و جو که ما
به شما است آن را در برابر این دفاع به اصطلاح حملات تزریق SQL، که در آن
کسی است که فریب کد خود را به تزریق کد SQL او را.
چون آنچه را که تابع پرس و جو ما به شما در واقع انجام خواهد داد،
در صورت استفاده از نحو علامت سوال و یک دوم و یک آرگومان سوم در اینجا،
همان چیزی است که آن را به اضافه کرد ورودی که کاربر ارائه می شود؟
کسانی که بک اسلش به نقل از.
>> بنابراین، آن را با فرار هر طور بالقوه شخصیت خطرناک است.
این به نظر می رسد عجیب و غریب در حال حاضر، اما آن را آسیب پذیر
به دلیل آن را نمی کند تغییر منطق دیگر
چرا که طیف رمز عبور است در حال حاضر یک نقل قول تنها که نه،
در واقع، رمز عبور scroob است.
بنابراین، بوده است برخی از جوک ها وجود دارد در مورد این در طول سال.
بنابراین، این بود که عکس گرفته شده برخی از گیک در یک پارکینگ
به موجب آن شما ممکن است که برخی از شهرستانها می دانید و ایالات سعی کنید به اسکن مجوز خود را
صفحه شما و یا به صورتحساب شما بلیط اگر شما از طریق بدون، مانند،
چیزی E-Z منتقل می کند.
بنابراین، این فرد فرض که شاید مردم نوشتن سیستم E-Z رمز عبور
به طوری روشن نیست، و شاید آنها فقط با هم الحاق یک رشته،
به طوری که او می تواند بدتر نیست نه تنها فکر خود را کامل،
اما در واقع اجرای یک فرمان بد، که ما هنوز ذکر ام،
اما شما احتمالا می توانید حدس بزنید.
که علاوه بر حذف و قرار دادن و به روز رسانی و انتخاب کنید،
نیز وجود دارد یک کلمه کلیدی به نام قطره، که به معنای واقعی کلمه حذف همه چیز
در پایگاه داده، که به خصوص بد است.
>> ما می توانیم در این اگر زوم در آن را کمی دشوار را ببینید.
این، در حال حاضر، یک کارتونی معروف است که زیبا و هوشمندانه در حال حاضر
و قابل درک است.
>> [خنده حضار]
>> آره، سرد است.
نوع geeking است.
بنابراین این، پس از آن، می حملات تزریق SQL.
و آنها بسیار آسان برای جلوگیری از با استفاده از هستید کد سمت راست و یا از کتابخانه است.
و شما را در PSet7 را مشاهده کنید، که دلیل ما به شما تابع پرس و جو است.
بنابراین، یک زن و شوهر از طعنه که ما فکر کردم ما
شما در اینجا در به ما دقیقه باقی مانده با هم.
بنابراین، همانطور که از هفته صفر به یاد داشته باشید، ما معرفی این دو لامپ که
هستند خوب، نه فقط به خاطر آنها بسیار هستید و رنگارنگ،
اما از آنجا که چیزی حمایت به نام API، نرم افزار
رابط برنامه نویسی و در CS50 تا کنون، ما
عمدتا در GET متمرکز و POST، اما معلوم است
این دیگر افعال HTTP مثل قرار داده است.
>> و در واقع، این بود یک اسلاید از هفته صفر
موجب آن اگر شما نوشتن کد است که می فرستد لا PSet6 یک درخواست HTTP که
به نظر می رسد مثل این با این تکه از متن در پایین، است که به نام JSON،
یا JavaScript Object Notation انجام که ما در مورد هفته آینده صحبت می کنید،
شما می توانید روشن یا خاموش کردن یا تغییر رنگ چراغ مانند کسانی که.
بنابراین اگر CS50 همچنین علاوه بر برخی است از آن لامپ در اینجا در نیوهیون
اگر شما می خواهم به قرض گرفتن آنها را برای پروژه های نهایی،
همچنین برخی از مایکروسافت گروههای موسیقی، که مانند
ساعت که شما در اطراف مچ دست خود را می پوشند به طور مشابه یک API به طوری که به شما
می توانید نرم افزار خود را برای آنها ارسال.
>> ما یک حساب کاربری با کد iOS اپل تا
که اگر شما یک ساعت اپل یا یک آیفون یا یک آی پاد یا آی پاد،
شما می توانید کد ارسال که در واقع در آن اجرا می شود.
ما یک دسته کامل از Arduinos، که
کامپیوتر کوچک بدون موارد، در اصل،
که شما می توانید از طریق USB اتصال، به طور معمول به مک خود و یا PC،
ارسال کد اجرا می شود که در این فیزیکی دستگاه هایی که اغلب دارای سنسور بر روی آنها
بنابراین شما می توانید با دنیای واقعی ارتباط برقرار.
ما یک دسته کامل از دستگاه های جهش حرکت،
که دستگاه های USB برای مکینتاش هستند و رایانه های شخصی، در اینجا و دوباره، در نیوهیون.
و اگر شما آن را به مک خود متصل شود، شما می توانید در واقع کنترل کامپیوتر خود را
با نوشتن نرم افزار که از طریق پرتوهای مادون قرمز،
ارقام که در آن دست بشر خود هستند، حتی بدون دست زدن به صفحه کلید خود را.
ما فکر کردم ما به اشتراک گذاری سریع نگاه اجمالی در این، برای مثال.
>> [موسیقی]
بنابراین، ما باید یک کل دسته از این چیزها،
بیش از حد، به نام باندهای بازوی میو که شما بیش از ساعد خود قرار داده است
و پس از آن شما می توانید واقعی کنترل جهان یا جهان مجازی مثل این.
>> [موسیقی]
یا، ما نیز برخی گوگل مقوا، است که به معنای واقعی کلمه، مانند،
یک جعبه مقوایی شما می توانید در قرار خود را صورت، اما اسلاید در گوشی خود را به آن
به طوری که شما با قرار دادن شیشه ای خود را تلفن واقعا نزدیک به چشم خود را.
و گوگل کارتن است بسیار ارزان در 10 $ یا 20 $.
و آن را تا لنز کمی که کمی خارج از SHIFT
تصویر بر روی صفحه نمایش خود را برای انسان چشم به شما حس عمق را
به طوری که شما در واقع یک 3D دارای محیط زیست در مقابل از شما.
ما همچنین برخی از دنده سامسونگ، کدام نسخه گران تر از این است،
اما به طور مشابه می تواند در یک اسلاید تلفن های Android و شما در توهم را
of-- و یا به تجربه واقعیت مجازی.
و در دو دقیقه نهایی ما، ما فکر کردم ما سعی به انجام این کار.
اگر من می توانم پروژه چیست کولتون است در اینجا فقط به اشتهای شما را،
اجازه بدهید به جلو و پرتاب بر روی صفحه نمایش بزرگ در اینجا.
اجازه دهید من چراغ را بکشند.
کولتون، آیا می خواهید به جلو بروید و در سلول خود و برای یک لحظه قرار
و در بیش از آمدن به وسط صحنه؟
و آیا شما می خواهید به project-- این چیزی است که کولتون می بیند.
>> در حال حاضر، Wi-Fi را در اینجا است نه برای این دستگاه قوی
که این است که فوق العاده قانع کننده، اما به معنای واقعی کلمه است کولتون
در این محل مربوط به اینده جادویی.
او فقط یک تصویر را می بیند.
شما در حال دیدن چشم چپ و راست خود که مغز او دوخت با هم
در یک سه بعدی محیط زیست در چهره اش.
او فقط انتخاب یک گزینه منو در اینجا.
پس بار دیگر، او با پوشیدن این هدست با یک تلفن سامسونگ بر روی آن است که
بی سیم طرح به سربار ما است.
در حال حاضر شما در مریخ، من فکر می کنم؟
COLTON: من فکر می کنم.
من مطمئن هستم که [نامفهوم] است.
[خنده حضار]
>> دیوید مالان: معلوم است مریخ دارای این منوها.
>> COLTON: [نامفهوم] برخی از خنک مکان اگر ما می خواهیم به to--
>> دیوید مالان: از کجا می خواهیم برویم؟
>> COLTON: [نامفهوم]
دیوید مالان: و اجازه دهید ببینیم که در آن کولتون هم اکنون با ما گرفتن.
COLTON: [نامفهوم]
>> دیوید مالان: بنابراین، بسیاری وجود دارد مکان های مختلف شما می توانید خودتان را.
این FAPIs وجود دارد که از طریق آن شما می توانید ارسال بازی ها و یا فعل و انفعالات که
اجرا، در نهایت، بر روی تلفن.
بنابراین، شما واقعا فقط نوشتن یک برنامه تلفن همراه.
اما به لطف نرم افزار و قابلیت های گرافیکی،
اکنون کولتون در این است کلبه کمی کوچک است.
و در معرض خطر قریب به اتفاق قربانیان خود،
کولتون و من برای چوب در اطراف در حالی که در پایان کلاس کلیک در اینجا اکنون
اگر شما می خواهم برای آمدن و بازی.
و ما آنها را تماس هفته آینده است.
بدون ADO بیشتر که آن را برای امروز.
ما شما را هفته آینده را ببینید.
>> [MUSIC - Ragga به دوقلوها، "مرد بد"]