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