دیوید مالان: بسیار خوب، ما هستند. بنابراین برای هیجان انگیز نتیجه، آخرین بخش ما در برنامه نویسی وب، که من فکر کردم ما به عنوان یک اصطلاح کلی استفاده را به تصرف چند موضوع باقی مانده است. بنابراین در پایان از روز، ما در واقع می خواهید انجام یک کمی از دست در برنامه نویسی تحت وب با یک زبان به نام جاوا اسکریپت. و من فکر می کنم ما آن را بررسی کرده در چیزی مربوط به تصاویر و کشف چیزی مخفیانه در یک تصویر پنهان، و همچنین نگاهی به گوگل را نقشه های API، برنامه نویسی نرم افزار رابط کاربری، به عنوان چیزی نماینده نوع نرم افزار که به طور فزاینده و آزادانه در دسترس است. اما چرا ما به یک نگاه در یک عنصر به این جهان که ما به نوعی بوده است گرفتن برای مسلم وجود دارد برای برخی از زمان، یک پایگاه داده. برای روز گذشته و نیم ما فرض را که ما دسترسی به یک پایگاه داده را دارند، اما چه مشکل کند یک پایگاه داده را حل کند؟ چه آن را برای ما انجام دهید؟ آنچه در آن است؟ مخاطبان: [نامفهوم] دیوید مالان: دارای تمام اطلاعات، خوب، و چه نوع از اطلاعات ممکن است شما را در آن قرار داده است؟ مخاطبان: [نامفهوم] دیوید مالان: هر گونه اطلاعات شما در آن قرار داده، شما را دریافت کنید. این درست است. و در یک سایت مبتنی بر وب و یا وب معمولی نرم افزار، چه نوع از اطلاعات، به طور خاص، ممکن است شما را در قرار داده است؟ مخاطبان: [نامفهوم] دیوید مالان: کاربران. پس چه یک کاربر؟ مخاطبان: [نامفهوم] دیوید مالان: خوب، ثبت نام کاربران از سایت. و چه به معنی آن اطلاعات فروشگاه کاربران؟ آنچه ترکیب یک کاربر؟ یک کاربر چه؟ مخاطبان: [نامفهوم] دیوید مالان: آره، شخصی داده ها، و من دوست دارم که. بیایید دقیق تر باشد. بنابراین یک کاربر معمولا دارای یک نام، چه چیز دیگری ممکن است یک کاربر؟ مخاطبان: [نامفهوم] دیوید مالان: یک OK addr--، پس اول نام، نام خانوادگی. خوبه. در واقع، اجازه دهید این مشکل که، به دلیل آن را برای باز کردن یک فرصت برای بحث، هنوز هم، بیشتر است. نام، نام خانوادگی، جنسیت. یک ID از نوعی. چه چیز دیگری؟ من شنیده ام چیز دیگری قبل از، TOO. یک ایمیل، آدرس پستی. بنابراین اجازه دهید مکث وجود دارد و در حال حاضر در نظر آنچه که ما در حال ذخیره سازی در پایگاه داده، but-- و چرا، از آن شاید واضح است که یک بار شما یک کاربر ثبت نام، شما می خواهید آنها یاد داشته باشید برای برخی از زمان. شما آن را می خواهم نه به فقط در RAM ذخیره می شود و forgotten-- شود تا اجازه دهید در چگونه تمرکز می کنند. به نظر می رسد که در جهان از پایگاه داده ها، حداقل دو نوع وجود دارد این روز است. چیزی به نام پایگاه داده SQL، ساختار زبان پرس و جو، و یا، به cutely به نام، های NoSQL است که SQL است. و دومی یک به عنوان مثال از آنچه ممکن است شود شی گرا نامیده می شود، یا یک فروشگاه شی، یک پایگاه داده که در فروشگاه اشیاء، و نه، بهانه ای من، به عنوان ما به زودی خواهید دید، ردیف. بنابراین ما برای فقط یک لحظه در تمرکز اولین بار از این، یعنی، یک SQL پایگاه داده، اگر فقط به این دلیل آن را آشنا در حال حاضر، به هر کسی که استفاده کرده است اکسل و یا ورق های گوگل یا اپل اعداد و یا هر استاندارد برنامه صفحه گسترده، یا هم ارز یا sophisticatedly بیشتر، چیزی شبیه به مایکروسافت و یا دسترسی اوراکل و یا MySQL یا PostgreSQL، همه از آن نام محصول برای پیاده سازی از این ایده شرح زیر است. یک پایگاه داده رابطه است که به سادگی چیزی است که سطر و ستون. و توسط سطر و ستون، من به معنای واقعی کلمه به معنای چیزی مثل این است، به طوری که در آن ما ممکن است داشته نام یک میدان و نوع آن در اینجا. و در واقع، به من اجازه در حال حاضر شروع به نقشه این. پس در واقع، من نمی دانم چرا من یک نمودار جداگانه به خود جلب کرد. بیایید نگه داشتن این ساده است. ما حق در اینجا آغاز جدول ما، که در آن این نام این زمینه است و این نوع داده ها، و نوع من زیر است. آیا این یک شماره از آن یک رشته است،، یک رشته کوتاه مانند یک کلمه، آن یک پاراگراف است، آن است که داده های باینری، مانند یک تصویر؟ و اجازه دهید فقط این کسی را دست انداختن از هم جدا برای فقط یک لحظه. پس اول نام، شماره، رشته، تکه بزرگ از text-- مخاطبان: [نامفهوم] دیوید مالان: بله، تا رشته است. و در یک زمینه پایگاه داده، ما معمولا پاسخ این زمینه کاراکتر. من فقط می گویند کاراکتر در حال حاضر اما ما رفتن به اصلاح این در یک لحظه. درست شخصیت. نام خانوادگی احتمالا همان. جنسیت؟ مرد یا زن، پس از آن می تواند یک میدان کاراکتر. این می تواند هم نقل قول، تمام کردن "مرد" یا نقل قول، تمام کردن "زن" یا می تواند یا مرد. اگر شما می خواهید به فراگیر، شما ممکن است یک مقدار سوم نیاز و یا نوعی از رشته های دیگر در دسترس نباشد. و بنابراین شما می تواند نادرست استفاده کنید. زمینه می تواند به نام مرد و سپس شما می توانید درست یا غلط است. اما این لزوما به جذب نمی تمام اطلاعات شما ممکن است بخواهید. پس از آن معلوم است نوع دیگری وجود دارد میدان که ممکن است در اینجا مفید باشد در یک پایگاه داده های معمولی، به نام شمارشی، که در آن یک میدان شخصیت است، اما شما، طراح، به شمردن مقادیر ممکن، مانند نقل قول، تمام کردن "مرد"، نقل قول، تمام کردن "زن" و غیره. به طوری که هر مقدار در پایگاه داده خود را، در واقع مبتنی بر شخصیت، اما آن را به یکی از کسانی که ارزش ها. ما احتمالا یک را می خواهم نه شمارشی برای نام اول یا نام خانوادگی. در غیر این صورت ما باید به شمردن، به عنوان نام مشتق شده از، به معنای واقعی کلمه هر ممکن نام و نام خانوادگی. خوب، پس چه باید ID یک ID شود؟ بله، تا شاید یک عدد است. بنابراین اجازه دهید با چوب که در حال حاضر، تعداد. و تعداد، تعداد است کمی بیش از حد گسترده است. برای پایان دوم روز، من مانند ما احساس می کنیم باید کمی دقیق تر باشد. تعداد می تواند مانند معنی، آن می تواند چیزی شبیه 1.236. و این احتمالا نمی آنچه که توسط یک ID منظور ما. چه چیزی ما را احتمالا به ID چیست؟ مخاطبان: [نامفهوم] دیوید مالان: اوه، خوب، پس شاید آن را حتی یک عدد است. شاید آن را در واقع یک شناسه منحصر به فرد که یک رشته، مانند نام کاربر است. کاملا، می تواند باشد. من فکر می کنم کسی که احتمالا به معنای عددی، هر چند. بنابراین اجازه دهید که باقی بماند. چه نوع از تعداد؟ چه خبر بیشتر precise-- یک عدد صحیح. بنابراین یک عدد مانند 0، 1، 2، 3، بنابراین ما این یک عدد صحیح است. و حتی پس از، من می توانم شود nitpicking، آن را نمی واقعا فقط یک عدد صحیح به طور کلی شما می خواهید. احتمالا شما مقادیر منفی را نمی خواهم، فقط به خاطر اینکه، آن را فقط احساس عجیب و غریب. شما احتمالا می خواهید اعداد صحیح مثبت. بنابراین شما نیز می تواند بیان که در یک پایگاه داده، اما در حال حاضر، ما عدد صحیح است. پست الکترونیک؟ این است که احتمالا just-- چه؟ مخاطبان: [نامفهوم] دیوید مالان: این یک ایمیل است، اما شخصیت، درست است؟ این فقط یک شخصیت بد بو مانند یک "در" نماد یا چیز دیگری، اما هنوز هم یک میدان شخصیت. و آدرس پستی؟ درست شخصیت. به طوری که یک شروع خوب است، ولی اجازه دهید کمی دقیق تر در حال حاضر. بنابراین معلوم است که در یک پایگاه داده، شما اغلب باید یک انتخاب بیش از بیشتر تصفیه شده نسخه از این چیزها. در واقع، در یک پایگاه داده نمونه SQL، SQL، یا به طور کلی، پایگاه داده رابطه ای، پایگاه های داده با ردیف و ستون، شما اغلب به مشخص نه تنها به نوع field-- اجازه دهید من به برخی از here-- اتاق بلکه طول. بنابراین چه مدت یک نام است؟ من فکر می کنم، D-A-V-من-D. خوب، آن من احتمالا درست مثل نیمه جرم از مردم در اتاق، راست، از نام خود را بیش از پنج نامه، پنج نظر می رسد خودخواه کمی و ساده و بی تکلف است، پس چه یک مقدار بهتر است؟ 10، همه حق است، و من فکر می کنم ما OK در اتاق هستید. 13؟ 30؟ چرا من نمی گرفتن رویکرد زودتر هنگامی که ما در مورد آرایه ها و حافظه صحبت می کردند؟ چرا من درست مثل 1000 می گویند؟ نام هیچ کس در حال رفتن به بیش از 1000. فشار برگشت. مخاطبان: [نامفهوم] دیوید مالان: آره، آن را بی فایده است، راست، به خصوص اگر ترین نام تنها پنج یا 10 یا 15 شخصیت ها، که بسیار بی فایده. بنابراین شما می دانید چه چیزی؟ این نوع از یک سوال سخت است. در حال حاضر، ما قطعا می تواند تجزیه و تحلیل انگلیسی و نام هر زبان دیگر و کشف کردن، خب، چه است متوسط ​​average-- واقعا نمی کمک us-- چه حداکثر است شاید آنچه که ما واقعا می خواهید. اما معلوم است ما حتی برخی از انتخاب بیش از نوع در اینجا. در یک پایگاه داده نمونه SQL، شما چیزی یک میدان به نام کاراکتر و همچنین یک VARCHAR، V-A-R، برای درست کاراکتر متغیر است. و تفاوت این است. یک میدان کاراکتر، شما در طراح، باید برای مشخص در پیش طول دقیق این زمینه است. بنابراین شاید نام مانند 20 احساس نوع امن است. ممکن است مجبور به انجام برخی از موتور جستجوی گوگل به ببینید اگر که به اندازه کافی در واقع امن است. احتمالا یک نام با 21 وجود دارد شخصیت ها، اما در حال حاضر، فرض 20 امن است. یک میدان کاراکتر می خواهد نشان در یک پایگاه داده که شما با استفاده از 20 و همیشه 20 کاراکتر. حالا اگر آن را فقط D-A-V-من-D، 15 از آن است فقط برای رفتن به شخصیت خالی، اما شما هنوز هم با استفاده از تمام 20 بایت است. یک میدان VARCHAR، در مقابل، به معنی رشته باید تا 20 کاراکتر باشد اما اگر آن را تنها پنج، شما فقط قصد استفاده از پنج، و یا شاید برای یک شش ارزش ویژه در پایان، که 0 مورد بحث ما که نشانگر پایان یک شخصیت دنباله در حافظه است. بنابراین، هنگامی که شما فکر می کنید شما ممکن است کاراکتر را انتخاب کنید در مقابل VARCHAR، با توجه به اینکه تجارت کردن؟ کاراکتر استفاده می کند که بسیاری از شخصیت های، VARCHAR با استفاده از بیش از که بسیاری از شخصیت. مخاطبان: [نامفهوم] دیوید مالان: خوب، وقتی که شما می دانید طول رشته بسیار قانع کننده که فقط با استفاده از کاراکتر، چون اگر شما آن را می دانم، فقط آن را قرار داده است. و شاید که درست است برای فایل های فشرده کد، در ایالات متحده، حداقل، 02138، آن را همیشه برای رفتن به پنج شخصیت تا زمانی که شما اضافه کردن خط تیره چهار. اما شما ممکن است برخی از ارزش های برای اند که شما همیشه می دانید طول. یا شاید نمادهای دولت، مانند NY نیویورک، و کارشناسی ارشد برای ماساچوست در ایالات متحده. شاید شما برخی از شرایط که در آن است که کاملا معقول، اما با این منطق، چرا ما حتی overthinking این؟ چرا ما فقط استفاده از VARCHAR و سپس ما فقط همیشه دو شخصیت به هر حال استفاده، و یا همیشه پنج شخصیت به هر حال استفاده کنید؟ چرا که نه تنها صرفه جویی در VARCHAR برای همه چیز، با این منطق؟ باید یک گرفتن وجود داشته باشد. مخاطبان: [نامفهوم] دیوید مالان: آیا ارسال کاری اشتباه است. به طوری که درست است. اما حتی پس از آن، آنها نمی توانند استفاده حافظه بیشتر از من اختصاص دهند. من هنوز هم نهایی می گویند بیش از طول، به طوری که آنها می تواند به طور تصادفی را که اشتباه است، اما یک فکر خوب. آن را ظریف تر، اما آن را بسیار مرتبط به بحث ما، در واقع، از آرایه و لیست های پیوندی پیش از آن. معلوم است که یک پایگاه داده، اگر آن را می داند که همه از ارزش ها از یک طول ثابت، حتی اگر برخی از آن ارزشها خالی، مرتب کردن بر اساس زیبا و خالی، D-A-V-من-D و پس از آن 15 شاهد، معلوم است که اگر هر درست همان طول، بسیار شبیه به یک آرایه همه مسائل خود را داشت پشت به پشت به پشت به پشت به طوری که شما فقط به علاوه 1 می تواند به رسیدن به آینده ارزش، همان ایده در یک جدول پایگاه داده است. اگر همه از شخصیت خود را رشته ها همان طول، شما آنچه را با دسترسی تصادفی نامیده می شود. اگر همه رشته های هستند طول 20، شما نه تنها انجام به علاوه 1 شما فقط به علاوه 20، به علاوه 20، به علاوه 20، به علاوه 20، و شما به سرعت در حال توانید از طریق حرکت یا جستجو از طریق تمام اطلاعات خود را. یک میدان کاراکتر متغیر، در مقابل، همیشه 20 کاراکتر داشته باشد. این ممکن است 20 و پس از آن 15 و پس از آن 19 و پس از آن 10، و بنابراین اگر شما می خواهید برای جستجو از طریق آن، شما نمی توانید فقط کورکورانه اضافه کردن 20 بایت برای رسیدن به یک بعدی. شما به معنای واقعی کلمه باید از طریق جستجو چون لبه ساختار داده ها، اگر شما خواهد شد، پاره پاره است. این نوع از در می رود و بر اساس از در طول واقعی رشته. بنابراین، هنگامی که شما می دانید طول، به عنوان کریم می گوید، استفاده از یک میدان کاراکتر، دلیل این که شما به دست آورید که بهره وری از بودن قادر به از طریق آن جستجو را سریعتر زمانی که شما به دنبال برای داده ها، در غیر این صورت یک متغیر استفاده کنید. متاسفانه، من هیچ پاسخ خوب به چه مدت از نام آن، اما برای چیزی شبیه به یک نام، من می گویند VARCHAR است به دلیل آن را نمی به یک طول ثابت برای همه. 20، من نمی دانم، 20 احساس تنگ او کمی. بیایید می گویند 50، 50. آن را واقعا به شما هزینه نیست که خیلی بیشتر به 50 به جای 40، اما در برخی از نقطه، شما نیاز برای ایجاد یک تماس قضاوت. بسیار معمول است، رک و پوست کنده، برای [؟ تاریخی؟] دلایل، حتی اگر آن را بیش از حد، است که می گویند 255، به دلیل چند وقت پیش، در سیستم های پایگاه داده محبوب، مانند خروجی زیر، یک ابزار رایگان و متن باز که بسیاری از شرکت ها مانند حتی فیس بوک استفاده می شود، این حداکثر به طور پیش فرض بود به طوری که مردم با آن رفت. بنابراین معقول نیست، اما ما استفاده از شهود کمی بیشتر و می گویند، مطمئن 50، که احتمالا کمی بیش از حد. جنسیت، من مانند شمارشی انجام دهید، و به همین ترتیب نتیجه ما می توانیم شمردن مرد یا زن، و یا شاید موثر تر، یا مرد و یا برخی از نماد های دیگر، اما شمارشی احساس می کند مانند یک انتخاب خوب است. برای روشن، جنسیت فقط می تواند یک VARCHAR باشد، و ما می توانیم فقط همه دیدن همه موارد مردم به عنوان خوب، که همیشه همان ارزش قرار داده است. مرد یا زن و یا فلان چیز. اما مشکل پس از آن، این است که ما می تواند به اشتباه، به عنوان [نامفهوم] پیشنهاد پیش از آن در زمینه های مختلف. اگر ما به اشتباه، ما می تواند از ارزش های نادرست در بانک اطلاعاتی ما. پس چه خوب است در مورد پایگاه های داده مانند اوراکل و MySQL و دیگران، است که شما باید این آخرین از لایه های دفاعی که در آن مدیر DBA، پایگاه داده خود را، هر کسی که طراحی این جدول ما بطور شفاهی، می تواند قرار داده به محل شمارشی که محافظت در برابر که با مشخص مرد، زن، و بنابراین هیچ کس دیگر هیچ برنامه نویس به طور تصادفی می قرار دادن هر مقدار دیگر. بنابراین این امر می تواند چیز خوبی است. این یکی از ویژگی های است. بنابراین یک ID، با فرض یک شناسه عددی آن، احتمالا باید یک عدد مثبت باشد. و ما گاهی اوقات انجام فرصت بحث در مورد طول. شما می معمولا مشخص کردن یک شماره در اینجا، به جای آن مشخص این نوع int، و یا یک نوع int بزرگ است، به عنوان آنها به طور معمول گفته می شود. اما به طور معمول، یک عدد صحیح می شود، اجازه دهید بگویم، 4 بایت است. و اگر آن را 4 بایت، که چگونه بسیاری از بیت است؟ مخاطبان: [نامفهوم] دیوید مالان: 32 بیت است. پس چگونه بسیاری از کاربران می تواند ما را در اند پایگاه داده ما اگر همه آنها یک ID و این ID باید منحصر به فرد؟ 32 بیت یعنی ما باید الگوهای یک، دو، سه، چهار، five-- پس چگونه بسیاری از الگوهای مختلف از صفر و آنهایی که می تواند به شما اگر 32 وجود دارد؟ که همان چیزی که به عنوان است درخواست چه دو به 32 است؟ این عدد بزرگ است که من کاملا نمی تواند حق، اما من می دانم که تقریبا 4 میلیارد دلار. بنابراین این بدان معنی جدول پایگاه داده خود را می توانید چهار میلیارد کاربر و که آن را. بنابراین، این جالب است مفهوم طراحی. تعداد مناسبی از شرکت تصمیم گرفته اند، شاید نه آنقدر برای جدول کاربران خود، به دلیل داشتن 4 میلیارد کاربران یک مشکل نادر است. این نوع از فیس بوک به سبک است مشکل، یک مشکل نیست شرکت معمولی. اما شاید اگر شما معامله لاگ و یا نوعی از داده که به طور مداوم می شود به پایگاه داده خود را نوشته شده است که کاملا می تواند میلیاردها دارند و میلیاردها ردیف، و شما با استفاده از یک عدد صحیح برای آن، چه خبر است به زودی به عنوان اتفاق می افتد شما را وادار به ردیف شماره 4 میلیارد و پس از آن شما سعی می کنید برای وارد کردن 4000000000 و 1، پس به صحبت می کنند؟ من ساده اعداد کمی. شما می توانید برش، شما منظور من باید آن را اداره کند به نحوی. و چه یک کامپیوتر به طور معمول انجام دهید، فکر می کنم در مورد آن حتی از صبح امروز، اگر شما یک ارزش 4 بیتی مانند 1، 1، 1، 1، که، فقط به کراوات صبح با هم به بعد از ظهر، چه این شماره نشان دهنده در دودویی؟ OK، ما آن را آسان تر می کند. چه این تعداد در دو دویی؟ OK، ما آن را آسان تر می کند، چه آیا این نشان دهنده در دودویی؟ مخاطبان: سه. دیوید مالان: سه، چون ما باید از آنهایی که column-- [خنده حضار] آخیش! ما در بر ستون آنهایی که حال و ستون twos است. بنابراین فرض کنید که، در واقع، ما [؟ زمین زیر کشت؟] بود 32 بیت نیست، اما دو بیت بودند، ما می توانیم شمارش از کاربران تعداد 0، 1، 2، 3، و پس از آن ما به نوعی هستید برگشت به کاربران 00 دوباره. بنابراین این چیزی است که به طور معمول اتفاق می افتد. اگر شما تا به حال شنیده ام expression-- احتمالا نه، اما اگر شما have-- سرریز عدد صحیح، که در آن شما حفظ کوه در می رم همه از بیت خود را به بزرگترین مقادیر ممکن، و سپس شما را از بیت هستید، چه به طور معمول اتفاق می افتد؟ چرا می گویم 00؟ خوب، این سه است. چگونه نشان دهم 4؟ چگونه نشان من برای شماره 4 در دودویی؟ مخاطبان: [نامفهوم] دیوید مالان: One-- آره، نمی گویم 100 در هر سه، دلیل آن است که اشتباه مفهوم، اما 1-0-0. به طوری که تعداد 1-0-0 است که در واقع درست است، اما اگر شما فقط دو بیت را داشته باشد، آنچه را که شما واقعا انجام می شود؟ شما را به 00 نورد است. و در واقع، این چیزی است که اتفاق می افتد. در واقع، شما می توانید فکر می کنم در مورد این آشنا تر. اگر شما به خاطر، چه، 16 سال پیش، جهان برای پایان دادن به زمانی که قرار بود مشکل Y2K اتفاق افتاد. چرا اونطوری بود؟ خب اکثر رایانه ها، برای تصمیم گیری مناسب، ذخیره سازی اعداد مانند سال 1975 یا سال 1999 تنها با استفاده از دو رقم در حافظه کامپیوتر است. پس از دوره، چه اتفاقی می افتد زمانی که شما به سال 2000 دریافت کنید، شما را به این بروید، و یا به جای، آره. بنابراین شما به سال 2000 بروید، اما اگر شما فقط با استفاده از دو رقم به نظر می رسد مانند سال 00 و بنابراین شما بیش از نورد است. و این است که چرا بسیاری از سیستم های نیاز به در زمان به روز می شود. پس با که گفت، شرکت هایی مانند فیس بوک اجرا کنید تا در برابر این. بنابراین تنها راه برای رسیدگی به وضعیت، رک و پوست کنده، این است که آن را پیشبینی کند. یا تمیزترین راه به رسیدگی به این وضعیت این است که آن را پیش بینی بنابراین شما لازم نیست باید تغییراتی بعد. بنابراین به جای 8 بایت، می دانید چه؟ من قصد دارم به جلو فکر در اینجا، حتی اگر آن را کمی خوش بینانه است که ما در حال رفتن به 4 میلیارد و کاربران 1 در وب سایت ما. اما اجازه دهید فقط با استفاده از 8 بایت، یا 64 بیت، که به طور کلی می شود نام یک عدد صحیح بزرگ، بسیار فنی است. و این فقط به معنی شما می توانید رقم حتی بیشتر در تعداد خود را. اما این مهم است تصمیم طراحی، چرا که اگر شما تعداد را انتخاب کنید که بیش از حد چند بیت از بیان شما در واقع می تواند ایجاد یک اشکال در نرم افزار خود را. همه حق است، بنابراین اجازه دهید بسته بندی با ایمیل و آدرس پستی. بنابراین ایمیل، چه مدت باید یک آدرس ایمیل باشد؟ 50. من واقعا هیچ نظری ندارم، اما آن را احتمالا چیزی شبیه به آن، چون در غیر این صورت هیچ کس را به ارسال شما اگر آن را می شود بیش از حد طولانی است، بنابراین 50، اجازه دهید با آن در حال حاضر. آدرس پستی، چه مدت باید باشد؟ مخاطبان: [نامفهوم] دیوید مالان: این نه فقط یک کد پستی، هر چند. آدرس پستی، من شنیده ام. پس این است که مانند 1 تق تق میدان، کاما، کمبریج ماساچوست، کاما، 02،138. و در واقع، اجازه دهید من فقط جلو یک کاربرگ کمی اینجا. این احساس می کند مانند آن فرصت از دست رفته. اگر ما 1 تق تق میدان، کاما، کمبریج MA 02138، من احساس می کنم ما می توانیم بهتر انجام دهید از آدرس پستی. چرا ما این را منفجر کمی؟ چه هستم من در گرفتن؟ چه باید به جای دارند برای ردیف ما در اینجا، شاید؟ مخاطبان: [نامفهوم] دیوید مالان: آره، بنابراین اجازه دهید آن street_number، و تاکید است که فقط یک مشترک راه داشتن چه چیزی شبیه یک فضا، اما این طور نیست، در واقع. خیابان، و سپس با عرض پوزش city--؟ مخاطبان: [نامفهوم] دیوید مالان: ما می تواند انجام دهد. خط یک، خط دو. چرا ما نمی حفظ خواهد کرد آن را ساده در حال حاضر، اما این کاملا یک تصمیم قابل قبول است. و پس از آن دولت، و سپس اجازه دهید یک کمی آمریکا محور در حال حاضر و فقط کد پستی، فقط به خاطر اینکه آن را به یک اشتباه جالب منجر یا مشکل در اینجا. بنابراین فرض کنید که در حال حاضر آدرس ما. آن را کمی بیشتر آزار دهنده است که ما همه این زمینه های بیشتر، اما در حال حاضر ما می توانید برچسب همه چیز کمی بهتر است. تعداد بنابراین در حال حاضر خیابان احتمالا باید یک کاراکتر، باید آن را؟ چه باید باشد؟ مخاطبان: [نامفهوم] دیوید مالان: شاید، تعدادی مثل یک عدد صحیح است؟ عدد صحیح بزرگ؟ احتمالا شما زندگی نمی کنند در 4 میلیارد خیابان اصلی و یا هر چیز دیوانه که می خواهم. بنابراین عدد صحیح است که احتمالا خوب است، اما تا به هر کسی تا به حال در یک آدرس زندگی مانند 1A تق تق مربع، و یا 1 و 1/2؟ این چیزها وجود داشته باشد، متاسفانه، حتی اگر شما در زندگی وجود دارد، هستند این ناهنجاری وجود دارد مانند 1A آپارتمان، 1B، 1C. بنابراین شما می دانید آنچه، ما احتمالا باید با عدد صحیح نیست، در غیر این صورت ما در حال رفتن به از دست دادن برخی از فروش. درست کاراکتر، شاید؟ من نمی دانم چه مدت. آن را احتمالا نمی شود که طولانی است، بنابراین 10 یا چیزی. هیچ کس را به ارسال تعدادی دیگر، شاید. اما باز هم، ما احتمالا باید به فکر بیشتر به آن. شاید گوگل، انجام برخی تحقیقات، اما ما با شکم ما در حال حاضر است. خیابان، کاراکتر، 50، من نمی دانم. در برخی موارد، هیچ کس را به آن ارسال در یک پاکت نامه، بیش از حد، به طوری که احتمالا وجود دارد برخی مرزهای بالایی وجود دارد. شهرستان، همان، مطمئن شوید، بنابراین کاراکتر 50. دولت، می تواند آمریکا محور در حال حاضر. بنابراین می توان یک لیست، خیلی مهربان یک تماس قضاوت، دولت است. آن می تواند مانند دو کاراکتر باشد. پس در واقع، شاید، من نگه داشته و گفت کاراکتر. من احتمالا به این معنی VARCHAR، فقط برای برخی از بهره وری، اما ما به آمده این تصمیم در یک لحظه. می تواند یک کاراکتر به طول 2 برای دولت است. اگر در ایالات متحده دارند، مانند MA، ماساچوست، NY، نیویورک، نیوجرسی، جدید نیوجرسی، و غیره. بنابراین آن را می توان در آن ثابت شده است. DC برای واشنگتن دی سی. اما من فکر می کنم، اولیویه، شما پیشنهاد روش دیگری. مخاطبان: [نامفهوم] دیوید مالان: آره، پس از آن یک کمی آزار دهنده به نوع در، اما شمارشی ممکن است احساس تر می کند، چرا که این راه، حداقل در ایالات متحده، شما می توانید از شمردن، اگر کسل کننده است، اما شما این کار را فقط یک بار در پایگاه داده خود را و هرگز دوباره به فکر کردن در مورد آن، همه 50 کد دو شخصیت. بنابراین من می خواهم شمارشی. بیایید با که چوب وجود دارد، چرا این نوع از اجرا دقت بیشتر است. و سپس کد پستی؟ من فکر می کنم اندرو فکر که حال مخاطبان: [نامفهوم] دیوید مالان: آره، پنج یا نه. اجازه دهید فقط آن را ساده نگه دارید. فقط برای انجام پنج. اما شاید من می تواند فقط انجام یک عدد صحیح، درست است؟ من می توانم، اما شما می دانید چه، من ساخته شده این اشتباه یک بار، در برخی از احساس. سال پیش، من از مهاجرت شد چشم انداز مایکروسافت برای جیمیل، و چشم انداز تا به راه صادرات تمام اطلاعات تماس خود را به عنوان یک فایل اکسل، یک فایل CSV، کاما از هم جدا فایل ارزش. و من به اشتباه، من فکر می کنم، از آن دوبل کلیک کردن، یک بار من صادرات، دانلود به مطمئن شوید که آن را نگاه کرد که من انتظار می رود. من باید ضربه جویی در هزینه و یا اجازه دهید ذخیره خودکار ضربه در و یا چیزی. زیرا زمانی که من پس از آن وارد آن را به جیمیل، آن همه کار کرده است. اما برای سال ها، تا به امروز، و من این پنج انجام داد، 10 سال پیش، من هنوز هم پیدا کردن دوستان که آدرس های که شبیه به این. چرا؟ مخاطبان: [نامفهوم] دیوید مالان: آن را در زمان 0، خوب، به جای آن، کد پستی کل به عنوان زمان یک عدد، و در نتیجه آن را پیشرو 0 که به معنی آن معنایی ندارد. و به این ترتیب 2138 به نظر می رسد کد پستی من. و این است که، رک و پوست کنده، اکسل آزار دهنده ویژگی موجب آن من به طور پیش فرض فکر می کنم، حتی اگر آن را به فقط به معنای متن، مایکروسافت اکسل تصمیم می گیرد، اجازه دهید من مفید باشد، و آه، من فقط اعداد را ببینید. بیایید به عنوان اعداد درمان این. و آن را کوتاه می صفر. به خدا قسم، هر چند ماه من یک آدرس پیدا کنید، و خارج از یک نوع وسواس، من به بازگشت در و اضافه کردن 0، حتی اگر من هرگز ارسال نامه های مردم و یا هر چیزی. اما من هنوز هم پیدا کردن بقایای این. پس این است که می گویند، این یک ایده خوب است؟ OK، نه، چون هر کسی در ماساچوست، در این زمینه، در حال رفتن به یک O منجر آنها را. بنابراین اجازه دهید با مانند رفتن کاراکتر، احتمالا، پنج. و در اینجا، متوجه ما می تواند شمارشی و ما با استفاده از می تواند 10،000 شمردن کد پستی ممکن است، اما احساس می کند مانند آن را احتمالا عبور یک خط از، مانند، مزایای. اگر شما به ورودی که داده ها بسیار به پایگاه داده خود برای محافظت در برابر چیزی است. بنابراین کاراکتر متوجه شما می توانید تایپ کنید در H-E-L-L-O به عنوان کد پستی خود را، که است که، بدیهی است، عددی است. بنابراین هیچ راهی وجود دارد، در یک پایگاه داده های معمولی، برای مشخص تنها عددی و تنها پنج کاراکتر، بنابراین ما در حال رفتن به برای انجام این کار در کد. ما قصد داریم برای انجام این کار در PHP یا جاوا و یا هر زبان ما با استفاده از بر روی سرور برای به اجرا درآوردن این نوع از محدودیت. مگه! خوب، پس هر گونه سوال فقط رتبهدهی نشده است؟ بیایید تصمیم طراحی شده است. به نظر می رسد که شما همچنین به را انتخاب کنید، هنگام طراحی یک پایگاه داده SQL، و یا database-- رابطه معمولی که در آن دوباره، رابطه فقط معنی سطر و ستون، این که چگونه data-- خود را به شما در سازماندهی و متوجه است که این بدان معنی است، من در گمراه کننده که، من drawing-- این هستم همان چیزی است که طرح به نام برای یک جدول پایگاه داده است. این مثل مشخصات برای table-- اما زمانی که می آید زمان در واقع داده فروشگاه، و ما این را فقط به عنوان مثال در اینجا. من قصد دارم برای باز کردن اکسل، زیرا اکسل به من سطر و ستون است. و این دقیقا همان چیزی اوراکل و MySQL و ابزار های دیگر را به من بدهد. بنابراین من فقط رفتن به استفاده از آن را به خاطر بحث است. اجازه بدهید به جلو و باز کردن یک سند نماینده در اینجا، زوم در یک بیت. بنابراین به عنوان مثال، هدر ما در حال حاضر نام، نام خانوادگی، سن، جنس، ID، ایمیل، شماره خیابان، خیابان، اوه. خیابان، شهرستان، استان، فقط در مورد بر روی صفحه نمایش را متناسب با. بنابراین این بدان معنی است که هنگامی که یک کاربر اول ثبت وب سایت من، آن را به چیزی شبیه دیوید، مالان، متر، اجازه دهید بگویم 1، malan@harvard.edu، شماره خیابان مانند 1 تق تق میدان، کمبریج، ماساچوست است، 02،138، و سپس غیره. بنابراین، هنگامی که من می گویم که یک پایگاه داده رابطه و یا پایگاه داده SQL سطر و ستون است، منظور من این است. که داده های واقعی ذخیره شده است در سطر و ستون. این فقط یک تصادف است، که ما صحبت می کردند، و من فقط می شد آن را در سطر و ستون. این فقط طرح است، تعریف فراگیر. بنابراین از این زمینه ها در اینجا، یا معادل، وجود دارد، که زمینه های است که شما فکر می کنید من به احتمال زیاد برای جستجو در اگر من یک کاربر هستم یا اگر من مدیر پایگاه داده هستم؟ مانند، چه زمینه من در واقع رفتن به جستجو در؟ مخاطبان: [نامفهوم] دیوید مالان: نام، آره تا من می خواهم این واقعیت که-- آره، ایمیل ممکن است بسیار رایج است. با عرض پوزش، شما گفت: نام. بنابراین maybe-- و باز هم، ما نوع صحبت کردن در انتزاعی. من نمی دانم چرا شما می خواهم برای یک نام جستجو، اما احساس می کند که معقول اگر شما در حال جستجو برای یک کاربر. شاید بیان، مطمئن، ID. و آن را یک لغزنده شیب، زیرا من می توانم تدبیر سناریو که در آن شاید رئیس من از من خواسته است، چگونه بسیاری از مردان ما را در سایت ما داشته باشد؟ چگونه بسیاری از زنان ما را در سایت ما داشته باشد؟ و به این ترتیب در آن نقطه، شما ممکن است بخواهید برای جستجو در جنس زمینه، بیش از حد، و دیگر هیچ. بنابراین یک تجارت کردن در اینجا وجود دارد. باز هم، وجود دارد هیچ جواب درست، اما وجود دارد یک ویژگی در اکثر پایگاه های داده SQL است شناخته شده به عنوان نمایه سازی، به موجب آن شما، طراح، مدیر پایگاه داده، وادار به تصمیم گیری در پیش است که زمینه های پایگاه داده باید بهینه سازی برای جستجو در. شما بسیار ساده لوحانه می گویند، بهینه سازی این، بهینه سازی که، بهینه سازی این، بهینه سازی که و این، و پایگاه داده خواهد انجام برخی از چیزی جادویی در زیر هود، و انجام کاری در چنین راهی که دفعه بعد که شما جستجو در هر یک از این زمینه ها، آن را، در واقع، سریعتر باشد. امکانش وجود دارد. که خود را لغو نشده است. اما باید یک قیمت پرداخت شده وجود داشته باشد. اگر شما ساده لوحانه یا بیش از حد شور و شوق مثلا، اول از این زمینه ها، پس به صحبت، همه آنها را موثر جستجو، چه قیمت شما احتمالا پرداخت می شود؟ مخاطبان: [نامفهوم] دیوید مالان: عملکرد. شما چه معنی؟ خوب عملکرد، حداقل در زمینه من بحث، در حال حاضر بهتر است. که تعریف نمایه سازی است. آن را جستجو سریع تر. بنابراین زمان کاهش می یابد، پس به صحبت می کنند. مخاطبان: [نامفهوم] دیوید مالان: فضایی. پس دوباره، این یک تجارت رایج است. من می توانم سرعت جستجوهای شما را، اما آن را رفتن به شما کلمه در ادامه متن از فضا است. چرا؟ خوب، به طور پیش فرض، اگر ما هیچ یک از این ستاره قرمز، هیچ یک از این شاخص، به عنوان من گفت، چگونه می توانم شما را جستجو برای یک نام در این پایگاه داده؟ بنابراین اجازه دهید قرعه کشی ما با توجه به این مثال است. اگر ما دیوید و اسکالی و کریم و عروه و دیگران در این ردیف، برای مثال. بنابراین اجازه دهید که دقیقا. اسکالی در اینجا این است، و پس از آن ما باید کریم، و عروه، و هر کس دیگری، اگر شما نمی یک شاخص تعریف شده است، پس به صحبت، بهترین شما می توانید انجام جستجوی خطی است. اگر شما برای اروی جستجو، ما نمی رفتن به قادر به پرش به سمت راست به او به سرعت. ما قصد داریم به شروع بالا و رفتن تمام راه را به پایین، نه بر خلاف اصلی ما به عنوان مثال مایک اسمیت. اگر با این حال، من می گویم، هی، پایگاه داده، شاخص زمینه نام، سپس آن را به انجام کاری خیال باف و چیزی حمایت مانند جستجوی دودویی. این جستجوی دودویی به خودی احتمالا. پایگاه های داده تمایل به استفاده از یکی دیگر از ساختار داده ها به نام درخت B، با درخت دودویی اشتباه گرفته شود، که فقط آن را سریع تر به جستجو را چیزی لگاریتمی در طبیعت است. اما قیمت به شما پرداخت به ساخت تا که ویژگی های است که ساختار داده ها در حافظه، کلمه در ادامه متن است. پس از آن ممکن است برخی از مگابایت را، برخی گیگابایت، که می داند؟ آن را بر روی داده بستگی دارد. بنابراین در برخی موارد، شما باید تصمیم بگیرید، آن را احتمالا یک مورد معمول نیست. پس چه مشترک واقعی هستند موارد، اگر شما واقعا تا به حال به را انتخاب کنید، چه چیزی ممکن است زمینه مورد علاقه خود را؟ پست الکترونیک. و من دوست دارم ایمیل را به دلیل ایمیل، در تئوری، باید منحصر به فرد باشد. و به این ترتیب به طور معمول، هنگامی که شما مطمئن شوید در پیش است که یکی از زمینه های خود را است یا منحصر به فرد خواهد بود، که گرایش به یک زمینه خوب برای جستجو در، چرا که راه، زمانی که چیزی را جستجو کنید، شما در حال رفتن به یک یا تماس صفر پاسخ و سپس شما انجام می شود. شما لازم نیست که برای حفظ دنبال هنوز دیگران است. و بنابراین در این مورد در اینجا، ایمیل، تا زمانی که شما نمی توانید دو بار ثبت نام با یک ایمیل، یکی خوب است. ID تعریف، در جهان علوم کامپیوتر، اگر شما در حال صحبت کردن در مورد ID، که بهتر منحصر به فرد باشد بود. این نوع از مفهوم است از ID یا شناسه. و بقیه از این ممکن است، اجازه دهید آنها را خوب پاسخ به دارا، اما واقعا مورد نیاز نیست. و به این ترتیب در یک پایگاه داده، شما شاخص مشخص، اما شما می توانید حتی دقیق تر. شما می توانید می گویند، با سلام، پایگاه داده، مطمئن شوید که که هر ID در این جدول منحصر به فرد است. حتی اجازه یک برنامه نویس نیست به طور تصادفی در یک ایمیل تکراری قرار یا تکراری شماره ID. بنابراین بسیار شبیه انواع شمارشی محافظت از ما همین ترتیب، شما می توانید آن دفاع سطح پایین تر است. و به این ترتیب طراحی پایگاه داده، در از بعضی جهات، نوع سرگرم کننده است، دلیل این که شما آن را انجام دفاعی. شما به نوعی فرض کنیم که شما کار می کنند با وحشتناک، وحشتناک برنامه نویسان و شما می خواهید برای قرار دادن در عنوان بسیاری از دفاع که شما می توانید برای محافظت از اطلاعات خود را، اما به طور همزمان می خواهید برای کمک به آنها انجام بهتر با انتخاب که زمینه برای بهینه سازی. اما شما نمی توانید لزوما آن را در خلاء مانند ما به نوعی اینجا هستید. شما رو به مطمئن شوید که چه هستند این موارد مشترک است. اگر توسعه دهندگان اجرای یک کتاب آدرس، شما ممکن است به خوبی خواهید می شود قادر برای جستجو در تقریبا در هر زمینه، فقط با ماهیت برنامه. بنابراین شاید شما صرف که فضای اضافی. راست، هر گونه سوال؟ آره مخاطبان: [نامفهوم] دیوید مالان: شماره مخاطبان: [نامفهوم] دیوید مالان: OK. مخاطبان: [نامفهوم] دیوید مالان: اوه، بنابراین ما در حال صحبت کردن در راه در حال حاضر که به زبان اگنوستیک را به طور کامل. بنابراین ما در حال صحبت کردن در حال حاضر حدود پایگاه داده های رابطه به طور کلی، و یا SQL پایگاه داده به طور کلی. مخاطبان: [نامفهوم] دیوید مالان: یک کلمه بهتر به استفاده از است، می توان با هر زبان استفاده می شود. بنابراین من می تواند ارسال کد های جاوا اسکریپت، C کد، C ++ کد، کد جاوا، کد روبی، همه از آن صحبت کردن با یک پایگاه داده و اجرای نمایش داده شد. در واقع، این یک بد نیست SEGUE به عنوان مثال پرس و جو. و دوباره، ما در حال رفتن به رفتن به جاوا یا C ++ یا هر یک از که دیگر، اما در SQL، زبان که من حفظ اشاره، زبان ساختارمند جستجو، این به خودی خود یک زبان برنامه نویسی است، اما آن را به معنای برای، هیچ مورد استفاده قرار گیرد تعجب، ساختار نمایش داده شد پرس و جو. که من در این. راه را به شما داده را انتخاب کنید از یک پایگاه داده MySQL است به معنای واقعی کلمه در برنامه خود را تایپ کنید چیزی شبیه به ستاره را انتخاب کنید از کاربران است. من فرض میکنم که این جدول، پس است کاربران به نام. من می توانم آن پاسخ هر چیزی که ما می خواهیم، اما این نوع از حس می کند. و به این ترتیب انتخاب است که بسیار فعل های مشترک، اگر شما خواهد شد، در SQL، که به معنای واقعی کلمه می کند که. شما چه فکر میکنید ستاره در این متن؟ مخاطبان: [نامفهوم] دیوید مالان: ببخشید؟ مخاطبان: [نامفهوم] دیوید مالان: لازم نیست، آن را فراگیر تر از آن، در واقع. این فرانویسه است. ستاره تقریبا همیشه به معنی هر چیزی، بنابراین این بدان معنی، در این مورد، همه چیز را از پایگاه داده را انتخاب کنید. بنابراین، هنگامی که این را می گویم، منظورم به من به عقب هر ستون از جدول من کاربران نامیده می شود. بنابراین من یک مجموعه از نتایج، به عنوان آن را به نام. به عبارت دیگر، من یک کپی از را صفحه گسترده، چیزی است که من در گرفتن. اما اگر من گفت ستاره انتخاب کنید و از کاربران که در آن ID برابر با 1، چقدر بزرگ باید مجموعه نتیجه من پس از آن؟ یا معادل، که چگونه بسیاری ردیف باید من پشت دست ها از پایگاه داده؟ احتمالا فقط یکی، اگر من در واقع ID به عنوان یک شناسه منحصر به فرد درمان می شود، و اگر دیوید است که ID منحصر به فرد، من باید از یک و تنها یک ردیف شامل تمام اطلاعات دیوید. اگر من گفت این که در آن ID برابر 99، من باید به عقب بر گردیم، در این زمینه، صفر ردیف، حداقل در حال حاضر. با این حال، اگر من واقعا نمی مراقبت در مورد تمام این اطلاعات، من فقط می گویند، که در آن دیوید زندگی می کنند؟ کد پستی را انتخاب کنید از کاربران که در آن ID 1 است. این به من فقط فایل های فشرده دیوید را انتخاب کنید کد و نه کل آن ردیف. چرا ممکن است این به جای انجام پرس و جو ستاره، کارت های وحشی؟ مخاطبان: [نامفهوم] دیوید مالان: آره، من فقط ممکن است به آن نیاز دارید. بنابراین عملکرد پاسخ اینجا است دوباره. چرا بیش تر اطلاعات از شما نیاز دارید، چرا که حتی اگر آن را حق همه با هم، شما هنوز هم باید برای کپی کردن داده ها، به نظر می رسد، از پایگاه داده به برنامه شما به نوعی، و این فقط اگر شما احمقانه فقط نیاز پنج تن از کسانی رقم، نه تمامیت ردیف. پس چگونه یک کاربر درج کنم؟ فرض کنید یک کاربر فقط ثبت نام برای اولین بار. نحو معمولا شبیه به این. قرار دادن به کاربران، و سپس ما را ارزش می گویند، و سپس ما را ارزش می گویند مانند، اجازه دهید بگویم، لورن اسکالی، فیلمساز ما در اینجا ببینید. و در این زمینه بعد جنسیتی است. بنابراین ما می گویند نقل قول، تمام کردن "F"، پس ما باید یک ID و من قصد دارم به می گویند اجازه دهید وانمود کند در واقع در اینجا نیست، بنابراین ما در داستان عقب. بنابراین 2 خواهد بود ID خود را. و پس از آن به رشته بعدی در اینجا ایمیل خود را است. پس از آن رفتن به مانند لورن اسکالی و غیره، و ما فقط نقطه نقطه نقطه آن به دور از اینجا در. در حال حاضر آن را به یک کمی خسته کننده، اما بنا به درخواست درج در نهایت شبیه این. اگر من می خواهم به خلاص شدن از شر اسکالی، آه، آه، اجازه دهید لغو ثبت او، او را حذف حساب او، حذف از کاربران که در آن ID برابر با 2، خواهد از اسکالی خلاص شوید. یا می توانم بگویم کاربران به روز رسانی مجموعه، اجازه دهید بگویم، چه چیزی می تواند تغییر کنیم؟ فرض کنید او حرکت می کند. مجموعه ای فایل های فشرده برابر 021-- نه، که فایل های فشرده فعلی او است. 90،210. تنها کد پستی دیگر من در جهان می دانند. به طوری که تغییر خواهد کرد فایل های فشرده خود را code-- در واقع، که کد پستی خود را تغییر دهید. چه من فقط انجام دهید؟ حتی اگر به نحو احتمالا جدید است. مخاطبان: [نامفهوم] دیوید مالان: آره، من نقل مکان کرد همه به بورلی هیلز، کالیفرنیا است. بنابراین من باید واقع می گویند که در آن ID برابر 2. و غیره. بنابراین SQL همه چیز در مورد این انواع دستورالعمل. را انتخاب کنید، درج، حذف، به روز رسانی، با این گزاره در پایان این بند که در آن، پس به صحبت می کنند. و خیلی بیشتر شما می توانید وجود دارد انجام دهید، اما واقعا فقط جوش پایین به سادگی، اگر arcanely، ابراز آنچه شما می خواهید پایگاه داده را انجام دهد. و سپس پایگاه داده شکل خواهد شد، هنگامی که شما وارد لورن اسکالی به پایگاه داده، که در آن به او قرار داده در حافظه به طوری که ما می تواند به سرعت از او بر اساس آدرس ایمیل خود و یا بر اساس شماره ID خود را و یا مانند. آره، دن. مخاطبان: [نامفهوم] دیوید مالان: سوال بسیار خوبی. این اسکریپت تغییر از مایکروسافت دسترسی به اوراکل به MySQL به PostgreSQL؟ پاسخ کوتاه این است آن بستگی دارد. در تئوری، بسیار وجود دارد زیر مجموعه مشترک قابل توجهی از SQL که در تمام اشتراک گذاشته شده از این پیاده سازی. با این حال، تولید کنندگان مختلف دارای ویژگی های اضافه شده به پایگاه داده خود را به انجام کارهای خاص فراتر از محدوده این ویژگی ها، که ممکن است، در واقع، بشکند. بنابراین توسعه دهندگان راه مانعی در برابر این، این است که به جای نوشتن خام کد SQL مانند من نوشتن در اینجا، آنها به جای استفاده از یک کتابخانه، یک کتابخانه مشترک است که خود را مرتب سازی بر اساس بالاتر سطح و خلاصه دور که محصول شما با استفاده از. و آن را به شما می دهد توابع و روال به پاسخ طوری که شما هرگز در واقع ارسال SQL خام. در تئوری، پس از آن، شما می توانید تغییر محصولات از اوراکل به مایکروسافت و یا بالعکس و یا هر چیز دیگری، و شما به معنای واقعی کلمه تغییر چیزی در مورد کد شما. واقعیت این است، شما گاهی اوقات تا ویژگی های عنوان یک نتیجه. شما ممکن است یک محصول به دلیل انتخاب آن را به این ویژگی های ارزش افزوده، و شما فقط در حال حاضر نیست با استفاده از آنها آگاهانه. و به قول بسیاری از شرکت ها تمایل دارند هرگز حرکت به دور از پایگاه داده خود را. بنابراین در حالی که این خوب است ویژگی را دارند، واقعیت است، اگر شما در حال تعمیرات اساسی پایگاه داده خود را، شما احتمالا ساخت مجموعه ای از تغییرات دیگر به هر حال، که شما لزوما نیاز به پیش بینی که. پس از آن مسلما بیش مهندسی مشکل، اما واقعا در زمینه بستگی دارد. اما در تئوری، SQL مشترک است بین این محصولات مختلف است. پرسش واقعا خوب است. آره مخاطبان: [نامفهوم] دیوید مالان: آره، بنابراین شما می توانید یک پایگاه داده فکر می کنم فقط یک سرور، در پایان روز، و در داخل آن سرور یک دسته کامل از است جداول، سطر و ستون. و هنگامی که شما یک پرس و جو ارسال مثل این از برنامه خود، وب سایت خود را، نوشته شده در جاوا، روبی، پایتون، هر، سرور دریافت این دستور و تفسیر آن را در به معنای واقعی کلمه به همان شیوه ما قبلا با بحث زبان های تفسیر، و سپس انجام برخی از اقدام بر صفر یا ردیف در صفر یا چند جدول. مخاطبان: [نامفهوم] دیوید مالان: دقیقا، دقیقا. بنابراین شبه برای چیزی که ممکن است این باشد. در فایل پی اچ پی خود را و یا خود را فایل پایتون و یا فایل های جاوا، شما می کد شبه و یا بلوک های خش مانند، اگر کاربر بازدیدکننده داشته است acme.com/register~~V برای اولین بار، پس از آن به کاربران و غیره را وارد کنید. و ما این را به ترجمه کد بتن تر در پایان. اما در واقع، ما همه بلوک های ساختمان در اینجا، حتی اگر ما در حال پرش برخی از مراحل پیاده سازی. بنابراین اجازه دهید من پیدا کردن گسل با آنچه که ما زیبا و فقط یک لحظه پیش انجام داد. شما خیلی ایجاد کرده اند جدول کامل برای کاربران. مسلما، ما می تواند پیاده سازی آن را در چند روش های مختلف، اما شما در واقع به ما منجر پایین path-- و من به شما می گویند، اما احتمالا fault-- من نسبتا پیاده سازی پایگاه داده ناکارآمد. آن را نرمال نیست. و نرمال من آنجا قرار است، در طول زمان، افزونگی قابل توجه است، و در نتیجه ناکارآمدی، که اتلاف فضا است. بر اساس تنها آنچه شما در اینجا می بینید، می توانید شما پیش بینی که در آن این اتلاف فضا در حال رفتن به از، آمده در طول زمان، بیشتر و بیشتر کاربران ثبت نام برای وب سایت شما؟ چه داده ها ممکن است از کار برکنار می شود؟ مخاطبان: [نامفهوم] دیوید مالان: چرا این معنی است که شما؟ مخاطبان: [نامفهوم] دیوید مالان: آره. و اجازه دهید برای اهداف فرض از امروز که این درست است. معلوم است، و ما این دست آوردید راه سخت، که درست نیست. به نحوی شهرستانها متعدد داشته باشند، به نحوی، کد پستی همان، که می شکند این شهود فوق العاده است. حالا فرض که درست است، چرا که آن را تقریبا همیشه درست است. بنابراین فرض کنید که یک کد پستی است همیشه با همان شهرستان مرتبط و دولت است، که نوع فرض معقول، اما نادرست، آن را تبدیل. اما یک فرض منطقی برای اهداف امروز است. سپس فرض کنید که من در کمبریج زندگی می کنند، MA، با توجه به جدول این کاربر، و فرض کنید که لورن اسکالی در کمبریج، ماساچوست زندگی می کند، و فرض کنید که کریم زندگی در کمبریج، ماساچوست، و عروه در کمبریج زندگی می کند، MA، همه ما در 02،138. چرا ما به یاد می کمبریج، MA، 02138 برای هر چهار از ما؟ چه باید کافی به خاطر داشته باشید؟ مخاطبان: [نامفهوم] دیوید مالان: فقط کد پستی. درست است که 02138 وجود دارد، چون شما می دانید چه ما می تواند انجام دهد؟ ما می تواند یک فانتزی و کمی از اینجا دریافت کنید و در اینجا، تعریف یک جدول دیگر آن این است که می شود نام، این است که به نوع، این است که می شود طول، و از این پس، من قصد دارم به این جدول شهرستانها است. این، نامیده می شد البته، کاربران جدول من. و بنابراین، آنچه باید قرار داده من در اینجا برای جدول شهرستانها من، فکر می کنید؟ مخاطبان: [نامفهوم] دیوید مالان: آره. بنابراین فایل های فشرده و دولت و شهرستان. و به این ترتیب نوع در اینجا، ما می گویند این است برای رفتن به یک کاراکتر 5 دوباره، موضوع را به بحث از قبل است. این خواهد بود که شمارشی، شاید مانند قبل از، و شهرستان خواهد بود VARCHAR 50. و بنابراین در حال حاضر چه می توانم برای پاک کردن از این جدول برای از بین بردن که ناکارآمدی؟ مخاطبان: [نامفهوم] دیوید مالان: خوب. دولت و شهرستان برود، بنابراین من در حال حاضر این حذف ناکارآمدی بالقوه برای redundantly به خاطر سپردن، کمبریج، MA، کمبریج، ماساچوست، کمبریج، ماساچوست، کمبریج، ماساچوست، که، امیدوارم است هرگز به تغییر دهید. و حتی اگر آن را، آن را minorly آزار دهنده، در حال حاضر که من مجبور به تغییر آن را در ردیف های متعدد، در حالی که در اینجا، من می تواند فقط آن را تغییر دهید در یک مکان. در حال حاضر چه تجارت کردن است، شاید؟ این فوق العاده مناسب بود. حال تمام داده های من به خوبی با هم. اما آنچه به وضوح مورد در حال حاضر؟ مخاطبان: [نامفهوم] دیوید مالان: دقیقا، و من خوشحالم که شما با استفاده از کلمه پیوستن به، چرا که در واقع کلمه کلیدی، در جهان از پایگاه داده های رابطه در SQL، آن را یک کلمه واقعی است شما ممکن است نوع و یا حداقل انتقال. و در واقع، آنچه که ما اکنون باید انجام دهید را انتخاب کنید اطلاعات کامل دیوید است چیزی شبیه به ستاره انتخاب کنید و از کاربران، پیوستن به شهرستانها، کنین و در حال حاضر من قصد دارم به فقط به یک خط دوم حرکت به طوری که این users.zip fits-- برابر cities.zip، که در آن users.ID برابر با 1. چه خبر؟ آن را زشت به دنبال، اما شما می توانید نوع خواندن آن را به راست، بالا سمت چپ به پایین. انتخاب ستاره از کاربران مانند قبل است، اما آن را از کاربران، فی نفسه نیست. آن را از کاربران بپیوندید شهرستانها. چه هستم من پیوستن به این دو میز؟ خب، ظاهرا، کاربران جداول پستی زمینه، و این دوره فقط خاص است نحو به بیان است که ایده، و این است که جداول شهرستانها فایل های فشرده این زمینه است. من می خواهم این دو باید مساوی، اما من می خواهم در نهایت انتخاب تنها کسانی که در آن ردیف ID در جدول کاربران برابر با 1، که رخ داده است به من. و فقط به روشن، یک برنامه نویس، به طور معمول وقتی hardcode چیزی شبیه به تعداد 1، چرا که در غیر این صورت وب سایت تنها از دیوید یا اولین کاربر، شما به جای انجام چیزی شبیه به ID، که در آن این نشان دهنده متغیر، چیزی است که می توانید زمان را تغییر دهید بیش، شبیه در روح به آن چه من قبلا گفت با این نوع از متغیرهایی. اما در حال حاضر ما فقط آن را به عنوان 1 hardcode. و به این ترتیب به چه معنی است؟ خوب، یک راه خوب برای تجسم این است که اگر این دست جدول کاربران است، و این دست فشرده است جدول، ما از finding-- هستید و راهنمایی از انگشتان دست من هستند پستی در اینجا، و نوک انگشتان من در اینجا فایل های فشرده، شما نوع به هم پیوسته آن به طوری که شما به عقب بر گردیم نتیجه جدول اصلی، توسط واقعا پیوستن دو جدول در زمین مشترک است. و آن را لازم نیست به فایل های فشرده. این می تواند بسیاری از هر چیز دیگری، اما پستی خوب است، چرا که یکی، آن را کوتاه، دو، آن را همیشه همان طول، بنابراین وجود دارد بهره وری واقعی برای اولیویه در اینجا پیشنهاد با فاکتورگیری از فایل های فشرده، و [نامفهوم] پیشنهاد که ما خلاص شدن از شر از شهرستان و کشورهای. بنابراین این روند است شناخته شده به عنوان عادی. هر گونه سوال در آن؟ خب به من اجازه اشاره این نوع از مسائل است، حتی اگر آن را نسبتا سطح پایین است، این بحث، که شما فکر می کنم شما در حال مرتب کردن بر اساس گرفتن از دست رفته در علف های هرز، این جلوه ای از فراوان است فرصت برای توسعه دهندگان به بد. و در واقع، حتی زمانی که ما، در دوره های من درس دادهام، زمانی که ما داشته ایم، به عنوان مثال، تجربه برنامه نویسان در مقطع کارشناسی ساخت وب سایت، در نگاه اول، وب سایت ممکن است نگاه فوق العاده است. و آنها همه از قابلیت های ما درخواست، توسعه دهندگان یک کار خوب. اما آنها لزوما نمی دانید به اندازه کافی در مورد طراحی پایگاه داده و یا آنها فکر نمی کنم سخت به اندازه کافی در مورد انواع داده و انواع کاربران وب سایت که قرار بود داشته باشد، و پیدا کردن ما، پس از آن، شش ماه بعد، پس از آنها فارغ التحصیل و یا نقل مکان کرد، که لعنت، از وب سایت ما واقعا، واقعا آهسته است. و من حتی صحبت کردن در مورد داشتن میلیون ها و یا هزاران نفر از کاربران. منظورم این است که تعداد کمی از کاربران صد در محوطه دانشگاه، همه آنها به عنوان مثال، فروشگاه برای دوره های آموزشی در همان زمان، آنها با استفاده از این فروشگاه دوره برنامه اشاره کردم و چیزی است واقعا کند زیرا هیچ شاخص وجود دارد. هیچ ستاره قرمز وجود دارد، بنابراین به صحبت می کنند، و یا ما لزوما عامل از داده های مشترک برای برخی از صرفه جویی در فضا. و تا زمانی که بررسی صلاحیت یک توسعه دهنده یا شخص پایگاه داده یا مانند آن، انواع سوالات به فکر می کنم حتی، به هنگام بررسی کد کسی، می گویند، نه لزوما نگاه از طریق تمام کد خود را، اما می گویند، اجازه دهید از طریق جداول پایگاه داده نگاه کنید. چه چیزی شما را ذخیره می شوند؟ و سپس به می گویند، خوب، صبر کنید دقیقه، به همین دلیل شما با استفاده از یک عدد صحیح؟ چه اگر ما 4 میلیارد و 1 از این ردیف؟ و این نوع از پرسش یک فرصت است به نوع فشار و یک حس، که در آن اگر شما راضی به انجام نمی آن، داشتن کسی بیشتر فنی این پرسش ها، از آنها بخواهید یا نه فرد واقعا می داند که مسائل خود را. و این نوع از است مسائل، بیش از حد، که مردم در اینترنت که هستند خود آموخته، شاید یاد بگیرند کمتر، چرا که شما لزوما در سراسر آن آمده است به همان اندازه، زیرا شما می توانید پایگاه داده و در حال اجرا، اما مگر اینکه شما را خوانده ام تا آموزش و یا شده گفت: در مورد نرمال سازی بانکهای اطلاعاتی و نمایه سازی و عملکرد، این نوع از همه چیز که می رویم به شما صدمه دیده است. و شما ممکن است فکر می کنم، و یا یک مهندس بد ممکن است بگویید، آه، خوب، پرداخت ما بهتر برای یک پایگاه داده بزرگتر یا یک پایگاه داده سریعتر یا فقط پرتاب پول در این، مقیاس عمودی، نه لزوما است. اگر شما به in-- و شما می توانید بروید پس از شاخص fact-- و اضافه کردن، و آن را ممکن است چند ساعت را برای پایگاه داده به ساخت تا که داده های جدید ساختار است که که پیشتر اشاره کردم، شما هنوز هم می توانید این مسئله را حل پس از این واقعیت، که این جایی است که شما شروع به تشخیص طراحان خوب از بد طراحان، نه فقط زیبا، اما عملکرد عاقلانه است. هر گونه سؤال؟ هیچ؟ بنابراین برای داده های NoSQL، که از نوع دیگر بود از پایگاه داده که من پیشتر اشاره کردم، شما سطر و ستون ندارد. در عوض، شما چیزی دارند که به نظر می رسد کمی بیشتر شبیه به این. من قصد دارم به استفاده از نحو رایج است. آکولاد اتفاق می افتد به در اینجا استفاده بسیار زیادی است. شما ممکن است چیزی دارند مانند نام دیوید است، شما ممکن است گذشته نام مالان است، نقل قول ها، شما ممکن است ID دارند is-- ببخشید، ID whoops-- 1، ایمیل malan@harvard.edu است، و من نمی خواهد زحمت تایپ کردن بقیه، و پس از آن برخی چیزهای دیگر. به عبارت دیگر، این است نمایندگی متنی از آنچه که ما به طور کلی پاسخ یک شی در یک برنامه کامپیوتری است. و یک شی است به طور کلی فقط مجموعه ای از جفت کلید. پس دوباره، این موضوع در محدوده زمانی معین. ما جفت کلید در HTML را دیدم، ما شاهد جفت کلید کن در زمینه پایگاه های داده، و ما جفت کلید در زمینه دیدم از، من فکر می کنم، یک زبان امروز. نگه می دارد در راه است. و در واقع، که واقعا چه داده جوش پایین به، داده ها و ابرداده، یا ارزش و کلید بود. بنابراین یک غیر رابطه ای پایگاه داده، چیزی بر اساس بر روی اشیاء، که در آن شما فقط انبوه همه چیز با هم قرار داده و آن به حافظه، به طور کلی می شود تصویر به عنوان، و یا تصور از، به عنوان این. و من ترک که در حال حاضر به عنوان یک مرتب کردن بر اساس روش جایگزین. و یکی است و نه لزوما بهتر از دیگری است. در واقع، بسیار در رواج این روزها سیستم های پایگاه داده هستند مانند مانگودیبی و ردیس و چند دیگر ابزار مانند، آزادانه در دسترس، اما آنها به طور فزاینده مد هستند. تا حدودی به دلیل آنها را اضافی ویژگی های بیش از این روش جدولی، بلکه به این خاطر که آنها کمی ساده تر برای استفاده، دلیل این که شما لازم نیست که به فکر می کنم به عنوان سخت در مورد بسیاری از این تصمیمات طراحی. بنابراین مثبت و منفی. پس متوجه گزینه وجود دارد فراتر از آنچه که ما فقط زمان بر روی سر برد. بنابراین اجازه دهید این کار را. بیایید انتقال کمی تماس با شرکت به برنامه نویسی وب، به طوری که ما نوع نتیجه گیری امروز با چیزی که کمی دست در را، پر کردن در برخی از شکاف از دیروز. اجازه بدهید من به اولین بار از این است. به طوری که روز گذشته به یاد می آورند ما تا به حال برخی متعارف HTML صفحاتی که در ابتدا بود، تنها HTML، و پس از آن به صورت فرعی حال CSS، شیوه نامه آبشاری. این یک برچسب جدید که ما نمی باشد دیروز ببینید، و یا ساکن در، به اصطلاح تگ اسکریپت. معلوم است شما در واقع می تواند جاسازی یک زبان به نام جاوا اسکریپت در وب سایت خود را صفحه و مطمئن وب سایت خود را صفحات انجام کاری. بنابراین چه چیزی توسط آن چیست؟ خوب، اجازه دهید من به جلو و فقط به قرض این کد برای یک لحظه. من قصد دارم برای رفتن به از Cloud9، بدون نیاز به خودتان وجود دارد فقط رتبهدهی نشده است، و من قصد دارم به این alert.HTML. من قصد دارم به قرار دادن در فایل من در اینجا. و فقط برای روشن کردن آنچه من انجام داده ام، اجازه دهید من به این آدرس بروید و برای هشدار، و شما در سلام جهان را ببینید. اما این نوع از underwhelming است. من میخواهم کاری انجام دهم کمی متفاوت است. بنابراین من قصد دارم به واقع انجام این کار. من قصد دارم به رفتن در اینجا E، و در بین تگ اسکریپت من، می گویند هشدار ( 'سلام، جهان')؛ بنابراین اطلاع آن را کمی درهم و برهم، اما من HTML کردم، که در داخل آن است زبان به نام جاوا اسکریپت، و این است آنچه به نام فراخوانی تابع و یا روش پاسخ. این یک فعل است، به معنای واقعی کلمه، در این مورد، و من با استناد به قابلیت کد هستم که شخص دیگری نوشت. به طوری که قابلیتهای یک است هشدار، بنابراین اجازه دهید به این صفحه بروید در حال حاضر و بازنگری کلیک کنید، و در حال حاضر شما کمی از تعامل را ببینید. این نوع مدرسه قدیمی و زشت است. این نوع از شما را به یاد پاپ آپ، شاید، از سال گذشته اما این کار را انجام کاری کمی برنامه ریزی است. بنابراین بیشتر از آن، اجازه دهید انجام چیزی جالب تر است. اجازه دهید من در اینجا بروید و از شر این. و من قصد دارم به جلو بروید و ایجاد یک فرم مثل دیروز بود. در واقع، شما می دانید چه؟ من قصد دارم برای رفتن به google.html، که ما آغاز شده در روز گذشته، که مانند نگاه این، از طریق که ما برای گربه جستجو اما توجه کنید این نوع از وجود دارد اشکال در نسخه فعلی. این برای گربه کار می کند، اما فرض کنید که من همکاری نمی کند و من تایپ هیچ چیز، و من به سادگی کلیک کنید ارسال کنید. این نوع از رفتار عجیب و غریب است. من به گوگل واقعی و جو در زمان، من یک پیغام خطا نمی دهد. من می خواهم به به کاربر شما نیاز به ما ارزش می دهد. پس چگونه ممکن است ما این کار را؟ خب به من اجازه رفتن به از Cloud9 و اجازه دهید من به بالای صفحه من رفتن و اضافه کردن یک تگ اسکریپت شبیه به این، که در آن من قصد دارم به نوع برخی از کد های جاوا اسکریپت. و من قصد دارم به انجام موارد زیر است. اگر (document.getelementByID-- و فراخوان که ما در مورد که در اوایل صحبت کردیم، که تابع. چه ID من می خواهم برای به دست آوردن؟ من می خواهم به q و من قصد دارم به بگو برابر هیچ چیز، مانند this-- در واقع به من اجازه استفاده از علامت های نقل قول فقط برای consistency-- برابر هیچ چیز، پس از آن هشدار ( "لطفا درخواست خود را بنویسید") در اینجا. بنابراین من به نظر می رسد چیزی شبیه به یک شرط. ما این ایده کلی در ابتدا دیده می شود. آن را مانند یکی از کسانی که پازل قطعه که مثل این بود. و چه هستم من گفت؟ خب، در اینجا، متوجه من رفتن به زیر را انجام دهید. من قصد دارم به این شکل درست نه تنها یک نام Q، که است چه می شود گذشت گوگل، اما من رفتن به آن یک شناسه محلی، همچنین Q نام دارد. اما من می توانم این را هر چیزی پاسخ من می خواهید، من فقط رفتن به آن را ساده نگه دارید و همچنین آن را پاسخ Q، فقط برای سادگی. و در حال حاضر من قصد دارم به انجام چیزی کمی بیشتر است. در فیلد های فرم در اینجا، من قصد دارم به اضافه آنچه به نام یک event handler. در ارائه، من می خواهم به پاسخ یک تابع به نام اعتبار. این هنوز وجود ندارد، این کلمه، و یا این فعل معتبر، زیرا آنچه من قصد دارم به انجام تا اینجا در حال حاضر است اضافه کردن برخی از کد. من قصد دارم به می گویند تابع اعتبار. من قصد دارم به تورفتگی این و اضافه کردن یکی دیگر از آکولاد اینجا و یکی دیگه اینجا. در نظر بگیرید چه این در حال حاضر انجام می دهند. من now-- این فکر می کنم به عنوان ایجاد من قطعه پازل را که قبلا نمی وجود داشته باشد، و من این پازل به نام ام قطعه قطعه پازل اعتبار. هدف خود را در زندگی این است که اجرای چهار خط کد داخل آن است. اگر کد document.getElementById بنابراین مفهومی، است که برای رفتن به این عنصر، عنصر HTML است که منحصر به فرد ایده فقط q، و پس از آن حتی اگر نحو به نظر می رسد کمی عجیب و غریب، که برابر برابر فقط به معنی برابر است. بنابراین این بدان معناست اگر عنصر با شناسه منحصر به فرد Q، که بدست، هیچ ارزش، آن را فقط برابر نقل قول را تمام کردن، هیچ چیز در آن وجود دارد، پس از آن چه من می خواهم کاری انجام دهید؟ من می خواهم به فریاد زدن در کاربر. و ما جزئیات بزرگ نیست اینجا. من قصد دارم به بازگشت نادرست است. که خطا کرده است. دیگری، من قصد دارم به بازگشت واقعی است. بنابراین یا آن کار می کرد و یا آن را نداشت. درست یا نادرست. و در حال حاضر اگر من هر گونه اشتباه را ندارد، اجازه دهید من این ذخیره و بارگذاری مجدد این. و من اجازه فقط دو بررسی کنید که من نیست، در واقع، هر گونه غلط املایی، بنابراین من خودم شرمسار است. بیایید ببینیم که اگر این کار می کند. بنابراین در حال حاضر من قصد دارم به نوع گربه. آن را هنوز هم کار می کند، و یا آثار نیمه، حداقل. حالا من به آن بازنگری، و در حال حاضر اجازه من ارائه کنید بدون تایپ کردن anything-- لعنتی، آن را شکست. یک لحظه. اجازه دهید من کنسول را باز [نامفهوم] ورود به سیستم، بارگذاری مجدد صفحه. اجازه بدهید من این دوباره امتحان کنید. آه، آن را لعنت کند. فراموش کردم. من ساخته شده تایپی. من به یاد داشته باشید آنچه در آن است. .ارزش. می خواستم بگویم اگر مقدار از این عنصر ID که q است برابر است، پس از آن در کاربران داد. بنابراین در حال حاضر اجازه دهید من نفس من نگه دارید. برو که رفتیم. ما میرویم آنجا. لطفا درخواست خود را بنویسید. پس از آن به من اجازه نمی از طریق. من می تواند نوع بازیگوش با این، و به جای چک کردن برای هیچ ارزش، من می توانم چیزی بگویم مانند، بیش جستجوی گربه، و در حال حاضر ما فقط می توانید به شوخی بیشتر اجازه دهید جستجو کاربران برای سگ اگر او می خواهد، یا اگر من در اینجا بروید و جستجو برای گربه، در حال حاضر نمی توانم. پس چه غذای آماده را در اینجا؟ بنابراین یکی، ما را به معرفی جهان ما را از HTML و CSS، قابلیت های برنامه نویسی. من در واقع هم اکنون می توانید تصمیم گیری در کد. پیش از این، همه من می توانم انجام دهید این است علامت تا محتوای متنی و یا محتوای گرافیکی و به آن چه به نگاه مانند و که در آن به نمایش. در حال حاضر من در واقع می توانید بپرسید پرسش از صفحه وب و تصمیم گیری بر اساس بر روی آن، و سپس از کاربر اگر من نیاز به فریاد زدن در او و یا او. بنابراین اجازه دهید سعی کنید چیزی در خود ما با این. برو جلو، من اجازه باز کردن اسلاید بعدی در اینجا، و فقط اشاره می کنند یک چیز است. درست مانند CSS، ما می توانیم عامل از کد جاوا اسکریپت خود را به یک فایل جداگانه، شما می توانید همین کار را انجام با جاوا اسکریپت به عنوان با CSS. و شما استفاده کنید که با استفاده از یک منبع ویژگی تگ اسکریپت است. اما ما همه چیز برای پیچیده تر نیست. در عوض، اگر شما می توانید رفتن به این صفحه نمی، but-- اجازه دهید من این حرکت در اطراف order-- رفتن به، اگر شما می توانید، این صفحه در اینجا. این URL را در اینجا. آن را در اسلاید امروز است. شما ممکن است به بازنگری به دلیل من چند چیز اضافه شده است. اما وجود دارد که در آن برخی از پازل در انتظار. و این ما فرصت می دهد، در یک زمینه کمی بیشتر سرگرم کننده، به اب شلپ شلپ با برخی از جاوا اسکریپت. و هنگامی که شما وجود دارد، من توضیح آنچه در انتظار. مطلع سبز. رنگ آبی. مجموعه سبز، مجموعه قرمز است. اوه. متاسف. این میزان است ما اسناد و مدارک برای این چالش است. و این است که رفتن به محل کار به شرح زیر است بنابراین آنچه از شما در این داشته صفحه یک دسته کامل است از پازل تصویر توسط یک دوست در دانشگاه استنفورد. بنابراین آنچه که شما شاهد در اینجا است که تقریبا نوع یکی از کسانی که پازل چشم سحر و جادو، اما اگر شما فقط در آن خیره، هیچ چیز را به پاپ در شما. در عوض، چیزی است پنهان در این تصویر. و آن را به روش زیر پنهان است. تصاویر، همانطور که می دانید، می تواند متشکل از فقط سه رنگ. برخی قرمز، برخی از آبی، سبز و برخی از. و ما می توانیم تمام را رنگ در رنگین کمان با مخلوط کردن این سه رنگ به نحوی. بنابراین این به نظر می رسد بیشتر به سبز و آبی، اما به عنوان نیک می گوید در اینجا، این تصویر پازل آهن یک پازل است. این شامل یک تصویر از چیزی مشهور، با این حال، تصویر تحریف شده است. هدف معروف در مقادیر قرمز است. ارزش با این حال، قرمز همه 10 تقسیم شده است. به طوری که آنها توسط یک عامل از 10 بیش از حد کوچک است. بنابراین به عبارت دیگر، نیک یک تصویر اصلی در زمان، و او اشباع همه از قرمز از آن، کاهش مقدار قرمز جوهر، اگر شما خواهد شد، در آن است. ارزش آبی و سبز همه فقط بی معنی، ارزش های تصادفی، با نام مستعار سر و صدا طراحی شده به پنهان کردن این تصویر واقعی است. پس چه نیک بود او بود باب روز کردن قرمز و سپس او فقط انداخت تصادفی مقدار آبی و سبز در تصویر به نوع مبهم آنچه در واقع هنوز هم وجود دارد. شما باید این انحرافات خنثیسازی به فاش کردن تصویر. اول، مجموعه تمام مقادیر آبی و سبز به صفر آنها را به خارج از راه، و در نتیجه نگاه کنید. سپس ضرب هر مقدار قرمز 10، پوسته پوسته شدن به بالا و به حدود مقدار نهایی آن است. شی معروف چیست؟ بنابراین از همه شما این مستطیل در مرورگر شما در حال حاضر. و متوجه است که برخی وجود دارد کد استارتر، پس به صحبت. این کد جاوا اسکریپت است که نیک است را برای شما نوشته شده است. و توجه داشته باشید که که یک خط در وسط است که با بریده بریده شروع می شود، که چه به طور کلی یک نظر گفته می شود. این بدان معنی است یک عبارت را به برنامه نویس که هیچ معنای کاربردی است. این فقط یک نشانه بصری به انسان است. بنابراین شما می توانید پیش بروید و حذف فقط آن خط، و فوق العاده مراقب باشید به نه حذف و یا تغییر هر چیز دیگری. و اجازه دهید شما را از طریق این کد می کند و من آن را ترک به شما برای شکل تصویر مخفی. این خط اول که در اینجا من فقط برجسته به شما می دهد به شرح زیر است. در سمت چپ، شما آنچه را به نام یک متغیر که نیک است خودسرانه، اما منطقی به نام IM برای تصویر. در سمت راست که علامت مساوی، او گفت من جدید را نقل قول، تمام کردن "تصویر ساده". تصویر ساده، در این زمینه همان چیزی است که یک کلاس به نام، خوب، آن را به نوعی مانند یک class-- از لحاظ فنی یک prototype-- اما در واقع، این است که به من یک شی جدید، محتویات که فایل، آهن puzzle.png. به عبارت دیگر، نیک ایجاد کرده است این مفهوم از یک تصویر ساده به طوری که ما می تواند، برای آموزشی اهداف، بازی با تصویر و تغییر رنگ قرمز آن، سبز و آبی ارزش. و چگونه ما کار می کنید که؟ این نحو تا حدودی مرموز در اینجا نوع مانند بلوک تکرار که برخی از شما در ابتدا دیدم زودتر امروز، که در آن شما می توانید 10 بار تکرار کنید. در این مورد، نیک است نه شده سخت یک عدد مانند 10. به جای او می گوید، مقداردهی اولیه یک متغیر به نام x به 0، بررسی اگر x کمتر از است عرض تصویر. و به این ترتیب به مناسب تر، تصویر است که متغیر، نقطه به معنی رفتن در داخل آن و عرض آن، و پس از آن پرانتز باز، بسته پرانتز راه یک برنامه نویس است از گفتن این یک تابع است. این یک روش است. این قابلیت است شخص دیگری نوشت. استفاده از آن و به من بدهد به جواب است. سپس x ++ یک راه فانتزی است گفت: بعد از اینکه شما این یک بار انجام داده ام، افزایش x را با 1. به عبارت دیگر، این راه یک برنامه نویس است القای یک حلقه که رفتن به تکرار بیش تمام ستون در یک تصویر. یک تصویر فقط یک شبکه از است نقطه، سطر و ستون از نقاط. این یک راه از تکرار است بیش از همه از این ستون. و در داخل، در عین حال، ما در حال تکرار بیش از ارتفاعات، در اینجا و اینجا و اینجا. بنابراین این فقط یک راه، جستجو است، تقریبا مثل یک ماشین تحریر مدرسه قدیمی، به بیش از رفتن کل تصویر تکراری. حتی که کاملا به طور کامل نمی روشن، فقط در ایمان را در حال حاضر، که این سه خط کد با هم که اجازه می دهد شما را به تکرار نگاه در هر پیکسل، هر که در تصویر نقطه. یک پیکسل چیست؟ خب، تا روشن شود، اگر ما نگاه در اصلی و زوم در، اگر شما واقعا قرار دادن چشم خود را به صفحه نمایش کامپیوتر، که فقط یک دسته کامل از نقطه، چند هزار نقطه بسته بندی شده هم وجود دارد. و بنابراین، آنچه شما در مورد کاری انجام دهید؟ هر یک از این نقاط، یک تعریف نهایی، نتیجه آن چیزی را به طور کلی است نام RGB، قرمز، سبز، آبی، که دوباره، را می توان به ترکیب شما هر تعداد از رنگ. در واقع، اگر شما به یاد داشته باشید از بسیاری از سال ها پیش، صفحه نمایش پروژکتور مانند این چیزها استفاده می شود که یکی از لنز اما سه. یکی از آنها تف نور قرمز، یکی از آنها تف کردن چراغ سبز، یکی از آنها تف نور آبی. و اگر شما در یک مدرسه راهنمایی بود مثل من بود که در آن بودند هرگز درستی تراز وسط قرار، شما همیشه تماشای فیلم تاریخ که شد کمی تحریف شده، چون سه رنگ شد ترکیب درستی. اما معلوم است که هر یک از این مقادیر قرمز، سبز، و آبی، می توانید یک عدد در ارتباط با آنها داشته باشد. به عنوان مثال، 0 برای قرمز به معنی هیچ قرمز، 0 برای سبز به معنی رنگ سبز، و 0 برای آبی به این معنی هیچ آبی رنگ است. بنابراین اگر شما هیچ قرمز، رنگ سبز، و هیچ آبی، چه رنگ دارید؟ مخاطبان: [نامفهوم] دیوید مالان: شما می امیدوارم، آن سفید باشد. متاسفانه، این operates-- با عرض پوزش؟ مخاطبان: [نامفهوم] دیوید مالان: بنابراین شما در واقع سیاه و سفید، در این مورد. بنابراین اگر شما هیچ کدام از این رنگ روشن، شما باید سیاه و سفید. با این حال، اگر شما، اجازه دهید بگویم زیادی از آنها، مانند بسیاری از قرمز، 255 از آن، بسیاری از سبز، و بسیاری آبی، که سفید است. بنابراین این دو افراط هستند. بنابراین با این منطق، اگر من یک مقدار زیادی از رنگ های قرمز و سبز و بدون آبی، چه رنگ است؟ مخاطبان: [نامفهوم] دیوید مالان: راست، بدیهی است. و پس از آن هیچ قرمز، بسیاری از سبز، هیچ آبی، و پس از آن اگر شما به خوبی have--، ما فقط پایان آن، فقط به خاطر، اما این، البته، در حال حاضر، آبی است. و در حال حاضر شما می توانید این رنگ ترکیب. در حال حاضر به عنوان یک کنار، اگر هر کدام از شما تا کنون انجام برخی از طراحی وب سایت واقعی، شما ممکن است در واقع علامت مانند این را ببینید. FFF-- و در واقع، آن را احتمالا حتی نیست. این FFFFFF است. هر کسی تا کنون دیده است F و E است و A through-- پس از آن معلوم، ما دیروز در مورد اعشاری صحبت کردیم، و امروز، نوع مورد دهدهی. امروز ما در مورد دودویی صحبت کردیم. معلوم است، مبنای شانزده است که بسیار سیستم پایه مشترک برای استفاده در محاسبات. دودویی دو، اعشاری 10 است، سحر و جادو 16 است. و معلوم است، چگونه می توانم شما در مبنای شانزده به حساب؟ صفر، یک، دو، سه، چهار، پنج، شش، هفت، هشت، نه، چه چیزی شما پس از نه استفاده کنید؟ عدد بعدی چه خبر؟ ما در حال حاضر صفر استفاده می شود. من نیاز به 16 از این. صفر، یک، دو، سه، چهار، پنج، شش، هفت، هشت، نه، شما نیاز به برخی کنوانسیون دلخواه. و چه انسان تصمیم گرفت برخی از زمان پیش که پس از نه می آید نامه A و B پس از آن و پس از آن C. بنابراین راه شما در مبنای شانزده به حساب صفر، یک، دو، سه، چهار، پنج، شش، هفت، هشت، نه، A، B، C، D، E، F، و است که مشاهده شده شما تمام راه را، که معلوم است، به 15. بنابراین صفر تا 15 صفر تا است F. حالا چرا مهم است که؟ خوب، هنگامی که شما دو را F، این که شما چگونه بیان 255. بنابراین داستان کوتاه، در طولانی جهان از فتوشاپ، که نرم افزار طراحی گرافیک، در جهان توسعه وب، که در آن شما باید تعداد زیادی از رنگ ها، البته، به بازی با، اغلب برنامه نویسان بیان آن در مبنای شانزده، فقط به خاطر اینکه آن را به سمت به کمی ساده تر است. حتی اگر در نگاه اول آن را بسیار پیچیده تر است. بنابراین در هر صورت، این مهم است چون نیک در دانشگاه استنفورد به ما شش قطعه از قابلیت داده که شما، برنامه نویسان جوانه زدن، در حال حاضر توانایی به استفاده از. ساخته شده را به این وب صفحه شش توابع است، شش روش که نیک نوشت. سه نفر از آنها به شما یک شماره را دریافت کنید، قرمز، سبز، و یا یک مقدار آبی است. سه نفر از آنها که ارزش مجموعه. و این تأکید فقط متغیرهایی هستند، بنابراین شما نیاز به دانستن چه کسانی هستند. بنابراین با این سه تابع، برای اولین بار از این چیزها است برای رفتن به یک مختصات x، و دوم از این چیزها است برای رفتن به یک مختصات y. به عبارت دیگر، که نقطه، که پیکسل می خواهید برای دریافت سبز، دریافت آبی، دریافت از رنگ قرمز. و پس از آن در اینجا، این است که رفتن به X، این است که برای رفتن به یک مقدار y، و این است که به یک عدد. بنابراین اجازه دهید اولین انجام خط از این با هم و پس از آن من آن را به شما را ترک سعی کنید به استنباط از بقیه است. بنابراین در هر دستورالعمل در این صفحه، ما نیاز برای افزایش قرمز توسط یک عامل از 10، و ما نیاز به حذف سبز و حذف آبی رنگ است. بیایید با سناریوهای دوم شروع می شود. بنابراین اگر من می خواهید، و من قصد دارم که متن با استفاده از برخی فضاها، اگر من می خواهم به مجموعه ای از قرمز، سبز، یا مقدار آبی، من قصد دارم به زیر را انجام دهید. تصویر، im.setBlue، و سپس بر اساس دستورالعمل من در اینجا، چه سه چیز باید من تایپ در داخل پرانتز در حال حاضر؟ من نیاز به مقدار x از مقدار y را، و چه تعداد باید قرار داده که من در اینجا اگر من می خواهم برای خلاص شدن از رنگ آبی، در مورد این داستان اینجا است؟ فقط صفر است. اگر من می خواهم هیچ آبی، من فقط رفتن به آن را تغییر دهید به صفر است. حالا اجازه دهید فقط روکش آنچه این حال انجام است. من در اینجا در این بالا خطوط دوم و سوم، من ادعا کرد که دو حلقه ها، حلقه تو در تو، اگر شما خواهد شد، که در حال رفتن به اثر پیشرفت از چپ به راست، بالا به پایین بیش از همه از X ارزش ها و همه مقادیر y است. از آنجا دوباره، یک تصویر است فقط یک شبکه از سطر و ستون. پس این است که برای به دست آوردن خلاص شدن از شر تمام آبی رنگ است. اجازه دهید من در خط بعدی به شما را ترک. چگونه می توانم از همه سبز خلاص شوید؟ مخاطبان: [نامفهوم] دیوید مالان: خوب. مخاطبان: [نامفهوم] دیوید مالان: خوب. و من قصد دارم به زوم کردن، و فقط مراقبت از آن شما هر گونه غلط املایی انجام نداده ام. و اگر شما راحت هستید با آنچه شما انجام داده ام، جلو بروید و کلیک بر روی دکمه اجرا / ذخیره و ببینید که چه می کنید. و دوباره، ساخته ایم، فقط سه تغییر. ما پاک شده است که برای اولین بار از نظر و آن را جایگزین با این دو خط کد. و آن را OK اگر شما نیاز به ضربه اجرای / ذخیره را فشار دهید چند بار به تعمیر چیزی. و اجازه دهید من نیز در زوم بر روی من کد بنابراین شما می توانید رونویسی می کنند. خوب است. بنابراین من اندرو تا به آنچه در به نظر می رسد یک اشتباه است. او فقط یک سیاه و سفید بزرگ مستطیل بر روی صفحه نمایش خود را. آیا هر کس دیگری دارند یک مستطیل بزرگ سیاه و سفید؟ مخاطبان: بله. دیوید مالان: مستطیل سیاه و سفید بزرگ؟ OK، بنابراین اجازه دهید فکر می کنم در مورد این به چه معناست. ما گفت که صفر، صفر، صفر، تا رنگ سبز، سرخ، هیچ آبی، است که به شما سیاه و سفید است. و معلوم است که بسیاری از لپ تاپ های ما فقط وفاداری به اندازه کافی ندارد. شما نمی توانید کاملا گفتن وجود دارد است که در واقع چیزی وجود دارد. و اگر شما نوع شاید تکیه صفحه نمایش خود را به جلو و عقب، شاید می دیدن یک چیزی کمی وجود دارد؟ شاید، نوع، نوع؟ آن را کاملا سیاه و سفید نیست. مخاطبان: [نامفهوم] دیوید مالان: اسپویلر! برخی از قرمز وجود دارد وجود دارد، اما به یاد داشته باشید از مشخصات از مشکل، نیک آن باب است. او آن را اشباع تا حدودی، اما نه تمام راه را به صفر است. بنابراین اگر ما خواهید بزرگ مقدار از رنگ های قرمز، اجازه دهید من در این ترفند ارائه شده است. به من اجازه زوم بر روی صفحه نمایش است. و اجازه دهید من به جلو و می گویند مقدار برابر im.getRed (X، Y). این خط از کد است که به من چیزی به نام یک متغیر است. من خودسرانه، اما، مسلما، منطقی به نام متغیر من چه، ظاهرا؟ میزان. مقدار فقط. من می توانم ام این هر چیزی که من می خواهم، اما من با استفاده از این تابع دیگر که پیشتر توضیح برای به دست آوردن مقدار قرمز در x کاما y است. چرا من را انجام داد؟ چه می خواهید انجام دهید در اینجا؟ شما نیاز به add-- مخاطبان: [نامفهوم] دیوید مالان: بله، شاید تکثیر آن توسط 10. و اگر شما این را نمی دانند، من رفتن به جلو بروید و این کار را. من قصد دارم به جلو بروید و بگو، من می خواهم مقدار قرمز من می خواهم به هر آنچه است در قرمز، بار 10، و ستاره، ستاره خود را صفحه کلید است the-- انجام X استفاده کنید. با استفاده از ستاره. این که چگونه چیزهایی که شما را چند برابر در بسیاری از زبان های برنامه نویسی. بنابراین با توجه به شهود کریم، ذخیره شده در این متغیر به نام مقدار، این است که چقدر قرمز من در XY محل می خواهید. چگونه، در حال حاضر، من را که پیکسل است که تعداد را داشته باشد؟ شما در حال حاضر قبل از این انجام. شما مجموعه ای از سبز و آبی به هیچ ارزش، به صفر است. مخاطبان: [نامفهوم] دیوید مالان: بله، خوب شما آن را به 10 را نمی خواهم. شما در حال حاضر ریاضی اینجا انجام داد. بنابراین ما در حال گرفتن ارزش قرمز، که یک عدد کم است، احتمالا. ما در حال ضرب تا 10. آنچه شما می خواهید برای انجام با مقدار متغیر در حال حاضر؟ مخاطبان: [نامفهوم] دیوید مالان: خوب. بنابراین im.set-- چه؟ مخاطبان: setRed. دیوید مالان: setRed، در XY محل. آره و فقط مقدار. به عبارت دیگر، یک متغیر یک حفره یا سوراخ موقتی است که شما می توانید هر چیزی که شما می خواهید در قرار داده است. ما اتفاق می افتد به قرار دادن یک تعداد در آن، در حال حاضر. ما آن را با ضرب ام 10 آن را به بزرگتر. و حالا من به جای آن متغیر که آرگومان سوم، و یا ورودی به مجموعه ای قرمز است. و به طوری که هنگامی که شما پایان برساند که، و توجه داشته باشید از نیمه دونقطه و پرانتز. برو جلو و با کلیک اجرا / دوباره ذخیره کنید، و شما باید ببینید، جادویی، چه در واقع آنجا. [؟ اروی،؟] چه چیزی وجود دارد؟ برج ایفل در کامل قرمز، کاملا تاریک است. باید آن را واضح تر می شود در حال حاضر، بله؟ خوب. و اندرو، جعبه بیشتر سیاه و سفید؟ مخاطبان: [نامفهوم] دیوید مالان: بسیار خوب. بنابراین من این بر روی صفحه نمایش نگه دارید. اگر شما می خواهید به بازی با این بعد، من این کار را برای شما بازسازی می کند. اما این کد اینجا که دقیقا. چرا ما یکی دیگر انجام دهد. اجازه دهید من در پایین حرکت کمی. بنابراین در این مورد، پروژکتور واقعا آن را عدالت نمی. اما در صفحه نمایش شما، شما احتمالا یک جعبه بسیار قرمز و بسیار سیاه و سفید. این هم یک پازل است که چیزی مشهور نشان می دهد. با این حال، تصویر تحریف شده است. تصویر حقیقی، این زمان است، در ارزش آبی و سبز. با این حال، همه آنها تقسیم شده است 20 بنابراین مقادیر بسیار کوچک هستند. مقادیر قرمز تنها اعداد تصادفی، سر و صدا. خنثیسازی این انحرافات به فاش کردن تصویر درست است. بنابراین نیک پس از آن به شما می گوید چه باید بکنید. مجموعه ای از مقادیر قرمز به صفر، و پس از آن خراب و فاسد نمی آنچه در آن است. سپس آبی ضرب و ارزش سبز 20. پس از آن تقریبا همان برنامه مانند قبل، اما شما در حال بازگرداندن روند. و من به کد من از قرار دادن قبل بر روی صفحه نمایش در مورد شما می خواهید به اشاره به آن و یا بازی های بیشتر با آن یکی. اجازه دهید من زوم بر روی آن. اما حل تصویر مس پازل، شماره دو. مخاطبان: [نامفهوم] دیوید مالان: خوب، پس این من رفتن به دادن به عنوان بسیاری از نکات است. بنابراین من would-- آه، اجازه دهید ببینید، شما یک اشتباه تایپی در اینجا. بنابراین به یاد داشته باشید، این در اینجا در واقع نیاز برای رفتن وجود دارد. پس چه من پیشنهاد، اگر شما می خواهید تمرکز بر روی این یکی، پاسخ وجود دارد. اگر شما می خواهید به رونویسی که، که باید یکی از اولین کار دریافت کنید. و پس از آن شما می توانید به عنوان استفاده از آن الهام بخش برای یک ثانیه. خوب. خوب است. و برای کنجکاو، این یک مثال ساده است یک علم یا یک هنر نام پنهاننگاری، هنر پنهان کردن اطلاعات در تصاویر. به طور معمول، تصاویر ممکن است نهان نگاری بسیار پرهیاهو با آرم در پایین گوشه، اما به وضوح، شما می تواند بسیار پیچیده تر در مورد آن و در واقع پنهان کردن تصاویر در تصاویر به نحوی با این روش. نگاهی 30 ثانیه دیگر، و پس از آن ما حداقل اعلام آنچه شما باید ببینید. و من سوم ترک یکی به عنوان یک ورزش در خانه، اگر شما می خواهم بیشتر از یک دوست به چالش کشیدن این آخر هفته. و من فکر می کنم اندرو ممکن برای اولین بار آن شده اند. تصویر دوم است، اندرو؟ مخاطبان: مجسمه آزادی. دیوید مالان: مجسمه آزادی خواهد بود پاسخ این زمان. بنابراین دوباره، فقط برخی از ساده نمونه، که هدف آن است که به شما یک حس چگونه به ما ابتدا تصویری ترجمه شده به بلوک به آزار دهنده بیشتر و بیشتر کد پیچیده است، اما همه از ایده هنوز دقیقا یکسان هستند، البته با معرفی در حال حاضر از مفهوم یک متغیر بودن قادر به ذخیره چیزی به طور موقت. اجازه دهید یک دست، فقط به حال نقطه اتصال به چیزی کمی بیشتر در دنیای واقعی. وقتی که شما آماده هستید، اگر شما می توانید رفتن به این URL بر روی صفحه نمایش. که هم در کپی خود را از اسلاید، developers.google.com/maps~~V. اجازه دهید در واقع انجام کاری واقعی، پس به صحبت، در وب با استفاده از API نقشه های گوگل، و یا رابط برنامه نویسی کاربردی، به روش زیر. Google، مانند بسیاری از شرکت ها، فراهم می کند بسیاری از قابلیت های رایگان که شما می توانید استفاده کنید برای ساخت خود را برنامه های جالب را. در واقع، اگر شما همیشه استفاده می بارگذاری برای گرفتن یک تاکسی یا یک ماشین، شما احتمالا می دانید که حال بارگذاری است نقشه و آن را نشان می دهد اتومبیل بر روی آن. این است که، به عنوان بهترین من می توانم به، نقشه های گوگل API. آنها در واقع با استفاده از نقشه گوگل، اما حال بارگذاری یک شرکت نقشه برداری نیست، و نه می شود که مشکل به ویژه جالب برای حل در بالای خود مشکل برای سرویس. و به طوری که آنها در حال ایستاده، دوباره، بر روی شانه از دیگران، گوگل در این مورد. به طوری که آنها با استفاده از نقشه های گوگل است، اما خود را خدمات اتومبیل و سایر ویژگی های از قبیل. بنابراین ما قصد داریم به استفاده این به انجام موارد زیر است. و اگر من هم سریع رفته، فقط با من تماس بیش در یک لحظه. مبارک به روکش برخی از چیزهای تصویر. شما باید خودتان را ببینید در یک صفحه مانند این. خیلی خوب گوگل، و آنها در میان بهترین هستید ارائه نه تنها رابط های برنامه کاربردی، اما رابط های برنامه کاربردی رایگان است که شما می توانید با بازی و یا استفاده تجاری. آنها شروع اگر مقدار فضای مجاز خود شارژ شما بالا است، اما من جلو در پیش رفت و ایالات متحده امضا برای یک حساب کاربری رایگان که، امیدوارم، 10 کامپیوتر ما برای به طور ناگهانی جدا نمیکند. بنابراین امیدوارم این تظاهرات کار خواهد کرد. و توجه کنید که آنها رابط های برنامه کاربردی برای آندروید، iOS، خدمات وب، و وب، هر چه که باشد. بیایید در وب تمرکز می کنند. بنابراین کلیک بر روی جعبه رنگ صورتی، وب، و شما منجر شود، امیدوارم، به یک صفحه اینجا. و آنها یک دسته کامل از رابط های برنامه کاربردی کردم. و می توان آن را کمی قریب به اتفاق در ابتدا، اما من با ما از طریق آنچه ما می خواهیم هدایت. در بالا سمت چپ نقشه های گوگل است جاوا اسکریپت API، API های جاوا اسکریپت. پس پیش بروید و کلیک کنید که یکی از. و است که شما را در حال حاضر منجر به زیر صفحه، توده مردم و کد نمونه. به من اجازه زوم در اینجا. و اجازه دهید من از ما to-- پایین حرکت به جایی که در آن می گوید مراحل شروع سریع. صفحه نمایش خود را باید مثل من است. و دو مرحله وجود دارد، دریافت یک کلید و شروع به در حال توسعه. من در حال حاضر یک گام برای انجام ما، گرفتن یک کلید به اصطلاح. و این یک ایده مشترک است. یک کلید API است به طور کلی فقط یک عدد تصادفی بزرگ و یا رشته ای که شما قرار است برای چسباندن به کد خود را، به طوری که گوگل می داند که شما هنگامی که شما با استفاده از خدمات خود را، API خود را. به این معنا نیست که ما هر چیزی متهم شده است. و در حال حاضر، کلیک کنید، به جای یکی، کلیک کنید شروع به توسعه. اگر شما فقط می تواند به من موج در صورتی که مطمئن نیستید که در آن ما هستند. بنابراین ما فقط خراش سطح، در اینجا اما آنچه من فکر کردم می شود قانع کننده است که در واقع همه ما، با استفاده از از Cloud9 در یک پنجره و این آموزش در یک پنجره دیگر، اجازه می دهد تا در واقع خود ما را دریافت نرم افزار و در حال اجرا که تعبیه یک سفارشی گوگل نقشه در صفحه وب خود ما، و سپس می افزاید یک یا دو ویژگی. اما ما فقط خراش سطح آنچه ما می توانیم انجام. پس فقط یک بررسی سلامت عقل سریع است. است هر کس در این صفحه، نقشه های گوگل API جاوا اسکریپت؟ باید بگویم شروع شده است. ما قصد داریم از طریق رفتن همه چیز به هر وسیله. OK، در یک برگه دیگر، اگر شما نمی آن را باز، نمی رویم به از Cloud9 و خود را به تنها یک تب جدید، در نهایت. پس دوباره، c9.io از دیروز c9.io، و فقط یک فایل جدید ایجاد کنید. و به جلو بروید و پاسخ آن را هر چه شما می خواهم. من map.html معدن نامیده می شود. هر چیزی پایان دادن به در اچ پاسخ آن است. و شما باید تقریبا می شود جایی که من در این روند تنها با یک چشمک زدن سریع در خالی تب چیزی مانند map.html. یا فایل، فایل جدید این زمان. و در حال حاضر، بیش از در نقشه های گوگل API جاوا اسکریپت، ما خواندن را جست و خیز از طریق تمام این متن. اما توجه کنید که سلام جهان است در واقع در همه جا، شما آن را در حال حاضر. سلام جهان است این بزرگ رنگارنگ نمونه ای از یک دسته کامل از HTML. برو جلو و کپی و تنها که رب HTML، بنابراین از نوع توضیحات در بالای تمام راه را به تگ HTML نزدیک، رفتن جلو و کپی همه که-- دوباره، که تحت سلام جهان را example-- و رب که به تب از Cloud9 خود را، به طوری که در حال حاضر صفحه نمایش خود را باید تقریبا مثل من است. و شما می توانید آن را ذخیره کنید، اما آن بار نیست فقط رتبهدهی نشده است. بیایید در نگاه اول کد و ببینید که اگر ما نمی توانیم استنباط کنیم و یا یادگیری از آنچه در آن گوگل است تا به حال به ما کورکورانه کپی و چسباندن. آنها فقط می خواهند برای کمک به، به معنای واقعی کلمه، ما آغاز شده، اما که بسیار وجود دارد پیچیدگی در واقع وجود دارد. هر گونه سوال فقط رتبهدهی نشده است؟ ما امن به جعل جلوتر هستید؟ خوب. بنابراین به سرعت، اجازه دهید فقط انجام برخی از چک سلامت عقل سریع. خط یکی از آنچه که من ببینید، و امیدوارم، شما را مشاهده کنید، به چه معنا است، DOCTYPE HTML؟ کریم، یاد می آورند؟ مخاطبان: [نامفهوم] دیوید مالان: بله. در اینجا HTML 5 می آید. در همین حال، خط دو در صفحه نمایش در اینجا به معنای هی مرورگر در اینجا می آید واقعی HTML. خط سه مرورگر است که هی، در اینجا می آید سر. خط چهار است، البته، هی مرورگر در اینجا می آید عنوان. خط پنج چیست؟ در واقع، این را نمی کند واقعا هیچ چیز برای ما است. در این مورد، آن را فقط تغییر اندازه صفحه را به طور پیش فرض. خط شش، ما در مورد صحبت کردیم، اما آن رمزگذاری کاراکتر مشخص می کند. راه های مختلف برای رمزگذاری فایل وجود دارد، به ویژه برای زبان های خارجی. UTF-8 فقط گرایش به طور پیش فرض. بنابراین در حال حاضر ما در خط دید هفت تا 16، برخی از CSS. و حتی اگر ما دیده می شود نیست همه این چیزها قبل، ما به نوعی می تواند استنباط. بنابراین خط هشت ابزار، هی مرورگر، درخواست همه از موارد زیر که دو تگ، ظاهرا؟ HTML و بدن متن. بنابراین با کاما از هم چیز جدید وجود دارد. و این فقط یک راه است تعیین برچسب ها متعدد در یک بار. سپس ما آکولاد کردم. بنابراین ظاهرا، این می گوید که مرورگر را از ارتفاع صفحه 100٪. بنابراین حتی اگر بسیار کمی وجود دارد محتوا، را تمام صفحه، را چیزی پر کردن صفحه. را بر روی نقشه در نهایت صفحه را پر کنید. حاشیه، به چه معنا است؟ که معمولا مانند دلخواه فضای سفید در اطراف لبه که برخی از طراح مرورگر فقط تصمیم باید وجود داشته باشد، به دلیل آن نوع باعث می شود همه چیز نگاه پاک کن. اما ما نمی خواهیم که نیست. ما می خواهیم نقشه رفتن تمام راه را به لبه. پارچه کشی، شبیه در روح به حاشیه. حاشیه معنی خارج، یعنی پد در داخل، اما از همان نوع معامله است. آن را کمی از یک بافر است بین شما و لبه. و سپس خط 13 خوب است فرصتی برای بررسی سریع. چه نقشه علامت تیز معنی یا معنی نقشه برچسب؟ چه که به مراجعه، در اصل؟ مخاطبان: [نامفهوم] دیوید مالان: دقیقا. این ویژگی، این ویژگی CSS امر به فقط یک چیز، تگ HTML است که دارای یک ID از نقل قول، تمام کردن "نقشه". و اکنون اجازه دهید به جلو سریع، اسکرول به پایین از فایل، که خیلی دور نیست، و اطلاع بر روی خط 19، اگر شما آن رب دقیقا مثل من، خط 19 است فقط یک div است، که یک بخش از صفحه، که روز گذشته من نام یک منطقه مستطیل شکل است. هیچ چیز در آن است. این یک تگ باز، برچسب بستن است. اما آن را ندارد یک ID منحصر به فرد. پس چه به نظر می رسد اتفاق می افتد در اینجا گوگل به آماده صفحه وب ما دارای ارتفاع کامل 100٪، و هیچ بالشتک، بدون حاشیه، چون آنچه ما در حال رفتن به قرار دادن در داخل این DIV، که ID منحصر به فرد است نقشه، نقشه های جاسازی شده واقعی است. و ما می خواهیم آن را برای پر کردن صفحه و نه فقط است برخی از مستطیل کوچک در وسط. بنابراین خط 14 به طور مشابه بر از نقشه خود را باید به ارتفاع 100٪ است. بنابراین در حال حاضر متوجه بین خطوط 20 و 28، این کد جاوا اسکریپت است. و این است که، حتی اگر آن را نحوی کمی عجیب و غریب، وجود دارد نه همه که بسیار در اینجا. در خط 21، این است که اعلام چیزی به نام یک متغیر است. به جای آن را مقدار، مثل ما قبل انجام داد، ما در حال دقیق تر گفت VAR، که فقط بدان معناست متغیر است. ما می تواند در استفاده می شود که کد نیک، اما او نبود، بنابراین من به زحمت نیست انجام آن باشد. این یک متغیر به نام نقشه، و پس از آن وجود دارد یک تابع که ظاهرا initMap نامیده می شود. پس این است که مانند سفارشی خود ما قطعه پازل در ابتدا. ما یک تکه ایجاد کرده اید قابلیت های به نام initMap، و شما می توانید نوع استنباط اینجا چه خبره. در سمت چپ، ما یک متغیر کردم، بنابراین ما قصد داریم برای قرار دادن زیر چیزی در داخل آن متغیر، از راست به چپ. به سمت راست می گوید، هی مرورگر من یک نقشه جدید گوگل است. و google.maps.map فقط یک راه بد بو است مشخص است که این قابلیت متعلق به نقشه های گوگل. پس از پرانتز، ما دیده ایم قبل از این، هی مرورگر، دریافت من از عناصر در صفحه، برچسب در صفحه که ID منحصر به فرد is-- مخاطبان: [نامفهوم] دیوید مالان: --map. و آنچه در جریان است، به خوبی، این خط با هم، خط 23، اساسا گفت، هی مرورگر، من که دیو خالی در صفحه که ID منحصر به فرد بر روی نقشه است، چون من می خواهم به قرار دادن به it-- به آن تزریق، اگر شما will-- یک دسته کامل از محتوای که اتفاق می افتد به از وب آینده می شود، متعاقبا. و گوگل انجام همه که برای ما. پس دوباره، در پایان روز، ما باید این مثال از انتزاع. من هیچ ایده چه چیزی یک نقشه است و یا چگونه به پیاده سازی یک نقشه API. ما لازم نیست. ما فقط نیاز به نقشه به که در آن به خود قرار داده است، و ترک کسانی که زمینه پیاده سازی جزئیات به گوگل. در حال حاضر وجود دارد که ظاهرا دو قطعه از داده که این مثال این است ارائه به API گوگل. ظاهرا مرکز نقشه، و سطح زوم، پس به صحبت می کنند. و آیا کسی این تشخیص مختصات، طول و عرض جغرافیایی؟ احتمالا نه، اما ما می توانید بروید به آموزش، به معنای واقعی کلمه را ببینید. اما ما آن را در یک لحظه را ببینید. سطح بزرگنمایی یک مقدار بین است، من نمی می دانید، یکی در 13 و یا چیزی شبیه به آن. آن را فقط به انجام این کار با چه حد شما هستید بزرگنمایی یا کوچکنمایی، و از آن است. و در حال حاضر در پایان از صفحه، خط توجه 29-- آن را کمی زشت به دلیل آن wraps-- این خط از کد آن چیزی است که دریافت به مرورگر API واقعی گوگل است. همه از کد که گوگل مهندسین نوشته اند که اجرای این ویژگی کامل از نقشه های درج شده است. حالا اجازه دهید هر چیزی را تغییر دهید. اگر شما به دنبال همراه، به جلو و فقط صرفه جویی که فایل، اگر شما در واقع دارند چیزی که من دارم. برو به URL آن است. شما می توانید دکمه Run را کلیک کنید تا بالا و که خواهد شد بگویید شما در URL وب سرور خود را دوباره. و آن را به شما را به یک تب جدید منجر شود. اگر شما روی Open کلیک کنید برای map.html، و شانس شما هستید رفتن به یک هشدار، یک پیغام خطا، بله؟ پیام خطا، پیام خطا؟ بنابراین متاسفانه، خطا پیام این است که روشنگر نیست مگر اینکه شما در واقع باز کردن کنسول، که تب خاص ما نگه باز کردن دیروز و کمی پیشتر امروز. اما من تصادفا در سراسر این پیش از آن، به طوری که من در حال حاضر نمیفهمد چه راه حل است. در اسلاید امروز، و یا در عوض، در از Cloud9، اطلاع که ما این کار را نکرد چیزی به عمد. توجه کنید که این تگ اسکریپت در خط 29، اگر شما از طریق آن را بخوانید، آن را مانند maps.googleapis.com/ است چیزی، چیزی، چیزی، پس از آن متوجه کسی، یکی از توسعه دهندگان، در تمام سرمایه نوشت نامه ها، کلید API خود را. ما نیاز به خمیر چیزی در آن وجود دارد. و این مرحله بود من برای ما انجام داد قبل، و دوباره آنها ممکن است در لیست سیاه ما اگر به طور ناگهانی، 12 و یا بیشتر از ما شروع به استفاده از همان کلید، اما بیایید ببینید چه اتفاقی می افتد. بنابراین اگر شما به امروز رفتن اسلاید، یک اسلاید بعد، وجود دارد این رشته بسیار بد بو، به دنبال از متن. برو جلو و فقط کپی کنید که و چسباندن آن در آن می گوید کلید API خود را. که یکی از من برای ثبت نام کرده است. و قطعا سعی نکنید تایپ کردن آن را به صورت دستی، دلیل آن را احساس مملو با غلط املایی، به طور بالقوه. پس فقط کپی و چسباندن آن است. و آن را به خط دیگر، اما در حال حاضر، فقط به روشن، آن را باید نگاه کمی بیشتر مثل این، که در آن کلید برابر نیست با حروف بزرگ فریاد در شما. ذخیره صفحه خود، به تماس به تب دیگر، بازنگری، و امیدواریم که برای دیدن یک نقشه از کجا؟ مخاطبان: استرالیا. دیوید مالان: استرالیا. بنابراین ظاهرا کسانی هستند GPS مختصات استرالیا. و اجازه دهید من راه رفتن در اطراف برای فقط یک لحظه و کمک به هر کسی که کاملا وجود ندارد، اما اجازه دهید به من پیشنهاد، از طریق گوگل، پیدا کردن مختصات GPS را از شهر خود را و یا کشور خود را. و احتمالا گوگل می توانید این به نوبه خود ، و یا ویکیپدیا توانم به شما بگویم. اما انتخاب دو مقدار متفاوت برای طول و عرض جغرافیایی، بازگشت به عقب در و قرار دادن آنها، و سپس صفحه پس از صرفه جویی بازنگری و ببینید که اگر شما می توانید یک دارند نقشه برای زادگاه خود را. و هنگامی که شما در حال انجام با که، پیگیری challenge-- و من جهت کمی کمتر، به عمد، به طوری که شما عمدا باید به مبارزه برای یک زن و شوهر دقیقه با اسناد و مدارک، تغییر نقشه به که این به طور پیش فرض کارتونی، اما نقشه ماهواره ای. بنابراین شما در واقع دیدن ماهواره ای تصاویر به جای رنگ های زیبا. و اشاره من به شما می دهد است تغییر نوع نقشه. بازگشت به که گرفتن صفحه برای الهام آغاز شده است. همانطور که ممکن است جمع آوری، اگر شما به دنبال، بسیاری از بیشتر وجود دارد چیزهایی که شما می توانید انجام دهید. برخی از شما در حال حاضر نوع نقشه را تغییر داد. اما شما می توانید به عنوان مثال do--، اجازه دهید من رفتن به چیزی است که ما برای این دوره بود من teach-- maps.cs50.net. یکی از دانشجویان دوره لیسانس ما این است. ما مرکز نقشه ما بیش از دانشگاه هاروارد حیاط و پوشش همه این نامها ساختمان، و ما او را به حال این اضافه کنید. بنابراین اگر من می خواهم برای جستجو، به عنوان مثال، ماتیوز هال، ما یک منوی کشویی است. و من فکر می کنم او با استفاده از بوت استرپ، کتابخانه که قبلا برای این بحث شده است. و اگر شما در ماتیوز کلیک کنید هال، آن را بلافاصله جهش نقشه به برخی از مکان، و این نشان می دهد شما یک تصویر در این کمی پاپ آپ. اما حتی این کمی پاپ آپ، ما پیاده سازی نیست. اگر من در پایین حرکت در گرفتن ما آغاز شده صفحه و برای ویندوز اطلاعات نگاه کنید، شما که برخی از خواهید دید قابلیت شما خودتان می توانید اضافه کنید، البته با یک پیچیدگی کمی بیشتر، چیزی به نام پنجره اطلاعات است. و اگر من یک مثال کلیک کنید در اینجا، و این چیزی است که سرگرم کننده، شما می توانید چیزهایی مانند این کار، کلیک کردن بر روی یک نشانگر و سپس هورا، اطلاعات بالا میآید. بنابراین ما کاملا معرفی ویژگی های به اندازه کافی از جاوا اسکریپت به رنگ یک تصویر از دقیقا چگونه شما می تواند تمام این مسائل را به یکدیگر وصل، اما ما به نوعی سطح خش. در واقع، آنچه که من فقط زمانی که من در آن نشانگر کلیک، شد راه اندازی یک رویداد، یک به اصطلاح در رویداد کلیک. و ما در واقع شاهد رویداد در اوایل امروز، به اصطلاح ارسال رویداد، هنگامی که ما جلوگیری شد کاربر از جستجو برای گربه. بنابراین ما به نوعی برداشت و انتخاب از میان تمام این ویژگی های مختلف، به شما احساس را، امیدوارم، از آنچه شما در واقع می توانید با کمی بیشتر آرامش را در برنامه نویسی، و منابع کاملا رایگان است. هر گونه سؤال؟ هیچ؟ این شانس نهایی خود را، حداقل امروز، در روز جمعه، برای به دست آوردن هر چیزی کردن قفسه سینه خود به طوری که شما از اینجا راه رفتن احساس اعتماد به نفس و راحت است. بله. مخاطبان: چرا شما یک چیز بیشتر اضافه کنید؟ دیوید مالان: اوه خدای من. من نیاز به استراحت این آخر هفته، من فکر می کنم. سوالات دیگر؟ مخاطبان: [نامفهوم] دیوید مالان: شما can-- در اینترنت اکسپلورر، بقیه در صلح، شما استفاده می شود قادر به قرار دادن VB اسکریپت، اسکریپت عمومی مجازی، اما واقعا هرگز گرفتار. بنابراین پاسخ کوتاه این است که فقط جاوا اسکریپت. سوالات دیگر؟ همه حق است، خوب، اجازه دهید این کار را. اجازه دهید من با شتاب همکاران ما خارج است. آنها برخی از ارزیابی کرده اند اشکال که آنها می خواهند همه به صرف چند دقیقه پر کردن. آنها می خواهند به جمع آوری آن شکل و هر چشم پوشی که شما ممکن است در خارج دارند. آنها همچنین باید گواهی داشته باشند. من حدس می زنم وجود دارد هنوز هم برخی از تنقلات خارج. اجازه دهید من این عبور، و اگر شما هر گونه سوال در این میان، من در اطراف به صورت جداگانه تر پیاده روی و ما می توانیم به شما آغاز شده است. بله البته. مخاطبان: [نامفهوم] دیوید مالان: که معمولا این روزها درست است. قطعا با وب نرم افزار، شما تکیه بر دیگران شما هم هستید زیبا و با استفاده از چیزهایی مانند بوت استرپ، بنابراین شما لازم نیست به پیاده سازی سطح پایین جزئیات منوها و دکمه ها و تمام. شما در حال تکیه بر کسی مانند گوگل به طوری که شما لازم نیست که برای ساخت یک حال بارگذاری کسب و کار و کسب و کار نقشه برداری، و هر تعداد از مشابه برنامه های کاربردی است. در واقع، باری محبوب هستند، TOO. اگر شما Spotify و یا استفاده می شود هر تعداد از وب سایت ها، شما را به برخی ورود وب سایت با استفاده از فیس بوک. پس چه خوب است، وجود دارد رابط های برنامه کاربردی برای باری است امروزه، به طوری که شما لازم نیست به جدول کاربران خود را و همه از پایگاه داده خود را لزوما به همان اندازه. شما می توانید اجازه دهید از فیس بوک انجام تمام از این پیچیدگی برای شما. بنابراین زمان هیجان انگیز آن، صادقانه، در برنامه نویسی، چرا که بسیاری از شخص ثالث وجود دارد خدمات که شما می توانید در بالای ساخت. و دوباره، قیمت به شما پرداخت است هم مالی و یا از کار افتادگی. اگر گوگل پایین می رود، به طوری که حال بارگذاری، مسلما، اما شاید که یک معقول تجارت کردن. و دوباره، که یکی از تم بود، امیدوارم، برای چند روز گذشته، این تجارت آف است. و به ندرت وجود دارد که به یک جواب درست است. این واقعا بهتر از دو یا بیشتر از پاسخ های. تصویب این اطراف. و این حساب از Cloud9 ادامه خواهد داد به کار، در تئوری، در ابد. شما ممکن است پیدا کردن اگر شما چند روز صبر کنید و یا یک هفته یا بیشتر برای ورود دوباره به آنها، آن ممکن است مانند یک یا را پنج دقیقه برای باز کردن به بالا، اما این فقط به خاطر اینکه آنها را آن را به خواب به صرفه جویی در منابع است.