1 00:00:00,000 --> 00:00:11,330 2 00:00:11,330 --> 00:00:12,360 >> DAVID مالان: بسیار خوب. 3 00:00:12,360 --> 00:00:15,970 این CS50 است، و این است پایان هفته نه. 4 00:00:15,970 --> 00:00:18,560 این گردباد بیش بوده است در چند روز گذشته. 5 00:00:18,560 --> 00:00:21,580 و مشکل مجموعه هفت، اگر شما زانو هستید عمیق به آن، درک کاملا وجود دارد 6 00:00:21,580 --> 00:00:23,340 بیت جدید است که در آن وجود دارد است. 7 00:00:23,340 --> 00:00:26,660 اما اجازه دهید ببینیم که اگر ما نمی توانیم قطعه همه چیز با هم در اینجا به طور خلاصه 8 00:00:26,660 --> 00:00:29,230 قبل از آن veering کردن در هنوز جهت دیگر و دیدن 9 00:00:29,230 --> 00:00:30,510 که در آن دیگری ما می توانیم به. 10 00:00:30,510 --> 00:00:32,630 >> پس تا کنون، ما در مورد HTML صحبت کردیم. 11 00:00:32,630 --> 00:00:33,740 ما در مورد CSS صحبت کردیم. 12 00:00:33,740 --> 00:00:34,705 ما در مورد PHP صحبت کردیم. 13 00:00:34,705 --> 00:00:36,520 شما به تجربه SQL آغاز شده ام. 14 00:00:36,520 --> 00:00:38,360 امروز، ما کمی صحبت درباره جاوا اسکریپت. 15 00:00:38,360 --> 00:00:41,230 اما چگونه همه این متفاوت انجام زبان متناسب با هم؟ 16 00:00:41,230 --> 00:00:44,970 >> بنابراین ما در هفته گذشته در مورد صحبت مفهوم داشتن یک سرور. 17 00:00:44,970 --> 00:00:48,470 بنابراین اجازه دهید فقط به رسم این مستطیل به عنوان یک وب سرور است. 18 00:00:48,470 --> 00:00:52,200 و یک وب سرور عمل می کند مطمئنا فایل های. 19 00:00:52,200 --> 00:00:54,640 و برخی از آن فایل ها می تواند فایل های HTML. 20 00:00:54,640 --> 00:00:58,270 بنابراین یکی از چیزهایی است که یک وب سرور می توانید تف ممکن است یک فایل که 21 00:00:58,270 --> 00:01:01,290 ما فقط مثل این رسم شامل HTML. 22 00:01:01,290 --> 00:01:04,786 پس از نظر شخص غیر روحانی است، چه نمی HTML به شما اجازه انجام دهید؟ 23 00:01:04,786 --> 00:01:06,036 >> رسید آرزومندیم صفحه نگاه کنید. 24 00:01:06,036 --> 00:01:09,670 25 00:01:09,670 --> 00:01:12,310 >> DAVID مالان: OK، ایجاد یک صفحه نگاه زیبا، اگر چه من فکر می کنم من ثابت شده 26 00:01:12,310 --> 00:01:13,370 که در غیر این صورت. 27 00:01:13,370 --> 00:01:18,250 بنابراین HTML اجازه شما پخش کردن صفحات از لحاظ ساختاری، و آن را به شما اجازه می دهد تا به 28 00:01:18,250 --> 00:01:22,410 مرتب کردن بر اساس زیبایی نشانه گذاری یک صفحه، علامتگذاری محتوای استاتیک، به طوری که شما 29 00:01:22,410 --> 00:01:23,640 پس از آن میتوانید آن را با یک مرورگر وب است. 30 00:01:23,640 --> 00:01:24,690 >> اما این کلید است. 31 00:01:24,690 --> 00:01:26,130 این مطالب ایستا است. 32 00:01:26,130 --> 00:01:28,590 شما آن را ارسال، شما آن را ذخیره کنید، و سپس شما آن را کشتی. 33 00:01:28,590 --> 00:01:31,130 و وب سرور پس از آن خدمت می کند آن را به بازدید کنندگان خود را. 34 00:01:31,130 --> 00:01:35,700 >> اما ما سبک خاصی دراوردن چیز با استفاده از یک مختلف زبان در دسترس نباشد. 35 00:01:35,700 --> 00:01:40,150 ما شروع به استفاده از ویژگی سبک در تگ های خاص. 36 00:01:40,150 --> 00:01:43,400 و ویژگی style به ما اجازه تنظیم چیزهایی مانند اندازه فونت و رنگ. 37 00:01:43,400 --> 00:01:46,460 و شما احتمالا شروع به کشف، و یا شما به زودی برای نهایی 38 00:01:46,460 --> 00:01:50,160 پروژه های بالقوه، با این حال دیگر خواص است که شما می توانید در CSS استفاده کنید. 39 00:01:50,160 --> 00:01:54,710 و به این ترتیب در نظر شخص غیر روحانی است، چه واقعا پس از آن می کند CSS انجام دهید؟ 40 00:01:54,710 --> 00:01:57,810 این تنها نمونه هایی از آن هستند. 41 00:01:57,810 --> 00:02:00,730 چه آن را به شما اجازه انجام این کار HTML به از آنچه به نظر نمی رسد 42 00:02:00,730 --> 00:02:02,606 ما را دیده ام تا کنون؟ 43 00:02:02,606 --> 00:02:04,850 >> یک مدعو: سبک های تعریف شده توسط خودتان. 44 00:02:04,850 --> 00:02:06,700 >> DAVID مالان: سبک های تعریف توسط خودتان. 45 00:02:06,700 --> 00:02:10,280 بنابراین چیزهایی مانند کلاس که شما تعریف ممکن است مواجه می شوند، و یا منحصر به فرد 46 00:02:10,280 --> 00:02:13,800 شناسایی گره ها در یک سند تا که شما می توانید آنها را به سبک خاصی دراوردن. 47 00:02:13,800 --> 00:02:16,890 اما به طور خاص، من می خواهم بگویم که CSS واقعا اجازه می دهد تا شما را به همه چیز 48 00:02:16,890 --> 00:02:20,790 آخرین مایل و اجازه می دهد تا به شما برای مشخص کردن بسیار دقیق تر از زیبایی شناسی، 49 00:02:20,790 --> 00:02:24,340 در حالی که HTML در بیشتر قسمت ها امکان می دهد شما ساختار صفحات شما. 50 00:02:24,340 --> 00:02:27,310 >> و حتی اگر برخی از پیش فرض وجود دارد، مانند ما برچسب برای اره 51 00:02:27,310 --> 00:02:30,690 برچسب عنوان، که به طور کلی ساخته شده چیزهای بزرگ و تیره می کند. 52 00:02:30,690 --> 00:02:34,250 این تعریف بسیار کلی است برچسب - بزرگ و تیره می کند. 53 00:02:34,250 --> 00:02:35,260 چه اندازه فونت ها این است که؟ 54 00:02:35,260 --> 00:02:36,080 چه رنگی است؟ 55 00:02:36,080 --> 00:02:36,890 چگونه جسورانه است که؟ 56 00:02:36,890 --> 00:02:39,830 و CSS به شما اجازه می دهد تا بیشتر ریز همه چیز تنظیم است که می خواهم. 57 00:02:39,830 --> 00:02:42,150 و همچنین طرح، به عنوان برخی از از شما را دیده اند. 58 00:02:42,150 --> 00:02:45,180 >> و رک و پوست کنده، CSS کمی است از زبان کثیف. 59 00:02:45,180 --> 00:02:48,370 این بسیار قدرتمند است که در آن شما می توانید به معنای واقعی کلمه هر وب سایت که شما 60 00:02:48,370 --> 00:02:51,880 امروز با آن دیده می شود بر روی وب، اما این نوع از درد در گردن است. 61 00:02:51,880 --> 00:02:54,440 و برخی از شما سر خود را ضرب دیده اند در مقابل دیوار در حال حاضر فقط به انجام 62 00:02:54,440 --> 00:02:58,560 کاری احمقانه مانند مرکز یک منو در مشکل تنظیم هفت اگر شما به بدست 63 00:02:58,560 --> 00:02:59,470 آن نقطه در حال حاضر. 64 00:02:59,470 --> 00:03:01,530 >> اما درک، کسانی که همه چیز ساده تر در طول زمان. 65 00:03:01,530 --> 00:03:02,820 شما شروع به متوجه الگوهای. 66 00:03:02,820 --> 00:03:06,020 و دوباره، گوگل خواهد بود دوست شما برای شیوه های مختلف است که در آن شما می توانید 67 00:03:06,020 --> 00:03:07,220 حل این نوع مشکلات. 68 00:03:07,220 --> 00:03:11,520 >> و من به جرات با CSS می گویند، و HTML تر به طور کلی، شما می توانید مشکلات در حل 69 00:03:11,520 --> 00:03:15,910 بسیاری از راه های دیگر، همه از آن بسیار ممکن است به خوبی می شود درست است، از شما می تواند 70 00:03:15,910 --> 00:03:18,900 در چیزی شبیه به C، حتی اکنون PHP یا جاوا اسکریپت. 71 00:03:18,900 --> 00:03:21,080 تنها بسیاری مختلف وجود دارد راه هایی برای ذخیره کردن مسائل را. 72 00:03:21,080 --> 00:03:22,570 >> اما این شروع به دریافت کنید کثیف، ما گفت. 73 00:03:22,570 --> 00:03:26,480 فقط نوع از درآمیختن HTML خود را و CSS خود را با ویژگی style بود 74 00:03:26,480 --> 00:03:27,590 کمی درهم و برهم. 75 00:03:27,590 --> 00:03:31,460 و بنابراین ما به جای گفت، نوع انتزاعی صحبت کردن، که شما باید 76 00:03:31,460 --> 00:03:34,050 حداقل شروع به عامل از CSS شما احتمالا. 77 00:03:34,050 --> 00:03:37,430 ویژگی های نه سبک خود را، اما حداقل استفاده از تگ سبک در داخل چه 78 00:03:37,430 --> 00:03:38,840 بخشی از صفحه وب؟ 79 00:03:38,840 --> 00:03:39,560 >> رسید سر. 80 00:03:39,560 --> 00:03:40,120 >> DAVID مالان: در سر. 81 00:03:40,120 --> 00:03:43,270 تا در حال حاضر، ما فقط به حال عنوان کردن وجود دارد، اما شما همچنین می توانید یک سبک اضافه کنید 82 00:03:43,270 --> 00:03:47,230 برچسب، و شما می توانید CSS خود را تقریبا قرار داده صحبت کردن به سمت بالای صفحه. 83 00:03:47,230 --> 00:03:52,550 اما پس از آن ما همه چیز در زمان یک گام به جلو و ما عامل است که بیشتر 84 00:03:52,550 --> 00:03:54,130 به یک فایل جداگانه است. 85 00:03:54,130 --> 00:03:57,240 >> و به این ترتیب این دو فایل بود به نحوی در حال حاضر در ارتباط است. 86 00:03:57,240 --> 00:03:59,550 و در واقع از آن بود که برچسب که کار را انجام داد. 87 00:03:59,550 --> 00:04:02,920 و چیزی که یکی از فراگیر بود انگیزه برای فاکتور از CSS ما 88 00:04:02,920 --> 00:04:04,057 همه بیشتر؟ 89 00:04:04,057 --> 00:04:05,280 >> یک مدعو: قابلیت استفاده مجدد. 90 00:04:05,280 --> 00:04:05,785 >> DAVID مالان: قابلیت استفاده مجدد. 91 00:04:05,785 --> 00:04:06,150 درست است؟ 92 00:04:06,150 --> 00:04:09,470 شما ممکن است در دیده-P مجموعه هفت در حال حاضر که بسیاری از این صفحات، 93 00:04:09,470 --> 00:04:12,260 صفحه خرید، صفحه فروش، صفحه نمونه کارها، احتمالا 94 00:04:12,260 --> 00:04:13,550 ساختار تا حدودی به همین ترتیب. 95 00:04:13,550 --> 00:04:17,579 یک آرم امور مالی CS50 در بالای صفحه وجود دارد مگر اینکه شما تصمیم به آن را تغییر دهید. 96 00:04:17,579 --> 00:04:19,839 یک بالا و پایین صفحه در وجود دارد پایین صفحات. 97 00:04:19,839 --> 00:04:24,315 و CSS شما اجازه می دهد پس از آن به آن عامل از آن را به یک فایل جداگانه به طوری که اگر 98 00:04:24,315 --> 00:04:27,780 شما می خواهید به تغییر چیزی در سطح جهان در سراسر کل سایت خود، شما واقعا می تواند در 99 00:04:27,780 --> 00:04:29,390 فقط آن را در یک مکان تغییر دهید. 100 00:04:29,390 --> 00:04:32,750 >> اما قیمت شما به طور بالقوه پرداخت وجود دارد با داشتن عامل از 101 00:04:32,750 --> 00:04:38,380 CSS از فایل HTML ام را به یک جداگانه فایل اشاره به آن با 102 00:04:38,380 --> 00:04:40,650 برچسب، که ما در روز دوشنبه دیدم. 103 00:04:40,650 --> 00:04:43,850 چه ممکن است این حرکت نزولی خواهد بود؟ 104 00:04:43,850 --> 00:04:48,830 فکر به یک هفته پیش به هنگامی که ما صحبت کردن در مورد HTTP و TCP / IP و چگونه 105 00:04:48,830 --> 00:04:52,070 اینترنت کار می کند. 106 00:04:52,070 --> 00:04:53,530 چیزی بیش از اینجا؟ 107 00:04:53,530 --> 00:04:54,730 >> مخاطبان: زمان بیشتری طول می کشد. 108 00:04:54,730 --> 00:04:55,470 >> دیوید مالان: زمان بیشتری طول می کشد. 109 00:04:55,470 --> 00:04:56,750 چرا؟ 110 00:04:56,750 --> 00:04:59,450 >> مخاطب: [نامفهوم]. 111 00:04:59,450 --> 00:04:59,750 >> دیوید مالان بله. 112 00:04:59,750 --> 00:05:01,240 پس از آن مسلما زمان کمی بیشتر طول می کشد. 113 00:05:01,240 --> 00:05:04,290 از آنجا که یکی از CSS است که به وضوح در همان فایل نیست. 114 00:05:04,290 --> 00:05:06,920 بنابراین در حال حاضر شما را نمی ، اما دو درخواست. 115 00:05:06,920 --> 00:05:11,230 و هر یک از این درخواست به عنوان ما در بود کروم در اصطلاح بازرس، 116 00:05:11,230 --> 00:05:15,740 و ما در تب شبکه نگاه، هر از این فایل نیاز به یک HTTP 117 00:05:15,740 --> 00:05:18,360 درخواست، که ما دیدیم طول می کشد مقداری از زمان. 118 00:05:18,360 --> 00:05:19,290 در حال حاضر، شاید خیلی نیست. 119 00:05:19,290 --> 00:05:20,670 شاید آن تنها 20 میلی ثانیه است. 120 00:05:20,670 --> 00:05:22,260 شاید آن 200 میلی ثانیه است. 121 00:05:22,260 --> 00:05:25,530 >> اما فکر می کنم در مورد یک صفحه مانند فیس بوک، یا سی ان ان، گوگل، که بسیار 122 00:05:25,530 --> 00:05:28,060 بزرگتر از نمونه ایم تا کنون به نظر می رسید. 123 00:05:28,060 --> 00:05:32,070 این صفحات ممکن است ده ها تن از فایل ها را داشته باشد، که هر یک از آنها ممکن است نیاز به 124 00:05:32,070 --> 00:05:33,550 دانلود یک فایل. 125 00:05:33,550 --> 00:05:35,800 بنابراین همه چیز به طور بالقوه می تواند شروع به کم کردن سرعت. 126 00:05:35,800 --> 00:05:39,280 >> و به خصوص این روزها که همه ما گوشی های تلفن همراه در جیب ما و 127 00:05:39,280 --> 00:05:43,010 قابلیت اتصال به اینترنت آهسته تر، نیاز به چند میلی ثانیه صبر کنید، چند 128 00:05:43,010 --> 00:05:46,110 میلی ثانیه بیشتر اضافی فایل ها در واقع می تواند آهسته باشد. 129 00:05:46,110 --> 00:05:50,430 تاخیر کلمه که توصیف است نوع انتظار است که شما را که شما 130 00:05:50,430 --> 00:05:53,110 تجربه در هنگام انتظار برای برخی از قطعه ای از اطلاعات است. 131 00:05:53,110 --> 00:05:54,430 >> اما حرکت صعودی وجود دارد. 132 00:05:54,430 --> 00:05:56,600 پس از آن همه نوع - 133 00:05:56,600 --> 00:05:58,170 آن را در واقع یک کمی از بالا و پایین رفتن در اینجا است. 134 00:05:58,170 --> 00:06:02,970 مرورگرهای حرکت نزولی در حال حاضر، اما آنچه می تواند انجام دهد اگر آنها به منظور اجتناب از باهوش 135 00:06:02,970 --> 00:06:08,870 نیاز به درخواست همان styles.css را فایل را مجددا می تواند برای انجام چه؟ 136 00:06:08,870 --> 00:06:09,390 >> کش. 137 00:06:09,390 --> 00:06:10,370 بنابراین ذخیره - 138 00:06:10,370 --> 00:06:11,690 C-A-C-H-E - 139 00:06:11,690 --> 00:06:15,810 به طور کلی در اینجا به معنای فقط به نجات اولین بار فایل درخواست شما، و 140 00:06:15,810 --> 00:06:17,440 سپس چک کردن کش خود را برای ایجاد آن بنویسید. 141 00:06:17,440 --> 00:06:20,400 چک کردن تو نوع ظرف ذخیره سازی، و اگر شما در حال حاضر 142 00:06:20,400 --> 00:06:24,520 کپی از styles.css را، حتی اگر برخی دیگر صفحه P-تنظیم شده، یا هر وب سایت، 143 00:06:24,520 --> 00:06:28,560 درخواست دوباره آن را، فقط به دادن کاربر است که نسخه های cache شده مشابه. 144 00:06:28,560 --> 00:06:30,140 آیا زحمت نیست با درخواست آن است. 145 00:06:30,140 --> 00:06:32,560 >> حرکت نزولی وجود دارد، هر چند، به عنوان برخی از شما بیش از P-مجموعه ای افتاد. 146 00:06:32,560 --> 00:06:35,870 اگر شما بر روی سرور و شما برگردید به مرورگر و شما 147 00:06:35,870 --> 00:06:39,250 بارگذاری مجدد، گاهی اوقات مرورگر می کند شما را به نفع و زحمت ندارد 148 00:06:39,250 --> 00:06:43,660 دوباره دانلود فایل CSS خود را چون، می آیند، شانس چه هستند 149 00:06:43,660 --> 00:06:47,620 که این سبک که فیس بوک با استفاده از می رویم به تغییر ساعت به ساعت و یا 150 00:06:47,620 --> 00:06:48,140 روز به روز؟ 151 00:06:48,140 --> 00:06:48,800 این بسیار کم است. 152 00:06:48,800 --> 00:06:52,260 آنها ممکن است در طول زمان تغییر می کند، اما نه دقیقه و یا ساعت. 153 00:06:52,260 --> 00:06:55,810 >> بنابراین یک ترفند، فقط FYI هنگام انجام وب توسعه، اغلب پایین نگه دارید 154 00:06:55,810 --> 00:06:59,500 کلید برای مثال تغییر کرده و سپس کلیک کنید بارگذاری مجدد در مرورگر خود، و آن را 155 00:06:59,500 --> 00:07:03,280 به طور معمول بارگذاری مرورگر بگویید همه چیز، حتی اگر شما در حال حاضر 156 00:07:03,280 --> 00:07:04,180 آن را در حافظه پنهان. 157 00:07:04,180 --> 00:07:06,630 تا دوباره، شاهد رشد آمارهای ها و جنبه های منفی، اما همه آنها 158 00:07:06,630 --> 00:07:08,260 در نهایت تصمیم گیری های طراحی. 159 00:07:08,260 --> 00:07:11,520 >> بنابراین در حال حاضر، ما نه تنها برای پایان دادن به داستان اینجا را کلیک کنید. 160 00:07:11,520 --> 00:07:15,790 اگر من در حال حاضر به عقب بروید و به عقب و عقب و به عقب، ما شروع به معرفی نه تنها 161 00:07:15,790 --> 00:07:18,060 HTML، اما پی اچ پی. 162 00:07:18,060 --> 00:07:20,786 بنابراین در شرایط خارج از حرفه یا فن خاصی است، چه آیا پی اچ پی اجازه ما انجام می دهید؟ 163 00:07:20,786 --> 00:07:22,770 >> مخاطب: [نامفهوم]. 164 00:07:22,770 --> 00:07:24,258 >> دیوید مالان: چه خبر؟ 165 00:07:24,258 --> 00:07:25,250 >> مخاطبان: معرفی منطق به کد. 166 00:07:25,250 --> 00:07:26,620 >> دیوید مالان: آره، معرفی منطق به کد شما. 167 00:07:26,620 --> 00:07:29,570 پس از آن یک زبان برنامه نویسی واقعی با حلقه ها، و متغیرها، و 168 00:07:29,570 --> 00:07:32,620 توابع، و شرایط، و تمام چیزهایی که ما شده ایم با استفاده از راه برگشت 169 00:07:32,620 --> 00:07:33,780 زمانی که از ابتدا. 170 00:07:33,780 --> 00:07:36,780 و پی اچ پی، ما دیده ایم، می تواند مورد استفاده قرار گیرد یا در خط فرمان - 171 00:07:36,780 --> 00:07:39,190 ندارد به چیزی برای انجام با وب، حتی اگر که 172 00:07:39,190 --> 00:07:43,150 واقعا ریشه های خود را و آنچه در آن تمایل دارد به خوبی در و منجر به - 173 00:07:43,150 --> 00:07:47,130 اما شما می توانید PHP را صرفا با استفاده از طبیعت از این واقعیت است که آن را چاپ () 174 00:07:47,130 --> 00:07:49,660 تابع، و چون printf () تابع، یا اکو تابع (). 175 00:07:49,660 --> 00:07:52,440 مجموعه ای از راه شما وجود دارد می توانید متن را با پی اچ پی نسخه قابل چاپ. 176 00:07:52,440 --> 00:07:56,540 >> بنابراین، شما می توانید از این برنامه استفاده نمایید. زبان به خروجی دقیقا 177 00:07:56,540 --> 00:07:58,460 آنچه ما در مورد قبل از صحبت می کردند. 178 00:07:58,460 --> 00:08:01,360 شما به صورت پویا می تواند تولید HTML خود را. 179 00:08:01,360 --> 00:08:02,300 شاید نه همه آن. 180 00:08:02,300 --> 00:08:06,460 شاید شما سخت از چیزهای کد، مانند سرصفحه و پاصفحه و آرم، 181 00:08:06,460 --> 00:08:07,950 و ورق های سبک خود را، و همه از آن. 182 00:08:07,950 --> 00:08:11,190 اما برای چیزی شبیه به P-مجموعه هفت، که در آن شما در حال دستکاری سهام و 183 00:08:11,190 --> 00:08:14,690 کاربر نمونه کارها، که نشان رفتن به صورت پویا تغییر کند، شما می توانید 184 00:08:14,690 --> 00:08:18,960 قطعا استفاده از پی اچ پی و منطق آن را می دهد شما به عنوان یک زبان برنامه نویسی به 185 00:08:18,960 --> 00:08:22,320 خروجی به صورت پویا زیر مجموعه صفحه. 186 00:08:22,320 --> 00:08:25,900 >> بنابراین، هنگامی که شما در مورد وب سایت های پویا، یا برنامه نویسی وب، که 187 00:08:25,900 --> 00:08:27,200 آنچه شما واقعا صحبت کردن در مورد. 188 00:08:27,200 --> 00:08:31,450 با استفاده از یک زبان مانند پی اچ پی، و یا چیزهای اصطلاح پایتون، روبی، جاوا، و یا 189 00:08:31,450 --> 00:08:35,900 هنوز زبان های دیگر، به پرس و جو از پایگاه داده اغلب، و یا دیگر سرور، و 190 00:08:35,900 --> 00:08:38,580 پس از آن به صورت پویا تف HTML. 191 00:08:38,580 --> 00:08:42,470 >> نتیجه نهایی، به عنوان یک کنار، که HTML از بسیاری از وب سایت های، 192 00:08:42,470 --> 00:08:45,970 از جمله P-مجموعه هفت، است که احتمالا رفتن به ظروف سرباز یا مسافر بزرگ اگر 193 00:08:45,970 --> 00:08:48,060 شما در منبع نگاه کد را در یک مرورگر. 194 00:08:48,060 --> 00:08:49,010 این یک معامله بزرگ نیست. 195 00:08:49,010 --> 00:08:51,550 در این نقطه، زمانی که ما در مورد مراقبت از سبک، ما در مورد مراقبت از 196 00:08:51,550 --> 00:08:52,740 مطالبی که تو می نویسم. 197 00:08:52,740 --> 00:08:56,240 ما نمی خواهد در مورد مسائل مراقبت که چه خروجی کد های خود استفاده کنید. 198 00:08:56,240 --> 00:08:59,520 پس وقت را در مورد دندانه نگران نباشید در اینجا اگر آن را به پی اچ پی که 199 00:08:59,520 --> 00:09:01,190 در واقع خروجی چیزهای. 200 00:09:01,190 --> 00:09:04,430 پس از همه، مرورگر خواهد شد مراقبت، و انسان نمی خواهد به دنبال 201 00:09:04,430 --> 00:09:05,400 در منبع هر حال. 202 00:09:05,400 --> 00:09:09,000 ما کارکنان، به عنوان مثال، به دنبال در پی اچ پی خود را. 203 00:09:09,000 --> 00:09:13,440 >> پس اجازه بدهید من یک مثال سریع شرکت چرا دیگری این ممکن است مفید باشد. 204 00:09:13,440 --> 00:09:18,620 رک و پوست کنده، من نمی توانم به یاد داشته باشید آخرین زمانی که من استفاده از C برای حل یک مشکل در 205 00:09:18,620 --> 00:09:19,620 جهان واقعی است. 206 00:09:19,620 --> 00:09:22,330 این احتمالا در مقطع فوق لیسانس بود که من نیاز به استفاده از یک زبان است که 207 00:09:22,330 --> 00:09:26,710 نسبتا سطح پایین بود و به من داد فرصت برای انجام کاری بسیار بالا 208 00:09:26,710 --> 00:09:30,720 اجرای واقعا به عنوان بسیاری از CPU را نجات دهد چرخه به عنوان من می توانم، در بخش بزرگ 209 00:09:30,720 --> 00:09:33,990 چون من با استفاده از مجموعه داده های بزرگ، و هر CPU چرخه محسوب می شود. 210 00:09:33,990 --> 00:09:37,750 و رک و پوست کنده، حتی در چیزهایی مانند تلفن های این روز ها و دستگاه های دیگر 211 00:09:37,750 --> 00:09:39,910 که در آن شما نه کاملا به همان اندازه حافظه و شما را کاملا به عنوان 212 00:09:39,910 --> 00:09:44,160 CPU زیاد است، با استفاده از زبان های سریعتر هنوز هم جذاب است. 213 00:09:44,160 --> 00:09:47,290 >> اما در دنیای واقعی، زمانی که شما فقط می خواهم به پرتاب برخی از برنامه های با هم به 214 00:09:47,290 --> 00:09:50,340 تجزیه و تحلیل برخی از داده ها، و یا شما جمع آوری شده یک دسته کامل از ثبت نام برای 215 00:09:50,340 --> 00:09:53,330 برخی از گروه های دانشجویی و شما می خواهید به بسیار سرعت به طور خودکار ارسال ایمیل 216 00:09:53,330 --> 00:09:56,240 یک به یک به هر یک از آن ثبت نام، شما را برای رسیدن به 217 00:09:56,240 --> 00:09:59,240 یک زبان سطح بالاتر از C پس به صحبت می کنند. 218 00:09:59,240 --> 00:10:04,060 یه چیزی مثل پی اچ پی یا پایتون یا روبی، و یا یک نیم دوجین دیگران است که وجود دارد 219 00:10:04,060 --> 00:10:04,550 این روزها. 220 00:10:04,550 --> 00:10:07,200 اما آن سه احتمالا مرسوم، مد روز ترین حق در حال حاضر. 221 00:10:07,200 --> 00:10:10,840 >> و این بدان معنی است که شما می توانید باز تا یک ویرایشگر متن مانند نرمافزاری gedit یا 222 00:10:10,840 --> 00:10:14,030 بیشتر از هر چیز دیگری و پس از آن فقط شروع نوشتن کد بدون نیاز به نگران 223 00:10:14,030 --> 00:10:17,800 در مورد کامپایل، بدون نیاز به واقعا در مورد مدیریت حافظه نگران باشید، 224 00:10:17,800 --> 00:10:20,820 با در نظر گرفتن هر چند که کمی sloppiness در نهایت دوباره خواهد شد 225 00:10:20,820 --> 00:10:24,790 به شما نیش می زنند اگر مجموعه داده می شود بزرگتر و یا مشکل بزرگ می شود. 226 00:10:24,790 --> 00:10:27,230 اما آنچه این به این معنی ما شرح زیر است. 227 00:10:27,230 --> 00:10:29,860 >> اجازه دهید من به جلو و اجرا هجی از مشکل مجموعه شش. 228 00:10:29,860 --> 00:10:33,480 بنابراین این پیاده سازی مبتنی بر درخت من است که من در بزرگ استفاده می شود 229 00:10:33,480 --> 00:10:35,500 هیئت مدیره جایی که من تا به خوبی انجام نمی. 230 00:10:35,500 --> 00:10:38,720 ما را دوباره در زمان یک هفته و دوباره کسانی که در بالای پایان بود 231 00:10:38,720 --> 00:10:40,430 هیئت مدیره بزرگ در آخرین سخنرانی ماست. 232 00:10:40,430 --> 00:10:44,520 اما در حال حاضر، اجازه دهید من جلو بروید و فقط اجرای راه حل من در متن، و ما می خواهیم انجام 233 00:10:44,520 --> 00:10:48,460 شاه جیمز کتاب مقدس، و در اینجا ما. 234 00:10:48,460 --> 00:10:51,080 >> بنابراین کسانی که همه ظاهرا کلمات اشتباه از 235 00:10:51,080 --> 00:10:52,240 پادشاه جیمز کتاب مقدس است. 236 00:10:52,240 --> 00:10:55,560 و در زمان اجرای من نیم ثانیه در کل. 237 00:10:55,560 --> 00:10:58,270 بنابراین بیش از حد بد نیست در این مورد کامپیوتر خاص است. 238 00:10:58,270 --> 00:11:01,540 اما فکر می کنم چقدر کد من مجبور به نوشتن. 239 00:11:01,540 --> 00:11:02,880 فکر می کنم که چقدر کد شما مجبور به نوشتن. 240 00:11:02,880 --> 00:11:06,170 فکر می کنم چند ساعت شما را در به سر برد D-سالن و یا خوابگاه خود را و یا هر کجا که 241 00:11:06,170 --> 00:11:07,890 در واقع برنامه نویسی که راه حل. 242 00:11:07,890 --> 00:11:11,850 >> خب، اگر من در واقع یک سطح بالاتر زبان مانند پی اچ پی، یادداشت بردارد، 243 00:11:11,850 --> 00:11:13,350 آنچه که من در اینجا می توانید انجام دهید. 244 00:11:13,350 --> 00:11:16,410 اول، فرض کنید که این است که به جای کد توزیع خود را. 245 00:11:16,410 --> 00:11:17,790 این یک فایل به نام هجی است. 246 00:11:17,790 --> 00:11:20,220 به عنوان بخشی از امروز در دسترس کد توزیع. 247 00:11:20,220 --> 00:11:22,670 و من قصد دارم به موج دست من در اکثر از جزئیات، اما این است که در واقع 248 00:11:22,670 --> 00:11:25,500 مثال جالبی از چگونگی شما ممکن است یک زبان پورت 249 00:11:25,500 --> 00:11:28,870 مانند C را به پی اچ پی. 250 00:11:28,870 --> 00:11:33,420 من به معنای واقعی کلمه دو پنجره متن باز، یکی با نسخه C speller.c، 251 00:11:33,420 --> 00:11:36,960 و من فقط شروع به ترجمه آن در من سر به پی اچ پی و تایپ کردن آن را با استفاده از 252 00:11:36,960 --> 00:11:38,840 نزدیکترین تابع. 253 00:11:38,840 --> 00:11:40,100 >> بنابراین برخی از این چیزها متفاوت است. 254 00:11:40,100 --> 00:11:43,730 ما آخرین بار که پی اچ پی استفاده نمی دیدم شامل کاملا به همان شیوه. 255 00:11:43,730 --> 00:11:47,050 آن استفاده می کند نیاز به طور معمول، هر چند شامل وجود دارد. 256 00:11:47,050 --> 00:11:50,330 تعریف کمی متفاوت از در C # تعریف، اما این 257 00:11:50,330 --> 00:11:51,890 ما چگونه ثابت را. 258 00:11:51,890 --> 00:11:55,860 $ تعداد آنها آن را معلوم وجود دارد در پی اچ پی، بنابراین ما دیده می شود که قبل از. 259 00:11:55,860 --> 00:11:58,650 این فقط متغیر های، همه که با شروع علائم دلار. 260 00:11:58,650 --> 00:12:00,590 به یاد بیاورید این فقط یک دسته از نقاط شناور. 261 00:12:00,590 --> 00:12:03,970 >> بنابراین داستان کوتاه مدت، شما به خوش آمدید تلنگر از طریق این اگر کنجکاو، این است که 262 00:12:03,970 --> 00:12:10,010 تقریبا یک تبدیل خط به خط نسخه C speller.c به پی اچ پی. 263 00:12:10,010 --> 00:12:12,630 و شما می توانید این دیگر برای انجام نیم دوجین زبان های دیگر. 264 00:12:12,630 --> 00:12:14,910 >> اما آنچه جالب است این است. 265 00:12:14,910 --> 00:12:16,910 یا آنچه که رک و پوست کنده بسیار مأیوس کننده این است. 266 00:12:16,910 --> 00:12:20,790 اجازه دهید من جلو بروید و تایپ کنید در مورد dictionary.php، و ادعا کند که من هستم 267 00:12:20,790 --> 00:12:23,670 رفتن به جلو بروید و دوباره اجرا مشکل مجموعه شش اینجا. 268 00:12:23,670 --> 00:12:27,530 >> بنابراین پیشنهاد می کنیم برای اولین بار است که در این فایل، خواهد شد که در اجرا 269 00:12:27,530 --> 00:12:30,550 پی اچ پی، بنابراین اجازه دهید من باز برچسب های من است که می خواهم. 270 00:12:30,550 --> 00:12:34,780 اجازه دهید من خودم را جهانی متغیر، $ اندازه صفر می شود. 271 00:12:34,780 --> 00:12:36,710 و من قصد دارم به من بدهید خودم یک جدول هش. 272 00:12:36,710 --> 00:12:38,110 من یک جدول هش برای این چیزی استفاده کنید. 273 00:12:38,110 --> 00:12:42,070 چگونه یک جدول هش اعلام من در پی اچ پی؟ 274 00:12:42,070 --> 00:12:42,990 انجام می شود. 275 00:12:42,990 --> 00:12:43,980 OK را بزنید. 276 00:12:43,980 --> 00:12:48,870 >> تا باز براکت براکت نزدیک نشان دهنده آنچه در پی اچ پی، همانطور که می بینیم؟ 277 00:12:48,870 --> 00:12:51,850 آرایه، اما یک آرایه است که می تواند می شود یک آرایه انجمنی است. 278 00:12:51,850 --> 00:12:54,320 آرایه انجمنی است ساختار داده ها است که 279 00:12:54,320 --> 00:12:55,860 کلید های با ارزش است. 280 00:12:55,860 --> 00:12:59,430 >> در حال حاضر در ساده ترین نمایه عددی آرایه، این کلید چه؟ 281 00:12:59,430 --> 00:13:02,250 282 00:13:02,250 --> 00:13:03,960 صفر، یک، دو، سه، درست است؟ 283 00:13:03,960 --> 00:13:08,780 مسائل مدرسه قدیمی پشت از C. اما می تواند همچنین رشته مانند تولی و نوار، 284 00:13:08,780 --> 00:13:12,210 و یا ماکسول، و یا هر رشته مانند. 285 00:13:12,210 --> 00:13:14,240 بنابراین من می تواند اهرم است که فقط یک لحظه. 286 00:13:14,240 --> 00:13:17,550 >> بگذار بروم جلو و اعلام یک تابع مانند - 287 00:13:17,550 --> 00:13:19,020 اجازه دهید اولین بار (). 288 00:13:19,020 --> 00:13:20,690 بنابراین بار تابع (). 289 00:13:20,690 --> 00:13:23,440 و پی اچ پی کمی در آن متفاوت است شما به معنای واقعی کلمه نوع تابع، اما شما 290 00:13:23,440 --> 00:13:24,930 یک نوع بازگشت به تایپ نیست. 291 00:13:24,930 --> 00:13:28,760 من قصد دارم به جلو بروید و می گویند که بار () تابع باید در را 292 00:13:28,760 --> 00:13:31,000 استدلال $ فرهنگ لغت، فقط مانند نسخه C انجام داد. 293 00:13:31,000 --> 00:13:32,510 من انجام این کار از حافظه است. 294 00:13:32,510 --> 00:13:34,910 >> و پیشنهاد می کنم که من رفتن به انجام این کار. 295 00:13:34,910 --> 00:13:37,080 من فقط می خواهم برای انجام حلقه foreach. 296 00:13:37,080 --> 00:13:40,710 من قصد دارم به فراخوانی یک تابع به نام فایل ()، عبور در نام آن 297 00:13:40,710 --> 00:13:44,990 فایل است که متغیر $ فرهنگ لغت به عنوان $ کلمه. 298 00:13:44,990 --> 00:13:49,410 و سپس در داخل از من برای حلقه در اینجا، من هستم رفتن به جلو بروید و ذخیره در من 299 00:13:49,410 --> 00:13:57,440 $ جدول که $ کلمه درست می شود. 300 00:13:57,440 --> 00:13:57,918 انجام می شود. 301 00:13:57,918 --> 00:14:01,264 اوه، صبر کنید. 302 00:14:01,264 --> 00:14:02,422 انجام می شود. 303 00:14:02,422 --> 00:14:02,760 OK را بزنید. 304 00:14:02,760 --> 00:14:04,970 >> این تابع بار () است می گویند در پی اچ پی. 305 00:14:04,970 --> 00:14:05,865 در حال حاضر، چرا که کار می کند؟ 306 00:14:05,865 --> 00:14:07,010 و من نوع تقلب اینجا هستم. 307 00:14:07,010 --> 00:14:09,980 >> بنابراین، یک، حلقه foreach ما دیدیم به طور خلاصه آخرین بار. 308 00:14:09,980 --> 00:14:13,680 این فقط بدان معناست که شما می توانید بیش از تکرار یک آرایه بدون مزاحم با من 309 00:14:13,680 --> 00:14:16,150 و n و به علاوه به علاوه، و همه از آن. 310 00:14:16,150 --> 00:14:21,350 فرهنگ لغت است که البته نام فایل، چیزی شبیه به بزرگ یا کوچک، دو 311 00:14:21,350 --> 00:14:22,830 واژه نامه ها در زمان گذشته استفاده می شود. 312 00:14:22,830 --> 00:14:26,715 فایل یک تابع که باز می شود تا متن فایل، آن را بار خوانده شده در خط به خط، و 313 00:14:26,715 --> 00:14:29,840 دست شما را به یک آرایه بزرگ، هر یک از عناصر که یک 314 00:14:29,840 --> 00:14:31,340 خط از آن فایل. 315 00:14:31,340 --> 00:14:36,040 به طوری که ترکیبی از fopen، و fread، و در حالی که حلقه، و fclose، 316 00:14:36,040 --> 00:14:37,080 و همه از آن. 317 00:14:37,080 --> 00:14:40,150 در نهایت، به عنوان کلمه فقط بدان معناست که متغیر من قصد دارم به دسترسی به 318 00:14:40,150 --> 00:14:41,890 در هر تکرار در این حلقه است. 319 00:14:41,890 --> 00:14:46,910 >> بنابراین در کوتاه مدت، این یکی بوش در اینجا به معنای باز کردن فایل است که نامش در 320 00:14:46,910 --> 00:14:50,750 فرهنگ لغت، متغیر، تکرار بیش از آن را خط به خط، و هر زمان که شما می توانید 321 00:14:50,750 --> 00:14:54,290 یک خط، ذخیره شده در یک متغیر به نام کلمه، و پس از آن انجام چیزی با کلمه. 322 00:14:54,290 --> 00:14:55,280 چه من می خواهم کاری انجام دهید؟ 323 00:14:55,280 --> 00:14:58,110 من می خواهم برای قرار دادن کلمه به جدول هش من. 324 00:14:58,110 --> 00:15:00,860 >> خوب، من می توانم چیزی در من قرار داده است جدول هش درست مثل C 325 00:15:00,860 --> 00:15:02,140 با استفاده از براکت مربع. 326 00:15:02,140 --> 00:15:03,660 این نام برای جدول هش من است. 327 00:15:03,660 --> 00:15:07,180 من قصد دارم به آن مخلوط به صفحه اول جدول در این مکان. 328 00:15:07,180 --> 00:15:08,920 بنابراین براکت صفر، براکت یکی نیست. 329 00:15:08,920 --> 00:15:11,990 براکت نقل قول نقل قول را تمام کردن چیزی، هر چه آن کلمه است. 330 00:15:11,990 --> 00:15:15,200 و درست مثل شما ممکن است خود را در جدول هش درخت کار، شما فقط ذخیره 331 00:15:15,200 --> 00:15:17,650 به طور موثر بولی، به طور ضمنی و یا به صراحت. 332 00:15:17,650 --> 00:15:18,260 انجام می شود. 333 00:15:18,260 --> 00:15:20,000 من ذخیره سازی ارزش واقعی است. 334 00:15:20,000 --> 00:15:23,150 >> در حال حاضر یک زن و شوهر از چیزهایی وجود دارد من برش گوشه ها در اینجا. 335 00:15:23,150 --> 00:15:27,720 با مشخصات فنی، رفتن به یک وجود دارد خط جدید مزاحم، / N در پایان 336 00:15:27,720 --> 00:15:28,820 هر یک از این کلمات. 337 00:15:28,820 --> 00:15:31,770 بنابراین من احتمالا باید یک تابع پی اچ پی تماس بگیرید ریز ریز کردن نامیده می شود ()، که 338 00:15:31,770 --> 00:15:33,460 کاملا به معنای واقعی کلمه ریز ریز کردن که خاموش. 339 00:15:33,460 --> 00:15:35,020 و من در واقع نیاز به یک چیز دیگر. 340 00:15:35,020 --> 00:15:38,380 من احتمالا باید افزایش حجم در هر یک از تکرار، بنابراین من پیگیری 341 00:15:38,380 --> 00:15:39,560 در سطح جهانی از آنچه در آن است. 342 00:15:39,560 --> 00:15:43,180 و رک و پوست کنده، و این یکی از جنبه های stupider از پی اچ پی، اگر شما 343 00:15:43,180 --> 00:15:46,950 با استفاده از یک متغیر جهانی، شما نیاز دارید به صراحت می گویند که شما می باشد. 344 00:15:46,950 --> 00:15:51,670 بنابراین من قصد دارم در واقع در جهانی نوع $ اندازه، جهانی $ جدول، و در حال حاضر 345 00:15:51,670 --> 00:15:52,690 تابع من کامل است. 346 00:15:52,690 --> 00:15:57,475 >> بنابراین کاملا به عنوان ساده به عنوان قبل از، اما احتمالا زمان کمتر از C 347 00:15:57,475 --> 00:15:58,220 نسخه، شاید؟ 348 00:15:58,220 --> 00:15:58,730 OK را بزنید. 349 00:15:58,730 --> 00:16:00,390 >> بنابراین در حال حاضر اجازه انجام بررسی تابع (). 350 00:16:00,390 --> 00:16:04,300 بیایید ببینیم که اگر این حداقل زمان ساعت ها در پایان که ما در C و جو در زمان پس 351 00:16:04,300 --> 00:16:06,500 اجازه دهید من جلو بروید و اعلام عنوان یک تابع را بررسی کنید. 352 00:16:06,500 --> 00:16:09,070 طول می کشد تا در بحث به کلمه، که رفتن از هجی آمده است. 353 00:16:09,070 --> 00:16:13,410 و من فقط جهت چک کردن و رفتن! پس از Isset متغیر، جدول 354 00:16:13,410 --> 00:16:18,400 strtolower براکت کلمه - 355 00:16:18,400 --> 00:16:20,590 بیایید تعادل همه از پرانتز من - 356 00:16:20,590 --> 00:16:24,275 سپس بازگشت درست است. 357 00:16:24,275 --> 00:16:27,020 358 00:16:27,020 --> 00:16:28,460 دیگری - 359 00:16:28,460 --> 00:16:30,330 که واقعا سخت بود بخشی از این برنامه است. 360 00:16:30,330 --> 00:16:31,940 دیگری، بازگشت کاذب. 361 00:16:31,940 --> 00:16:32,630 انجام می شود. 362 00:16:32,630 --> 00:16:33,460 این چک () است. 363 00:16:33,460 --> 00:16:34,520 >> در حال حاضر، به همین دلیل این کار می کند؟ 364 00:16:34,520 --> 00:16:37,040 خوب، من در یک کلمه رفت، که یک رشته است. 365 00:16:37,040 --> 00:16:41,400 دو، من دارم داخل مخلوط میز، که در جدول نامیده می شود. 366 00:16:41,400 --> 00:16:45,470 من مجبور به کوچک خواستار یک تابع tolower کاملا مشابه () 367 00:16:45,470 --> 00:16:48,580 گراد، اما این به معنی تمام کلمه، نه یک شخصیت واحد است. 368 00:16:48,580 --> 00:16:52,680 و در صورتی که قرار است، به عبارت دیگر وجود دارد است ارزش مجموعه، به عبارت دیگر، 369 00:16:52,680 --> 00:16:54,880 اگر این درست است، پس بله، این یک کلمه است. 370 00:16:54,880 --> 00:16:56,530 از آنجا که من آن وجود دارد با بار () قرار داده است. 371 00:16:56,530 --> 00:16:59,100 و اگر نه، من قصد دارم به بازگشت کاذب. 372 00:16:59,100 --> 00:17:00,090 >> در حال حاضر از دیگران آسان است. 373 00:17:00,090 --> 00:17:03,570 اندازه تابع ()، چگونه می توانم این کار؟ 374 00:17:03,570 --> 00:17:05,230 من اساسا نمی گرداند $ اندازه. 375 00:17:05,230 --> 00:17:07,770 اما من از لحاظ فنی نیاز به آیا این چیزی که آزار دهنده است. 376 00:17:07,770 --> 00:17:10,640 و در واقع می شنوید، من برش یک گوشه بیش از حد بسیاری از. 377 00:17:10,640 --> 00:17:12,920 من واقعا نیاز به انجام جهانی $ جدول. 378 00:17:12,920 --> 00:17:16,260 >> اما که گفته می شود، خالی کردن). 379 00:17:16,260 --> 00:17:17,380 خالی کردن () شگفت انگیز است. 380 00:17:17,380 --> 00:17:20,500 عمل تخلیه (). 381 00:17:20,500 --> 00:17:23,990 چگونه می توانم من می خواهم برای پیاده سازی خالی کردن ()؟ 382 00:17:23,990 --> 00:17:25,079 انجام می شود. 383 00:17:25,079 --> 00:17:25,450 OK را بزنید. 384 00:17:25,450 --> 00:17:28,900 >> پس خالی ()، مدیریت حافظه است مراقبت به طور کامل گرفته شده را برای شما در 385 00:17:28,900 --> 00:17:31,800 چیزی شبیه به پی اچ پی و بسیاری زبان های سطح بالاتر. 386 00:17:31,800 --> 00:17:32,600 بنابراین این شگفت انگیز است. 387 00:17:32,600 --> 00:17:36,080 مانند چرا جهنم ما صرف گذشته هشت هفته علاوه بر نوشتن C 388 00:17:36,080 --> 00:17:41,030 ظاهرا واقعا آرام، واقعا زمان مشکلات مصرف با ده ها ساعت 389 00:17:41,030 --> 00:17:42,530 کار زیر کمربند ما؟ 390 00:17:42,530 --> 00:17:46,110 >> خوب، برای یک چیز، این کار ممکن است خوب برای برنامه های کوچک. 391 00:17:46,110 --> 00:17:47,840 آن را قطعا و توپ رو من زمان توسعه. 392 00:17:47,840 --> 00:17:49,790 اما بیایید ببینید که چه اتفاقی می افتد در جهان واقعی است. 393 00:17:49,790 --> 00:17:52,370 >> اجازه بدهید من به این شاخه بروید در یک پنجره ترمینال. 394 00:17:52,370 --> 00:17:53,370 هجی وجود دارد. 395 00:17:53,370 --> 00:17:56,570 و اطلاع به عنوان یک کنار، و شما ممکن این مجموعه مشکل مواجه اند 396 00:17:56,570 --> 00:17:58,190 شش یا مشکل مجموعه هفت. 397 00:17:58,190 --> 00:18:01,610 شما به شدت به پایان دادن به فایل های پی اچ پی با پی اچ پی. 398 00:18:01,610 --> 00:18:05,250 اگر شما یک خط مانند که برای اولین بار یک در قرار داده است بسیار بالا، که یک خط ویژه 399 00:18:05,250 --> 00:18:10,980 نحو که اساسا به معنی پیدا کردن برنامه ای به نام پی اچ پی و استفاده از آن 400 00:18:10,980 --> 00:18:12,270 تفسیر این فایل. 401 00:18:12,270 --> 00:18:15,410 بنابراین در حال حاضر هیچ کس واقعا نمی داند که من در حال اجرا یک برنامه پی اچ پی. 402 00:18:15,410 --> 00:18:19,860 من می توانم آن را اجرا کنید فقط به عنوان اینکه آن را چیزی در C. وارد شده بودند 403 00:18:19,860 --> 00:18:20,650 >> اما در اینجا چیزی نیست. 404 00:18:20,650 --> 00:18:21,600 در واقع، اجازه دهید این کار را دوباره. 405 00:18:21,600 --> 00:18:23,530 Dropbox/pset6 /. 406 00:18:23,530 --> 00:18:25,390 هجی وجود دارد. 407 00:18:25,390 --> 00:18:26,720 خوب، 0.44 ثانیه انجام گرفته است. 408 00:18:26,720 --> 00:18:28,080 این سرعت این زمان. 409 00:18:28,080 --> 00:18:29,745 >> حالا اجازه دهید به نسخه پی اچ پی. 410 00:18:29,745 --> 00:18:43,070 411 00:18:43,070 --> 00:18:44,320 لمس نیس. 412 00:18:44,320 --> 00:18:50,830 413 00:18:50,830 --> 00:18:53,285 اما فقط فکر می کنم که چقدر زمان من در ساعات اداری نجات داد. 414 00:18:53,285 --> 00:18:56,990 415 00:18:56,990 --> 00:18:57,790 OK را بزنید. 416 00:18:57,790 --> 00:19:01,020 >> بنابراین 3.59 ثانیه، که در واقع صدا دقیق یا. 417 00:19:01,020 --> 00:19:03,710 اما این به دلیل داستان کوتاه مدت، هنگامی که شما در حال چاپ کردن مقدار زیادی 418 00:19:03,710 --> 00:19:06,840 از مسائل به صفحه نمایش، که خود همه چیز را کند میکند. 419 00:19:06,840 --> 00:19:11,260 آنچه در آن واقعا CPU در زمان لوازم خانگی 3.59 ثانیه صورت گرفت، در بود 420 00:19:11,260 --> 00:19:15,260 خلاف C، که در زمان 0.44 ثانیه اخیرا. 421 00:19:15,260 --> 00:19:17,620 که واقعا منظور از قدر متفاوت است. 422 00:19:17,620 --> 00:19:20,280 >> بنابراین که در آن است که در قیمت که از؟ 423 00:19:20,280 --> 00:19:21,790 چرا از آن است که بسیار آهسته تر؟ 424 00:19:21,790 --> 00:19:24,220 چرا PHP انجام آنقدر ضعیف؟ 425 00:19:24,220 --> 00:19:25,242 دانیل؟ 426 00:19:25,242 --> 00:19:26,550 >> یک مدعو: شما واقعا نمی استفاده از یک جدول هش. 427 00:19:26,550 --> 00:19:27,710 >> DAVID مالان: من واقعا نمی استفاده از یک جدول هش. 428 00:19:27,710 --> 00:19:28,760 بنابراین من از نوع بود. 429 00:19:28,760 --> 00:19:29,870 پس از آن یک آرایه انجمنی است. 430 00:19:29,870 --> 00:19:33,650 به احتمال زیاد اگر مردم در PHP می باشد واقعا باهوش، آنها زیر استفاده می شود 431 00:19:33,650 --> 00:19:39,520 هود جدول هش واقعی اجرا در چیزی شبیه به C یا C + +. 432 00:19:39,520 --> 00:19:41,290 اما. 433 00:19:41,290 --> 00:19:42,760 آره. 434 00:19:42,760 --> 00:19:44,010 >> یک مدعو: [نامفهوم]. 435 00:19:44,010 --> 00:19:46,690 436 00:19:46,690 --> 00:19:47,080 >> DAVID مالان: آره. 437 00:19:47,080 --> 00:19:50,780 بنابراین هر یک از توابع من در حال حاضر نوشت - در واقع، می تواند به شما می گویند که یک بار دیگر 438 00:19:50,780 --> 00:19:51,480 بلندتر کمی؟ 439 00:19:51,480 --> 00:19:54,509 >> یک مدعو: هر یک از توابع است که شما گنجانده شده است تا به مقدار زیادی بیشتر کامل 440 00:19:54,509 --> 00:19:56,610 ظرفیت از - 441 00:19:56,610 --> 00:19:57,550 >> DAVID مالان: پس این کاملا درست است. 442 00:19:57,550 --> 00:20:01,490 در بالای سر بسیار بیشتری که ما وجود دارد واقعا دیدن نیست با تمرکز تنها بر روی 443 00:20:01,490 --> 00:20:03,730 dictionary.php که من فقط نوشتم. 444 00:20:03,730 --> 00:20:08,020 در مقابل، یک مترجم کامل وجود دارد که در پس زمینه. 445 00:20:08,020 --> 00:20:12,040 در واقع، زمانی که من این برنامه را، آن شد صفر وارد شده و آنهایی که در حال اجرا نیست 446 00:20:12,040 --> 00:20:14,290 برای CPU اینتل من طراحی شده است. 447 00:20:14,290 --> 00:20:19,270 در عوض، آن را در حال اجرا خط به خط کد PHP که به نظر می رسد دقیقا 448 00:20:19,270 --> 00:20:20,350 مثل ما آن را تایپ. 449 00:20:20,350 --> 00:20:22,475 و به این ترتیب هر زمان که شما از یک تفسیر زبان، شما 450 00:20:22,475 --> 00:20:23,850 در واقع پرداخت این قیمت می باشد. 451 00:20:23,850 --> 00:20:27,010 این رفتن را به برخی از زمان به عنوان خوانده شده بالا فایل های خود را به پایین، از چپ به 452 00:20:27,010 --> 00:20:30,740 راست، و سپس اجرای هر خط دوباره و دوباره. 453 00:20:30,740 --> 00:20:34,250 >> در حال حاضر در واقعیت، به خصوص در وب، شما در واقع می تواند این فرایند را تسریع 454 00:20:34,250 --> 00:20:38,660 توسط ذخیره نتایج حاصل از این کد PHP که تفسیر شده است. 455 00:20:38,660 --> 00:20:41,640 و این را حس می کند بر روی وب، به دلیل اگر شما یک کاربر نمی 456 00:20:41,640 --> 00:20:46,300 من در اینجا، اما 1000 یا 10000 کاربران و پس از آن شاید اولین بار فایل 457 00:20:46,300 --> 00:20:49,050 دیده آن را کند، اما پس از آن آن را بسیار سریعتر. 458 00:20:49,050 --> 00:20:51,000 >> اما این خیلی، دوباره، کردن تجارت است. 459 00:20:51,000 --> 00:20:53,870 و برای چیزی شبیه به داده های پژوهشی تعیین می کنند، و یا حتی چیزی بزرگ مانند 460 00:20:53,870 --> 00:20:58,330 این، کاربران خود را در نهایت خواهد شد شروع به احساس می کنید که کاهش سرعت. 461 00:20:58,330 --> 00:21:02,670 >> بنابراین در کوتاه مدت، تفسیر زبان می باشد بسیار در رواج، بسیار محبوب است، و 462 00:21:02,670 --> 00:21:06,710 رک و پوست کنده به زبان شما احتمالا باید برای زمانی که حل مشکلات رسیدن 463 00:21:06,710 --> 00:21:08,200 پس از آن به CS50. 464 00:21:08,200 --> 00:21:12,720 اما متوجه چه مقدار شما واقعا در گرفتن برای مسلم است در زیر هود 465 00:21:12,720 --> 00:21:15,910 واقعا کسانی که چند هفته گذشته در مخلوط جداول، و درختان، و تلاش می کند، 466 00:21:15,910 --> 00:21:20,770 استفاده می شود که در نهایت به واقع پیاده سازی چیزهایی مانند براکت باز، 467 00:21:20,770 --> 00:21:24,200 براکت، که ما در حال حاضر می توانید سپاسگزاری را برای مسلم است. 468 00:21:24,200 --> 00:21:26,360 >> بنابراین اجازه دهید نگاهی کن در این زمینه وب است. 469 00:21:26,360 --> 00:21:29,890 و من آخرین بار وجود دارد که اشاره شد یک دسته از superglobals در PHP که 470 00:21:29,890 --> 00:21:32,490 واقعا مربوط نیست در خط فرمان. 471 00:21:32,490 --> 00:21:36,210 آنها در متن مربوط تر هستند استفاده از PHP در زمینه وب است. 472 00:21:36,210 --> 00:21:41,220 بنابراین در حال اجرا PHP در سرور وب به منظور برای تولید چیزهای مانند HTML. 473 00:21:41,220 --> 00:21:44,540 >> و ما در $ _GET و $ _POST انداخت، و که در آن به طور خودکار به کاربران 474 00:21:44,540 --> 00:21:49,100 ورودی پایان می رسد تا به سادگی اگر شما ارائه را تشکیل می دهند در یک فایل با پسوند. پی اچ پی در وب 475 00:21:49,100 --> 00:21:50,460 سرور مانند لوازم خانگی. 476 00:21:50,460 --> 00:21:53,310 اما اجازه دهید نگاه مختصری در $ _COOKIE و $ _SESSION. 477 00:21:53,310 --> 00:21:56,670 >> در عبارت، چه یک کوکی را به عنوان است شما آن را درک کنند در متن 478 00:21:56,670 --> 00:21:58,220 با استفاده از وب؟ 479 00:21:58,220 --> 00:21:59,450 >> یک مدعو: فایل در کامپیوتر است. 480 00:21:59,450 --> 00:21:59,920 >> DAVID مالان: آره. 481 00:21:59,920 --> 00:22:03,500 این فایل را بر روی کامپیوتر کاربر است کاشته شده توسط هر وب سایت 482 00:22:03,500 --> 00:22:04,410 شما اتفاق می افتد را ببینید. 483 00:22:04,410 --> 00:22:07,334 بنابراین، هنگامی که شما را به فیس بوک، زمانی که شما به به به bankofamerica.com، زمانی که شما به 484 00:22:07,334 --> 00:22:10,330 به google.com، هنگامی که شما را به تقریبا هر وب سایت در جهان این روز را، 485 00:22:10,330 --> 00:22:14,850 از جمله cs50.net، یک کوکی کاشته است بر روی کامپیوتر شما، که است 486 00:22:14,850 --> 00:22:19,800 یا یک مقدار در RAM در ذخیره شده خود را کامپیوتر در حافظه مرورگر خود را، و یا 487 00:22:19,800 --> 00:22:22,800 گاهی اوقات در واقع یک فایل ذخیره می شود در هارد دیسک شما. 488 00:22:22,800 --> 00:22:26,960 >> و چیزی که به طور معمول در آن فایل ذخیره می شود است نام کاربری خود را، نه شما و نه 489 00:22:26,960 --> 00:22:31,060 رمز عبور، به طور معمول چیزی نیست حساس مگر این که وب سایت این گونه نیست 490 00:22:31,060 --> 00:22:35,040 خوب با امنیت آنها، بلکه آن یک شناسه منحصر به فرد بزرگ در میان است 491 00:22:35,040 --> 00:22:35,680 چیزهای دیگر. 492 00:22:35,680 --> 00:22:38,920 این یک عدد بزرگ تصادفی کاشته شده است خود را کامپیوتر، اما شما می توانید از فکر می کنم به عنوان 493 00:22:38,920 --> 00:22:42,740 مرتب سازی بر یک تمبر دست مجازی مانند از یک باشگاه و یا برخی از پارک تفریحی که 494 00:22:42,740 --> 00:22:47,160 اجازه می دهد تا کارکنان، صاحبان که خدمات، به یاد داشته باشید که شما می شوند. 495 00:22:47,160 --> 00:22:51,030 بنابراین اگر عدد تصادفی بزرگ مانند 12345678، هر چند که به وضوح 496 00:22:51,030 --> 00:22:54,180 بیش از حد تصادفی نیست، فکر می کنم از آن به عنوان تمبر دست است که در هنگام مراجعه 497 00:22:54,180 --> 00:22:57,930 facebook.com برای اولین بار، آنها مهر که تعدادی در دست شما. 498 00:22:57,930 --> 00:23:01,510 و پس از آن به خاطر اینکه شما صحبت می کنند HTTP، شما بودن یک مرورگر، و به خاطر فیس بوک 499 00:23:01,510 --> 00:23:06,440 بدیهی است که صحبت می کند همان است که در وب سرور، HTTP پروتکل می گوید که 500 00:23:06,440 --> 00:23:09,930 در هر زمان شما پس از آن بازدید facebook.com، که آیا آن را یک ثانیه 501 00:23:09,930 --> 00:23:13,560 بعد، یک ساعت بعد، حتی در روز بعد، تا زمانی که شما به صراحت ندارد 502 00:23:13,560 --> 00:23:17,050 خارج، که به طور موثر مانند شستن دست های خود را. 503 00:23:17,050 --> 00:23:20,280 HTTP می گوید: شما باید در حال حاضر شما تمبر سوی هر بار که شما 504 00:23:20,280 --> 00:23:22,020 بازگشت به آن وب سایت. 505 00:23:22,020 --> 00:23:24,390 >> چه فیس بوک پس از آن می کند آنها است در آن مهر و موم دست نگاه کنید و 506 00:23:24,390 --> 00:23:26,850 آنها می گویند، آه، 123456789. 507 00:23:26,850 --> 00:23:30,260 من در نگاه اول نمی دانند که این دیوید مالان در کمبریج است، 508 00:23:30,260 --> 00:23:34,690 ماساچوست، اما آنها می توانند در بررسی خود پایگاه داده و می گویند، آه، فرد 509 00:23:34,690 --> 00:23:39,930 در که کامپیوتر ما کاشته 123456789 دیوید مالان از کمبریج است، 510 00:23:39,930 --> 00:23:40,440 ماساچوست. 511 00:23:40,440 --> 00:23:46,000 اجازه دهید نشان می دهد که کاربر پس از آن مشخصات خود را صفحه و یا اخبار خود را. 512 00:23:46,000 --> 00:23:49,660 >> اما یک مشکل در اینجا وجود دارد در صورتی که این است چگونه وب در واقع کار می کند. 513 00:23:49,660 --> 00:23:51,390 بیایید نگاهی به یک مثال سریع. 514 00:23:51,390 --> 00:23:55,190 اجازه دهید در واقع رفتن به می گویند facebook.com. 515 00:23:55,190 --> 00:23:58,130 اما قبل از ما وجود دارد می تواند برود، اجازه دهید من به جلو و باز کردن کروم 516 00:23:58,130 --> 00:23:59,790 بازرس کردن در اینجا. 517 00:23:59,790 --> 00:24:01,140 اجازه دهید من در تب شبکه نگاه کنید. 518 00:24:01,140 --> 00:24:06,020 و در حال حاضر اجازه دهید به جلو و نوع در https://facebook.com. 519 00:24:06,020 --> 00:24:09,410 و من انجام این کار به طوری که ما نمی بینیم همه از آن تغییرمسیر و زباله 520 00:24:09,410 --> 00:24:10,660 زمان به دنبال از طریق آن. 521 00:24:10,660 --> 00:24:12,690 اجازه دهید به من ضربه را وارد کنید. 522 00:24:12,690 --> 00:24:13,130 >> بسیار خوب. 523 00:24:13,130 --> 00:24:14,580 ما می بینیم یک دسته کامل از درخواست. 524 00:24:14,580 --> 00:24:15,640 می آید فیس بوک وجود دارد. 525 00:24:15,640 --> 00:24:16,930 یک دسته کامل از فایل ها وجود دارد. 526 00:24:16,930 --> 00:24:19,290 و در اینجا، در یاد من آخرین باری که پوشیدگی، که 527 00:24:19,290 --> 00:24:21,240 بسیاری از درخواست های HTTP. 528 00:24:21,240 --> 00:24:23,700 اما برای اولین بار است که احتمالا جالب ترین. 529 00:24:23,700 --> 00:24:26,420 >> بنابراین در اینجا پایین حرکت دهید، و من در یک ثانیه زوم در. 530 00:24:26,420 --> 00:24:29,090 این است که به نوع ظروف سرباز یا مسافر، اما اجازه دهید را ببینید. 531 00:24:29,090 --> 00:24:31,660 فیس بوک به ما ارسال تمام دسته از مسائل. 532 00:24:31,660 --> 00:24:33,490 >> اما ایست، جالب است. 533 00:24:33,490 --> 00:24:37,880 آنها کاشت نیست، اما چهار تمبر دست بر روی دست من در اینجا. 534 00:24:37,880 --> 00:24:40,400 تنظیم کوکی، کوکی تنظیم، تنظیم کوکی، مجموعه کوکی. 535 00:24:40,400 --> 00:24:44,030 و چند ویژگی در اینجا وجود دارد. 536 00:24:44,030 --> 00:24:46,170 همه آنها ذکر برخی از نوع انقضا. 537 00:24:46,170 --> 00:24:50,090 و به نظر می رسد مانند فیس بوک امیدوار است من تا سال 2015 به یاد داشته باشید. 538 00:24:50,090 --> 00:24:53,670 به طوری که احتمالا زمان با آن من باید از سیستم خارج شوید و یا آنها فقط 539 00:24:53,670 --> 00:24:55,710 به طور خودکار فرض من بر نمی گردم. 540 00:24:55,710 --> 00:24:57,840 به طوری که در واقع مناسب و معقول مقدار از زمان. 541 00:24:57,840 --> 00:24:59,170 >> و برخی دیگر وجود دارد همه چیز در اینجا. 542 00:24:59,170 --> 00:25:03,036 این کوکی به نظر می رسد به زور حذف با گفتن آن در سال 1970 منقضی شده 543 00:25:03,036 --> 00:25:04,460 قبل از کوکی ها وجود داشته است. 544 00:25:04,460 --> 00:25:06,510 بنابراین مرورگر فقط رفتن به فرض خوب، که مانند 545 00:25:06,510 --> 00:25:07,910 شستن دست تمبر. 546 00:25:07,910 --> 00:25:11,240 >> اما در حال حاضر زمانی که مرورگر من می سازد درخواست پس از آن - 547 00:25:11,240 --> 00:25:14,340 اجازه دهید من جلو بروید و این کار را انجام دوباره و مجدد بارگذاری نمایید. 548 00:25:14,340 --> 00:25:18,170 حالا اجازه دهید من حرکت بازگشت به درخواست بالا و پایین رفتن 549 00:25:18,170 --> 00:25:20,760 در اینجا، درخواست هدر. 550 00:25:20,760 --> 00:25:21,390 توجه داشته باشید این. 551 00:25:21,390 --> 00:25:25,280 بنابراین در حال حاضر من تحت هدرهای نیستم، اما متوجه آن می گوید هدر درخواست. 552 00:25:25,280 --> 00:25:29,220 و توجه کنید که مرورگر من به عنوان بخشی از درخواست خود را پس از ضربه بارگذاری است 553 00:25:29,220 --> 00:25:32,780 فرستاده شده حداقل به شرح زیر است اطلاعات. 554 00:25:32,780 --> 00:25:34,670 مجموعه کوکی، کوکی. 555 00:25:34,670 --> 00:25:38,750 بنابراین این خط است، هدر HTTP تا به صحبت می کنند، جایی که مرورگر من مرتب سازی بر است 556 00:25:38,750 --> 00:25:43,340 بدون دانستن آن ارائه طرف برای بازرسی فیس بوک. 557 00:25:43,340 --> 00:25:46,020 >> بنابراین این کوکی ها می تواند پس از آن برای چه استفاده می شود؟ 558 00:25:46,020 --> 00:25:49,420 به یاد داشته باشید که شما می شوند، و یا به یاد داشته باشید چگونه چند بار شما بوده ام وجود دارد، یا 559 00:25:49,420 --> 00:25:50,280 واقعا هر چیزی. 560 00:25:50,280 --> 00:25:52,742 >> بنابراین در اینجا counter.php های است. 561 00:25:52,742 --> 00:25:53,780 و اجازه من در فونت زوم. 562 00:25:53,780 --> 00:25:58,380 و هر بار من این صفحه را مجدد بارگذاری، توجه آن را به یاد داشته باشید که چند بار 563 00:25:58,380 --> 00:25:59,250 من هم اونجا بودم. 564 00:25:59,250 --> 00:26:00,570 خب، این که قابل توجه نیست. 565 00:26:00,570 --> 00:26:03,140 بیایید فقط بستن آن تب، و در حال حاضر اجازه بازگشت به 566 00:26:03,140 --> 00:26:07,860 http://localhost/counter.php. 567 00:26:07,860 --> 00:26:08,970 >> آه، که جالب است. 568 00:26:08,970 --> 00:26:10,960 آن را هنوز هم به یاد، حتی اگر من زبانه بسته. 569 00:26:10,960 --> 00:26:14,010 و رک و پوست کنده، اگر من مرورگر را ببندید، اگر در راه حق اجرا، من 570 00:26:14,010 --> 00:26:18,950 هنوز هم می تواند به یاد داشته باشید که این کاربر که او اولین بار بود، و 571 00:26:18,950 --> 00:26:22,840 تنها یک بار من به منوی کروم بروید، که بیش از اینجا است که در اینجا و به 572 00:26:22,840 --> 00:26:25,990 تاریخ، کلیک کنید و پاک کردن داده های مرور، به عنوان برخی از شما ممکن است در 573 00:26:25,990 --> 00:26:33,050 گذشته، تنها خواهد شد و سپس کوکی های خود را در واقع در طول وب سایت حذف می شود 574 00:26:33,050 --> 00:26:33,970 توسعه است. 575 00:26:33,970 --> 00:26:35,340 >> بنابراین، اگر ما - 576 00:26:35,340 --> 00:26:37,080 اجازه نزدیک کردن نرمافزاری gedit در اینجا. 577 00:26:37,080 --> 00:26:38,910 و اگر ما در حال حاضر به این فایل. 578 00:26:38,910 --> 00:26:44,210 اجازه بدهید من به ما vhosts / localhost را / عموم مردم، و به من اجازه انجام 579 00:26:44,210 --> 00:26:46,340 counter.php. 580 00:26:46,340 --> 00:26:48,350 توجه کنید که این یک زیبا برنامه ساده است. 581 00:26:48,350 --> 00:26:50,250 این یک وب سایت بسیار ساده است. 582 00:26:50,250 --> 00:26:51,770 >> بنابراین بالای فایل فقط نظر است. 583 00:26:51,770 --> 00:26:54,930 اما در اینجا یک خط جدید است که شما ممکن است در حال حاضر در P-مجموعه هفت، دیده می شود 584 00:26:54,930 --> 00:26:56,000 خوانی کنیم session_start (). 585 00:26:56,000 --> 00:27:00,380 این یک خط کد پی اچ پی است که اساسا می گوید وب سرور، 586 00:27:00,380 --> 00:27:03,400 مطمئن شوید که برای تمبر دست و مطمئن شوید که به بررسی تمبر دست. 587 00:27:03,400 --> 00:27:06,810 که تمام آن خط می کند، و آن را تمام این فرآیند برای ما. 588 00:27:06,810 --> 00:27:09,510 سپس متوجه من فقط میخوام دو شاخه در اینجا. 589 00:27:09,510 --> 00:27:14,150 اگر داخل کلید مقابله با این متغیر جهانی خاص به نام 590 00:27:14,150 --> 00:27:18,010 $ _SESSION تنظیم شده است - به عبارت دیگر، اگر برخی از ارزش وجود دارد وجود دارد - 591 00:27:18,010 --> 00:27:22,440 اجازه دهید آن را دریافت و ذخیره آن را در محلی متغیر به نام $ ضد. 592 00:27:22,440 --> 00:27:27,000 دیگری، اجازه دلار اختصاص مقابله مقدار پیش فرض 0 است. 593 00:27:27,000 --> 00:27:30,320 >> حالا در اینجا یکی از جنبه های پی اچ پی که هر دو برکت و لعنت. 594 00:27:30,320 --> 00:27:32,080 پی اچ پی کمی درهم و برهم است. 595 00:27:32,080 --> 00:27:35,160 بنابراین در حالی که در C، چه خواهد دامنه مبارزه شده اند 596 00:27:35,160 --> 00:27:36,725 یا اینجا یا اینجا؟ 597 00:27:36,725 --> 00:27:39,270 598 00:27:39,270 --> 00:27:41,690 >> آن را محدود شده است به کسانی که آکولاد. 599 00:27:41,690 --> 00:27:42,090 حدس بزنید چه؟ 600 00:27:42,090 --> 00:27:46,920 در پی اچ پی، آن وجود دارد و حتی در خارج از آن آکولاد، در اینجا، و در اینجا، 601 00:27:46,920 --> 00:27:49,120 و در اینجا، و اینجا، و حتی پایین. 602 00:27:49,120 --> 00:27:52,400 بنابراین من می گویم برکت به این معنا است که شما لازم نیست که به عنوان فکر می کنم 603 00:27:52,400 --> 00:27:54,070 سخت همانطور که ما هفته پیش بود. 604 00:27:54,070 --> 00:27:56,880 اما آن را نیز یک بیت از لعنت در آن بدون توجه به جایی که شما استفاده از یک متغیر در 605 00:27:56,880 --> 00:28:00,020 پی اچ پی، حداقل در یک برنامه مثل این، آن در سراسر جهان در دسترس برای 606 00:28:00,020 --> 00:28:01,170 بهتر شدن یا بدتر شدن. 607 00:28:01,170 --> 00:28:06,130 بنابراین شما باید در ذهن داشته باشیم که در حال حاضر متغیرهای شما ممکن است تعریف نشده است. 608 00:28:06,130 --> 00:28:07,640 شما ممکن است آنها را در جای دیگر تعریف شده است. 609 00:28:07,640 --> 00:28:09,460 >> اما آنچه من می خواهم به انجام این کار در نهایت؟ 610 00:28:09,460 --> 00:28:13,160 من قصد دارم برای ذخیره در داخل آن جهانی متغیر به عنوان یک ارزش 611 00:28:13,160 --> 00:28:17,060 کلید ضد نتیجه انجام مقابله به علاوه 1. 612 00:28:17,060 --> 00:28:18,910 پس این است که فقط حساب که نمی 613 00:28:18,910 --> 00:28:20,590 incrementation آن پیشخوان. 614 00:28:20,590 --> 00:28:24,850 و این واقعیت که من ذخیره سازی است که ارزش در اینجا وسیله ای برای 615 00:28:24,850 --> 00:28:29,970 اساسا به روز رسانی پایگاه داده به به یاد داشته باشید که کاربر 123456789 بوده است 616 00:28:29,970 --> 00:28:31,010 در اینجا دو بار. 617 00:28:31,010 --> 00:28:33,780 و وقتی که من این کار را دوباره دفعه بعد من بارگذاری مجدد صفحه، آن را برای بررسی 618 00:28:33,780 --> 00:28:36,710 دست من مهر و اید فقط به این خاطر که به او بگویید: دوست من، آه، کاربر 123456789 در حال حاضر 619 00:28:36,710 --> 00:28:38,410 در اینجا سه ​​برابر شده است. 620 00:28:38,410 --> 00:28:43,390 >> و بنابراین، آنچه زبان پی اچ پی و مشابه برای ما انجام می دهند این است که آنها بدانند 621 00:28:43,390 --> 00:28:47,720 خارج چگونه و در کجا و برای چه مدت برای ذخیره مقادیر در این ویژه 622 00:28:47,720 --> 00:28:48,830 superglobal در. 623 00:28:48,830 --> 00:28:52,750 و این superglobal در دفعه بعد من بازدید از صفحه مرتب کردن بر اساس جادویی 624 00:28:52,750 --> 00:28:57,440 پیش جمعیت، پر از ارزش هایی که آخرین زمان بازدید شما وجود دارد، 625 00:28:57,440 --> 00:29:02,310 که آیا آن یک دوم پیش بود، یک هفته پیش، و یا در سال 2013 و ما در حال صحبت کردن 626 00:29:02,310 --> 00:29:03,790 در مورد سال 2015. 627 00:29:03,790 --> 00:29:07,600 پی اچ پی و وب سرور مراقبت از همه که برای شما. 628 00:29:07,600 --> 00:29:08,850 >> مخاطب: [نامفهوم]. 629 00:29:08,850 --> 00:29:11,900 630 00:29:11,900 --> 00:29:15,760 >> دیوید مالان: متغیرها در پی اچ پی اساسا مگر اینکه شما همیشه جهانی 631 00:29:15,760 --> 00:29:18,400 اعلام آنها را در داخل یک تابع، و سپس آنها را به محلی 632 00:29:18,400 --> 00:29:19,420 تابع فقط. 633 00:29:19,420 --> 00:29:22,300 اما از آنجا که من هر نوشته ام توابع، آنها در حال حاضر به طور موثر 634 00:29:22,300 --> 00:29:25,090 جهانی در کل فایل من در اینجا. 635 00:29:25,090 --> 00:29:26,040 >> مخاطبان: آیا راهی وجود دارد آنها را به محلی؟ 636 00:29:26,040 --> 00:29:28,470 >> دیوید مالان: آیا راه به محلی آنها را به؟ 637 00:29:28,470 --> 00:29:30,680 تنها با پیچیدن آنها را به توابع. 638 00:29:30,680 --> 00:29:32,790 که در آخرین نسخه از پی اچ پی، شما می توانید این کار را با انجام 639 00:29:32,790 --> 00:29:34,130 یک تابع بی نام. 640 00:29:34,130 --> 00:29:35,930 اما بیشتر در مورد که در زمینه جاوا اسکریپت. 641 00:29:35,930 --> 00:29:37,260 اما پاسخ کوتاه است. 642 00:29:37,260 --> 00:29:40,888 دیگر پاسخ مثبت است. 643 00:29:40,888 --> 00:29:42,380 خوب است. 644 00:29:42,380 --> 00:29:43,380 سوال مسابقه خوب است. 645 00:29:43,380 --> 00:29:43,930 بسیار خوب. 646 00:29:43,930 --> 00:29:47,760 >> تا آخر، خود صفحه است در واقع خیلی ساده است. 647 00:29:47,760 --> 00:29:51,470 توجه داشته باشید که یک بار من پی اچ پی حالت خارج شوید، به یاد که همه این مسائل را در پایین 648 00:29:51,470 --> 00:29:53,700 در زیر فقط رفتن به تف از خام به مرورگر. 649 00:29:53,700 --> 00:29:57,050 کدام خوب است، چرا که من می خواهم به ارسال کاربر برخی از HTML است، اما من نمی خواهم 650 00:29:57,050 --> 00:29:59,140 به صورت پویا به روز رسانی که HTML. 651 00:29:59,140 --> 00:30:03,930 و یکی از راه من می توانم این کار این است که به مرتب کردن بر اساس بسیار به سرعت رها به پی اچ پی 652 00:30:03,930 --> 00:30:07,730 حالت، استفاده از علامت سوال براکت باز علامت مساوی، و سپس خروجی ارزش 653 00:30:07,730 --> 00:30:08,650 ضد. 654 00:30:08,650 --> 00:30:12,360 >> یا در صورتی که این به نظر می رسد کمی مرموز است، این علامت تساوی است که در واقع فقط برخی از 655 00:30:12,360 --> 00:30:16,190 قند نحوی برای این چون printf (ضد). 656 00:30:16,190 --> 00:30:19,160 اما رک و پوست کنده، که فقط یک کمی زشت و کمی آزار دهنده به تایپ کنید. 657 00:30:19,160 --> 00:30:23,660 بنابراین پی اچ پی بسیار خوبی ارائه می دهد این ویژگی که در آن شما فقط می توانید آن را بیشتر می گویند 658 00:30:23,660 --> 00:30:25,450 موجز در به همان شیوه. 659 00:30:25,450 --> 00:30:26,940 >> بنابراین آنچه در زیر رفتن هود؟ 660 00:30:26,940 --> 00:30:31,210 اجازه دهید به سرعت نگاهی به شبکه زبانه برای counter.php. 661 00:30:31,210 --> 00:30:35,090 و اجازه دهید من به جلو و برای اولین بار در اجازه دهید روشن کوکی های خود را. 662 00:30:35,090 --> 00:30:38,670 داده های مرور روشن بیایید از آغاز زمان. 663 00:30:38,670 --> 00:30:39,680 حالا اجازه دهید به عقب برویم بیش از اینجا. 664 00:30:39,680 --> 00:30:41,340 در حال حاضر اجازه دهید این صفحه را مجدد بارگذاری. 665 00:30:41,340 --> 00:30:42,170 و من برگشتم در صفر. 666 00:30:42,170 --> 00:30:44,810 از آنجا که مهر دست من شسته شده، من در حال حاضر یک کوکی جدید را دریافت کنید. 667 00:30:44,810 --> 00:30:48,780 >> در واقع اگر من در تب شبکه نگاه کنید و نگاهی به هدرهای، متوجه 668 00:30:48,780 --> 00:30:51,960 که دستگاه من ارسال کوکی که نام آن تا حدودی 669 00:30:51,960 --> 00:30:55,820 خودسرانه، اما نوع منطقی، PHPSESSID. 670 00:30:55,820 --> 00:30:58,440 و آن را به من ارسال این واقعا عدد تصادفی بزرگ. 671 00:30:58,440 --> 00:30:59,440 این کاملا یک عدد نیست. 672 00:30:59,440 --> 00:31:00,390 این کاملا هگزادسیمال نیست. 673 00:31:00,390 --> 00:31:03,600 این نوعی از رشته عدد و الفبایی، اما احتمالا آن را تصادفی می باشد. 674 00:31:03,600 --> 00:31:06,830 و این مهر و موم دست تا به که من با اشاره به صحبت می کنند. 675 00:31:06,830 --> 00:31:11,960 >> در همین حال اگر من روی Reload کلیک کنید و سپس نگاهی به این خط دوم برای دوم من 676 00:31:11,960 --> 00:31:17,600 درخواست، توجه کنید در حال حاضر که درخواست من هدر شامل PHPSESSID برابر، 677 00:31:17,600 --> 00:31:19,390 مجموعه کوکی، اما فقط کوکی. 678 00:31:19,390 --> 00:31:22,950 و ارائه مرورگر من تمبر دست من. 679 00:31:22,950 --> 00:31:28,820 >> بنابراین در حال حاضر به عنوان یک تیزر، و خواهیم صحبت در مورد این در یک هفته یا بیشتر، اما 680 00:31:28,820 --> 00:31:31,590 آنچه در راه این شما را آسیب پذیر، به حساب فیس بوک خود را 681 00:31:31,590 --> 00:31:34,137 آسیب پذیر، و دیگر چنین حساب های آسیب پذیر؟ 682 00:31:34,137 --> 00:31:35,510 >> مخاطب: اگر کسی تا به کوکی خود را. 683 00:31:35,510 --> 00:31:36,750 >> دیوید مالان: بله، اگر کسی کوکی خود را دارد. 684 00:31:36,750 --> 00:31:39,920 منظورم این است که واقعا، بسیار شبیه به برخی از شما ممکن است در یک باشگاه یا یک محاکمه 685 00:31:39,920 --> 00:31:44,030 پارک تفریحی، اگر شما سعی می کنید چیزی مثل این برای کپی کردن این تمبر، که البته 686 00:31:44,030 --> 00:31:47,560 به عقب بر روی دست فرد دیگری، و سپس او آن را به عنوان 687 00:31:47,560 --> 00:31:53,250 خود، اگر آن را در واقع به نظر نمیرسد یکسان است، 123456789، سپس وب 688 00:31:53,250 --> 00:31:57,980 سرور ظاهرا فقط رفتن به اعتماد که که کاربر شما. 689 00:31:57,980 --> 00:32:01,450 >> و این است که در واقع اساسی تهدید هر زمان شما از کوکی استفاده میکنیم 690 00:32:01,450 --> 00:32:05,420 چون اگر کسی فقط spoofs تا به صحبت کوکی، چهره خود را از آنچه در آن 691 00:32:05,420 --> 00:32:08,660 است، یا واقعا آن را کپی با نگاه کردن در کامپیوتر شما 692 00:32:08,660 --> 00:32:09,890 و مانند، OK. 693 00:32:09,890 --> 00:32:14,520 کوکی دیوید JJ3JIK است و غیره، و سپس آنها به اندازه کافی هوشمند می دانم 694 00:32:14,520 --> 00:32:18,080 چگونه برای مرتب کردن دستی ارسال آن کوکی برای نگهداری اطلاعات استفاده از یک مرورگر و یا از یک 695 00:32:18,080 --> 00:32:22,350 برنامه که نوشتن، آنها می توانند کاملا ورود به یک وب سایت به عنوان شما. 696 00:32:22,350 --> 00:32:28,560 این است که سخت به تظاهر به شخص دیگری مگر اینکه ما دوباره P-مجموعه 697 00:32:28,560 --> 00:32:30,790 دو، که معرفی چه؟ 698 00:32:30,790 --> 00:32:32,065 >> مخاطب: رمزنگاری. 699 00:32:32,065 --> 00:32:33,860 >> دیوید مالان: کمی کمی از رمزنگاری. 700 00:32:33,860 --> 00:32:36,550 رمزنگاری ساده، حداقل در نسخه استاندارد است، اما سازمانهای سری ومخفی 701 00:32:36,550 --> 00:32:36,870 با این وجود. 702 00:32:36,870 --> 00:32:37,410 کمتر است. 703 00:32:37,410 --> 00:32:41,440 پس از آن معلوم است اگر همه شما را رمزگذاری این هدر با استفاده از چیزی است که شما 704 00:32:41,440 --> 00:32:48,770 در حال حاضر ممکن است بدانید آشنا تر به عنوان SSL، لایه سوکت ایمن، یا URL های احتمالی https://، 705 00:32:48,770 --> 00:32:51,890 سپس همه این چیزها ما بوده ام نظر اجمالی در واقع رمزگذاری شده هستند، 706 00:32:51,890 --> 00:32:54,800 که بدان معنی است که آن را مانند شما می توانید مهر و موم دست را نمی خواند. 707 00:32:54,800 --> 00:32:59,350 تنها facebook.com می تواند، یا google.com، یا در این مورد، دستگاه می تواند 708 00:32:59,350 --> 00:33:00,550 که مهر و موم دست را بخوانید. 709 00:33:00,550 --> 00:33:04,020 >> غم انگیز هر چند، و دوباره، این است که بیش از حد مناسب با مسائل NSA 710 00:33:04,020 --> 00:33:06,410 از اواخر سال، حتی SSL شکستنی است. 711 00:33:06,410 --> 00:33:09,850 و این در واقع که سخت نیست حتی به شکستن آن رمزگذاری. 712 00:33:09,850 --> 00:33:12,040 نه زیاد با شکستن رمزنگاری، اما با فریب 713 00:33:12,040 --> 00:33:15,720 مرورگر به رمزگشایی داده ها قبل از موعد مقرر. 714 00:33:15,720 --> 00:33:17,880 اما باز هم، ما به شما کسی را دست انداختن با که قبل از بلند. 715 00:33:17,880 --> 00:33:21,242 در حال حاضر، فقط ترس. 716 00:33:21,242 --> 00:33:23,070 این غم انگیز مهربان واقعی است. 717 00:33:23,070 --> 00:33:23,760 >> بسیار خوب. 718 00:33:23,760 --> 00:33:27,910 بنابراین، جایی که این در حال حاضر ما را ترک کند؟ 719 00:33:27,910 --> 00:33:29,010 خوب، اجازه دهید این کار را. 720 00:33:29,010 --> 00:33:31,790 اجازه دهید به جلو و سریع تیزر قبل از یک استراحت ما را. 721 00:33:31,790 --> 00:33:33,790 و من فکر می کنم ما کمی دیگر معطل خواهیم کرد امروز، اما ما قصد داریم به شیرجه رفتن به 722 00:33:33,790 --> 00:33:37,850 چیزی با نام تجاری جدید و سکسی، که اشتهای شما را تحریک و حتی بیشتر. 723 00:33:37,850 --> 00:33:38,950 به طوری که تیزر است. 724 00:33:38,950 --> 00:33:41,520 >> بنابراین SQL، ما شروع به صحبت کردن در مورد تا کنون به طور خلاصه آخرین بار. 725 00:33:41,520 --> 00:33:44,670 شما واقعا می خواهید دست خود را کثیف با برخی از آن را در P-مجموعه هفت. 726 00:33:44,670 --> 00:33:46,480 و در شرایط خارج از حرفه یا فن خاصی است، چه SQL - 727 00:33:46,480 --> 00:33:47,110 S-Q-L - 728 00:33:47,110 --> 00:33:49,850 برای شما انجام دهد؟ 729 00:33:49,850 --> 00:33:50,310 آنچه در آن است؟ 730 00:33:50,310 --> 00:33:51,546 آره. 731 00:33:51,546 --> 00:33:53,240 >> مخاطب: به شما اجازه دسترسی به داده ها. 732 00:33:53,240 --> 00:33:53,360 >> دیوید مالان بله. 733 00:33:53,360 --> 00:33:55,120 این به شما اجازه دسترسی به داده ها در یک پایگاه داده. 734 00:33:55,120 --> 00:33:56,710 زبان پرس و جو ساخت یافته. 735 00:33:56,710 --> 00:33:59,890 و این است که اساسا زبان های برنامه نویسی. 736 00:33:59,890 --> 00:34:03,400 ویژگی های آن وجود دارد که ما حتی نمی خواهد در کلاس استفاده کنید. 737 00:34:03,400 --> 00:34:04,710 اما شما می توانید به طور موثر تعریف توابع. 738 00:34:04,710 --> 00:34:06,870 آنها نامیده می شود ذخیره می شود روش در SQL. 739 00:34:06,870 --> 00:34:09,860 اما ما آن را نسبتا ساده و فقط می خواهید نگه دارید استفاده از آن را برای برخی از عملیات اصلی 740 00:34:09,860 --> 00:34:14,320 مثل انتخاب داده ها، قرار دادن داده ها، به روز رسانی داده ها و حذف داده ها. 741 00:34:14,320 --> 00:34:17,400 >> و شما می توانید از یک پایگاه داده فکر می کنم، مانند یک پایگاه داده SQL، به عنوان تنها 742 00:34:17,400 --> 00:34:18,800 مایکروسافت اکسل. 743 00:34:18,800 --> 00:34:21,989 از آنجا که SQL اشاره به رابطه پایگاه داده، که در آن 744 00:34:21,989 --> 00:34:23,480 ارتباط فقط بدان معناست جداول. 745 00:34:23,480 --> 00:34:24,739 سطر و ستون. 746 00:34:24,739 --> 00:34:27,929 بنابراین هر چیزی که شما می توانید در یک صفحه گسترده قرار داده است مثل این یا Google Docs، 747 00:34:27,929 --> 00:34:32,460 شما می توانید به پایگاه داده SQL قرار داده با اعلام یک جدول. 748 00:34:32,460 --> 00:34:34,800 >> در حال حاضر، چگونه می توانم به شما در واقع دسترسی که اطلاعات؟ 749 00:34:34,800 --> 00:34:38,239 خب، با دستورات و یا نمایش داده شد شبیه به این. 750 00:34:38,239 --> 00:34:40,199 SELECT، INSERT، UPDATE، و DELETE. 751 00:34:40,199 --> 00:34:44,489 و در اکثر موارد، کسانی هستند که چهار تنها مواد تشکیل دهنده شما نیاز به 752 00:34:44,489 --> 00:34:47,370 انجام کاری کاملا قدرت در مجموعه مشکل هفت. 753 00:34:47,370 --> 00:34:49,940 >> در حال حاضر به پشت در روز، شما می توانید در واقع تعامل با یک پایگاه داده را در 754 00:34:49,940 --> 00:34:52,730 پنجره ترمینال سیاه و سفید در سریع چشمک می زند این را دوست دارند. 755 00:34:52,730 --> 00:34:56,370 و پایگاه داده ما در حال اجرا بر روی لوازم خانگی نامیده می شود خروجی زیر است که 756 00:34:56,370 --> 00:34:58,560 موتور پایگاه داده منبع باز و رایگان است. 757 00:34:58,560 --> 00:35:02,240 اگر شما گوگل و ویکیپدیا به عنوان خوانده شده مقاله، شما می دانیم که نام 758 00:35:02,240 --> 00:35:05,060 یک بیت از انتقال برای برخی نسخه از لینوکس است. 759 00:35:05,060 --> 00:35:10,460 پایگاه داده ماریا است که در واقع چنگال طوری به خروجی زیر صحبت می کنند. 760 00:35:10,460 --> 00:35:12,740 >> داستان کوتاه مدت، اوراکل خریداری خروجی زیر است. 761 00:35:12,740 --> 00:35:13,870 اوراکل یک شرکت بزرگ است. 762 00:35:13,870 --> 00:35:17,010 مردم نگران شده اند که آن را دیگر کاملا به عنوان منبع باز باقی می ماند، 763 00:35:17,010 --> 00:35:20,930 پس این فقط یک کپی از خروجی زیر که هنوز آزاد است، منبع هنوز باز است، و 764 00:35:20,930 --> 00:35:23,550 در فدورا لینوکس به طور پیش فرض نصب شده است. 765 00:35:23,550 --> 00:35:26,130 >> اما این نوع درد در است گردن با یک آشنا 766 00:35:26,130 --> 00:35:27,310 پایگاه داده این راه است. 767 00:35:27,310 --> 00:35:30,560 بنابراین ما در دستگاه CS50 شامل یک ابزار رایگان منبع باز به نام 768 00:35:30,560 --> 00:35:31,700 از phpMyAdmin. 769 00:35:31,700 --> 00:35:33,940 فقط یک تصادف است که آن را در پی اچ پی نوشته شده است. 770 00:35:33,940 --> 00:35:36,450 هیچ بنیادی وجود دارد در اینجا نیاز به پی اچ پی. 771 00:35:36,450 --> 00:35:40,090 اما این فقط یک ابزار مبتنی بر وب است که ما به صورت رایگان دریافت، نصب شده در 772 00:35:40,090 --> 00:35:43,850 لوازم خانگی، که اجازه می دهد تا ما را به یک رابط کاربر گرافیکی است که با آن 773 00:35:43,850 --> 00:35:48,610 برای کشف P-مجموعه هفت پایگاه داده با که برای ایجاد پایگاه داده های جدید، 774 00:35:48,610 --> 00:35:51,980 می گویند برای پروژه نهایی خود را اگر شما می خواهم مانند، و در نهایت ایجاد 775 00:35:51,980 --> 00:35:55,900 وب سایت های پویا مانند CS50 مالی که به شما اجازه می دهد به پرس و جو از داده ها و 776 00:35:55,900 --> 00:35:58,140 به صورت پویا به روز رسانی داده ها. 777 00:35:58,140 --> 00:36:01,420 >> شما نمی خواهید مجبور به استفاده از فقط یک فایل متنی ساده و یا CSV. 778 00:36:01,420 --> 00:36:05,950 شما در واقع می تواند استفاده از یک پایگاه داده های هوشمند برنامه ای است به طوری که شما می توانید اطلاعات بیشتری در اجرا 779 00:36:05,950 --> 00:36:10,240 نمایش داده شد پیچیده تر از فقط خواندن از طریق همه چیز خطی. 780 00:36:10,240 --> 00:36:14,150 >> بنابراین برای مثال، این همان چیزی است که ما به شما از جعبه برای P-مجموعه هفت. 781 00:36:14,150 --> 00:36:18,280 این یک جدول با ظاهرا حداقل است سه ستون، یکی از آنها است 782 00:36:18,280 --> 00:36:21,450 نام کاربری، یکی از آن مخلوط است، و از سوی دیگر از آن شناسه است. 783 00:36:21,450 --> 00:36:26,200 >> اما چیزی که جالب توجه است، و فقط به کسی را دست انداختن از یک فکر در اینجا، نام کاربری 784 00:36:26,200 --> 00:36:29,270 است که احتمالا در حال حاضر منحصر به فرد است، درست است؟ 785 00:36:29,270 --> 00:36:31,190 منظورم اینه، بیشتر از هر وب سایت، اگر شما باید یک نام کاربری، 786 00:36:31,190 --> 00:36:32,370 نمی تواند دو سزار. 787 00:36:32,370 --> 00:36:33,440 تواند وجود داشته باشد دو malans نه. 788 00:36:33,440 --> 00:36:34,950 تواند وجود داشته باشد دو jharvards نه. 789 00:36:34,950 --> 00:36:35,600 منحصر به فرد آن است. 790 00:36:35,600 --> 00:36:38,610 در غیر این صورت، آنها نمی دانند که jharvard آن واقع شده است. 791 00:36:38,610 --> 00:36:42,710 پس چه ممکن است انگیزه برای همچنین داشتن یک ستون سوم سمت چپ 792 00:36:42,710 --> 00:36:46,970 به نام ID وجود دارد، که به نظر می رسد مثل یک تعداد که به طور مشابه منحصر به فرد است؟ 793 00:36:46,970 --> 00:36:51,300 این احساس کمی کار برکنار شده به من در نگاه اول. 794 00:36:51,300 --> 00:36:54,910 چرا ممکن است آن را قانع کننده داشته باشد نه تنها نام کاربری منحصر به فرد، 795 00:36:54,910 --> 00:36:56,837 بلکه اعداد منحصر به فرد؟ 796 00:36:56,837 --> 00:36:59,460 >> مخاطبان: آنها می توانستند رمز عبور همان. 797 00:36:59,460 --> 00:37:01,720 >> دیوید مالان: مردم ممکن است از کلمه عبور یکسان، مطمئن. 798 00:37:01,720 --> 00:37:03,900 که کاملا می تواند رخ دهد. 799 00:37:03,900 --> 00:37:08,270 اما در صورتی که این نام کاربری منحصر به فرد، من استدلال می کنند که واقعا نیست 800 00:37:08,270 --> 00:37:11,630 ماده، زیرا اگر آنها خود را تایپ کنید ورود نام کاربری و من فقط نیاز به بررسی خود 801 00:37:11,630 --> 00:37:15,060 رمز عبور، آن هش خود را. 802 00:37:15,060 --> 00:37:15,970 چرا دیگری؟ 803 00:37:15,970 --> 00:37:17,950 >> مخاطبان: جستجوی سریع تر است. 804 00:37:17,950 --> 00:37:18,680 >> دیوید مالان: جستجوی سریع تر است. 805 00:37:18,680 --> 00:37:19,548 چرا؟ 806 00:37:19,548 --> 00:37:21,460 >> مخاطب: ID تنها یکی. 807 00:37:21,460 --> 00:37:24,040 >> دیوید مالان: ID تنها یک شخصیت است، یا به عبارت دقیق تر، آن است که یک عدد، 808 00:37:24,040 --> 00:37:26,910 پس از آن احتمالا 32 بیت یا چیزی شبیه به آن. 809 00:37:26,910 --> 00:37:30,270 در حالی که نام کاربری، ظاهرا جیسون Hirschhorn تا که مرتب سازی بر اساس وجود دارد 810 00:37:30,270 --> 00:37:33,900 مسخره طولانی، و آن را به من را زمان بسیار بیشتری به رشته 811 00:37:33,900 --> 00:37:40,910 مقایسه H-R-S-C-H-H-O-R-N، و شاید 0 یا چیزی شبیه به آن /، به منظور 812 00:37:40,910 --> 00:37:45,100 فقط برای نگاه کردن به جیسون، به عنوان مخالف گفت: من شماره کاربر دو را. 813 00:37:45,100 --> 00:37:46,510 این 32 بیت است. 814 00:37:46,510 --> 00:37:48,550 این یک INT واحد که شما باید برای مقایسه ندارید. 815 00:37:48,550 --> 00:37:52,150 و در واقع، که دقیقا به همین دلیل پایگاه داده تمایل به اختصاص شناسه منحصر به فرد 816 00:37:52,150 --> 00:37:53,710 ردیف در آنها. 817 00:37:53,710 --> 00:37:56,280 >> در حال حاضر چه دیگر انواع داده وجود دارد علاوه بر INT و ظاهرا 818 00:37:56,280 --> 00:37:57,160 رشته شبیه به این؟ 819 00:37:57,160 --> 00:37:59,700 خوب، مناسب تر، پایگاه های داده SQL، مانند 820 00:37:59,700 --> 00:38:02,060 خروجی زیر، زمینه های CHAR. 821 00:38:02,060 --> 00:38:05,320 و چهار کمی گمراه کننده یک CHAR تنها نیست. 822 00:38:05,320 --> 00:38:10,290 درست است CHAR در یک پایگاه داده MySQL است یک یا چند کاراکتر است، اما آن را 823 00:38:10,290 --> 00:38:11,780 تعداد ثابتی از شخصیت های. 824 00:38:11,780 --> 00:38:15,710 >> بنابراین برای مثال، اگر من بیش از رفتن به phpMyAdmin به عنوان شما در حال حاضر ممکن است و یا 825 00:38:15,710 --> 00:38:21,340 به زودی مشکل مجموعه هفت، و من به به پایگاه داده ام، و فقط برای تفریح، 826 00:38:21,340 --> 00:38:25,700 اجازه دهید به ایجاد یک جدول جدید به نام تست تنها با دو ستون. 827 00:38:25,700 --> 00:38:27,160 من پس از آن برو کلیک کنید. 828 00:38:27,160 --> 00:38:30,070 و این تبدیل خواهد شد نسبتا آشنا، به خصوص که شما سرهم بندی کردن 829 00:38:30,070 --> 00:38:31,130 در اطراف خود تغییر دهید. 830 00:38:31,130 --> 00:38:34,140 در اینجا من ممکن است ID تایپ برای ایجاد یک میز جدید از نوع INT. 831 00:38:34,140 --> 00:38:37,770 اما در اینجا من ممکن است نام کاربری به نوع از نو خلق که در جدول قبل است. 832 00:38:37,770 --> 00:38:40,700 و متوجه من یک دسته کامل از نوع را انتخاب کنید. 833 00:38:40,700 --> 00:38:43,610 >> و این بیش از حد است که چرا از phpMyAdmin نوع خوب. 834 00:38:43,610 --> 00:38:46,770 این نوع از خود آموزش است که در آن شما فقط می توانید نوع از نقطه و کلیک کنید، و 835 00:38:46,770 --> 00:38:50,730 در منو ها نگاه کنید، و استنباط از که آنچه قدرت های SQL به شما می دهد. 836 00:38:50,730 --> 00:38:54,090 >> و در واقع، اگر من CHAR را انتخاب کنید، سپس مجبور به مشخص کردن طول، و یا چگونه 837 00:38:54,090 --> 00:38:55,940 ارزش بسیاری، که چگونه بسیاری از کاراکتر. 838 00:38:55,940 --> 00:39:00,090 مقادیر بسیار معمول چیزهایی مانند است 255، اما کمی طولانی است. 839 00:39:00,090 --> 00:39:02,250 معمولا هشت برای یک نام کاربری است. 840 00:39:02,250 --> 00:39:03,590 اما این کمی کوچک این روزها. 841 00:39:03,590 --> 00:39:05,430 بنابراین این تصمیم گیری طراحی شده است. 842 00:39:05,430 --> 00:39:08,630 آیا آن را به 8 کاراکتر و حداکثر، 32، 255، 1000؟ 843 00:39:08,630 --> 00:39:09,830 این واقعا به شما. 844 00:39:09,830 --> 00:39:12,350 اما یک میدان CHAR یک عدد ثابت است. 845 00:39:12,350 --> 00:39:16,420 بنابراین انتخاب کنید بیش از حد چند و شما نوع است پیچ اگر شما می خواهید یک نام کاربری دیگر. 846 00:39:16,420 --> 00:39:19,132 را انتخاب کنید بیش از حد بسیاری و چه حرکت نزولی؟ 847 00:39:19,132 --> 00:39:20,820 >> یک مدعو: [نامفهوم]. 848 00:39:20,820 --> 00:39:21,620 >> DAVID مالان: این بی فایده است. 849 00:39:21,620 --> 00:39:24,835 درست مانند C، اگر شما یک بزرگتر تکه از حافظه از شما نیاز دارید، شما 850 00:39:24,835 --> 00:39:27,190 فقط اتلاف وقت و به هدر رفتن فضا. 851 00:39:27,190 --> 00:39:31,430 بنابراین به عنوان یک جایگزین، وجود دارد VARCHAR، که با حل این مشکل 852 00:39:31,430 --> 00:39:36,390 درمان طول به عنوان یک طول ثابت نیست، اما به عنوان یک حداکثر طول، و با استفاده از 853 00:39:36,390 --> 00:39:40,990 تعداد متغیر از کاراکتر، که پس از آن تمایل به استفاده از تنها به عنوان بسیاری از کاراکتر که شما 854 00:39:40,990 --> 00:39:42,710 در واقع نیاز دارید. 855 00:39:42,710 --> 00:39:43,670 به نظر کامل است. 856 00:39:43,670 --> 00:39:45,640 >> چرا ما را از شر نوع داده ها CHAR؟ 857 00:39:45,640 --> 00:39:48,500 چه ممکن است این حرکت نزولی با استفاده از نوع متغیر varchar، که برای تلفن های موبایل 858 00:39:48,500 --> 00:39:51,644 مانند آن را به یک پیروزی خوب است؟ 859 00:39:51,644 --> 00:39:52,596 آره؟ 860 00:39:52,596 --> 00:39:53,846 >> یک مدعو: [نامفهوم]. 861 00:39:53,846 --> 00:39:57,360 862 00:39:57,360 --> 00:39:57,790 >> DAVID مالان: OK، خوب است. 863 00:39:57,790 --> 00:40:01,101 بنابراین اگر تمام اطلاعات خود را در همان است طول، چه نگرانی؟ 864 00:40:01,101 --> 00:40:05,250 >> یک مدعو: از آنجا که شما به هدر رفتن داده ها با گفتن همه آنها را. 865 00:40:05,250 --> 00:40:09,060 >> DAVID مالان: بنابراین اگر تمام اطلاعات خود را است همان طول، هر چند، می خواهم بگویم 866 00:40:09,060 --> 00:40:12,300 که تعیین حداکثر طول در VARCHAR است هیچ تفاوتی ندارد 867 00:40:12,300 --> 00:40:16,070 تعیین طول ثابت در CHAR اگر شما می دانید که تعداد در پیش است. 868 00:40:16,070 --> 00:40:19,500 اما در واقع وجود دارد، و من مرتب از استخراج از آن پاسخ واقعیت 869 00:40:19,500 --> 00:40:22,610 که هنوز هم حداکثر وجود دارد، که می تواند آزار دهنده، به خصوص اگر شما 870 00:40:22,610 --> 00:40:25,920 نام و نام خانوادگی یک شخص روبرو می شوند که غیر منتظره ای طولانی است که شما نمی 871 00:40:25,920 --> 00:40:26,860 پیش بینی. 872 00:40:26,860 --> 00:40:31,420 و آن را نیز کمی کمتر کارآمد در واقع در نوع متغیر varchar جستجو به عنوان 873 00:40:31,420 --> 00:40:35,620 مخالف کاراکتر جستجو، به خصوص برای جداول طولانی است که تعداد زیادی و 874 00:40:35,620 --> 00:40:36,510 مقدار زیادی از داده ها. 875 00:40:36,510 --> 00:40:40,060 بنابراین در اینجا بیش از حد، موضوعی است دوباره هیچ چاره ای آشکار است. 876 00:40:40,060 --> 00:40:42,870 >> پس فقط به شما یک حس دیگر را انواع داده هایی را که ممکن است مورد علاقه 877 00:40:42,870 --> 00:40:45,400 یا برای-p مجموعه هفت یا در در آینده، این INT وجود دارد. 878 00:40:45,400 --> 00:40:47,270 این BIGINT، وجود دارد که مثل این است که طولانی مدت. 879 00:40:47,270 --> 00:40:48,880 این گرایش به 64 بیت. 880 00:40:48,880 --> 00:40:51,640 به دهدهی، که شما در دیدن وجود دارد مجموعه ای مشکل است که بسیار 881 00:40:51,640 --> 00:40:55,300 پاسخ تمیز کننده به مشکلات ما مواجه با شناور و شناور 882 00:40:55,300 --> 00:40:55,980 اشاره عدم دقت. 883 00:40:55,980 --> 00:40:57,390 و پس از آن DATETIME وجود دارد. 884 00:40:57,390 --> 00:41:01,530 به معنای واقعی کلمه یک نوع داده است که وجود دارد به مانند یک سال نگاه کنید، یک ماه، یک روز، 885 00:41:01,530 --> 00:41:03,730 و ساعت، دقیقه و ثانیه. 886 00:41:03,730 --> 00:41:07,470 >> اما پایگاه داده SQL نیز چیزهایی که ما را شاخص تماس بگیرید. 887 00:41:07,470 --> 00:41:11,630 و شاخص چیزی است که شما می باشد مشخص در هنگام ایجاد جدول به 888 00:41:11,630 --> 00:41:15,720 را جستجو و عملیات دیگر کارآمد تر. 889 00:41:15,720 --> 00:41:18,550 به طور خاص، چیزی به نام وجود دارد شاخص اولیه که شما می توانید 890 00:41:18,550 --> 00:41:19,440 اعلام به شرح زیر است. 891 00:41:19,440 --> 00:41:22,330 >> ما این کار را برای شما با انجام کاربران جدول ما به شما بدهد. 892 00:41:22,330 --> 00:41:26,160 اما توجه کنید اگر من دستی بازآفرینی شد جدول کاربران در اینجا دادن 893 00:41:26,160 --> 00:41:27,110 آن را به نام از کاربران. 894 00:41:27,110 --> 00:41:28,125 من در حال حاضر مشخص شده ID. 895 00:41:28,125 --> 00:41:29,330 I INT مشخص شده است. 896 00:41:29,330 --> 00:41:32,000 من نام کاربری با تعیین حداکثر 32 حرف می باشد. 897 00:41:32,000 --> 00:41:36,140 اما اگر ما را پیمایش در این نسبتا پنجره گسترده، متوجه یک وجود دارد 898 00:41:36,140 --> 00:41:38,260 دسته چیزهای دیگر را من می توانید مشخص کنید. 899 00:41:38,260 --> 00:41:40,950 >> یکی، من می تواند ویژگی های مشخص مانند، می دانید، این 900 00:41:40,950 --> 00:41:42,190 INT باید UNSIGNED باشد. 901 00:41:42,190 --> 00:41:45,510 من اعداد منفی می خواهید نیست، بنابراین اجازه دهید آن را UNSIGNED را. 902 00:41:45,510 --> 00:41:48,660 نول است که در اینجا مربوط نیست چرا که من نمی خواهم هر کاربر به 903 00:41:48,660 --> 00:41:49,640 یک شماره منحصر به فرد. 904 00:41:49,640 --> 00:41:50,830 من نمی خواهم آن را به تهی باشد. 905 00:41:50,830 --> 00:41:52,330 >> اما این جالب است. 906 00:41:52,330 --> 00:41:57,780 I توانید مشخص کنید که ID است یا کلید اصلی از این پایگاه داده، یا آن را 907 00:41:57,780 --> 00:42:00,620 منحصر به فرد، و یا آن را نمایه، و یا متن کامل. 908 00:42:00,620 --> 00:42:05,630 بنابراین برای مقاصد امروز، داستان بلند کوتاه، PRIMARY بدان معنی است که این مورد 909 00:42:05,630 --> 00:42:10,570 هر دو مفهومی و فنی درست است که ما منحصر به فرد استفاده 910 00:42:10,570 --> 00:42:12,140 شناسایی کاربران. 911 00:42:12,140 --> 00:42:16,140 >> بنابراین، هنگامی که ما نگاه کردن کاربران، این است که مرتب سازی بر از وعده به آنها نگاه کردن عمدتا توسط 912 00:42:16,140 --> 00:42:17,370 که شناسه منحصر به فرد. 913 00:42:17,370 --> 00:42:21,930 و پایگاه داده تضمین خواهد کرد که اگر شما یک کاربر شماره 3، شما می توانید نیست 914 00:42:21,930 --> 00:42:25,400 از لحاظ فیزیکی قرار دادن یک کاربر دیگر با همان شماره 3. 915 00:42:25,400 --> 00:42:28,380 پایگاه داده ها فقط رد خواهد کرد تغییرات را ذخیره کنید. 916 00:42:28,380 --> 00:42:32,310 که چیز خوبی است، چرا که شما می توانید از خودتان محافظت از خود. خود 917 00:42:32,310 --> 00:42:34,270 >> روش دیگر، برای نام کاربری. 918 00:42:34,270 --> 00:42:37,670 بنابراین ردیف دوم، به یاد بیاورید، فیلد نام کاربری است. 919 00:42:37,670 --> 00:42:41,860 بنابراین ردیف دوم در اینجا نام کاربری است، همانطور که ما در سمت چپ وجود دارد. 920 00:42:41,860 --> 00:42:43,940 >> پس چه چیز دیگری ممکن است من می خواهم برای مشخص؟ 921 00:42:43,940 --> 00:42:47,840 من اجازه ندارم، با توجه به SQL، برای مشخص کردن دو کلید اولیه. 922 00:42:47,840 --> 00:42:50,750 شما می توانید یک کلید مشترک که در آن شما را مشخص در هر دو زمینه نگاه کنید، اما آنها نمی توانند 923 00:42:50,750 --> 00:42:52,260 به صورت جداگانه کلید اولیه باشد. 924 00:42:52,260 --> 00:42:54,750 به طوری که خارج از بحث است. 925 00:42:54,750 --> 00:42:56,040 بنابراین که ممکن است من می خواهم به انتخاب می کنید؟ 926 00:42:56,040 --> 00:42:59,710 >> خوب، منحصر به فرد در روح شبیه به یک است کلید اصلی که در آن شما در این مشخص 927 00:42:59,710 --> 00:43:03,570 درست است باید منحصر به فرد باشد، اما آن را برای رفتن به یک 928 00:43:03,570 --> 00:43:04,410 من استفاده از تمامی هم. 929 00:43:04,410 --> 00:43:08,450 و ما قصد داریم به استفاده از این همه زمان به چه دلیلی دوباره؟ 930 00:43:08,450 --> 00:43:10,490 این کندتر به طور بالقوه اگر آن یک نام کاربری طولانی است. 931 00:43:10,490 --> 00:43:11,740 این یک اتلاف وقت فقط. 932 00:43:11,740 --> 00:43:16,140 >> INDEX، در عین حال، مشخص است که آن را برای رفتن به منحصر به فرد، اما من می خواهم 933 00:43:16,140 --> 00:43:19,470 شما را به کار سحر و جادو خود را در زیر هود به آن را سریع تر برای من 934 00:43:19,470 --> 00:43:21,420 جستجو در این زمینه. 935 00:43:21,420 --> 00:43:23,320 پس این احتمالا مربوط نیست در اینجا. 936 00:43:23,320 --> 00:43:26,500 برای نام کاربری، من می خواهم استدلال می کنند که UNIQUE پاسخ خوب است. 937 00:43:26,500 --> 00:43:31,200 اما فرض کنید که ما کاربران ساخته شده است تر جالب از نام های کاربری، 938 00:43:31,200 --> 00:43:32,430 رشته هش را، و شماره ID. 939 00:43:32,430 --> 00:43:33,860 چه می شود اگر ما اسم کامل به مردم؟ 940 00:43:33,860 --> 00:43:37,700 چه می شود اگر ما به آنها آدرس داد و اطلاعات دیگر در مورد آنها؟ 941 00:43:37,700 --> 00:43:43,360 >> خوب، اگر شما مشخص است که یک ستون در پایگاه داده نمایه شده است، که بدان معنی است که 942 00:43:43,360 --> 00:43:47,730 خروجی زیر و یا اوراکل، و یا هر پایگاه داده شما با استفاده از، باید سحر و جادو خود کار 943 00:43:47,730 --> 00:43:51,300 و استفاده از برخی از نوع داده های فانتزی ساختار مانند یک درخت و یا یک درخت پیشوندی، یا 944 00:43:51,300 --> 00:43:55,940 جدول هش، و یا چیزی برای تضمین که زمانی که شما برای اطلاعات با استفاده از جستجو 945 00:43:55,940 --> 00:43:58,150 را انتخاب کنید که در آن زمینه خاص - 946 00:43:58,150 --> 00:44:01,310 مانند هر کس به من نشان می دهد که زندگی در خیابان آکسفورد. 947 00:44:01,310 --> 00:44:02,540 پرس و جو که می خواهم. 948 00:44:02,540 --> 00:44:06,250 اگر شما در پیش مشخص شده است که شما می خواهید یک شاخص در این زمینه، 949 00:44:06,250 --> 00:44:09,050 جستجو بسیار خواهد بود، بسیار سریعتر. 950 00:44:09,050 --> 00:44:12,090 >> اگر شما یک شاخص، بهترین مشخص نیست شما می توانید یک جستجوی خطی اگر 951 00:44:12,090 --> 00:44:13,030 آن طبقه بندی شده اند نیست. 952 00:44:13,030 --> 00:44:16,220 اما اگر شما INDEX، هوشمند مشخص افرادی که پایگاه داده ساخته شده است - 953 00:44:16,220 --> 00:44:19,340 افرادی مانند شما که در حال حاضر می دانیم درختان و تلاش می کند و جداول هش - 954 00:44:19,340 --> 00:44:23,220 به طور خودکار ساخت چنین اطلاعات ساختار در RAM مطمئن شوید که 955 00:44:23,220 --> 00:44:26,050 کسانی که جستجو می کنید بسیار سریعتر. 956 00:44:26,050 --> 00:44:29,660 >> FULLTEXT در عین حال در روح شبیه است، اما اجازه می دهد تا شما را به انجام کلمات 957 00:44:29,660 --> 00:44:35,480 جستجو، مثل من همه نشان می دهد که زندگی در خیابان ها که با شروع 958 00:44:35,480 --> 00:44:36,960 حرف O به هر دلیلی. 959 00:44:36,960 --> 00:44:38,850 شما می توانید جستجو کلمات انجام مانند آن. 960 00:44:38,850 --> 00:44:45,880 یا چیز قانع کننده تر مانند نشان می دهد من هر کسی که دارای کلمه - 961 00:44:45,880 --> 00:44:49,400 هر کس که نام شروع می شود به من نشان بده با یک حرف خاص. 962 00:44:49,400 --> 00:44:51,880 شما می توانید برای کلمات کلیدی جستجو در این راه. 963 00:44:51,880 --> 00:44:52,630 بسیار خوب. 964 00:44:52,630 --> 00:44:55,760 >> بنابراین، فرصت های طراحی وجود دارد به طور بالقوه. 965 00:44:55,760 --> 00:44:57,740 دیگران وجود دارد که من موج تو دست من در. 966 00:44:57,740 --> 00:45:00,530 به نظر می رسد که شما می توانید موتور ذخیره سازی متفاوت است. 967 00:45:00,530 --> 00:45:04,390 و این است که پیچیده تر از ما نیاز قطعا برای مشکل مجموعه هفت. 968 00:45:04,390 --> 00:45:06,920 به طور پیش فرض، شما بچه ها با استفاده از چیزی به نام INNODB. 969 00:45:06,920 --> 00:45:10,910 شما اشاره ای به این در جایی ببینید رابط از phpMyAdmin به احتمال زیاد. 970 00:45:10,910 --> 00:45:14,130 اما می دانیم که طراحی دیگر وجود دارد تصمیماتی که بالقوه می باشد 971 00:45:14,130 --> 00:45:18,030 علاقه آمده پروژه های نهایی اگر شما چیزی مبتنی بر وب. 972 00:45:18,030 --> 00:45:19,330 >> اما اجازه دهید این کار را. 973 00:45:19,330 --> 00:45:23,130 اجازه دهید به جلو قرار داده و این در صفحه نمایش به عنوان یک تیزر برای یک داستان 974 00:45:23,130 --> 00:45:26,330 مربوط به شما، هم اتاقی، و یک لیوان شیر. 975 00:45:26,330 --> 00:45:28,240 اجازه دهید یک دقیقه دو را و یا بنابراین در اینجا شکستن. 976 00:45:28,240 --> 00:45:31,060 و اگر شما می توانید در اطراف چوب، اجازه دهید به دست می آید برگشت، نگاه کنید کمی بیشتر در SQL، و 977 00:45:31,060 --> 00:45:35,160 پس از آن یک بیت از جاوا اسکریپت با -p مجموعه هشت در ذهن داشته باشند. 978 00:45:35,160 --> 00:45:36,120 >> بسیار خوب. 979 00:45:36,120 --> 00:45:40,420 بنابراین، اجازه دهید شما را به فکر کردن در مورد یک مورد گوشه ای است که به راحتی می تواند بوجود می آیند 980 00:45:40,420 --> 00:45:44,240 در متن با استفاده از یک پایگاه داده، یا رک و پوست کنده، حتی با استفاده از چیزهای دنیای واقعی 981 00:45:44,240 --> 00:45:46,280 مانند دستگاههای خودپرداز برای دریافت پول است. 982 00:45:46,280 --> 00:45:47,640 بنابراین در اینجا یک یخچال است. 983 00:45:47,640 --> 00:45:50,040 فرض کنید که شما بیش از حد در که داری خوابگاه خود و یا خانه خود را. 984 00:45:50,040 --> 00:45:54,990 و شما یک هم اتاقی، و هر دو رو شما واقعا دوست دارم شیر به عنوان مثال. 985 00:45:54,990 --> 00:45:57,210 >> بنابراین شما به خانه یک روز آمده از کلاس. 986 00:45:57,210 --> 00:45:58,490 او هنوز نمی. 987 00:45:58,490 --> 00:45:59,180 شما برای باز کردن در یخچال. 988 00:45:59,180 --> 00:46:00,870 شما واقعا می خواهید یک لیوان بزرگ شیر. 989 00:46:00,870 --> 00:46:01,820 هیچ شیر وجود دارد. 990 00:46:01,820 --> 00:46:02,920 پس چه باید بکنید؟ 991 00:46:02,920 --> 00:46:03,840 به شما نزدیک یخچال. 992 00:46:03,840 --> 00:46:04,670 شما کلیدهای خود را گرفتن. 993 00:46:04,670 --> 00:46:05,930 شما رفتن به خارج از مربع است. 994 00:46:05,930 --> 00:46:09,240 و شما در خط در CVS دریافت در آن همه چیز از خود پرداخت، که همیشه 995 00:46:09,240 --> 00:46:11,180 را بیش از واقع داشتن صندوق داران. 996 00:46:11,180 --> 00:46:11,820 به هر حال. 997 00:46:11,820 --> 00:46:15,490 >> بنابراین پس از آن، در عین حال، نقطه نقطه نقطه، خود را هم اتاقی به خانه می آید و او 998 00:46:15,490 --> 00:46:17,440 به طور مشابه یک اشتیاق برای برخی از شیر است. 999 00:46:17,440 --> 00:46:20,380 بنابراین او باز یخچال، به نظر می رسد در داخل، و آه، لعنتی. 1000 00:46:20,380 --> 00:46:21,160 بدون شیر است. 1001 00:46:21,160 --> 00:46:24,750 پس او سر از، اتفاق می افتد به به CVS دیگر، که تنها بود 1002 00:46:24,750 --> 00:46:27,900 جلوگیری از دور به دلایلی، و او و یا او در خط می شود برای خرید برخی از شیر است. 1003 00:46:27,900 --> 00:46:30,480 >> در همین حال، شما به خانه، او و یا او به خانه می آید، و چه 1004 00:46:30,480 --> 00:46:31,980 شما در نهایت باید؟ 1005 00:46:31,980 --> 00:46:33,080 شیر دو برابر. 1006 00:46:33,080 --> 00:46:34,620 اما شما واقعا نمی خواهم شیر که بسیار. 1007 00:46:34,620 --> 00:46:37,300 بنابراین در حال حاضر شما باید شیر بسیار که در حال حاضر یکی از آنها فقط رفتن به ترش 1008 00:46:37,300 --> 00:46:37,820 در نهایت. 1009 00:46:37,820 --> 00:46:39,370 بنابراین این یک مشکل واقعا بد است. 1010 00:46:39,370 --> 00:46:39,900 درست است؟ 1011 00:46:39,900 --> 00:46:41,990 >> پس چه اتفاقی افتاده است؟ 1012 00:46:41,990 --> 00:46:44,810 بنابراین اساسا، این نوع است یک مثال مسخره است. 1013 00:46:44,810 --> 00:46:48,580 اما در زیر کاپوت، آنچه که ما تا به حال اتفاق می افتد در اینجا این است که هر دو از شما بررسی می شود 1014 00:46:48,580 --> 00:46:52,390 دولت از برخی از قطعه ای از حافظه، یخچال و فریزر. 1015 00:46:52,390 --> 00:46:54,420 هر دو از شما چک دولت برخی از متغیر. 1016 00:46:54,420 --> 00:46:57,360 شما هر دو یک نتیجه گیری به خود جلب کرد که شما پس از عمل در. 1017 00:46:57,360 --> 00:47:01,420 اما متاسفانه، در حالی که هم اتاقی خود را در فروشگاه بود، دولت از آن 1018 00:47:01,420 --> 00:47:05,670 متغیر تغییر، او آمد و در حال حاضر می خواهد به تغییر دولت است، اما 1019 00:47:05,670 --> 00:47:07,480 آن را در حال حاضر تغییر کرده است در او و یا او. 1020 00:47:07,480 --> 00:47:11,120 و البته، او نمی خواهد که رفته به فروشگاه اگر آنها می دانستند 1021 00:47:11,120 --> 00:47:13,010 که شما در حال حاضر در مسیر بودند. 1022 00:47:13,010 --> 00:47:16,430 >> بنابراین در دنیای واقعی، چگونه می تواند شما اجتناب از این مشکل، فرض کنید شما 1023 00:47:16,430 --> 00:47:18,940 یخچال، شما یک هم اتاقی، و شما در واقع شیر را دوست دارم؟ 1024 00:47:18,940 --> 00:47:19,760 >> یک مدعو: برقراری ارتباط. 1025 00:47:19,760 --> 00:47:20,580 >> دیوید مالان: ارتباط. 1026 00:47:20,580 --> 00:47:21,160 OK را بزنید. 1027 00:47:21,160 --> 00:47:22,500 اما چگونه ممکن است شما ارتباط برقرار؟ 1028 00:47:22,500 --> 00:47:23,990 >> حضار: ترک توجه داشته باشید. 1029 00:47:23,990 --> 00:47:25,480 >> دیوید مالان: مرخصی توجه داشته باشید، درست است؟ 1030 00:47:25,480 --> 00:47:28,025 همیشه توجه داشته باشید ترک، طرفداران نشان می دهد. 1031 00:47:28,025 --> 00:47:31,580 همه حق است، پس همیشه ترک توجه داشته باشید، یا قرار دادن واقعا مثل یک قفل و یا چیزی 1032 00:47:31,580 --> 00:47:35,440 در یخچال نگه می دارد که خود را هم اتاقی از بازرسی دولت 1033 00:47:35,440 --> 00:47:36,540 که متغیر است. 1034 00:47:36,540 --> 00:47:40,800 >> در حال حاضر، به همین دلیل ممکن است این باشد وابسته به مجموعه مشکل هفت، و یا به دستگاههای خودپرداز. 1035 00:47:40,800 --> 00:47:46,780 خب، تصور کنید یک جهان در یک دستگاه خودپرداز که در آن شما ممکن است قادر به بالا رفتن به یک دستگاه خودپرداز 1036 00:47:46,780 --> 00:47:48,920 ماشین در اینجا، و یکی دیگر از دستگاه های خودپرداز در اینجا. 1037 00:47:48,920 --> 00:47:50,680 و این اغلب اتفاق می افتد. 1038 00:47:50,680 --> 00:47:54,150 و فرض کنید شما تا به حال دو کارت ATM، که ممکن است برای به دست آوردن. 1039 00:47:54,150 --> 00:47:57,420 و شما را به هر دو دستگاه وارد بخش مدیریت شوید، به طور موثر به طور همزمان، امیدوارم 1040 00:47:57,420 --> 00:47:58,660 در حالی که هیچ کس به دنبال. 1041 00:47:58,660 --> 00:48:01,260 و سپس شما را در PIN خود را تایپ کنید تقریبا به طور همزمان. 1042 00:48:01,260 --> 00:48:06,280 و سپس شما انجام پرس و جو تعادل برای دیدن چقدر پول نقد شما. 1043 00:48:06,280 --> 00:48:08,920 و اجازه دهید می گویند شما باید 100 دلار در حساب خود باقی مانده است. 1044 00:48:08,920 --> 00:48:13,310 بنابراین اساسا به طور همزمان، شما می گویند یک، صفر، صفر، را وارد کنید. 1045 00:48:13,310 --> 00:48:16,000 و امیدوارم شما به عقب بر گردیم مقداری پول. 1046 00:48:16,000 --> 00:48:18,440 >> اما چقدر پول ممکن است شما را به عقب بر گردیم؟ 1047 00:48:18,440 --> 00:48:21,710 در حال حاضر کامپیوتر در پایان روز، به خصوص اگر آنها در حال صحبت کردن 1048 00:48:21,710 --> 00:48:27,360 سرورها، لزوما انجام کارهای را ندارید در نظم است که انتظار می رود. 1049 00:48:27,360 --> 00:48:30,860 >> بنابراین فرض کنید که چه چیزی اتفاق می افتد، به دلیل مسائل هر چه سرعت شبکه وجود دارد 1050 00:48:30,860 --> 00:48:34,530 هستند، و یا مسائل مربوط به CPU وجود دارد، یا هر چیزی شبیه به آن، فرض کنید که 1051 00:48:34,530 --> 00:48:38,530 اولین دستگاه خودپرداز چک تعادل و خود را می بیند، آه، این شخص 100 دلار. 1052 00:48:38,530 --> 00:48:41,840 اما پس از آن منحرف می شود چرا که شاید یک نسخه پشتیبان تهیه می باشد اتفاق می افتد و پس از آن 1053 00:48:41,840 --> 00:48:42,500 کم کردن سرعت. 1054 00:48:42,500 --> 00:48:45,080 یا شاید در حالی که چک کردن، شبکه ارتباط کمی کندتر است، چرا که با 1055 00:48:45,080 --> 00:48:45,910 این فقط اتفاق می افتد. 1056 00:48:45,910 --> 00:48:47,100 آنها دستگاه های فیزیکی هستیم. 1057 00:48:47,100 --> 00:48:49,330 بنابراین در عین حال، دستگاه های خودپرداز دوم پرسیدن همین سوال. 1058 00:48:49,330 --> 00:48:53,030 چقدر پول دیوید می کند؟ 100 دلار پاسخ است. 1059 00:48:53,030 --> 00:48:58,930 اما از آنجا که اولین دستگاه های خودپرداز هنوز رتبهدهی نشده است ارسال پیام تفریق 100 دلار، هر دو 1060 00:48:58,930 --> 00:49:03,000 دستگاههای خودپرداز بازرسی طاق بانک، دیدن 100 دلار وجود دارد، و در حال حاضر 1061 00:49:03,000 --> 00:49:07,160 هر دو ماشین به طور بالقوه می باشد رفتن به تف جواب. 1062 00:49:07,160 --> 00:49:12,240 >> در حال حاضر، این فوق العاده است برای شما می باشد در برخی از حس اگر چه بانک می کند در نهایت 1063 00:49:12,240 --> 00:49:17,200 تغییر مقدار به منهای 100 تنظیم مقدار متغیر برابر خود را به 1064 00:49:17,200 --> 00:49:21,570 حساب بانکی برابر با 0 است، به عنوان مخالف به انجام منهای 100. 1065 00:49:21,570 --> 00:49:24,410 در حال حاضر در بدترین حالت برای بانک - 1066 00:49:24,410 --> 00:49:27,470 یا در بهترین راه حل برای این بانک، در عین حال، آنها به شما 200 دلار بدهد، و 1067 00:49:27,470 --> 00:49:31,690 حساب بانکی خود را در حال حاضر نشان می دهد منفی 100 دلار، که واقعا نمی 1068 00:49:31,690 --> 00:49:32,950 در همه به نفع شما. 1069 00:49:32,950 --> 00:49:36,500 اما نکته این است که این مسابقه شرایط برای گرفتن دو هم اتاقی 1070 00:49:36,500 --> 00:49:40,660 شیر، یا برای دو نفر تلاش دستگاههای خودپرداز برای دریافت پول نقد و تغییر حالت از یک طاق 1071 00:49:40,660 --> 00:49:44,510 در همان زمان وجود دارد هر زمانی که شما یک پایگاه داده. 1072 00:49:44,510 --> 00:49:48,290 >> در حال حاضر در مجموعه مشکل هفت، این موضوع ناشی می شود به این معنا که اگر شما خرید 1073 00:49:48,290 --> 00:49:52,110 سهم از سهام فیس بوک، و سپس برای به عنوان مثال شما خرید یک سهم دوم 1074 00:49:52,110 --> 00:49:55,160 سهام فیس بوک، شما نیاز به ایجاد تصمیم گیری به عنوان برنامه نویس. 1075 00:49:55,160 --> 00:49:58,710 به منظور تصمیم می گیرید که چگونه برای به روز رسانی پایگاه داده، شانس شما در حال رفتن به 1076 00:49:58,710 --> 00:50:02,250 یک ردیف برای آن سهام، و این یک راه برای پیاده سازی آن است. 1077 00:50:02,250 --> 00:50:06,640 و شما در حال رفتن به یک سهم از FB، که خود سهام نماد دارای صدای تیک تیک 1078 00:50:06,640 --> 00:50:10,120 برای ورود نام کاربری و یا این کاربر ID، شناسه منحصر به فرد است. 1079 00:50:10,120 --> 00:50:12,340 >> اما همان مطلب را می توانید در اینجا اتفاق می افتد. 1080 00:50:12,340 --> 00:50:15,800 اگر شما یک SELECT در SQL، همانطور که شما خواهید دید در مشکل مجموعه هفت زمانی که می بینید، 1081 00:50:15,800 --> 00:50:18,460 آه، دیوید یک سهم از سهام فیس بوک است. 1082 00:50:18,460 --> 00:50:23,240 اجازه دهید من در حال حاضر این تغییر به دو سهام، زیرا او می خواهد برای خرید 1083 00:50:23,240 --> 00:50:24,120 سهم دوم. 1084 00:50:24,120 --> 00:50:27,860 اما فرض کنید دیوید در واقع دو نفر مرورگر پنجره های باز، یا فرض کنید که 1085 00:50:27,860 --> 00:50:32,150 این یک حساب مشترک با دو زن و شوهر، و هر دو آنها را در حال تلاش برای انجام 1086 00:50:32,150 --> 00:50:36,770 عملیات مشابه، وجود دارد، بیش از حد، پتانسیل برای تصمیم گیری به وجود دارد 1087 00:50:36,770 --> 00:50:39,670 بر اساس قبلی ساخته شده است دولت جهان - 1088 00:50:39,670 --> 00:50:41,290 حساب دارای یک سهم - 1089 00:50:41,290 --> 00:50:45,630 و هر دو نفر، یا هر دو سرویس دهنده ها، در حال حاضر سعی کنید به گفتن افزایش آن را به دو سهم. 1090 00:50:45,630 --> 00:50:49,020 اما در این مورد، شما ممکن است به اتهام من پول برای هر دو سهام، اما 1091 00:50:49,020 --> 00:50:50,830 افزایش می یابد که فقط یک بار. 1092 00:50:50,830 --> 00:50:54,730 >> بنابراین در کوتاه مدت، مشکل اساسی در اینجا، با شوخی در مورد ترک 1093 00:50:54,730 --> 00:50:58,750 توجه داشته باشید، و یا قرار دادن قفل بر روی آن است، اگر دو نفر، یا دو موضوعات - 1094 00:50:58,750 --> 00:50:59,930 فکر می کنم به خراش - 1095 00:50:59,930 --> 00:51:03,220 می تواند دولت برخی از متغیر بازرسی و سپس سعی کنید به تغییر که متغیر، 1096 00:51:03,220 --> 00:51:07,950 اما آن دو چیز اتفاق نمی افتد همان زمان، اما می توانید قطع 1097 00:51:07,950 --> 00:51:11,500 با چیزهای دیگر اتفاق می افتد، داده ها می تواند به دولت بسیار عجیب و غریب دریافت کنید. 1098 00:51:11,500 --> 00:51:15,450 و شما می توانید بهره مند شوند و یا شما می توانید رنج می برند در این معنا به عنوان مثال پول. 1099 00:51:15,450 --> 00:51:18,110 >> بنابراین در مجموعه ای مشکل هفت، ما به شما این یک خط کد، که مدتها 1100 00:51:18,110 --> 00:51:21,000 داستان کوتاه، حل این مشکل در MySQL. 1101 00:51:21,000 --> 00:51:24,950 این آموزش بسیار طولانی است که نمی حتی بر روی یک خط در جا 1102 00:51:24,950 --> 00:51:30,370 صفحه نمایش در اینجا تضمین می کند که عملیات خود را این است آنچه اتمی نامیده می شود. 1103 00:51:30,370 --> 00:51:33,720 این همه در یک بار اتفاق می افتد، یا آن اصلا اتفاق نمی افتد. 1104 00:51:33,720 --> 00:51:37,530 این عبارت خیلی طولانی نمی تواند دریافت تا حدی قطع شده است. 1105 00:51:37,530 --> 00:51:39,840 >> و چه چیزهایی است که به معنای واقعی کلمه آنچه در آن می گوید. 1106 00:51:39,840 --> 00:51:44,200 قرار دادن به برخی از جدول زیر سه حوزه کسانی که ارزش های خاص، 1107 00:51:44,200 --> 00:51:47,280 اما در کلید های تکراری، درج نمی کنند. 1108 00:51:47,280 --> 00:51:48,280 آیا به روز رسانی. 1109 00:51:48,280 --> 00:51:52,450 پس این است که مانند انجام یک انتخاب و درج به طوری که در همان زمان صحبت می کنند. 1110 00:51:52,450 --> 00:51:55,150 و آنچه کلیدی است که احتمالا مراجعه به اینجا؟ 1111 00:51:55,150 --> 00:51:58,300 1112 00:51:58,300 --> 00:52:01,380 >> به نظر می رسد، و شما این را ببینید مشکل در تنظیم تنظیمات هفت، زیرا 1113 00:52:01,380 --> 00:52:06,040 ما اعلام کرده ایم به یک کلید منحصر به فرد در این جدول خاص به طوری که 1114 00:52:06,040 --> 00:52:08,480 شما می توانید ردیف های مختلف ندارد برای همان کاربر با 1115 00:52:08,480 --> 00:52:10,150 همان پنی نماد سهام - 1116 00:52:10,150 --> 00:52:13,780 در این مثال در اینجا، DVN.V سهام پنی احمقانه است که ما 1117 00:52:13,780 --> 00:52:14,980 در تنظیمات مراجعه کنید. 1118 00:52:14,980 --> 00:52:17,860 از آنجا که ما اعلام کرده ایم آن را به صورت منحصر به فرد، این بدان معنی است که اگر شما 1119 00:52:17,860 --> 00:52:23,580 سعی کنید برای قرار دادن یک ردیف تکراری، شما به جای رفتن به آن را بروز رسانی بدون 1120 00:52:23,580 --> 00:52:27,020 هر کس دیگری با یک شانس برای تغییر دولت جهان یا. 1121 00:52:27,020 --> 00:52:29,400 بنابراین در کوتاه مدت، این تضمین چیزهای اتمی هستند. 1122 00:52:29,400 --> 00:52:32,530 >> به طور کلی هر چند، پایگاه های داده هایی همچون MySQL - 1123 00:52:32,530 --> 00:52:35,460 و شما این ویژگی را برای نیاز ندارد P-مجموعه هفت، اما نگه داشتن آن را در ذهن 1124 00:52:35,460 --> 00:52:36,200 آینده - 1125 00:52:36,200 --> 00:52:38,870 حمایت از معاملات به نام چه هستند، که در آن شما می توانید می گویند 1126 00:52:38,870 --> 00:52:40,990 START TRANSACTION به معنای واقعی کلمه. 1127 00:52:40,990 --> 00:52:43,270 بعد از آن شما می توانید اجرا دو بیانیه SQL. 1128 00:52:43,270 --> 00:52:45,710 و بیانیه SQL، شما خواهید دید در P-مجموعه هفت، به نظر می رسد کمی 1129 00:52:45,710 --> 00:52:46,750 چیزی شبیه به این. 1130 00:52:46,750 --> 00:52:48,820 بروز یک جدول به نام حساب. 1131 00:52:48,820 --> 00:52:52,550 تنظیم ستون تعادل برابر به هر ستون تعادل در حال حاضر 1132 00:52:52,550 --> 00:52:57,280 منهای 1،000 که در آن تعداد، شماره حساب، مانند شناسه کاربر، 1133 00:52:57,280 --> 00:53:00,830 برابر 2، و پس از آن به روز رسانی حساب نقطه نقطه نقطه. 1134 00:53:00,830 --> 00:53:04,350 >> بنابراین در شرایط خارج از حرفه یا فن خاصی است، چه این دو نمایش داده شد به نظر می رسد در انجام می شود 1135 00:53:04,350 --> 00:53:05,840 حس دنیای واقعی بانکی است؟ 1136 00:53:05,840 --> 00:53:07,440 >> مخاطبان: انتقال به پس انداز. 1137 00:53:07,440 --> 00:53:08,020 >> دیوید مالان: دقیقا. 1138 00:53:08,020 --> 00:53:10,470 انتقال وجوه از یک حساب به دیگری. 1139 00:53:10,470 --> 00:53:14,400 و این یک مثال دیگر است که در آن شما واقعا می خواهید این دو چیز اتفاق می افتد 1140 00:53:14,400 --> 00:53:15,570 یا اتفاق نمی افتد. 1141 00:53:15,570 --> 00:53:18,880 شما چیزی در می خواهم وسط آنها و به طور بالقوه ظروف سرباز یا مسافر تا 1142 00:53:18,880 --> 00:53:22,220 ریاضی و یا ظروف سرباز یا مسافر تا چقدر پول دارید، و یا چه مقدار 1143 00:53:22,220 --> 00:53:23,170 پول بانک. 1144 00:53:23,170 --> 00:53:26,890 پس چه چیزی واقعا در مورد معاملات خوب در MySQL است که و 1145 00:53:26,890 --> 00:53:30,160 پایگاه داده به طور کلی، این است که آنها و افراد هوشمند که اجرا کرده ام 1146 00:53:30,160 --> 00:53:33,670 این ویژگی کشف کردن چگونه مطمئن شوید که هر دو از کسانی که همه چیز اتفاق می افتد 1147 00:53:33,670 --> 00:53:35,120 و یا در همه چیز نیست. 1148 00:53:35,120 --> 00:53:38,580 >> و اگر شما واقعا مشتاق را به یک وب سایت است که توسط مردم در مورد استفاده قرار می گیرد 1149 00:53:38,580 --> 00:53:41,490 پردیس، مردم در دنیای واقعی، انجام چیزی در حس راه اندازی، 1150 00:53:41,490 --> 00:53:43,300 این نوع از تصمیمات طراحی است که 1151 00:53:43,300 --> 00:53:45,020 تبدیل شدن بسیار مهم است. 1152 00:53:45,020 --> 00:53:48,240 در غیر این صورت، شما شروع به از دست دادن داده ها، از دست دادن کاربران، و یا در بدترین حالت به عنوان 1153 00:53:48,240 --> 00:53:51,800 ما در اینجا دیده می شود، به طور بالقوه از دست دادن پول. 1154 00:53:51,800 --> 00:53:56,180 تا دوباره، بیشتر در مورد آن در مشکل هفت، و همچنین شاید برای برخی از 1155 00:53:56,180 --> 00:53:57,530 شما را در پروژه نهایی. 1156 00:53:57,530 --> 00:54:01,870 >> بنابراین تغییر آن تصویر ما تا به حال اجازه یک لحظه پیش فقط در یک راه بیشتر است. 1157 00:54:01,870 --> 00:54:04,070 بنابراین اجازه دهید در واقع من اگر من می توانید ببینید - 1158 00:54:04,070 --> 00:54:06,030 جواب منفی، که رفته است. 1159 00:54:06,030 --> 00:54:06,690 وجود دارد آن است. 1160 00:54:06,690 --> 00:54:09,020 >> بنابراین این جایی است که ما در زمان گذشته را ترک کرد. 1161 00:54:09,020 --> 00:54:12,390 و معلوم است که ما قصد داریم به بازی شیر یا خط یک چیز بیشتر به ترکیبی در اینجا - 1162 00:54:12,390 --> 00:54:14,510 یک زبان به نام جاوا اسکریپت. 1163 00:54:14,510 --> 00:54:18,060 بنابراین جاوا اسکریپت در واقع متناسب با به این قطعه - 1164 00:54:18,060 --> 00:54:22,086 و من کاملا ترک اتاق به اندازه کافی، پس از این است که در حال حاضر نه به مقیاس. 1165 00:54:22,086 --> 00:54:23,900 خوب، این است که واقعا احساساتی است. 1166 00:54:23,900 --> 00:54:27,075 خوب، به طوری که جاوا اسکریپت است. 1167 00:54:27,075 --> 00:54:27,340 بسیار خوب. 1168 00:54:27,340 --> 00:54:28,760 من واقعا آن را زیانی انجام می دهند. 1169 00:54:28,760 --> 00:54:29,390 بسیار خوب. 1170 00:54:29,390 --> 00:54:34,790 >> بنابراین برنامه نویسی جاوا اسکریپت دیگری است زبان، و ما گذشته، اگر که کمک می کند تا 1171 00:54:34,790 --> 00:54:37,770 اطمینان دهد که خیلی بیشتر وجود ندارد شیرهای آتش نشانی در اینجا. 1172 00:54:37,770 --> 00:54:41,100 جاوا اسکریپت نیز تفسیر زبان، که به معنی شما نمی کنند 1173 00:54:41,100 --> 00:54:42,670 کامپایل آن را به صفر و آنهایی که. 1174 00:54:42,670 --> 00:54:43,690 شما فقط آن را اجرا کنید. 1175 00:54:43,690 --> 00:54:47,680 اما آنچه اساسا با متفاوت جاوا اسکریپت معمولا این است که شما 1176 00:54:47,680 --> 00:54:49,815 آن را بر روی وب سرور خود اجرا کنید. 1177 00:54:49,815 --> 00:54:52,570 این کار در اجرا نمی لوازم خانگی فی نفسه. 1178 00:54:52,570 --> 00:54:57,490 در عوض، آن می شود توسط یک کاربر دریافت کنید از طریق HTTP به مرورگر خود را - 1179 00:54:57,490 --> 00:55:00,260 کروم، سافاری، اینترنت اکسپلورر، فایرفاکس، هر - 1180 00:55:00,260 --> 00:55:03,860 و این مرورگر است که اجرا این زبان برنامه نویسی خاص. 1181 00:55:03,860 --> 00:55:08,000 >> بنابراین برای روشن، پی اچ پی تا کنون بوده است یا در خط فرمان اجرا 1182 00:55:08,000 --> 00:55:11,290 سیاه و سفید پنجره، بر روی یک سرور مانند لوازم خانگی، کامپیوتر 1183 00:55:11,290 --> 00:55:14,490 مانند لوازم خانگی، یا آن بوده است اجرا شده توسط وب سرور 1184 00:55:14,490 --> 00:55:15,860 در حال اجرا بر روی یک کامپیوتر. 1185 00:55:15,860 --> 00:55:20,490 اما موضوع در اینجا این است که پی اچ پی تا کنون اعدام شده در سمت سرور است، بنابراین 1186 00:55:20,490 --> 00:55:24,820 کاربر و مرورگر کاربر هرگز یک خط کد پی اچ پی می بیند. 1187 00:55:24,820 --> 00:55:28,530 >> در واقع، اگر شما تا به حال یک مرورگر برای باز کردن وب سایت خود و یا دیگر و شما 1188 00:55:28,530 --> 00:55:32,400 در واقع کد پی اچ پی در پنجره خود را، کسی تا به پیچ. 1189 00:55:32,400 --> 00:55:34,950 از آنجا که آن را به معنای مستقیما به مرورگر فرستاده می شود. 1190 00:55:34,950 --> 00:55:38,150 را که قرار است اجرا شود و تبدیل به چیزی شبیه به HTML است. 1191 00:55:38,150 --> 00:55:40,120 >> اما جاوا اسکریپت است که اساسا مخالف است. 1192 00:55:40,120 --> 00:55:44,350 این به معنای به طور معمول در داخل اجرا از پنجره مرورگر کاربر. 1193 00:55:44,350 --> 00:55:46,840 و چه نوع از وب سایت ها با استفاده از جاوا اسکریپت پس از آن این روزها؟ 1194 00:55:46,840 --> 00:55:49,640 1195 00:55:49,640 --> 00:55:52,180 >> دوست به معنای واقعی کلمه در هر وب سایت محبوب. 1196 00:55:52,180 --> 00:55:55,430 هر وب سایت است که شما احتمالا استفاده روزانه استفاده از جاوا اسکریپت برای 1197 00:55:55,430 --> 00:55:57,330 ساده ترین و حتی سکسی امکانات. 1198 00:55:57,330 --> 00:55:59,800 >> بنابراین چیزی شبیه به فیس بوک چت اگر شما استفاده از آن. 1199 00:55:59,800 --> 00:56:01,040 چگونه است که در واقع کار می کند؟ 1200 00:56:01,040 --> 00:56:05,090 خوب تا کنون، تمام این مسائل ایم انجام شده با HTML و PHP فرض می شود که 1201 00:56:05,090 --> 00:56:08,750 شما را بکشد تا یک URL، و به شما ضربه وارد کنید، و شما برخی از محتوای HTML را ببینید. 1202 00:56:08,750 --> 00:56:11,970 و پیوند، که تغییرات کلیک کنید URL، تغییر صفحه، و بارگذاری مجدد 1203 00:56:11,970 --> 00:56:12,740 برخی از مطالب جدید. 1204 00:56:12,740 --> 00:56:16,340 با کلیک بر روی URL و یا تسلیم یک فرم، شما رسیدن به یک صفحه دیگر و whisked 1205 00:56:16,340 --> 00:56:17,420 شما برخی از مطالب جدید را ببینید. 1206 00:56:17,420 --> 00:56:22,710 >> اما با استفاده از چیزی شبیه به فیس بوک چت، و یا Gchat، و یا نقشه های گوگل، به ندرت 1207 00:56:22,710 --> 00:56:27,350 تمام صفحه تازه کردن به طوری که شما می بینید یک صفحه سفید لحظه ای و 1208 00:56:27,350 --> 00:56:28,470 سپس محتوای جدید. 1209 00:56:28,470 --> 00:56:32,610 در عوض، صفحات وب امروز به صورت پویا به روز دوباره و 1210 00:56:32,610 --> 00:56:35,570 همه نوع دوباره و دوباره از پشت صحنه. 1211 00:56:35,570 --> 00:56:38,560 و معلوم است که هنگامی که شما به چیزی شبیه به فیس بوک، و یا Gchat، 1212 00:56:38,560 --> 00:56:43,050 و یا جی میل، و به روز رسانی صفحه به صورت خودکار بدون بارگذاری مجدد 1213 00:56:43,050 --> 00:56:47,630 کل صفحه نمایش، آنچه اتفاق افتاده، این است که مرورگر شما ساخته شده است نوع مخفیانه 1214 00:56:47,630 --> 00:56:49,410 درخواست HTTP اضافی - 1215 00:56:49,410 --> 00:56:52,740 نه برای صفحات وب تمام است، اما فقط برای تکه های کوچک داده، مثل 1216 00:56:52,740 --> 00:56:55,740 پیغام از طریق مسنجر است که دوستان خود را فقط شما، یا به روز رسانی وضعیت ارسال می شود که 1217 00:56:55,740 --> 00:56:58,210 کسی که فقط شما و یا صدای جیر جیر ارسال که کسی فقط ارسال می شود. 1218 00:56:58,210 --> 00:57:02,120 شما تنها درخواست کمی برای داده، و پس از آن با استفاده از جاوا اسکریپت، این 1219 00:57:02,120 --> 00:57:06,370 زبان های برنامه نویسی، برای تغییر آنچه صفحه وب به نظر می رسد بدون 1220 00:57:06,370 --> 00:57:09,860 سرور کمک می کند، بدون سرور تولید که HTML. 1221 00:57:09,860 --> 00:57:13,820 >> بنابراین در کوتاه مدت، جاوا اسکریپت می تواند مورد استفاده قرار گیرد و سپس نه تنها واکشی داده های جدید را از 1222 00:57:13,820 --> 00:57:16,750 سرور بدون بارگذاری مجدد کل صفحه و یا ارسال فرم. 1223 00:57:16,750 --> 00:57:20,060 همچنین می تواند به تغییر استفاده می شود DOM به اصطلاح - 1224 00:57:20,060 --> 00:57:21,520 مدل شیء سند - 1225 00:57:21,520 --> 00:57:24,620 که تنها راه را برای علاقه داشتن است گفت: درخت HTML 1226 00:57:24,620 --> 00:57:26,220 که ما آخرین بار دیدم. 1227 00:57:26,220 --> 00:57:31,640 >> بنابراین برای اطمینان بخشیدن به، جاوا اسکریپت است نحوی خیلی شبیه به C نیز هست. 1228 00:57:31,640 --> 00:57:32,820 هیچ تابع اصلی وجود دارد. 1229 00:57:32,820 --> 00:57:35,430 شما فقط شروع به نوشتن کد و آن را اجرا کنید، و یا 1230 00:57:35,430 --> 00:57:36,900 بیشتر به درستی تفسیر شده است. 1231 00:57:36,900 --> 00:57:38,660 شرایط شبیه به این خواهد. 1232 00:57:38,660 --> 00:57:41,230 بدون مختلف از C و یا PHP که برای ماده. 1233 00:57:41,230 --> 00:57:43,890 عبارات بولی یا اد با هم شبیه این خواهد شد. 1234 00:57:43,890 --> 00:57:45,590 Anded با هم شبیه به این. 1235 00:57:45,590 --> 00:57:47,750 >> سوئیچ خواهد شد شبیه به این. 1236 00:57:47,750 --> 00:57:49,440 برای حلقه شبیه به این خواهد. 1237 00:57:49,440 --> 00:57:51,060 در حالی که حلقه ها را شبیه به این. 1238 00:57:51,060 --> 00:57:53,316 آیا در حالی که حلقه ها را شبیه به این. 1239 00:57:53,316 --> 00:57:54,780 >> این جدید است. 1240 00:57:54,780 --> 00:57:58,753 بنابراین جاوا اسکریپت دارای یک حلقه foreach نمی ساخت فی نفسه است، اما این ساختار 1241 00:57:58,753 --> 00:58:03,870 برای متغیر i در آرایه، و من در این مورد ارزش شاخص می شود. 1242 00:58:03,870 --> 00:58:06,880 پس از آن کمی متفاوت از آن حلقه foreach، هر چند نسخه های جدید 1243 00:58:06,880 --> 00:58:10,280 جاوا اسکریپت بیرون می آید در همه زمان ها، بنابراین حتی این ویژگی های زبان 1244 00:58:10,280 --> 00:58:10,880 در حال تحول. 1245 00:58:10,880 --> 00:58:16,920 >> و به عنوان یک کنار، جاوا اسکریپت این روزها همچنین می تواند بر روی یک سرور درست مثل استفاده 1246 00:58:16,920 --> 00:58:19,920 PHP با استفاده از یک چارچوب به نام Node.js. 1247 00:58:19,920 --> 00:58:24,670 یکی از TFS CS50 را، کوین، باعث شده است که سمینار Node.js که در دسترس در 1248 00:58:24,670 --> 00:58:26,440 cs50.net/seminars. 1249 00:58:26,440 --> 00:58:28,830 بنابراین اگر شما کنجکاو هستید، می دانم که شما می توانید این در سمت سرور به عنوان استفاده از 1250 00:58:28,830 --> 00:58:33,870 خوب، اما این روند نسبتا جدید است، اما یکی از قدرتمند در آن. 1251 00:58:33,870 --> 00:58:35,270 >> این است که کمی متفاوت است. 1252 00:58:35,270 --> 00:58:37,910 این یک آرایه در جاوا اسکریپت می باشد. 1253 00:58:37,910 --> 00:58:40,115 و چه برخورد شما به عنوان های مختلف در مقابل C یا PHP؟ 1254 00:58:40,115 --> 00:58:43,890 1255 00:58:43,890 --> 00:58:47,420 چند داستان سریع وجود دارد ما در اینجا می توانید بگویید. 1256 00:58:47,420 --> 00:58:49,367 چه در مقابل PHP از دست رفته؟ 1257 00:58:49,367 --> 00:58:51,652 >> یک مدعو: [نامفهوم]. 1258 00:58:51,652 --> 00:58:52,110 >> DAVID مالان: بله؟ 1259 00:58:52,110 --> 00:58:53,322 با عرض پوزش، دوباره می گویند؟ 1260 00:58:53,322 --> 00:58:54,740 >> یک مدعو: اعلام نشده نوع متغیر. 1261 00:58:54,740 --> 00:58:56,390 >> DAVID مالان: ما اعلام نشده نوع متغیر. 1262 00:58:56,390 --> 00:58:59,630 پس در واقع کاملا مانند PHP، ما نه مشخص کردن نوع این متغیر. 1263 00:58:59,630 --> 00:59:02,670 در عوض، ما عام تر است گفت ور برای متغیر. 1264 00:59:02,670 --> 00:59:06,690 ما مزاحمت PHP از ندارد علامت دلار، که در حالی که خسته کننده به 1265 00:59:06,690 --> 00:59:09,160 نوع، باعث روشن تر است که چیزی یک متغیر است. 1266 00:59:09,160 --> 00:59:11,830 در حالی که در اینجا، ما به نوعی بازگشت به هستی روش C را با فقط تماس 1267 00:59:11,830 --> 00:59:14,500 متغیر به نام ما می خواهیم به آن را، مانند اعداد. 1268 00:59:14,500 --> 00:59:17,170 و نیز مانند PHP، ما براکت برای 1269 00:59:17,170 --> 00:59:19,170 ارزش ها در داخل است که آرایه. 1270 00:59:19,170 --> 00:59:22,490 >> بنابراین متغیرها در جاوا اسکریپت هم ممکن است شبیه به این. 1271 00:59:22,490 --> 00:59:26,900 توجه در اینجا این است که یک رشته به نام است، اما به طور مشابه دارند ما مشخص نشده است 1272 00:59:26,900 --> 00:59:28,750 که آن را به یک رشته است. 1273 00:59:28,750 --> 00:59:33,160 در اینجا هر چند یکی از ویژگی های است که می کند نمی باشد. در دقیقا به همان شیوه در PHP وجود داشته باشد، 1274 00:59:33,160 --> 00:59:34,460 اما کمی به همین ترتیب. 1275 00:59:34,460 --> 00:59:36,530 این یک شی در جاوا اسکریپت می باشد. 1276 00:59:36,530 --> 00:59:42,110 و اشیاء نوع ارتش سوئیس چاقو از یک ساختار اطلاعات در آن شما 1277 00:59:42,110 --> 00:59:43,900 می توانید آنها را برای هر تعداد از چیزها استفاده کنید. 1278 00:59:43,900 --> 00:59:46,860 >> در اینجا، به عنوان مثال، ما اعلام یک متغیر به نام اعلان. 1279 00:59:46,860 --> 00:59:49,110 نوع متغیر یک شی است. 1280 00:59:49,110 --> 00:59:53,550 شما می توانید از این به عنوان یک ساختار C فکر می کنم است که کلید ها و ارزش ها. 1281 00:59:53,550 --> 00:59:55,250 نماد یک کلید است. 1282 00:59:55,250 --> 00:59:57,350 FB ارزش است، ظاهرا نماد سهام. 1283 00:59:57,350 --> 00:59:57,930 کاما. 1284 00:59:57,930 --> 01:00:02,180 قیمت کلید دیگر است، و ارزش آن است ظاهرا نقطه شناور، و یا یک 1285 01:00:02,180 --> 01:00:06,510 تعداد به طور کلی در جاوا اسکریپت، از $ 49.26. 1286 01:00:06,510 --> 01:00:09,030 >> بنابراین PHP اختصاص ندارد - 1287 01:00:09,030 --> 01:00:12,980 ما در اشیاء PHP دیده می شود نه کاملا مثل این، اما ما دیدن آنالوگ، 1288 01:00:12,980 --> 01:00:14,093 که چی بود؟ 1289 01:00:14,093 --> 01:00:14,980 >> یک مدعو: [نامفهوم]. 1290 01:00:14,980 --> 01:00:16,110 >> DAVID مالان: آرایه های انجمنی. 1291 01:00:16,110 --> 01:00:19,990 بنابراین در حالی که PHP است آرایه های انجمنی که سینتکس است همیشه کمی تا 1292 01:00:19,990 --> 01:00:20,370 مختلف - 1293 01:00:20,370 --> 01:00:21,780 ما براکت دیدم. 1294 01:00:21,780 --> 01:00:23,860 ما از نمادهای فلش عجیب و غریب دیدم. 1295 01:00:23,860 --> 01:00:27,330 جاوا اسکریپت است اشیاء، اما این بیشتر تفاوت معنایی و 1296 01:00:27,330 --> 01:00:29,260 مترادف های مختلف در حال حاضر. 1297 01:00:29,260 --> 01:00:35,060 با این حال، به عنوان یک کنار، PHP همچنین دارای اشیاء در راه است که جاوا و دیگر 1298 01:00:35,060 --> 01:00:37,810 زبان اشیاء در برنامه نویسی شی گرا. 1299 01:00:37,810 --> 01:00:40,440 اما ما به این استفاده کنید برای انواع داده در حال حاضر. 1300 01:00:40,440 --> 01:00:42,170 اشیاء و آرایه های انجمنی. 1301 01:00:42,170 --> 01:00:44,140 >> این یکی ممکن است آن را کمی روشن تر است. 1302 01:00:44,140 --> 01:00:45,890 در اینجا به همین دلیل یک شی مفید است. 1303 01:00:45,890 --> 01:00:48,760 هنگامی که شما می خواهید به اعلام یک دانش آموز، مانند Zamyla، ما در واقع می تواند 1304 01:00:48,760 --> 01:00:52,630 در محفظهای قرار دادن تا به داخل آن صحبت می کنند شی با استفاده از کروشه درست مثل 1305 01:00:52,630 --> 01:00:55,060 قبل از یک دسته کامل از کلیدهای و ارزش ها در اینجا. 1306 01:00:55,060 --> 01:00:59,150 ما یک ID، یک خانه و یک نام برای Zamyla، به دنبال یک نقطه و ویرگول به عنوان 1307 01:00:59,150 --> 01:01:00,690 معمول در پایان. 1308 01:01:00,690 --> 01:01:04,840 >> در اینجا بیش از حد، این است که کمی مختلف، بلکه بسیار قدرتمند 1309 01:01:04,840 --> 01:01:05,690 این روزها. 1310 01:01:05,690 --> 01:01:08,780 در اینجا یک آرایه است، و من می دانم که به دلیل یک براکت وجود دارد 1311 01:01:08,780 --> 01:01:11,090 بالا و براکت در پایین. 1312 01:01:11,090 --> 01:01:16,050 و این مجموعه ای از آنچه داده است ظاهرا از نوع در جاوا اسکریپت؟ 1313 01:01:16,050 --> 01:01:21,260 این مجموعه ای از آن به نظر می رسد مانند سه اشیاء. 1314 01:01:21,260 --> 01:01:24,580 و من می دانم آن است که یک شی تنها به دلیل آکولاد. 1315 01:01:24,580 --> 01:01:28,760 و متوجه آکولاد باز وجود دارد، برخی از مسائل، نزدیک آکولاد، کاما، 1316 01:01:28,760 --> 01:01:31,180 پس از آن برخی، کاما، و سپس برخی بیشتر. 1317 01:01:31,180 --> 01:01:33,800 به طوری که سه آرگومان از هم جدا شده توسط دو کاما. 1318 01:01:33,800 --> 01:01:36,810 >> بنابراین این مجموعه ای از سه اشیاء است. 1319 01:01:36,810 --> 01:01:39,940 و هر یک از کسانی که اشیاء به نظر می رسد یک دانش آموز یا عضو هیات برخی 1320 01:01:39,940 --> 01:01:42,370 مرتب کردن، هر کدام با یک ID، خانه، و نام. 1321 01:01:42,370 --> 01:01:45,060 اما من از این چیزی به نام ام به نام JSON - 1322 01:01:45,060 --> 01:01:47,450 جاوا اسکریپت شی علامت گذاری. 1323 01:01:47,450 --> 01:01:52,060 و این یک قالب داده است که در واقع بسیار محبوب و در 1324 01:01:52,060 --> 01:01:55,100 رواج این روزها که اگر شما بنویسید برنامه ای که با استفاده از فیس بوک 1325 01:01:55,100 --> 01:01:59,150 API، API توییتر، واقعا تقریبا هر API این روزها خارج وجود دارد، 1326 01:01:59,150 --> 01:02:02,820 از جمله برخی از CS50، اطلاعات شما به عقب بر گردیم در 1327 01:02:02,820 --> 01:02:04,720 فرمت CSV مدرسه قدیمی. 1328 01:02:04,720 --> 01:02:06,780 >> از آنجا که به یاد می آورند که CSV ساده فوق العاده است. 1329 01:02:06,780 --> 01:02:10,230 این فقط ستون ها از هم جدا توسط کاما. 1330 01:02:10,230 --> 01:02:13,190 داده های JSON به شما می دهد ابرداده بیشتر است. 1331 01:02:13,190 --> 01:02:17,800 این همکاران یک کلید با هر مقدار تا آنها لازم نیست که به فرض که 1332 01:02:17,800 --> 01:02:22,460 ستون صفر یک مقدار، ستون یکی دیگر، ستون دو دیگر است. 1333 01:02:22,460 --> 01:02:26,790 همه چیز در یک شی JSON در اینجا مرتب سازی بر از خود توصیف، زیرا هر 1334 01:02:26,790 --> 01:02:30,940 یکی از اسامی در این فایل به معنای واقعی کلمه نام در مقابل آن را به عنوان 1335 01:02:30,940 --> 01:02:32,510 به نقل از رشته است. 1336 01:02:32,510 --> 01:02:34,950 >> خب بیایید یک نگاهی به اجازه چند نمونه در اینجا. 1337 01:02:34,950 --> 01:02:36,800 اجازه بدهید من به دستگاه. 1338 01:02:36,800 --> 01:02:41,000 و اجازه دهید مرا به vhost ما دایرکتوری را به عموم مردم. 1339 01:02:41,000 --> 01:02:45,590 و اجازه دهید من به جاوا اسکریپت دایرکتوری. 1340 01:02:45,590 --> 01:02:49,610 و اجازه دهید به جلو و باز کردن DOM-0.html، که در آن DOM حالت فقط بدان معناست 1341 01:02:49,610 --> 01:02:51,010 سند مدل شیء. 1342 01:02:51,010 --> 01:02:53,490 این چیزهای درخت که من به آن اشاره پیش از آن. 1343 01:02:53,490 --> 01:02:54,950 >> و اجازه دهید من به شرح زیر پیشنهاد. 1344 01:02:54,950 --> 01:02:57,720 در اینجا یک صفحه وب است که بدن خیلی ساده است. 1345 01:02:57,720 --> 01:03:00,170 بنابراین در اینجا در پایین، متوجه من یک فرم. 1346 01:03:00,170 --> 01:03:01,500 ما دیده ایم کسانی که قبل از. 1347 01:03:01,500 --> 01:03:07,600 این دارای دو ورودی، یکی از آنها ID نام، که یکی از آنها یک نوع از 1348 01:03:07,600 --> 01:03:09,830 ارسال، و برای اولین بار نوع متن است. 1349 01:03:09,830 --> 01:03:11,900 بنابراین این در واقع برای تلفن های موبایل بسیار ساده است. 1350 01:03:11,900 --> 01:03:13,090 >> اجازه دهید در اینجا بروید. 1351 01:03:13,090 --> 01:03:15,390 اجازه بازگشت به این صفحه اینجا. 1352 01:03:15,390 --> 01:03:21,030 بیایید رفتن به localhost را، و رفتن به دایرکتوری جاوا اسکریپت ما و به 1353 01:03:21,030 --> 01:03:24,640 DOM-0، و در اینجا ما باید این فرم. 1354 01:03:24,640 --> 01:03:26,550 به طوری که ظاهرا تمام این صفحه می کند. 1355 01:03:26,550 --> 01:03:28,740 این نام یک میدان با یک کلید ثبت کردن. 1356 01:03:28,740 --> 01:03:30,340 اما من قصد ندارم به استفاده از پی اچ پی در اینجا. 1357 01:03:30,340 --> 01:03:34,310 من قصد دارم به انجام همه چیز را سمت سرویس گیرنده به طوری که در جاوا اسکریپت به شرح زیر است صحبت می کنند. 1358 01:03:34,310 --> 01:03:39,100 >> توجه داشته باشید که من در واقع با توجه به نام زمینه این ورودی منحصر به فرد 1359 01:03:39,100 --> 01:03:42,350 شناسه، که واقع خواهد شد کن (Wake me up) مرا بیدار کن برخی از زمان در یک لحظه. 1360 01:03:42,350 --> 01:03:45,480 و متوجه من تگ دیگری معرفی کرده ام در سر صفحه وب من، 1361 01:03:45,480 --> 01:03:46,565  برچسب. 1362 01:03:46,565 --> 01:03:50,120 >> پس از آن در این معنا که جاوا اسکریپت یک زبان برنامه نویسی سمت سرویس گیرنده است. 1363 01:03:50,120 --> 01:03:55,020 در این مورد، درست مثل CSS، من را به آن را مستقیما داخل HTML من. 1364 01:03:55,020 --> 01:03:58,810 اما متوجه من اعلام کرده ام یک تابع است که به نظر می رسد کمی مانند پی اچ پی 1365 01:03:58,810 --> 01:04:01,530 نحوی، اما این است که در واقع جاوا اسکریپت، چرا که دوباره آن را 1366 01:04:01,530 --> 01:04:03,920 سمت سرویس گیرنده در مرورگر. 1367 01:04:03,920 --> 01:04:07,590 و حدس بزنید چه این است که رفتن به انجام دهید، حتی اگر برخی از نحو 1368 01:04:07,590 --> 01:04:09,338 در اینجا جدید است. 1369 01:04:09,338 --> 01:04:11,760 >> مخاطب: بگو سلام به هر کس. 1370 01:04:11,760 --> 01:04:14,020 >> دیوید مالان: این رفتن برای گفتن سلام به هر کس از این صفحه داشته است. 1371 01:04:14,020 --> 01:04:15,120 پس چگونه؟ 1372 01:04:15,120 --> 01:04:18,070 >> بنابراین اطلاع قبلی، معلوم می شود در جاوا اسکریپت هشدار یک تابع () وجود دارد. 1373 01:04:18,070 --> 01:04:22,840 این یک نوع بسیار از تابع غم انگیز است که واقعا فقط تمایل به آزار کاربران. 1374 01:04:22,840 --> 01:04:25,440 این یکی نیست که شما واقعا باید از آن استفاده به طور معمول، اما آن را سریع و کثیف 1375 01:04:25,440 --> 01:04:27,710 راه مرتب کردن بر اساس چیزی چاپ کاربر گرافیکی 1376 01:04:27,710 --> 01:04:29,180 رابط کاربری، به مانند یک مرورگر است. 1377 01:04:29,180 --> 01:04:31,400 توجه کنید که در اینجا من یک رشته در نقل قول تکی. 1378 01:04:31,400 --> 01:04:36,010 به نظر می رسد که بر خلاف C، JavaScript در مرورگر شما در واقع می تواند به شما استفاده از تنها 1379 01:04:36,010 --> 01:04:38,730 به نقل از، و رک و پوست کنده آن را فقط مهربان از کنوانسیون سبک در میان 1380 01:04:38,730 --> 01:04:41,180 برنامه نویسان جاوا اسکریپت تک کتیشن استفاده کنیم. 1381 01:04:41,180 --> 01:04:43,750 پی اچ پی، آنها در واقع کمی معنی متفاوت است. 1382 01:04:43,750 --> 01:04:45,810 اما در حال حاضر، فقط می دانم که که تنها دلیل است. 1383 01:04:45,810 --> 01:04:49,270 کنوانسیون در جاوا اسکریپت است که اغلب تک کتیشن استفاده کنیم، اما ما می تواند استفاده 1384 01:04:49,270 --> 01:04:50,950 به نقل از دو برابر در هر دو مکان نیز هست. 1385 01:04:50,950 --> 01:04:52,610 >> بنابراین این جالب است. 1386 01:04:52,610 --> 01:04:56,430 به یاد بیاورید آخرین باری که ما این بود که تصویر بر روی صفحه نمایش که یک درخت را به خود جلب کرد 1387 01:04:56,430 --> 01:04:59,720 که در آن شما گره HTML و گره سر و گره های بدن، 1388 01:04:59,720 --> 01:05:00,800 و سپس برخی از متن. 1389 01:05:00,800 --> 01:05:04,700 اما یک گره خاص در وجود دارد بسیار بالا که من به نام سند. 1390 01:05:04,700 --> 01:05:08,260 خوب، آن را معلوم در جاوا اسکریپت، هر زمانی که شما نوشتن یک برنامه در جاوا اسکریپت 1391 01:05:08,260 --> 01:05:11,040 در مرورگر شما، دسترسی به شما یک متغیر خاص جهانی است. 1392 01:05:11,040 --> 01:05:14,130 مشابه در روح به superglobals پی اچ پی، این یکی به نام 1393 01:05:14,130 --> 01:05:16,050 تمام سند حروف کوچک. 1394 01:05:16,050 --> 01:05:21,480 >> آن را مانند یک ساختار است، اما این ساختار همچنین دارای توابع در داخل آن است. 1395 01:05:21,480 --> 01:05:23,790 بنابراین ساختار C فقط داده ها به طور معمول. 1396 01:05:23,790 --> 01:05:29,060 اما یک شی جاوا اسکریپت را به عنوان این به لحاظ فنی نیز دارای توابع، 1397 01:05:29,060 --> 01:05:31,830 در غیر این صورت به عنوان روش های شناخته شده، در داخل آن است. 1398 01:05:31,830 --> 01:05:35,750 و شما می توانید یک تابع در داخل تماس بگیرید این شیء کاملا به معنای واقعی کلمه انجام آن 1399 01:05:35,750 --> 01:05:39,610 نام، نقطه، و پس از آن به نام تابع، و یا دوباره روش. 1400 01:05:39,610 --> 01:05:41,160 این فقط یک مترادف است، واقعا. 1401 01:05:41,160 --> 01:05:42,450 >> و چه این تابع انجام دهید؟ 1402 01:05:42,450 --> 01:05:43,840 شما می توانید نوع حدس می زنم از نام آن. 1403 01:05:43,840 --> 01:05:45,590 دریافت عنصر توسط ID. 1404 01:05:45,590 --> 01:05:50,040 پس این است که رفتن به صفحه جستجو وب، جستجو آن درخت، به دنبال 1405 01:05:50,040 --> 01:05:55,210 هر گره، عنصر AKA، شناسه منحصر به فرد از اعلان نام نقل قول را تمام کردن. 1406 01:05:55,210 --> 01:05:56,560 و پس از آن چه من می خواهم کاری انجام دهید؟ 1407 01:05:56,560 --> 01:06:00,350 من قصد دارم برای بدست آوردن مقدار داخل که گره در درخت، و من قصد دارم 1408 01:06:00,350 --> 01:06:02,580 به نحوی سلام گفتن به نام. 1409 01:06:02,580 --> 01:06:05,360 >> بنابراین یک حدس را، حتی اگر ما را نمی گرفتم مشاهده این حال، چه به علاوه 1410 01:06:05,360 --> 01:06:07,396 کاراکتر در اینجا و اینجا احتمالا چیست؟ 1411 01:06:07,396 --> 01:06:08,230 >> رسید الحاق. 1412 01:06:08,230 --> 01:06:09,220 >> DAVID مالان: الحاق. 1413 01:06:09,220 --> 01:06:11,290 راست، و این ها فقط مرتب کردن بر اساس تصمیم گیری های طراحی 1414 01:06:11,290 --> 01:06:12,280 مردم سال پیش ساخته شده است. 1415 01:06:12,280 --> 01:06:15,190 در PHP، شما الحاق همه چیز با نقطه. 1416 01:06:15,190 --> 01:06:18,800 در C، شما را از طریق چند hoops پرش و توابع مانند strcopy () و یا تماس بگیرید 1417 01:06:18,800 --> 01:06:20,600 strcat () و یا دیگری مانند توابع. 1418 01:06:20,600 --> 01:06:22,060 اما در جاوا اسکریپت، شما با استفاده از علامت +. 1419 01:06:22,060 --> 01:06:24,770 پس این است که فقط الحاق سه رشته - 1420 01:06:24,770 --> 01:06:27,850 سلام، نام، و پس از آن به علامت تعجب. 1421 01:06:27,850 --> 01:06:30,390 >> بنابراین، هنگامی که و به همین دلیل این تابع این است به نام چند؟ 1422 01:06:30,390 --> 01:06:33,150 خب، یک حدس از HTML در پایین. 1423 01:06:33,150 --> 01:06:35,810 چرا خوش آمد می گوید است () نامیده می شود، و یا زمانی که؟ 1424 01:06:35,810 --> 01:06:39,730 1425 01:06:39,730 --> 01:06:44,030 >> ظاهرا، به عنوان بهترین من می توانم بگویم، در ارسال کنید، در زمانی که این فرم است را مشاهده کنید، 1426 01:06:44,030 --> 01:06:47,200 من قصد دارم به انجام هر کاری است در داخل این نقل قول ها. 1427 01:06:47,200 --> 01:06:50,900 و به طور خاص، من قصد دارم به تماس خوش آمد می گوید () و سپس بازگشت نادرست است. 1428 01:06:50,900 --> 01:06:53,090 >> خوب، اجازه دهید ببینیم که چه چیزی خالص اثر در اینجا این است اول است. 1429 01:06:53,090 --> 01:06:58,290 بنابراین، اجازه دهید پیش بروید و نوع در، می گویند، لورن، ثبت کردن. 1430 01:06:58,290 --> 01:06:59,440 خوش لورن. 1431 01:06:59,440 --> 01:07:02,990 بیایید ببینیم که اگر شاید این تنها بود پیاده سازی خوش شانس. 1432 01:07:02,990 --> 01:07:03,200 نه. 1433 01:07:03,200 --> 01:07:05,990 پس از آن به تایپ کردن از هر نام من در واقع می شود وجود دارد. 1434 01:07:05,990 --> 01:07:07,970 >> اما توجه کنید که چه چیزی در حال تغییر است. 1435 01:07:07,970 --> 01:07:10,360 URL هنوز DOM-0.html. 1436 01:07:10,360 --> 01:07:11,820 هیچ register.php وجود دارد. 1437 01:07:11,820 --> 01:07:13,110 هیچ فایل دوم وجود دارد. 1438 01:07:13,110 --> 01:07:14,930 هیچ صفت وجود دارد. 1439 01:07:14,930 --> 01:07:19,720 پس چه این غلط بازگشت است احتمالا انجام می دهند؟ 1440 01:07:19,720 --> 01:07:23,660 چرا من خواستار خوش آمد می گوید () و پس از آن بازگشت کاذب احتمالا؟ 1441 01:07:23,660 --> 01:07:26,420 چه به طور معمول هنگامی که شما کلیک کنید اتفاق می افتد ثبت کردن بر روی یک فرم است که حتی ما 1442 01:07:26,420 --> 01:07:27,854 در هفته گذشته دیده می شود؟ 1443 01:07:27,854 --> 01:07:29,900 >> یک مدعو: [نامفهوم]. 1444 01:07:29,900 --> 01:07:30,860 >> DAVID مالان: این در جایی می رود، درست است؟ 1445 01:07:30,860 --> 01:07:32,720 آن را به برخی URL مقصد می رود. 1446 01:07:32,720 --> 01:07:34,120 اما من نمی خواهم که در اینجا اتفاق می افتد. 1447 01:07:34,120 --> 01:07:37,620 من می خواهم صفحه وب خود را به طور کامل می شود پویا مانند جیمیل، که در آن یک بار شما 1448 01:07:37,620 --> 01:07:38,650 وجود دارد، شما در آنجا بمانند. 1449 01:07:38,650 --> 01:07:42,900 URL در راه است که تغییر نمی کند نشان می دهد که تمام صفحه می باشد مجدد. 1450 01:07:42,900 --> 01:07:46,680 در عوض، من فقط می خواهم به تغییر چیزی مانند چاپ کردن چیزی 1451 01:07:46,680 --> 01:07:48,320 در اینجا بر روی صفحه نمایش. 1452 01:07:48,320 --> 01:07:49,630 >> خوب اجازه دهید من این تمیز تا کمی. 1453 01:07:49,630 --> 01:07:55,370 اجازه بدهید من باز نمی DOM-0، اما به من اجازه باز کردن DOM-2. 1454 01:07:55,370 --> 01:07:57,350 فقط این کار شما را دیده ام برخی از نحو در اینجا. 1455 01:07:57,350 --> 01:08:02,080 >> به نظر می رسد که آنچه که ما فقط را با استفاده از جاوا اسکریپت خام. 1456 01:08:02,080 --> 01:08:04,420 بنابراین این واقعا زبان جاوا اسکریپت. 1457 01:08:04,420 --> 01:08:07,340 برخی از شما ممکن است می دانم یک کتابخانه به نام از jQuery. 1458 01:08:07,340 --> 01:08:09,980 >> پس از jQuery است همان نیست چیزی به عنوان جاوا اسکریپت. 1459 01:08:09,980 --> 01:08:14,110 این فقط یک کتابخانه که واقعا باهوش است پسر می نوشت و معروف و مشهور مانند 1460 01:08:14,110 --> 01:08:18,100 که تقریبا همه در جهان در حال حاضر استفاده از jQuery در هنگام استفاده از جاوا اسکریپت. 1461 01:08:18,100 --> 01:08:20,890 و در نگاه اول، صادقانه، آن به نظر می رسد کمی مرموز تر. 1462 01:08:20,890 --> 01:08:24,990 اما پیدا خواهید کرد، به خصوص اگر شما به وجود دارد برای پروژه نهایی خود را با وب سایت 1463 01:08:24,990 --> 01:08:29,029 توسعه، پیدا خواهید کرد که این پاک کردن کارها و موجب صرفه جویی شما کاملا 1464 01:08:29,029 --> 01:08:30,229 چند خط کد. 1465 01:08:30,229 --> 01:08:33,189 >> بنابراین اجازه دهید فقط نگاه چگونه این فرم کار است. 1466 01:08:33,189 --> 01:08:35,664 توجه کنید چه من به ظاهر حذف از HTML من؟ 1467 01:08:35,664 --> 01:08:38,240 1468 01:08:38,240 --> 01:08:40,630 هیچ در ارائه برنامه کنترل وجود دارد پس به صحبت می کنند. 1469 01:08:40,630 --> 01:08:41,470 هیچ ویژگی وجود دارد. 1470 01:08:41,470 --> 01:08:43,359 از آنجا که شما می دانید، چه من واقعا نمی خواهم؟ 1471 01:08:43,359 --> 01:08:45,640 من احساس مانند ما در حال سقوط بود به عادات قدیمی وجود دارد. 1472 01:08:45,640 --> 01:08:49,340 فقط مثل این است که شروع به احساس درهم و برهم به هم مخلوط هر دو CSS با 1473 01:08:49,340 --> 01:08:52,149 HTML، چرا که شما نوع پرتاب زبان های مختلف در سراسر 1474 01:08:52,149 --> 01:08:56,180 محل، به طور مشابه این شروع به احساس مثل یک جاده بد به پایین که در آن 1475 01:08:56,180 --> 01:09:01,069 من قرار دادن کد جاوا اسکریپت در داخل از من HTML به جای فاکتور آن را. 1476 01:09:01,069 --> 01:09:02,279 >> به طوری که درس در اینجا. 1477 01:09:02,279 --> 01:09:05,080 در DOM-2.html، من آن را عاملی است. 1478 01:09:05,080 --> 01:09:07,399 و من انجام کار کمی متفاوت است. 1479 01:09:07,399 --> 01:09:09,630 در حال حاضر، من قصد دارم به موج دست های من در چه این واقعا 1480 01:09:09,630 --> 01:09:10,590 در زیر هود. 1481 01:09:10,590 --> 01:09:14,210 اما فقط در حال حاضر فرض کنیم که که برای اولین بار از خط از کد را در این کتابخانه 1482 01:09:14,210 --> 01:09:18,170 به نام جی کوئری فقط بدان معناست که سند آماده است، آیا پس از. 1483 01:09:18,170 --> 01:09:20,080 >> از آنجا که صفحات وب می توانید برخی از زمان برای بارگذاری. 1484 01:09:20,080 --> 01:09:23,029 شما ممکن است در اینترنت کند است اتصال، و آن را ممکن است چرخش 1485 01:09:23,029 --> 01:09:25,290 و نخ ریسی، و در نهایت آن را لود می شود. 1486 01:09:25,290 --> 01:09:29,060 این خط از کد، فقط می گوید: صبر کنید تا تمام صفحه آماده است، سند 1487 01:09:29,060 --> 01:09:31,189 آماده است، قبل از اعدام این کد. 1488 01:09:31,189 --> 01:09:34,390 >> و در حال حاضر توجه، این است که احتمالا مفید ترین اول 1489 01:09:34,390 --> 01:09:36,189 به دور از jQuery. 1490 01:09:36,189 --> 01:09:42,140 این خط در اینجا بسیار شبیه است در روح به این خط بسیار طولانی در اینجا. 1491 01:09:42,140 --> 01:09:46,920 در حالی که در کد جاوا اسکریپت خام، وجود دارد وجود دارد یک شی جهانی سند 1492 01:09:46,920 --> 01:09:50,460 یک تابع به نام getElementById ()، افرادی که نوشت: 1493 01:09:50,460 --> 01:09:55,720 جی کوئری ساده که به فقط می گویند علامت دلار، و سپس داخل 1494 01:09:55,720 --> 01:10:00,250 پرانتز قرار دادن دو علامت نقل قول، و پس از آن قرار دادن یک نماد مخلوط و پس از آن 1495 01:10:00,250 --> 01:10:02,250 ID منحصر به فرد که شما می خواهید را به چنگ. 1496 01:10:02,250 --> 01:10:06,170 بنابراین این معادل است document.getElementById. 1497 01:10:06,170 --> 01:10:11,090 >> در همین حال،. ارسال فقط به معنی در ارسال به هر صورت شما 1498 01:10:11,090 --> 01:10:14,240 با اشاره به در سمت چپ، به جلو و اجرای این. 1499 01:10:14,240 --> 01:10:16,600 اما این در حال حاضر کنجکاوی بیش از حد. 1500 01:10:16,600 --> 01:10:19,560 چه عجیب و غریب در مورد آنچه من در اینجا پر رنگ کرده اید؟ 1501 01:10:19,560 --> 01:10:23,840 1502 01:10:23,840 --> 01:10:28,594 نه تنها آن نوع از قواعد جدید است، نیز چیزی از دست رفته وجود دارد. 1503 01:10:28,594 --> 01:10:29,558 >> یک مدعو: این فقط تابع نامیده می شود؟ 1504 01:10:29,558 --> 01:10:31,970 این هشدار به نام نه؟ 1505 01:10:31,970 --> 01:10:32,440 >> DAVID مالان: آره. 1506 01:10:32,440 --> 01:10:35,450 خوب، پس آماده باش () است به پایین در اینجا، به عادلانه باشد. 1507 01:10:35,450 --> 01:10:39,520 اما هیچ اشاره ای به وجود نام، مانند شما می دانید، تولی و یا 1508 01:10:39,520 --> 01:10:40,980 چیزی در اینجا. 1509 01:10:40,980 --> 01:10:43,830 و در واقع، این یکی از ویژگی های است از جاوا اسکریپت که کاملا 1510 01:10:43,830 --> 01:10:45,370 قدرتمند، بلکه کاملا جدید است. 1511 01:10:45,370 --> 01:10:47,460 و PHP در واقع تا به این عنوان است. 1512 01:10:47,460 --> 01:10:49,500 >> به من اجازه دهید به جلو و انجام چیزی واقعی سریع است. 1513 01:10:49,500 --> 01:10:52,030 اجازه بدهید من به جلو قرار داده و این را اینجا ببینید. 1514 01:10:52,030 --> 01:10:52,600 به من اجازه انجام این کار. 1515 01:10:52,600 --> 01:10:53,690 عملکرد. 1516 01:10:53,690 --> 01:10:56,455 اجازه دهید به این اداره (). 1517 01:10:56,455 --> 01:10:58,290 عملکرد کنترل پس به صحبت می کنند. 1518 01:10:58,290 --> 01:11:00,110 چیزی که دسته برخی از عملیات. 1519 01:11:00,110 --> 01:11:02,700 به من اجازه پاک کردن دندانه من. 1520 01:11:02,700 --> 01:11:04,380 و این قرار در اینجا. 1521 01:11:04,380 --> 01:11:06,090 و قرار است که در اینجا. 1522 01:11:06,090 --> 01:11:06,470 بله. 1523 01:11:06,470 --> 01:11:07,060 OK. 1524 01:11:07,060 --> 01:11:10,300 >> بنابراین در حال حاضر من یک تابع به نام کنترل () که من واقعا نمی دانم 1525 01:11:10,300 --> 01:11:10,890 آنچه در آن هنوز. 1526 01:11:10,890 --> 01:11:12,710 این فقط هنوز چیزهای که. 1527 01:11:12,710 --> 01:11:13,900 اوه. 1528 01:11:13,900 --> 01:11:15,820 بیش از حد در زمان. 1529 01:11:15,820 --> 01:11:18,490 بیایید این کار را. 1530 01:11:18,490 --> 01:11:18,990 بسیار خوب. 1531 01:11:18,990 --> 01:11:20,240 متأسفم. 1532 01:11:20,240 --> 01:11:23,140 1533 01:11:23,140 --> 01:11:23,690 بسیار خوب. 1534 01:11:23,690 --> 01:11:24,720 به من اجازه انجام این کار. 1535 01:11:24,720 --> 01:11:25,020 OK. 1536 01:11:25,020 --> 01:11:27,040 که به نظر می رسد خوب و مستقیم اکنون به جلو. 1537 01:11:27,040 --> 01:11:29,090 به من اجازه انجام این کار. 1538 01:11:29,090 --> 01:11:29,860 این کار را. 1539 01:11:29,860 --> 01:11:30,950 و OK. 1540 01:11:30,950 --> 01:11:33,080 بنابراین در حال حاضر، اجازه دهید بیش از این در اینجا قرار داده است. 1541 01:11:33,080 --> 01:11:35,840 1542 01:11:35,840 --> 01:11:37,270 برنامه نویسی دیگر در پرواز. 1543 01:11:37,270 --> 01:11:37,900 OK. 1544 01:11:37,900 --> 01:11:40,000 >> بنابراین در حال حاضر، اجازه بازگشت به که در آن داستان آغاز شد. 1545 01:11:40,000 --> 01:11:43,530 پیش از این، من گفتم که این خط در اینجا یعنی زمانی که سند آماده است، به 1546 01:11:43,530 --> 01:11:44,380 جلو و این کار را. 1547 01:11:44,380 --> 01:11:45,660 چه من می خواهم کاری انجام دهید؟ 1548 01:11:45,660 --> 01:11:49,070 خوب به طور خاص، من می خواهم به پیش رو و زیر را انجام دهید. 1549 01:11:49,070 --> 01:11:53,700 اجرای این خط از کد، و پس از آن چه من می خواهم شما را به انجام است به این 1550 01:11:53,700 --> 01:11:56,370 عملکرد هنگامی که فرم ارسال می شود. 1551 01:11:56,370 --> 01:11:57,730 >> در حال حاضر این چیزی است که جالب است. 1552 01:11:57,730 --> 01:11:59,170 این خود یک تابع است. 1553 01:11:59,170 --> 01:12:02,540 توجه من قرار دادن پرانتز ندارد در اینجا در راه طبیعی است. 1554 01:12:02,540 --> 01:12:06,800 من به معنای واقعی کلمه عبور یک تابع به نام کنترل () به تابع دیگر 1555 01:12:06,800 --> 01:12:10,800 به نام را () به عنوان آرگومان به عنوان هر چند آن را مانند یک متغیر است. 1556 01:12:10,800 --> 01:12:14,290 و این یکی از ویژگی های است جاوا اسکریپت، توابع خود است 1557 01:12:14,290 --> 01:12:15,710 واقعا فقط اشیاء. 1558 01:12:15,710 --> 01:12:18,350 در واقع، آنها واقعا فقط هستید متغیر از نوعی. 1559 01:12:18,350 --> 01:12:21,340 و اگر نام تابع است کنترل ()، هیچ دلیلی نمی توانم وجود دارد 1560 01:12:21,340 --> 01:12:23,390 عبور از آن به عنوان یک بحث در اینجا. 1561 01:12:23,390 --> 01:12:27,530 و این بدان معنی است که فرم با ID از نسخه ی نمایشی است 1562 01:12:27,530 --> 01:12:29,320 را مشاهده کنید، به این تابع. 1563 01:12:29,320 --> 01:12:32,770 >> اما در حال حاضر اگر من خنثیسازی همه از این، پس چرا من شاید انجام 1564 01:12:32,770 --> 01:12:34,850 این یک لحظه پیش؟ 1565 01:12:34,850 --> 01:12:36,840 خوب، این یک تابع بی نام است. 1566 01:12:36,840 --> 01:12:41,080 از آنجا که رک و پوست کنده، من متوجه شدم که چرا من هستم آزار به اتلاف وقت اعلام 1567 01:12:41,080 --> 01:12:45,540 تابع به نام کنترل () فقط تماس بگیرید آن را در یک و تنها یک مکان؟ 1568 01:12:45,540 --> 01:12:48,640 اگر من به نام نیاز ندارد، و من نه نیاز به آن را بیش از یک محل، 1569 01:12:48,640 --> 01:12:51,200 اجازه دهید فقط اجرای تابع سمت راست جایی که من به آن نیاز دارید. 1570 01:12:51,200 --> 01:12:55,190 و به این ترتیب جاوا اسکریپت و PHP پشتیبانی چه ها توابع بی نام که 1571 01:12:55,190 --> 01:12:57,900 من اجازه می دهد برای انجام این کار دقیقا همان است که در اینجا. 1572 01:12:57,900 --> 01:12:59,570 >> اما ما تنها سطح. 1573 01:12:59,570 --> 01:13:02,430 بیایید تنها با چند کسی را دست انداختن نمونه نهایی در اینجا. 1574 01:13:02,430 --> 01:13:04,600 >> اگر من به quote.php بروید. 1575 01:13:04,600 --> 01:13:07,160 1576 01:13:07,160 --> 01:13:11,870 توجه داشته باشید که این در واقع PHP تابع، برنامه پی اچ پی، که من نوشتم 1577 01:13:11,870 --> 01:13:15,270 که انتظار دارد پارامتر HTTP نام نماد، و من می توانم عبور در 1578 01:13:15,270 --> 01:13:16,730 ارزش مانند FB. 1579 01:13:16,730 --> 01:13:20,010 و اگر ما در واقع در منبع نگاه کد، این است که پرس و جو یک وب سایت رایگان 1580 01:13:20,010 --> 01:13:23,680 به نام یاهو امور مالی، درست مانند p-مجموعه هفت، و آن را بازگشت به من 1581 01:13:23,680 --> 01:13:26,580 چیزی در ظاهرا فرمت شناخته شده JSON است - 1582 01:13:26,580 --> 01:13:28,010 جاوا اسکریپت نشانه گذاری شی. 1583 01:13:28,010 --> 01:13:28,810 این فقط یک شی است. 1584 01:13:28,810 --> 01:13:32,500 توجه آکولاد، به نقل از، روده بزرگ، و کاما. 1585 01:13:32,500 --> 01:13:34,720 >> در حال حاضر در عین حال، این است که بسیار سرد است. 1586 01:13:34,720 --> 01:13:38,520 از آنجا که من احتمالا می تواند با استفاده از برنامه نویسی زبان به URL های 1587 01:13:38,520 --> 01:13:40,370 که مثل این به صورت پویا نگاه کنید، درست است؟ 1588 01:13:40,370 --> 01:13:43,340 من می توانم این را به گوگل تغییر و به عقب بر گردیم در گوگل 1589 01:13:43,340 --> 01:13:47,930 قیمت سهام از $ 1،017.55. 1590 01:13:47,930 --> 01:13:49,640 بنابراین اجازه دهید ببینیم آیا می توانیم این در حال حاضر استفاده نمی کنند. 1591 01:13:49,640 --> 01:13:56,590 >> اجازه بدهید من برای آژاکس-0 به اینجا، که به نظر می رسد مانند زیر است. 1592 01:13:56,590 --> 01:13:59,750 این فقط یک وب سایت است که در یک فرم با یک دکمه. 1593 01:13:59,750 --> 01:14:05,860 اجازه بدهید به اینجا بروید و نوع در YHOO برای یاهو نماد سهام، کلیک کنید دریافت 1594 01:14:05,860 --> 01:14:10,530 نقل قول، و در حال حاضر متوجه I بدست هشدار با 32.86. 1595 01:14:10,530 --> 01:14:14,050 >> اجازه بدهید من در واقع به نسخه رویایی بروید از این صفحه، نسخه دو، و 1596 01:14:14,050 --> 01:14:17,530 تایپ در بیایید می گویند مایکروسافت، MSFT. 1597 01:14:17,530 --> 01:14:18,410 دریافت نقل قول. 1598 01:14:18,410 --> 01:14:19,850 و در حال حاضر متوجه، بدون هشدار. 1599 01:14:19,850 --> 01:14:22,770 توجه کنید که در آن می گوید قیمت مشخص می شود؟ 1600 01:14:22,770 --> 01:14:27,060 است ساده ترین نمونه هایی وجود دارد که نکات در چه Gchat و فیس بوک 1601 01:14:27,060 --> 01:14:30,070 چت، و جی میل، و دیگر وب سایت ها انجام می دهند در واقع 1602 01:14:30,070 --> 01:14:31,290 تغییر صفحه وب. 1603 01:14:31,290 --> 01:14:31,800 >> توجه داشته باشید این. 1604 01:14:31,800 --> 01:14:33,120 اجازه بدهید من در صفحه را مجدد بارگذاری. 1605 01:14:33,120 --> 01:14:35,080 به من اجازه باز کردن بازرس کروم. 1606 01:14:35,080 --> 01:14:36,890 اجازه بدهید من به عناصر بروید تب در اینجا. 1607 01:14:36,890 --> 01:14:42,310 حالا متوجه اگر من زوم کردن در اینجا و باز این رو، توجه کنید که این است من 1608 01:14:42,310 --> 01:14:44,500 HTML DOM - مدل شی سند من. 1609 01:14:44,500 --> 01:14:45,920 این HTML من است. 1610 01:14:45,920 --> 01:14:48,750 اما در حال حاضر متوجه، حتی اگر آن را که کمی سخت به آن را ببینید در هر دو 1611 01:14:48,750 --> 01:14:52,080 مکان در یک بار، اگر در FB نوع I تا اینجا، تماشای پایین 1612 01:14:52,080 --> 01:14:54,110 از صفحه نمایش تنها. 1613 01:14:54,110 --> 01:14:57,720 >> این در واقع در حال تغییر HTML من در پرواز. 1614 01:14:57,720 --> 01:15:01,670 و آن را به انجام این کار کاملا به سادگی با انجام این کار چیزی شبیه به این. 1615 01:15:01,670 --> 01:15:06,800 اگر I باز کردن آژاکس 2، متوجه اجرای چیزی به عنوان علاقه به عنوان 1616 01:15:06,800 --> 01:15:09,560 که، حتی اگر آن را بسیار زشت، اما به عنوان پیچیده است که 1617 01:15:09,560 --> 01:15:11,910 عملکرد، آن را تا به برخی از HTML در پایین. 1618 01:15:11,910 --> 01:15:13,810 اما توجه من استفاده می شود به برچسب. 1619 01:15:13,810 --> 01:15:16,640 ما پیش از این استفاده نمی شود، اما این است مانند، اما مجبور 1620 01:15:16,640 --> 01:15:17,840 همه چیز را بر روی یک خط جدید است. 1621 01:15:17,840 --> 01:15:20,830 این فقط باعث می شود یک منطقه مستطیلی در همان خط در اصل. 1622 01:15:20,830 --> 01:15:22,870 >> توجه کنید که من به آن ID از قیمت می باشد. 1623 01:15:22,870 --> 01:15:26,800 و معلوم است با استفاده از همان کتابخانه جاوا اسکریپت، من یک تابع باید 1624 01:15:26,800 --> 01:15:30,440 به نام اعلان () که به نام هر زمان که فرم ارسال می شود. 1625 01:15:30,440 --> 01:15:31,800 و آنچه که من انجام این کار است. 1626 01:15:31,800 --> 01:15:35,730 من اعلام یک متغیر در جاوا اسکریپت نام آدرس، صرفه جویی در مقدار 1627 01:15:35,730 --> 01:15:38,650 quote.php؟ نماد =. 1628 01:15:38,650 --> 01:15:44,220 به عبارت دیگر، من خودم شروع می کنم برای آماده سازی یک درخواست HTTP، و پس از آن 1629 01:15:44,220 --> 01:15:49,250 من الحاق بر روی که با یک به علاوه هر عنصر با ID 1630 01:15:49,250 --> 01:15:54,190 از نماد است، که توجه این است که درست است متن سمت راست را در اینجا. 1631 01:15:54,190 --> 01:15:56,630 بنابراین درست مانند ما اشکال در گذشته به حال. 1632 01:15:56,630 --> 01:16:01,450 >> و پس از آن که معلوم است در jQuery، اگر شما تماس بگیرید. وال ()، که خواستار یک وال 1633 01:16:01,450 --> 01:16:05,900 تابع، یک تابع ارزش، که می شود هر کاربر تا به تایپ شوید 1634 01:16:05,900 --> 01:16:08,920 و پس از آن همه ترافیک شبکه که اتفاق می افتد این است. 1635 01:16:08,920 --> 01:16:11,230 $. getJSON. 1636 01:16:11,230 --> 01:16:13,720 >> و به عنوان یک کنار، علامت دلار است فقط یک نماد تند نویسی. 1637 01:16:13,720 --> 01:16:16,860 این واقعا jQuery.getJSON. 1638 01:16:16,860 --> 01:16:21,520 من به JSON از این URL، و هنگامی که درخواست برگشت، به این 1639 01:16:21,520 --> 01:16:26,550 تابع و ارسال به عنوان آرگومان هر آنچه از سرور آمد. 1640 01:16:26,550 --> 01:16:31,205 >> بنابراین به عبارت دیگر، اگر من به بازگشت به مرورگر، و من به بازگشت به quote.php، 1641 01:16:31,205 --> 01:16:35,590 آنچه که مرورگر در حال انجام شدن است این تکه از داده ها. 1642 01:16:35,590 --> 01:16:38,930 و وقتی به این صفحه وب در اینجا، توجه اگر ما به جای به شبکه بروید 1643 01:16:38,930 --> 01:16:43,820 تب و روشن آن را، و سپس در چیزی شبیه به GOOG برای گوگل و دریافت 1644 01:16:43,820 --> 01:16:46,340 نقل قول، متوجه صفحه را تغییر دهید. 1645 01:16:46,340 --> 01:16:50,990 اما یک درخواست HTTP، ساخته شده بود و چه برگشتم اینجا اگر ما در نگاه 1646 01:16:50,990 --> 01:16:56,130 پاسخ یک دسته کامل از JSON است که ما در نهایت با دیده 1647 01:16:56,130 --> 01:16:58,070 این خط ساده در اینجا. 1648 01:16:58,070 --> 01:17:00,150 >> اطلاعات آن چیزی است که بدست شد از سرور. 1649 01:17:00,150 --> 01:17:02,120 قیمت نام است کلید I در مورد مراقبت. 1650 01:17:02,120 --> 01:17:05,230 بنابراین data.price به من می دهد که. 1651 01:17:05,230 --> 01:17:07,540 >> در حال حاضر در عین حال، و این آخرین نمونه است. 1652 01:17:07,540 --> 01:17:09,280 شما می توانید در عین حال با صفحه انجام دهد. 1653 01:17:09,280 --> 01:17:12,440 یکی در واقع، به خوبی دو. 1654 01:17:12,440 --> 01:17:14,780 ما می توانیم بازگرداندن برچسب، اگر شما این به یاد داشته باشید. 1655 01:17:14,780 --> 01:17:15,850 که جاوا اسکریپت است. 1656 01:17:15,850 --> 01:17:17,110 ما می توانیم انجام این کار. 1657 01:17:17,110 --> 01:17:17,690 بسیار هیجان انگیز است. 1658 01:17:17,690 --> 01:17:18,800 ما به عنوان یک مطلب یا داستان جالب ترک که. 1659 01:17:18,800 --> 01:17:21,590 >> اما excitingly بیشتر، شما می توانید انجام کارهای شبیه به این. 1660 01:17:21,590 --> 01:17:25,940 اگر من به منطقه جغرافیایی-1 بروید، آن را تبدیل که کروم می داند که ما در می 1661 01:17:25,940 --> 01:17:30,672 عرض جغرافیایی طول جغرافیایی 42.37. -71.10. 1662 01:17:30,672 --> 01:17:32,940 بنابراین حتی بیشتر وجود دارد در اختیار شما. 1663 01:17:32,940 --> 01:17:34,290 اما بیشتر در هفته آینده. 1664 01:17:34,290 --> 01:17:35,540 دوشنبه مشاهده شما. 1665 01:17:35,540 --> 01:17:37,558