ANDI PENG: ما تقریبا از طریق تمام psets. در واقع، ما از طریق اکثریت هستید از psets سخت ترین. پس ما در واقع فقط هستید رفتن به نوع نسیم از طریق چند هفته آینده. ما قصد داریم به شروع به صحبت کردن در مورد ما پروژه های نهایی، حوادث آینده تا در چند هفته آینده. و زندگی خواهد بود نسیم. بنابراین، امروز بیش از حد. امیدوارم، در واقع نسیم خواهد از طریق دستور کار برای امروز، و سپس از اینجا با برخی از زمان به فراغت. همچنین، من می خواهم به عذرخواهی می کنیم برای عدم آب نبات امروز. من نمی دانم چرا. اما در هفته منتهی هالووین، من آب نبات فراموش کرده ام. بنابراین من در واقع فقط هستم گسترده ناامیدی شما در حال حاضر. از آنجا که من به معنای واقعی کلمه به یاد داشته باشید آب نبات برای هر کلاس، اما هالووین. اما هفته بعد، من به ارمغان خواهد آورد دو برابر مقدار آب نبات برای آن را تشکیل می دهند، برای همه شما. آن را بزرگ خواهد. بنابراین من یک زن و شوهر از اخبار و اطلاعیه در مورد برخی برنامه ریزی. من به برخی از مسائل برنامه ریزی. سپس ما قصد داریم به حرکت بر روی در مورد آنچه که به نام سطح دسترسی صحبت کنید. ما قصد داریم به بحث در مورد به سرعت TCP / IP HTTP. و سپس ما در حال رفتن به کد ما وب سایت را با استفاده از HTML و CSS. و بعد من در واقع می خواهید ترک شاید مانند 20 دقیقه در مورد pset6 صحبت کنید. از آنجا که pset6 است که در واقع بسیاری از چیزهای که ما در حال حاضر قبل از دیده می شود، اما من می خواستم به روز کردن برخی از کسانی که مفاهیم و همچنین آموزش توابع جدید یک زن و شوهر. خنک. پس اول از همه، استقبال از استراحت. من امیدوارم که شما استراحت لذت بخش بود. دوست شما برای استراحت انجام دهد؟ رسید به نیویورک رفت. ANDI PENG: شما به نیویورک رفت؟ من فکر می کنم نیم مدرسه ما به نیویورک رفت. این همه حق است. من صرف بیشتر از شکستن من کم تحرک در Netflixing تخت. و هم خوب بود. اما ما در حال حاضر تماس، در جلسه، در نوسان از همه چیز. ما یک pset به دلیل این جمعه در ظهر. من فکر می کنم شما در حال حاضر برداشت مسابقه خود را، آره؟ بنابراین هر کس دیگری است که آزمونها رسانده اند، لطفا آمده و آزمونها خود را از من در پایان بخش. یا من پیگیری کردن در محوطه دانشگاه. من آن را با من جایی داشته باشد. پروژه نهایی ما قبل از پیشنهاد می شود. بنابراین برای کسانی از ما که هرگز گرفته اند این کلاس قبل، CAPSTONE از CS50 بسیار در این به اوج خود رسید پروژه بزرگ است که دانش آموزان ارائه شده است. و قبل از پیشنهاد، فقط یک ایده کلی از آنچه که ممکن است بخواهید برای انجام آنها پروژه، که ایده است که به علت دوشنبه، دوشنبه آینده در ظهر. بنابراین بسیار زیاد است، من فکر می کنم دیوید صحبت بیشتر در مورد این در سخنرانی اگر او تا به حال حاضر نیست. و یک صفحه جامد وجود دارد در وب سایت ما توضیح تمام الزامات پروژه می باشد. اما در اصل، انتخاب کنید هر موضوع که شما را در علاقه مند در طول زمان خود را اینجا در CS، آن است که آیا بازی و یا طراحی و یا فیلم یا هر چیزی. و شما می توانید واقعا نوع در حال حاضر برخی از درس های اعمال که ما در اینجا در CS50-- به دست آوردید سلام، welcome-- به تقریبا انجام یک پروژه نهایی از انتخاب شما. همه که به دلیل دوشنبه است فقط یک تقریظ یا اعلان مبالغه امیز کوتاه از طریق ایمیل به من، یک جمله سریع، مانند، هی، اندی، من واقعا در طراحی علاقه مند هستم یک بازی است که این کار را برای iOS است. خنک. فقط به من اجازه اولیه مختصر خود را ایده هایی برای پروژه های نهایی خود را. و ما در صحبت یا نه است که در واقع یک ایده خوب است یا نه، اگر آن را یک ایده را عملی یا نه. اما فقط قبل از پیشنهاد است که به علت دوشنبه آینده. pset6، web-- دوست داشتنی ما این است که اشتباه است. Pset7؟ pset6؟ این pset6، درست است؟ pset6، وب سرور ما، با توجه جمعه در ظهر با اواخر روز است. ساعات اداری از سر به طور معمول از دوشنبه تا پنج شنبه 8:00-11:00 این هفته است. من فکر می کنم برای عوام سه شب بعد. خنک. قبل از ما به مواد بود، آیا کسی هر گونه سوال، جوک، داستان؟ چه شما برای شکستن سقوط را انجام دهد؟ رسید چه کار کنم؟ ANDI PENG: در حال حاضر آن را در سنین قبل در واقع. Christabel به نیویورک رفت. من در اینجا و Netflixed ماند. مخاطبان: اوه، آره من در اینجا هستم. ANDI PENG: آه، باشد. مخاطبان: من به یاد داشته باشید آنچه به طور خاص. ANDI PENG: این OK. مخاطبان: Netflixing احتمالا. ANDI PENG: Netflixing. آره، آن را به یک زمان خوب است. باشه. خیلی خوب. هر گونه سوال قبل ما به مواد پرش؟ همچنین، ما در حال رفتن به سعی کنید به از طریق سرعت بخش امروز، بیش از حد به پوشش میدهد. و امیدوارم، ما را دریافت کنید در اینجا کمی زود. با عرض پوزش برای آب نبات نیست، همچنین. من بسیار ناامید کننده ظاهر هستم، به خصوص در طول هالووین. خیلی خوب. خنک. بنابراین ما در حال صحبت کردن در مورد شروع به آرگومان خط فرمان به نام سطح دسترسی. سطح دسترسی، همه آن است که فقط یک سیستم یونیکس است پاسخ از خط فرمان انجام تغییر سطح دسترسی فایل. بنابراین برای مثال، ما تمام صفحه مواجه می شوند مثل این احتمالا گاهی اوقات در طول عمر ما را از بودن به اینترنت کاربر، که در آن وب سرور ما است به ما داده خطا از ممنوع است. شما اجازه دسترسی به دسترسی نداشته باشند، yadda، yadda، yadda، بر روی این سرور. تمام آنچه که واقعا معنی است که مجوز که به آن متصل شد هر صفحه شما تلاش برای دسترسی شد باز به شما نیست. بنابراین بسیار زیاد است، سطح دسترسی روشی که در آن است ما می توانیم به کسانی که مجوز سیستم را تغییر دهید به همه، کاربر، گروه، و یا جهان، و یا هر ترکیبی از این دسترسی به فایل های خاص، دایرکتوری، هر چیزی واقعا، هر نوع سیستم در یک سیستم عامل. بنابراین اگر هر کدام از بچه ها کامپیوتر اگر شما احساس مانند زیر همراه با من امروز، کاملا احساس رایگان برای همه چیز فقط از نوع که در. اگر نه، شما فقط می توانید اویختن. بنابراین من قصد دارم در واقع جلو تا ترمینال من در حال حاضر. بنابراین دستور به اجرا سطح دسترسی، و یا حداقل فقط به لیست مجوزهای خود را دایرکتوری فایل، فقط LS-L است. همانطور که می بینید، یک دسته از مسائل بالا میآید که بسیاری از آنها به ما در مهم است سمت چپ در اینجا. شما بچه ها دیدن یک دسته از RS، WS، 1 /. آره. کسانی که در اصل فقط همه مجوز های دسترسی فایل برای توضیح دایرکتوری آنچه مسلم و فایل های درون سیستم شما. بنابراین اجازه دهید به برگشت به نقطه قدرت در اینجا. بنابراین علاوه بر نام فایل شما بچه توانید در سمت راست مشاهده کنید، ما به دنبال به دیدن اساسا فقط ستون در سمت چپ. بنابراین علاوه بر فقط نام فایل، ما می توانید مجوز از فایل ها، خود را گروه مالک، نام گروه، تاریخ که فایل آخرین اصلاح شده، و غیره. شما می توانید بسیاری از چیزهایی با استفاده از سطح دسترسی را ببینید. بنابراین راه است که ما سطح دسترسی خوانده شده است که اولین حرف ما بسیار چشم پوشی از نظر مجوز خواندن. حرف اول فقط به ما می گوید که چه نوع سیستم ما دسترسی. D، در این مورد، یک پوشه یا دایرکتوری. بنابراین ما می دانیم که در حال حاضر فضای کاری من بخش هفت یک دایرکتوری بود. و سپس شما سه ببینید Triad ها ملاقات میکند، در اصل فقط سه مجموعه از سه شخصیت. و شما می توانید از هر عنوان یک بیت فکر می کنم. بنابراین شما فقط باید سه مجموعه از سه بیت، نه بیت در کل. شما آنها را در گروه های سه را درمان کنند. بنابراین گروه اول از سه همیشه اجازه خود را. گروه دوم خود را از سه است همیشه مجوزهای گروه خود را. و مجموعه سوم خود را از سه همیشه مانند جهان، در همه جا مجوز. بنابراین من حدس می زنم آسان سوال در چیزی است که تفاوت بین کاربر و گروه. تفاوت اصلی بین کاربر و گروه این است که یک کاربر است، فقط شما شخصا دسترسی به هر آنچه در آن است در حال حاضر. یک گروه می تواند اگر شما چند کاربران بر روی یک کامپیوتر، برای مثال. همه آنها را می توان به عنوان یک گروه تحت درمان. و پس از آن جهان است فقط جهان، همه. بنابراین ما می توانیم بعد ببینید که چگونه ما می توانیم تغییر آن را به مجوزهای مختلف. بنابراین بسیار زیاد است، ما رفتن به هنوز تمرکز در بخشی در سمت چپ، که در آن برای دایرکتوری CS50 ما می بینیم drwx، که در آن R فقط به معنی آن قابل خواندن است. از W فقط معنی آن را قابل نوشتن کنید. و پس از آن فقط X معنی آن را اجرایی می باشد. شما می خواهم فکر می کنم نوع آن از معنی ندارد. باید الکترونیکی باشد. اما X در واقع نوع کار کمی بهتر است، زیرا شما می توانید آن را بهتر به یاد داشته باشید. بنابراین سه نوع از چیزهایی که شما می توانید انجام دهید، شما هم می تواند خواندن یک فایل، شما می توانید اجازه دسترسی به یک علامت سئوال ارسال فایل، و یا شما می توانید اجازه برای اجرای یک فایل. و به این ترتیب راه است که ما در واقع نشان دهنده کسانی که در بیت شماره 4، 2، 1 و است. بنابراین هر چیزی که قابل خواندن است ارائه شده توسط تعدادی از 4. هر چیزی که قابل نوشتن توسط 2 ارائه شده است. و هر چیزی که اجرایی عنوان 1 ارائه شده است. بنابراین در این معنا، ما نیز می توانید نشان دهنده این numbers-- سلام، خوش آمدید، در راه های مختلف. متاسف. قبل از هر کس، من قصد دارم به عذرخواهی به نمایندگی از همه ورود به کلاس در حال حاضر. من آب نبات را فراموش کرده امروز. من متاسفم من یک شکست خورده هستم این هفته هالووین. من دو برابر مقدار را آب نبات در کنار هم برای آن تشکیل می دهند. اما به هر حال، با عرض پوزش در مورد که بچه ها، با عرض پوزش. پس راه که ما در واقع می توانید ورودی در فرمان ما استدلال ما است می توانید سطح دسترسی مجوز بریده بریده گروه انجام دهید، که در آن گروه فقط هر آنچه است گروه ما در حال تلاش برای تغییر. و مجوز هر آنچه ما می خواهیم به آن اضافه کنید. بنابراین به عنوان مثال، به علاوه می افزاید مجوز، و جمع و تفریق طول می کشد دور مجوز. و انواع گروه ما یک ما برای همه، U برای کاربران، گرم برای گروه، و یا درجه برای دیگران. آن در حال حاضر یک خلاصه کمی است. اما ما بیش از یک زن و شوهر نمونه به فقط برای نشان دادن این سریع واقعی است. همه خوب در این اسلاید، بنابراین من می تواند در حرکت؟ خنک. بنابراین برای مثال، RWX. قبل از اینکه ما در مورد آنچه که آن را نشان دهنده صحبت می کنید، اول از همه چه RWX چیست؟ اگر می بینید که این خاص فایل دارای مجوز از RWX، چه می کند که به معنای فرد می تواند قادر به انجام؟ مخاطبان: خواندن، نوشتن و اجرا کند. ANDI PENG: بله، دقیقا. شما می توانید ارسال خوانده و اجرا کند. از آنجا که هر سه از آن شخصیت وجود دارد. بنابراین اگر ما به جلو بروید و بحث در این مورد در نظر بیت، RWX همچنین می توانید به عنوان 700 نشان داده شود. از آنجا که شما می توانید در هر دید مرتب کردن بر اساس فایل اجازه دایرکتوری، سه Triad ها ملاقات میکند وجود دارد. در این مورد، تنها اولین سه گانه است هر چیزی وجود دارد. بنابراین در این مورد، R 4، عرض 2 و x 1 است. اگر کسانی شما را اضافه کنید هم، آن را 7. و بنابراین اگر شما تبدیل آن را به باینری، آن را 700. از آنجا که 7 اولین سه گانه است. 0، هیچ چیز حال حاضر وجود دارد در سه گانه دوم. و پس از آن هیچ چیز وجود دارد در حال حاضر سه گانه سوم، به طوری که 0 دیگری است. بنابراین به همان، یک دسته از Triad ها ملاقات میکند می توان فقط در بیت نشان، فقط در باینری است. بنابراین 700 به این معنی همان چیزی دقیق به عنوان RWX ------ از نظر مجوز. هر کس در روشن؟ خنک. و به این ترتیب سطح دسترسی 111 می دهد که مجوز به فایل؟ شما بچه ها یک زن و شوهر ثانیه برای تبدیل این. به یاد داشته باشید، اولین سه گانه است برای کاربر. سه گانه دوم برای این گروه است. و سه گانه سوم برای همه است. و به این ترتیب سطح دسترسی 111 را بدهد که به نوع مجوز و به چه کسی؟ نگاهی به چند ثانیه برای فکر می کنم در مورد آن و باز می گردد. آره. مخاطبان: بنابراین هر کس می تواند آن را اجرا کند. ANDI PENG: آره، دقیقا. رسید اما هیچ کس نمی تواند خواندن و نوشتن. ANDI PENG: و در صورت تمایل برای توضیح به همه چگونه شما را به این نتیجه گیری آمد. مخاطبان: خوب، برای کاربر، گروه، و جهان، همه چیز در 1، که در آن کد برای اجرا است. ANDI PENG: بله، دقیقا. بنابراین 1، در این مورد، همه ما می دانیم است که کد اجرا است. از آنجا که خواندن 4 است. نوشتن 2 است. و اجرایی 1 است. به طوری است که هر سه Triad ها ملاقات میکند 1، که بدان معنی است که به جهان، به کاربر، و به گروه، آنها همه اجرایی. همه خوب با که؟ باشه. و به این ترتیب راه دوم که ما در واقع می توانید ارسال این نیز به شما است می تواند فقط سطح دسترسی یک X به علاوه. آن را وسیله تمام یا همه. به علاوه به معنای دادن مجوز به. و پس از آن X معنی اجرایی. بنابراین دو دستور وجود دارد در واقع یکسان است. بنابراین اگر شما می خواهید برای اجرای این در ترمینال خود را، شما سطح دسترسی انجام 111، نام راهنمای خود و یا فایل خود را. یا شما می توانید سطح دسترسی به علاوه X، نام فایل راهنمای خود را. همان چیزی که، فقط یک راه ساده تر، شاید، برای برخی از به نمایندگی و یا تغییر مجوز های دسترسی فایل. هر یک OK با سطح دسترسی قبل از ما در حرکت؟ خنک. بنابراین در حال حاضر ما در حال رفتن به سر را به یک اسلاید از چند مفاهیم بسیار انتزاعی که من تقریبا هستم رفتن به نسیم را از طریق. و آن را اگر شما کاملا OK همه چیز را درک نمی کند. حتی در حال حاضر، من هنوز واقعا نمی همه چیز کاملا درک کنید. اما آن را بیشتر از گرفتن درک سطح بالا چگونه برخی از این چیزها کار می کنند. بنابراین ما قصد داریم به بحث به سرعت در مورد TCP / IP، که فقط کنترل انتقال است پروتکل پروتکل اینترنت بریده بریده. به یاد بیاورید از سخنرانی، دیوید، او به شما آموزش به عنوان مثال که در آن او می خواهم عبور یادداشت ها در یک پاکت نامه تا دوست بالای سالن سخنرانی؟ بنابراین در سالن دانشکده حقوق دیوید نشان اساسا چگونه TCP / IP کار می کند در به این معنا که همه آن را وسیله ای برای تضمین این که داده است در سراسر سرور تحویل داده شده است و یا بر روی اینترنت. بنابراین در مثال از پاکت نامه و پیام، کاربر در پایان می توانم ببینم که، آه، من به نیاز چهار بسته از اطلاعات دریافت خواهید کرد. اما من در واقع تنها سه دریافت کرده است. این بدان معناست که باید از دست رفته یکی. و یکی بود تحویل داده است. و به این ترتیب TCP / IP بر روی اینترنت، از طریق کامپیوتر شما و سرور، همین کار را دقیق. همه آن کند است مشخص چارچوب که در آن یک اطلاعات از دست رفته بسته می تواند خشمگین و دریافت کرد. مانند در اینترنت زمانی که شما در تلاش هستید برای دسترسی به فایل های آنلاین و یا ارسال فایل دوست خود و یا در وب نگاه کنید مرورگرها، هزاران و هزاران تن از میلیاردها و میلیاردها از بایت اطلاعات در هر میلی ثانیه منتقل می شود. و آن را واقعا، واقعا گیج کننده است. و آن را واقعا سخت به در واقع می دانیم که چه چیزی ارسال گردیده است و چه چیزی ارسال نشده است. و به این ترتیب TCP / IP فقط مشخص یک چارچوب منسجم که در آن وب سایت خود را مرورگر و سرور خود را می توانید نوع ارتباط برقرار با یکدیگر، فقط مطمئن شوید که بسته در همه در اینجا و هیچ چیز از دست رفته و تمام داده هایی را که مورد درخواست شما است که در واقع درستی نمایش. همه OK بر روی تنها که بسیار سطح بالا مختصر را درک کنند؟ خنک. پس ما در حال رفتن به حرکت به صحبت کردن در مورد HTTP، که فقط پروتکل انتقال ابرمتن است. HTTP، همه آن است که هر هر صفحه است یا فایل در وب سایت خود دیده، سرور یک HTTP را برمی گرداند کد وضعیت در پاسخ به درخواست مطمئن شوید که هم، آه، این درخواست از طریق رفت. و همه چیز درستی نمایش. یا، اوه، نه، 404. چیزی را اشتباه رفت. اوه، من نمی تواند نمایش دهد. همه آن است که است که هر چه شما در حال تلاش برای دسترسی به، استفاده به عنوان کاربر در تلاش است برای دسترسی به، در internet-- فقط مطمئن شوید که شما هم موفقیت دیده هر چه که بود یا نه موفقیت دیده هر چه که بود. و به این ترتیب وضعیت HTTP را کد فقط شما فراهم می کند وسیله ای که قادر به مطمئن شوید که آیا یا نه آن موفق است یا نه. بنابراین برای مثال، یک درخواست به عنوان مثال. شما می توانید در اینجا مشاهده کنید آن را معمولا به طور معمول چهار خط. ما یک HTTP GET 1.1، است که فقط آدرس URL درخواست روش، پروتکل نسخه، نام زمینه، و مقدار فیلد. بنابراین بدون نیاز به طور کامل حفظ هر چیزی در اینجا. فقط نوع گرفت خود را با این نگاه. در این مثال، درخواست روش URL فقط هر درخواست شما در حال ارسال به سرور. مانند، هی، سرور، من واقعا می خواهید به دسترسی yadda، yadda، yadda، صفحه HTTP. نسخه پروتکل فقط هر آنچه است نسخه میزبان یا سرور شما را با استفاده از دسترسی به اطلاعات. نام زمینه وب سایت و یا است URL که شما در حال تلاش برای دسترسی به، در این مورد، www.apple.com. و ارزش درست است فقط به طور معمول نام، ارزش. و می توان آن را از هر نوع ترکیبی از حروف یا اعداد و یا هر چیز دیگری. بنابراین یک درخواست معمولی، بنابراین چه کامپیوتر شما در واقع می فرستد به سرور است که می گوید، با سلام، شما می دانید چه من نیاز به این نمایش داده شده، که نوع درخواست است که آنها در واقع دریافت خواهید کرد. پاسخ مثال از آنچه که سرور به شما ارسال به می شود تقریبا همان چیزی، به جز با یک کد وضعیت در بالای صفحه. بنابراین 200، 2 0 0 همیشه کد وضعیت برای OK. مانند، OK، این درخواست از طریق رفت. شما قادر به دسترسی بودند همه چیز به درستی. زندگی خوب است. زندگی خوب است. همه چیز کاملا خوب است. و این فقط می گوید مرورگر شما و سرور خود را، با سلام، خوب همه چیز است. من تمام اطلاعات مورد نیاز است. خنک. اما مشکل این است گاهی اوقات مشکلات می آیند تا وقتی که شما فکر می کنم have-- گذشته من من در مورد تکراری صحبت کردیم. شما باید پاسخ کمتر خوب است. بنابراین برای مثال، 404 صفحه یافت نشد. گاهی اوقات شما دسترسی ممنوع. شما باید انواع دیگر کدهای وضعیت که من مطمئن شوید که شما همه دیده می شود زمانی که شما تلاش برای انجام تحقیقات بر روی اینترنت. و مرورگر خود را به شما می دهد ، هیچ، نمی تواند دسترسی داشته باشید. و شما، به خوبی، تلخه است. پس فقط بسیار زیاد است، وجود دارد برخی از کدهای وضعیت بسیار رایج است. شاید خود را آشنا با آنهایی که کسانی هستند. جالب ترین که من فکر می کنم من تا کنون شنیده ام of-- اگر شما اتفاق می افتد نگاه کردن تمام از آنها آنلاین، برای برخی از دلیل وجود دارد در واقع یک کد وضعیت واقعی به نام 418 من یک قوری هستم. من که در آن گوگل منشاء این از بود. و ظاهرا یکی آوریل روز یک زن و شوهر دهه پیش، کسی فکر این امر می تواند خنده دار برای ایجاد یک کد وضعیت جدید به نام 418 من یک قوری هستم. مشروع، نام این کد است که به نام من یک قوری هستم. من چه صفحه شما را به فراموش رفتن به واقع این صفحه نمایش است. اما ظاهرا، واقع شما می توانید به دست آوردن کد وضعیت من یک قوری به نحوی از طریق انجام کاری است. بنابراین وجود دارد صدها و صدها نفر از کدهای وضعیت. برخی از آنها را بیشتر حس از دیگران است. اما تقریبا درست گرفت خود را با آنهایی که بیشتر معمول. بدنه واحد درخواست شده است کوتاه و تنومند، ظاهرا. بنابراین گاهی اوقات بیشتر وجود دارد خطاهای ترسناک از من یک قوری هستم. اما این یکی که من حدس می زنم شما نوع از امید به ضربه. اما من فکر نمی کنم شما خواهد شد. همه خوب در وضعیت فقط کد، درخواست ها، فرآیندها، ساخت اطلاعات مطمئن است به درستی تحویل؟ بنابراین در حال حاضر ما در حال رفتن به انتقال به یک بخش سرگرم کننده از بخش امروز، که در آن ما بحث کمی در مورد HTML. HTML، همه آن ابرمتن است زبان نشانه گذاری. آن را فقط به زبان استاندارد شما با استفاده از برای ایجاد تمام وب صفحات در اینترنت. بنابراین هر صفحه وب، چه صفحه وب مورد علاقه خود را؟ صفحه وب مورد علاقه شما چیست؟ مخاطبان: [نامفهوم]. ANDI PENG: با عرض پوزش. مخاطبان: وبلاگ Tumblr. ANDI PENG: وبلاگ Tumblr. بنابراین وبلاگ Tumblr است که در HTML نوشته شده است. و بنابراین ما در واقع از طریق رفتن و بازی در اطراف با برخی از این چیزها بعد ها. همه چیز بسیار زیبا شما نیاز به یادگیری، به دانستن، به HTML شما احتمالا می تواند فقط گوگل بر روی اینترنت. HTML، آن را به یک برنامه مانند C نیست که در آن شما می توانید متغیر ایجاد و انجام همه چیز سرد با آن است. این بیشتر از فقط، آه، این است که چگونه من می خواهید همه چیز را به وب سایت من ظاهر می شود. و من فقط رفتن به آن را در. و آن را به آن سبک. بنابراین HTML، به یک معنا، آن را درست مثل یک زبان قالب بندی و یا الگو. این خیلی آسان تر است. آن را بسیار آسان تر برای یادگیری، خیلی آسان تر به ارسال در از برنامه نویسی معمولی خود را زبان، بسیار آسان است، بسیار کاربر در دسترس و پسند. بنابراین ما در واقع رفتن به بازی در اطراف، ارسال صفحات خود ما امروز. اما قبل از شروع، من فقط به به بیش از برخی از بهترین شیوه مختصر. از آنجا HTML چنین است آسان زبان و چرا که حتی اگر شما یک زن و شوهر چیز اشتباه، گاهی اوقات ممکن است متوجه نیست، ما می خواهیم مطمئن شوید که ما در واقع به بهترین شیوه های ما پیوستن مطمئن شوید که چیزهایی که می تواند در اطراف، اما همیشه نمی خواهید برای رفتن نیست مطمئن شوید که آنها در حال به حداقل برسد. بنابراین بسیار زیاد است، مطمئن شوید بستن تمام تگ های خود را خود را زمانی که شما در حال نوشتن در HTML. اگر شما در حال باز کردن یک بدن، مطمئن شوید که شما هستید بسته شدن آن با بدن جایی. شما می خواهید مطمئن شوید که خود را صفحه وب با استفاده از تایید چه به نام W3 اعتبار سنج. شما می توانید فقط گوگل است که آنلاین، و یک لینک به آن وجود دارد. و پس از آن شما می خواهید HTML جداگانه، که زبان نشانه گذاری خود را از سبک خود را، که زبان CSS این است که دیوید نشان داد که ما نیز در حال رفتن به بازی کمی با سخنرانی. خنک. بنابراین در هر زمان شما می خواهید برای اجرای HTML در دستگاه CS50، ما قصد داریم برای اجرای یک برنامه ای به نام آپاچی، که همه آن است که فقط یک ساخته شده در وب سرور که هر کس در CS50 دسترسی دارد. ما آن را فقط به خاطر ما apache50 به همه چیز در 50 CS50 پاسخ. بنابراین راه است که شما شروع به وب از CS50 سرور با تایپ کردن در فرمان خود را خط apache50 نقطه شروع می شود. و اگر شما می خواهید به آن را به پایان در هر زمان، شما apache50 پایان هیچ نقطه. و شما فقط ضربه را وارد کنید. و باید آن را می زنیم تا اینجا به زودی. آره. بنابراین من فقط رفتن را به سرعت به بیش از یک مثال از یک صفحه وب بسیار کوتاه. و ما در حال رفتن به صرف مانند 10، 15 دقیقه بازی حدود نوشتن صفحات وب خود ما. باشه. بنابراین در اینجا در IDE-- هر کس می تواند دید که؟ نه واقعا. در اینجا، من زوم. این من فقط این قالب کوتاه در اینجا با هیچ چیز در واقع در آن است. ما فقط رفتن را به سرعت ارسال یک برنامه HTML که در آن ما فقط سلام به جهان است. بنابراین همان در C، در حال حاضر ما فقط رفتن به آن را در HTML. آیا کسی می خواهید به واقع فقط سعی کنید به من اولین چیزی که شما باید در یک سند HTML قرار داده است؟ آره. مخاطبان: براکت، [نامفهوم]. ANDI PENG: بله. بنابراین چیزی که بسیار منحصر به فرد HTML که ما معمولا به طور سنتی در دستور دیگری روبرو می شوند زبان های برنامه نویسی سطح خط این است که ما در واقع به تعیین نوع فایل که این است برای رفتن به در بالای کد ما. بنابراین در این instance-- من فکر می کنم که فرمان راست، درست است؟ آره. در بالا، شما فقط می خواهید که شامل انفجار HTML DOCTYPE در داخل پرانتز فقط را به کامپیوتر خود بگویید، هی، نگاه کردن. و سند HTML در راه است. و پس از آن چگونه ما می خواهیم برای شروع کردن فایل ما؟ اگر ما فقط می خواهم بگویم سلام، یک صفحه وب است که به جهان می گوید: سلام، چگونه ما در مورد ساخت و ساز این کار؟ در واقع، اجازه دهید به گوگل تبدیل شود. و ما در واقع می توانید انجام این کار. آره. ما میرویم آنجا. بنابراین HTML. همانطور که می بینید، مرورگر است که در واقع به طور خودکار یک ظاهر طراحی شده این برای من. چیزی همان است که در C، هنگامی که شما ایجاد یک آکولاد باز، مرورگر خود را به طور خودکار می افزاید: در آکولاد نزدیک است. خوشبختانه، IDE ما را دوست دارد این کار را برای ما نیز هست. بنابراین در حال حاضر ما به نوعی می تواند در نوع آغاز یک برچسب، و آن را به همیشه ما را به به یاد داشته باشید به تایپ پایان تگ. من فکر می کنم این نیاز به حروف بزرگ باشد و سپس ما خواهید برای اضافه کردن، همیشه، سر که در آن عنوان شده است. ما فقط می خواهیم شاید پاسخ این سلام، و سپس بدن است. و شما بروید. است که در واقع سند HTML است. پس راه که هر سند HTML همیشه in-- همین مدل دهید با اعتبار اصلی اعضای هیات. شما همیشه می خواهم به HTML یک تگ باز و بسته در بالا و پایین کد خود را. شما می خواهید به سر داخل که شامل عنوان، فقط هر چه است که برای نمایش برگه از وب سایت خود را صفحه، و سپس بدن که در داخل آن در واقع نمایش محتوای خواهد از هر آنچه که شما می خواهید انجام دهید. بنابراین اگر شما می خواهید به واقع اجرا این، من قصد دارم به زوم به عقب. شما می توانید در واقع شروع apache50 نقطه شروع می شود. خنک. و بنابراین به عنوان شما می توانید ببینید، در حال حاضر این لینک به دلیل ظهور. این گزارش می گوید سایت شما در حال حاضر موجود در برخی لینک زیر. بنابراین تمام IDE ما done-- نمی IDE، sorry-- آره، IDE ما انجام داده است ایجاد یک وب لینک که بر اساس آن تمام صفحات وب سایت ما می توان بر روی سرور قابل دسترسی است. بنابراین اجازه دهید در اینجا نگاهی به. بیایید در این کلیک کنید، به نام hello.html. و شما می بینید که بسیار ساده صفحه وب برای سلام جهان. باشه. ما در واقع رفتن به تنها دارند everyone-- آره، چه خبر؟ مخاطبان: من یک سوال اساسی داشته باشد. ANDI PENG: آره. مخاطبان: چگونه شما را نجات دهد فایل های خود را به عنوان یک HTML؟ ANDI PENG: آره. بنابراین اگر من به ایجاد یک فایل جدید، اگر من فایل جدید، Untittle، اگر من، section.html، رونق، که من باید انجام دهید این است. مخاطبان: [نامفهوم]؟ ANDI PENG: شماره مخاطبان: [نامفهوم]. ANDI PENG: شماره مخاطبان: [نامفهوم]. ANDI PENG: آره. بسیار زیبا، گسترش در فایل است که در داخل IDE خود را، که می گوید کامپیوتر، که به مرورگر می گوید، هی، نگاه کردن. این است که رفتن به کد نوشته شده در این زبان است. بنابراین برای مثال، در مایکروسافت ورد، چه همه اسناد ورد با، چه پسوند پایان؟ doc است یا .docx، درست است؟ همه که انجام می دهد مشخص می باشد سیستم عامل خود را، هی، شما یک سند Word بالا آمدن کردم. با ورد را باز کنید. همان چیزی که با فایلهای PDF. آن را می داند، آه، من نیاز به باز کردن این فایل با نرم افزار Adobe Reader یا Adobe Acrobat. و به این ترتیب پسوند کار همان شیوه که در کامپیوتر شما. اگر شما صفحه کد خود را مشخص کنید به نام HTML، سپس آن را می داند، آه، شما کد HTML غیر کردم. من قصد دارم آن را به عنوان کد HTML. پس از آن فوق العاده به این معنا هوشمند. پس هر کس، اجازه دهید 10 دقیقه را و فقط وب سایت خود را ایجاد کنیم. بیایید در چیزهایی که دوست داشتنی اضافه کنید. احساس رایگان برای گفتن هر آنچه که شما می خواهید. من فقط می خواهم مطمئن شوید که سرور همه به درستی در حال اجرا قبل از اینکه ما شما را به pset آزاد. از آنجا که اگر سرور خود را برای انجام pset اجرا کنید، خواهد شد که واقعا، واقعا بد است. من فقط رفتن به شناور در اطراف و دیدن آنچه که همه کار بر روی. اوضاع چطوره؟ مخاطبان: من فقط بر روی کامپیوتر من تبدیل شده است. ANDI PENG: این OK. مخاطبان: [نامفهوم]. ANDI PENG: فقط IDE خود را. آره. مخاطبان: [نامفهوم]. ANDI PENG: این خوب است. مخاطبان: [نامفهوم]. ANDI PENG: در مجموع خوب است. هر کس دسترسی وب سرور خود را OK؟ است apache50 در حال اجرا باشه؟ من فکر می کنم در برخی از بخش های دیگر، ما با مردم نمی حال قادر به دسترسی به سرور. آره. بنابراین شما فقط اجرا apache50 فضای شروع دوره فضا. مخاطبان: [نامفهوم]. ANDI PENG: آره. خوب است؟ مخاطبان: [نامفهوم]. ANDI PENG: آه، باشد. بنابراین شما قرار است به یک فضای. بنابراین apache50-- مخاطبان: من است. ANDI PENG: فضای --start. مخاطبان: اوه، نقطه فضا. ANDI PENG: آره، نقطه فضا. وجود دارد که شما بروید. پس اگر شما یک صفحه HTML ایجاد شده، پس از آن شما فقط می توانید به طور مستقیم به به لینک که مشخص می کند. و شما باید قادر به آن دسترسی داشته باشد. هر کس به قادر بوده است OK دسترسی به صفحات وب خود را؟ مخاطبان: [نامفهوم]. ANDI PENG: اوه، که خوب است. مخاطبان: [نامفهوم]. ANDI PENG: آره. من فکر می کنم شما می توانید در واقع باز کردن آن را در مرورگر، مرورگر شما و نه فقط مرورگر IDE خود را. آره، من فکر می کنم اگر شما کپی و چسباندن آن. رسید و پس از آن چگونه ما آن را خاموش؟ [نامفهوم] ANDI PENG: بله، شما انجام apache50 توقف با هیچ دوره. آره. مخاطبان: [نامفهوم]. ANDI PENG: با هیچ دوره. آره. ما میرویم آنجا. آره. ما در حال ایجاد صفحات وب خود ما. مخاطبان: اوه، سرد است. ANDI PENG: آره. مخاطبان: من یک سوال دارم. بنابراین آپاچی 50-- ANDI PENG: 50، آره. مخاطبان: [نامفهوم]. ANDI PENG: چه؟ عجیبه. ببینید، این نوع از این موضوع بود که قبل از اتفاق می افتد. باشه. من پس از مشاهده کنید. از آنجا که ما با داشتن برخی از مسائل را با سرور. و می خواهید مطمئن مطمئن شوید که سرور شما در حال اجرا قبل از شروع pset. از آنجا که شما در حال رفتن به آن نیاز دارید. آره. هر کس دیگری شده است که وجود دارد قادر به گرفتن سرور خود را شروع کنم؟ برای کسانی از شما که می خواهید به اضافه سبک های اضافی را به صفحات وب خود را، ما در واقع می توانید انجام آنچه دیوید در سخنرانی نیز اتفاق افتاد. است که ایجاد یک سبک های اضافی ورق، است که یک نقطه CSS، آبشار ورق سبک و در واقع فقط آن را در اضافه کنید. بنابراین برای مثال، من فقط ایجاد کرده اید بسیار تقریبا دقیق همان دیوید در سخنرانی کرد. شما می توانید تقریبا فقط بدن است. شما آنچه در این برچسب ها که در آن به نام شما می توانید درخواست به IDE هر بخش شما می خواهید خود را در واقعی به صفحه HTML. بنابراین بدن از صفحه، شما می توانید وسط متن را انجام دهد. و پس از آن من خلاق برچسب به نام بالا در داخل که من می خواهم این چیزها را به اتفاق می افتد، اختصاص یک اندازه بزرگتر پیکسل برای فونت. من می خواهم وزن فونت به تیره می کند. و من می خواهم رنگ را به آبی، فقط دلخواه ارزش هایی که من تصمیم به را انتخاب نمایید. من می توانم تگ دیگری به نام میانه ایجاد کنید. اندازه فونت، آن را کمی کوچکتر است. و پس از آن من می توانم تگ های دیگر ایجاد پایین به نام من می خواهم که در آن اندازه فونت به حتی کوچکتر هنوز هم. و به این ترتیب تقریبا این فقط یک مثال است از کد منبع یا منبع ورق های سبک که آن را بسیار آسان برای فقط گوگل. اگر شما می گویند، آه، من می خواهم فونت من به ایتالیک و سبز تیره، شما احتمالا می تواند گوگل، و سپس آن را به شما خواهد گفت برچسبهای مناسب و یا شناسه ایجاد کنید. و به این ترتیب راه است که شما در واقع نوع از این را در یک سند HTML یا استفاده از آن همه شما را مجبور است برای انجام در اینجا در سر اضافه کردن لینک به شیوه نامه است. بنابراین شما فقط می توانید لینک برابر عکاس هنگام عکسبرداری هر اسم ورق سبک خود را مي باشد. و سپس رابطه یک شیوه است. بنابراین در هر سند HTML، تا زمانی عنوان شما شامل این نقطه ورق CSS، شما باید قادر به دسترسی به و دارای خواص وجود دارد. بنابراین برای مثال، در اینجا من فقط ایجاد یکی دیگر از صفحه وب به عنوان مثال. این به بخش CS50 خوش آمدید سه شنبه 2:00-3:30 با من است. و بعد من یک تصویر دوست داشتنی اضافه شده است که ما به طور بالقوه باید قادر به دیدن باشد. بنابراین اگر شما نگاهی به اینجا، اگر شما به style.html، ما یک صفحه وب با بچه گربه ایجاد شده است. از آنجا که بچه گربه ها بسیار جذاب هستند. بنابراین اضافه کردن یک تصویر است که فقط img در لینک SRC. بسیار زیبا، اگر وجود دارد هر نوع از ویژگی های شما می خواهید برای اضافه کردن به خود را website-- بنابراین اجازه دهید بگویم، شما می خواهید برای اضافه کردن یک منوی و یا یک نوار جستجو و یا مانند image-- فقط گوگل چگونه به انجام این کار. و شما فقط در آن قالب با صدای تلپ. و شما می توانید فقط زیبا خیلی فقط آن را در اضافه کنید. این واقعا، واقعا آسان است. ما در حال ایجاد خود ما صفحات وب در حال حاضر. اگر می خواهید to-- مخاطبان: [نامفهوم] ANDI PENG: با عرض پوزش. مخاطبان: [نامفهوم]. ANDI PENG: آه، DIV فقط یک بخش است به من گفتن که، آه، من یک بخش خاص به نام میانه رو که من استفاده برچسب CSS من، و سپس بخش های دیگر من با پایین. که همه آن را به گفتن شما است. از آنجا که آن را به خوبی برای نگه داشتن همه چیز شسته و در نظم، به طوری که برنامه می داند که چگونه دقیقا به اجرا. و فکر می کنم من می توانم کپی این خمیر در مرورگر واقعی من نیز هست. آن را باید خوب باشد. آره. ماهواره. بنابراین اگر هر کس می خواهد فقط سعی کنید ایجاد یک صفحه وب، ما دو تا سه دقیقه را را. من فقط می خواهم مطمئن شوید سرور همه در حال اجرا هستند و هر کس ایده چگونه به انجام این کار. اگر شما بچه ها می خواهم به را از کامپیوتر شما. هنوز کار نمی کند؟ مخاطبان: من فقط [نامفهوم] هستم. ANDI PENG: شاید سعی کنید به روز رسانی 50 است. آره. مخاطبان: [نامفهوم]. ANDI PENG: آره. پس راه که شما شروع جدید وب سرور بر روی IDE است که فقط انجام apache50 آغاز فضای نقطه فضا. من فقط می خواستم مطمئن شوید سرور همه در حال اجرا هستند OK. مخاطبان: در اینجا، در ترمینال؟ ANDI PENG: آره. مخاطبان: [نامفهوم]. ANDI PENG: آپاچی. در واقع، من فکر می کنم شما در حال اجرا چیزی در حال حاضر. آره، شما در واقع هستید در حال اجرا سرور های مختلف. آره، شما خوب است. تا زمانی که کار می کند، شما مشکلی ندارید. رسید OK. ANDI PENG: دو وجود دارد راه برای اجرای سرورها. بنابراین تا زمانی که یکی از راه های در حال کار، آن را همه درست است. ما یک دقیقه دیگر می گیرم فقط به نوع پایان نکات تکمیلی از هر صفحه وب شما بچه ها می خواستم به. آیا همه کار توسط راه؟ سرور هر کس هستند در حال اجرا علاوه بر این برای شما؟ ما که در شکل خارج. و HTML را نسبتا ساده است. بنابراین من فکر می کنم همه ما خوب است. آره. برخواهم گشت. مخاطبان: [نامفهوم]. ANDI PENG: OK. مخاطبان: بنابراین آن را فقط شروع به بار. ANDI PENG: بدون نگرانی. بنابراین HTML، است کد منبع وجود دارد که پس از بخش آنلاین خواهد بود. همچنین، دیوید یک کل دسته آنلاین نیز هست. فقط نوع نگاه بیش از آن را به ببینید که چگونه صفحات HTML نوشته شده است. آن را نسبتا آسان است. هر چیزی که شما نمی دانید، شما خیلی حد فقط گوگل و شما خوب است. من فقط می خواهم مطمئن شوید که سرورهای خود را در حال اجرا هستند. مخاطبان: این کار را انجام اغلب؟ ANDI PENG: هرگز برای من اتفاق افتاده. من نمی دانم آن را حتی می تواند خواب زمستانی. مخاطبان: [نامفهوم]. ANDI PENG: من فکر می کنم everyone-- معدن تا قبل از hibernated هرگز. و من نمی دانم چرا. عجیب است. مخاطبان: [نامفهوم]. ANDI PENG: آیا شما در خواب زمستانی؟ مخاطبان: [نامفهوم]. ANDI PENG: آره. مخاطبان: این خوب است. پس یک بار آن را باز. ANDI PENG: OK. ما با برخی از سرور مقابله مسائل پس از بخش. شما باید خوب باشد. اگر چه، شما می خواهید مطمئن شوید که شما آنها را حل و فصل قبل از ترک. از آنجا که اگر سرور شما در حال اجرا نیست، و سپس شما رفتن به قادر به انجام pset، مانند هر بخش از pset. بنابراین شما می خواهید مطمئن شوید که کار می کند. خنک. خیلی خوب. می گویند بچه گربه ها خداحافظ. من صرف زمان طولانی به دنبال که تصویر بچه گربه برای قرار دادن در. بنابراین، به هر حال. مخاطبان: [نامفهوم]. ANDI PENG: با عرض پوزش. مخاطبان: [نامفهوم]. ANDI PENG: من فکر می کنم آن را بر روی وب سایت است. مانند تنظیمات؟ مخاطبان: [نامفهوم]. من فکر می کنم این است که فقط تنظیمات آنلاین در هفته هفت. من فکر می کنم آن را pset6 نامیده می شود، حتی هر چند که ما در هفته هفت، هستید که محاسبات بیتی است. رسید اما منظور من اگر شما می خواهم به نگاه at-- اگر شما می خواهید به جلو و ما از وب سایت از Sever ما؟ بنابراین مانند server.c pset است، درست است؟ اگر می خواهید در این نگاه، می خواهم چگونه آن چک؟ ANDI PENG: آه، پس در واقع pset، همه ما در حال انجام در اینجا implementing-- در اینجا، من بیش از این به طور خلاصه شما است. بنابراین برای هر کس که فقط بدست به بخش، شما بچه ها در شانس هستند. مواد بسیار کمی وجود دارد به امروز در واقع پوشش میدهد. من فقط رفتن به صرف بعدی 20 دقیقه رفتن بیش از pset کمک کند. از آنجا که برخی از مفید وجود دارد توابع است که زندگی خود را کمک خواهد کرد. و امیدوارم، ما خارج از اینجا در مانند 20 دقیقه. باشه. بنابراین pset7 اشتباه است. حتی اگر ما در هفته هستید هفت، آن را در واقع pset6. من را تغییر دهد. همه ما در حال انجام در pset6 در حال ایجاد یک وب سرور است. که برای تلفن های موبایل فوق العاده ترسناک است. و به خصوص برای کسانی از شما که در حال حاضر نگاه کد توزیع، در بسیاری از کد، بسیاری از کد وجود دارد. اما کاملا خوب است. از آنجا که nitty ریگ دار بخشی از واقع ایجاد سرور است که توسط ما انجام می شود. همه شما واقعا خواسته برای انجام در این pset فقط به انجام برخی از دستکاری رشته در فایل های I / O. این در واقع مانند نسبتا ساده است. بنابراین، هنگامی که شما برای اولین بار that-- دانلود که در اینجا در واقع در حال حاضر دریافت pset و گرفته یک نگاه؟ خیلی خوب. آره. وجود دارد مانند 500 خط کد که شما در حال رفتن به مانند، چه خبره؟ و این کاملا خوب است. اطمینان حاصل کنید که پیاده روی throughs تماشا کنید. از آنجا که دیوید and-- من نمی دانم. من فکر نمی کنم آن را Zamyla است، این یکی. اما من فکر می کنم برخی دیگر از راه رفتن از پیش نسبتا از نظر مفید فقط اجازه می دانید آنچه در جریان است در داخل کد خود را. و آن را کاملا OK. از آنجا که چهار تابع است که شما خواست تا پیاده سازی در واقع صفر تا با سرور واقعی. همه آنها را به انجام است که فقط تجزیه رشته های مختلف، جستجو از طریق رشته ها، مطمئن شوید همه چیز را انجام می دهند چه آنها به قرار انجام شود. بنابراین به آن اثر، وجود دارد برخی از توابع بسیار، بسیار مفید، به ویژه برای رشته دستکاری، که همه ما باید بیش که من فکر کردم من بسیار مفید برای شما بچه ها به قبل از اقدام به pset یاد بگیرند. و همه آنها موجود در کتابخانه string.h خود را. احتمالا مفید تر وجود دارد توابع من در اینجا گنجانده نشده است، چون من هم هرگز آنها را استفاده کنید و یا شاید من فقط نمی دانم که آنها وجود داشته باشد. در صورت تمایل به نگاه را از طریق student.h. از آنجا که برای رفتن به یک مقدار زیادی وجود دارد از توابع است که بسیار مفید است. بنابراین شش که من بیشتر در استفاده از من pset زمانی که من این کار را انجام این هفته گذشته strtok، strchr، strrcher بود، strstr، strcasecmp و strcpy به. و به این ترتیب به نظر می رسد ممکن است دو بسیار آشنا به بسیاری از شما. مورد STR مقایسه، آن را نشانی از مقایسه رشته ها را به آنها را بررسی کنید برای برابری، از جمله مورد. و فقط کپی strcpy به یک رشته در یک بافر. و به این ترتیب آن دو باید بسیار به نظر می رسد آشنا به شما در این نقطه بچه ها. از آنجا که ما آنها را به بسیاری استفاده می شود، به ویژه برای آخرین psets. اما اولین چهار شاید شما تا به حال دیده نشده است. اما من قصد دارم فقط از طریق آنها به راه رفتن. از آنجا که آنها در حال رفتن به زندگی خود را واقعا آسان for-- آسان نیست، اما بسیار ساده تر برای این pset آینده. باشه. بنابراین کاراکتر * strtok، این تابع است تعریف این تابع موجود برای در داخل رشته، کتابخانه ساعت. اگر شما یک ورودی از نوع char * داده می شود رشته، است که فقط یک رشته، و یا یک کاراکتر ثابت * deliminator، حائل برای کوتاه مدت، تمام آن را به انجام است شکستن بزرگتر رشته را به یک سری از آنچه ما تماس بگیرید نشانه هم جدا شده توسط یک مقدار مشخص. بنابراین به یک معنا، اگر من به شما section.7.php، این یک رشته است. به طوری که اگر من به تصویب در این عنوان STR من، کاراکتر من * STR، اگر deliminator من نقطه بود، این همه انجام جستجو از طریق رشته است. و اولین بار آن را می بیند یک نقطه، آن را فقط به اشاره گر بازگشت به آخرین نشانه پیدا شده است در رشته قبل از این. پس از آن خواهد حق به اینجا بروید. و آن را فقط به من 7.php است. و اگر من به تماس عملکرد یک بار دیگر، آن را به من فقط پی اچ پی است. و به این ترتیب تمام این تابع انجام در حال شکستن است رشته بزرگتر به رشته کوچکتر بسته در مورد آنچه شما دنبال آن هستید. و بنابراین، برای مثال، در نگاه کردن از عملکرد خود را اگر شما می خواهید به در نگاه کنید چه شخصیت های خاص در مورد آمده است و یا اگر نقطه اتفاق می افتد یا پسوند اتفاق می افتد، این تابع می تواند نسبتا مفید است. آره. بدون نگرانی. این همه be-- خواهد آره، چه خبر؟ مخاطبان: بنابراین در خط اول، اگر ما این مثال با استفاده از، چه ما به آن قرار دادن؟ ANDI PENG: آره. شما فقط می یک strtok حائل کاما از هم رشته است. و رشته برابر با section.7.php است. و سپس شما هستید حائل می تواند برابر با فقط نقطه. رسید OK. ANDI PENG: آره. درست مانند آن. همه این توابع نسبتا مشابه هنگامی که ما از طریق آنها. آنها فقط انجام کارهای کمی متفاوت است. اما آنها همه به رفتن زندگی خود را بسیار ساده تر. تابع دوم، این یکی مثل فوق العاده، فوق العاده، فوق العاده مهم است، است the-- نگه دارید تا. اوه. جستجو Strchr برای اولین occurrence-- در واقع، آره. Strchr تابع این است که من قطعا بیش از رفت. بنابراین چشم پوشی از آنچه به من گفت برای تابع اول. این در واقع strchr نامیده می شود. پس چه در اینجا اتفاق افتاده است اگر شما یک رشته در یک کاراکتر C داده شد، آن را فقط به شما هر چه که بود. آره. پس از آن به عنوان STR، فکر می کنم که یک رشته، و CHR به عنوان کاراکتر است. پس همه شما در حال تلاش برای انجام جستجو است که در آن یک کاراکتر در یک رشته است. و پس از آن برای اولین جستجو وقوع شخصیت C در STR رشته. مخاطبان: [نامفهوم]. ANDI PENG: آره. و سپس اگر آن را پیدا کند آن، آن را را به بازگشت به NULL. بنابراین چیزی که رفتن به بسیار است برای شما در انجام pset بچه مفید اگر، مثلا، شما برای یک دنبال شد فرمت های DOCX مانند یک برای یک کلمه سند و یا پی دی اف برای یک سند PDF، شما می توانید از آن استفاده کنید نوع نگاه برای هر آنچه پس از آن هر بار که شما یک نقطه را ببینید، درست است؟ و به این ترتیب بسیار زیاد است، اگر شما اجرا که از طریق تابع، اگر آن را می گرداند NULL، سپس شما می دانید که آن را پیدا کند نقطه، که به معنی این به وضوح یک پسوند فایل معتبر نیست. و یا اگر آن را می گرداند چیزی، سپس شما می دانید آن را به بازگشت به هر رو در واقع پس از فرمت. بنابراین کسانی از شما که حال آغاز شده به دنبال از طریق گرین کارت آمریکا و تجزیه، این تابع رفتن به فوق العاده مفید است. بنابراین ما در واقع رفتن با استفاده از این برای نشان دادن. چرا شما بچه ها سعی کنید یک تابع بولی کاراکتر جمله * ها که فقط درست برمی گرداند اگر S یک جمله و غیر این صورت false. بنابراین اشاره، شما در حال رفتن احتمالا استفاده از strchr. و یا شما فقط در جستجو رشته برای یک شخصیت خاص. و به این ترتیب در یک جمله، چه جمله جدا از غیر جمله، چه شخصیت خاص؟ مخاطبان: فضا. ANDI PENG: فضای، درست است؟ و بنابراین چه چیزی ما احتمالا رفتن به می خواهم به داخل این تابع در اینجا انجام دهم؟ مخاطبان: [نامفهوم]. ANDI PENG: ما در حال رفتن به خواهید برای strchr رشته برای ظاهر از فضا. چرا که اگر آن چیزی، و سپس باز می گردد ما می دانیم که این باید یک جمله باشد. این بدان معناست که ما باید یک فضا در این رشته است. اگر هیچ فضایی وجود دارد، پس ما می دانیم که، هی، حدس می زنم آن یک رشته نیست. این فقط یک کلمه واقعا طولانی احتمالا. بنابراین من به شما بچه ها یک زن و شوهر دقیقه برای نوشتن این تابع. آره. مخاطبان: آیا شما این رشته از کاربر؟ ANDI PENG: آره. بنابراین این فقط یک تابع است. بنابراین در داخل تابع اصلی خود را تصور کنید شما در حال حاضر have-- اجازه دهید به اینجا بروید. باشه. بنابراین من این برنامه که در آن نوشته شده است من تابع اصلی من که در آن من فقط دو رشته ایجاد کرده اید. یکی از اولین نام من است سلام، Andi-- به وضوح، یک جمله است. دوم من است تنها اندی، به وضوح محکوم است. و به این ترتیب من در حال اجرا هر دو از آن رشته از طریق این تابع. من می خواهم شما بچه ها به ارسال حکم سرد است. و من ذخیره سازی این ارزش ها، و پس از آن فقط آنها را چاپ. بنابراین فکر می کنم که برای کاربران است رفتن به تصویب در یک رشته است. و پس از آن شما به اصل شکل اگر آن را یک جمله یا نه و بازگشت درست یا غلط درآمده است. اگر شما بچه ها می خواهم به یک شست و یا سر، سر اشاره کردن سر، هر کسی است آماده برای شروع این، که می تواند خوب باشد. شاید مثل 30 ثانیه بیشتر؟ خیلی خوب. بیایید ببینید که اگر شما می توانید سعی کنید نوشتن این تابع. بنابراین شبه coding-- من فقط رفتن به اکنون نوع از طریق این حق راه رفتن. بسیار زیبا، ما می دانیم که تابع است که ما نیاز به استفاده از. ما قصد داریم به پاسخ که تابع در رشته و جستجو برای یک فضای ما. اگر آن چیزی را برمی گرداند، پس ما باید می دانم که، به وضوح، این یک جمله است. از آنجا که فضاهای وجود دارد. پس از آن ما قصد داریم به بازگشت واقعی است. دیگری، ما در حال رفتن به بازگشت نادرست است. آیا کسی می خواهید را به من اولین خط از کد که ما در واقع رفتن برای استفاده از این ارسال. این در واقع سخت ترین خط از کد است. آره. مخاطبان: اگر strtok s-- ANDI PENG: فقط strchr. مخاطبان: [INTERPOSING صداهای] فضا است به تهی برابر است. ANDI PENG: داغ. دقیقا درسته. همه درک کنند که خط اول؟ ما قصد داریم به strstr پاسخ، است که یک تابع است که جستجو رشته s برای کاراکتر از فضا. و اگر آن را در آن می یابد، آن را به بازگشت یک اشاره گر به آن است. اگر آن را پیدا کنید، آن را به بازگشت به NULL. بنابراین اگر آن را هر چیزی غیر از گرداند NULL، پس از آن ما می دانیم آن یک فضای پیدا شده است. فرقی میکنه؟ خنک. خیلی خوب. بنابراین اگر ما می دانیم آن را در بر داشت فضا، چه می خواهیم کاری انجام دهید؟ مخاطبان: بازگشت درست است. ANDI PENG: آره. بازگشت واقعی است. و پس از آن، کسی که می خواهید پایان تابع برای من؟ آره. دیگری، درست مانند آن. و سعی کنید تدوین این. آره. به طوری که شما بچه ها می توانید از دیدن خروجی ها، به یاد داشته باشید Booleans می در C همیشه در باینری بیان شده است. 1 درست است. 0 نادرست است. اگر ما برای اجرای این تابع در رشته یک، که است سلام، نام من است Andi-- به وضوح، یک sentence-- نتیجه به 1 درست است که چاپ کرد. دوم، است که فقط یک کلمه، نتیجه چاپ تا 0، نادرست است. همه نوع واضح و روشن از در چگونه این تابع نوشته شده بود؟ آره. رسید می توانید ما نیز انجام، به جای برابر نیست هیچ، برابر برابر 0، به طوری که آن را به برابر است؟ ANDI PENG: شماره از آنجا که strchr یک تابع است. من قصد دارم به عقب به این. پس چه نوع بازگشت است عملکرد strchr ما؟ مخاطبان: آه، باشد. و یا NULL. ANDI PENG: آره. این * کاراکتر که به من می گوید که هر این تابع است که به بازگشت، آن را به یک اشاره گر. در هر دو صورت اشاره گر است برای رفتن به با اشاره به جایی که آن را از آن، یا آن را به بازگشت به یک اشاره گر تهی. در هر دو شرایط، آن را برای بازگشت به یک اشاره گر به چیزی. و به همین ترتیب اگر شما به برابر این برابر، برابر، 0، شما در حال رفتن به یک خطای کامپایل است. از آنجا که آن را به بازگشت به یک اشاره گر. و شما در حال رفتن به تلاش برای مقایسه یک اشاره گر به یک عدد صحیح. و کامپیوتر نیست رفتن به دوست دارم. بله دقیقا. خنک. همه خوب است؟ و در مرحله دوم، ما در حال رفتن به بیش از یک تابع به نام strstr. هیچ نگرانی اگر این توابع شما گیج کننده است. آنها به من گیج کننده است. به این ترتیب، شما بچه ها می تواند دیده می شود، همه آنها را صدا تقریبا همان. فقط هر زمان که شما اشتباه است، جلو و تا کتابخانه string.h. و شما بچه ها می توانید مرتب که از طریق آن است که. بنابراین strstr، همه که می کند این است که جستجو یک رشته برای کل یک رشته دیگر. تا جایی که strchr فقط جستجو برای یک شخصیت واحد، جستجو strstr برای کل رشته است. بنابراین من می خواستم به نگاه در، من نمی مطمئن شوید، سلام، نام من اندی است. و نام بهترین دوست من است نیز اندی. اگر من می خواستم به دنبال در این حکم برای کل کلمه از اندی، سوزن من شده اند هر آنچه که شما دنبال آن هستید. و انبار کاه خود را هر چه باشد شما به دنبال برای آن در. بنابراین اگر شما به دنبال یک کلمه خاص در یک جمله، آن کلمه است برای رفتن به سوزن خود را. و پس از آن خود جمله را در حال رفتن به انبار کاه خود را. و پس از آن فقط جستجو وقوع اولین بار سوزن رشته در انبار کاه رشته. این تابع اشاره گر به وقوع است. به جز، به یاد داشته باشید در این مورد، آن را به اولین وقوع کل رشته که شما در جستجوی برای، نه فقط یک شخصیت. و این است که تقریبا همان چیزی که به عنوان تابع ما فقط، فقط با ویژگی کمی بیشتر. از آنجا که شما در حال جستجو برای بیش از فقط یک شخصیت. و استفاده یکسان است به عنوان یکی که ما فقط. همه OK با این؟ باشه. تاریخ و زمان آخرین یکی از ما در حال رفتن به بیش از strrchr است، که نه با strstr و یا با strchr اشتباه گرفته شود. strrchr دارای R اضافی در آن وجود دارد. مراقب باشید زمانی که شما در حال تایپ کردن است. شما ممکن است خود از جمله تحقیق اضافی و یا نمی از جمله R، و پس از آن خود را تابع ازش به کار. و شما در حال رفتن به اشتباه گرفته شود. مراقب باشید که شما در حال هجی تمام این توابع است. بنابراین strrchr است که دقیق همان strchr به جز آن را برای اولین بار جستجو وقوع یک کاراکتر خاص، بلکه وقوع آخرین. و بنابراین، در این معنا، آن را تقریبا یکسان. اما به جای حرکت رو به جلو در یک رشته، شما در حال رفتن به در حال حرکت باشد به عقب در یک رشته است. همان چیزی دقیق، شما فقط جستجو در یک جهت متفاوت است. و بنابراین این می تواند فوق العاده، فوق العاده برای مراجعه خود را مفید تابع، اولین تابع در pset خود را. بیایید وانمود که ما نیاز به ارسال عملکرد پسوند از درجه اعتبار ساقط که در آن ما تصویب یک کاراکتر ثابت نام * فایل، تنها یک رشته، نام فایل، که طول می کشد در آن نام و چاپ از گسترش آن فایل. بنابراین برای مثال، اگر من به بود تصویب در رشته pset7.zip، آن را برای چاپ کردن فقط گسترش است که فایل های فشرده. و این برای کار هر نوع فرمت، .DOCX برای ورد یا پی دی اف PDF برای فایل ها و یا اچ برای یک فایل HTML. بسیار زیبا، ارسال نامه تابع است که می توانید انجام دهید. من در واقع به رفتن سوئیچ را به محیط برنامه نویسی. این است که به load-- وجود دارد و ما بروید. بنابراین من اینجا انجام دادیم * کاراکتر، یک رشته اول ایجاد شده، نام pset7.zip. من قصد دارم به زوم. من یک رشته دوم ایجاد کرده اید نام finalpaper.docx. و به من ارسال یک تابع است که وقتی به نام است که به تنها نسخه قابل چاپ کردن پسوند نام فایل. شاید از چند دقیقه را به فکر می کنم در مورد چگونه شما در حال رفتن به انجام این کار. کمی بیشتر به چالش کشیدن از یکی از آخرین، اما استفاده از است که تقریبا دقیقا مثل هم. آره. بنابراین ارسال یک تابع به نام پسوند که اگر من به شما نام یک فایل، اگر من به شما من pset7.zip-- می خواهم شما را برای چاپ کردن فقط فایل های فشرده. اگر من به شما می خواهم finalpaper.docx، فقط از .قابلیت چاپ، فقط گسترش هر فایل. این در واقع تنها دو خط از کد طول می کشد. بنابراین سعی کنید برای دیدن اگر شما شاید می تواند آن را در که. در واقع، آن تنها یک خط از کد طول می کشد. اما دو خط استاندارد احتمالا بیشتر است. چه عملکرد ما احتمالا رفتن به خواهید برای پاسخ؟ مخاطبان: strrchr. ANDI PENG: strrchr، درست است. از آنجا که ما به دنبال از چپ و راست. من شما بچه ها نمی دهد به عنوان مثال مانند این، اما اگر من شما به عنوان مثال مانند داد www.apple.com و من فقط می خواستم .COM، آن می شود که در آن یک مثال از شما می خواهید به پاسخ آخرین نمونه در آن دوره و برای اولین بار، درست است؟ اگر شما strchr تماس گرفت آن را، به شما apple.com داده ام. اگر شما به نام strrchr آن، اند شما در .COM داده شده است. و بنابراین مراقب باشید که در آن می شود ways-- در مثال من، شما احتمالا می تواند می تواند داشته باشد فقط آن را با استفاده از strchr نوشته شده است، از تنها یک نقطه وجود دارد. اما در موارد دیگر، که ممکن است این مورد نیست. و همیشه سعی کنید برای طراحی کد خود را به خوبی، به طوری that-- آره؟ مخاطبان: بنابراین در به عنوان مثال شما فقط گفت: زمانی که شما آن را strrchr به شما com. یا فقط آمده است؟ ANDI PENG: این امر شما در .COM است. رسید OK. ANDI PENG: آره. آن را به جایی که آن را از آن اشاره می کند. آره. 30 ثانیه شاید؟ آره. همه خوب است یا زمان شاید یک کمی بیشتر؟ دست ها؟ نمایش از سر؟ خنک. هر کس می خواهید به من اول را خط از کد را برای این برنامه؟ مخاطبان: [نامفهوم]. ANDI PENG: پس اول از همه، اجازه دهید شاید این شکستن. پس چه نوع بازگشت از strrchr است؟ بیا برگردیم. strrchr، چه نوع بازگشت است؟ مخاطبان: * کاراکتر ANDI PENG: این یک کاراکتر *، درست است؟ به این معنی که شما احتمالا می خواهید به ایجاد یکی دیگر از کاراکتر * به نوع فروشگاه اینترنتی هر زمان که بازگشت به، درست است؟ چرا که اگر شما پاسخ strrchr تابع، آن را به شما یک اشاره گر به هر کجا آن را یافت که آخرین دوره، درست؟ اما شما می خواهید به ذخیره است که در جایی، درست است؟ و بنابراین چگونه می توانم کد ما این را به برنامه های ما؟ رسید شما را کاراکتر * [نامفهوم]. ANDI PENG: بله. مخاطبان: [نامفهوم]. ANDI PENG: strrchr. آره. آه، از دست رفته R وجود دارد. مخاطبان: نام فایل [نامفهوم]. چه در آن است؟ آه، آن را فقط گفت. ANDI PENG: آه، آن را فقط گفت. آره، با عرض پوزش. بد من. نمونه مطابقت نداشت. رسید و پس از آن نقطه. ANDI PENG: آره. مراقب باشید زمانی که شما بچه ها are-- در اینجا، به من اجازه زوم. ما میرویم آنجا. مراقب باشید زمانی که شما بچه ها در حال تایپ کردن، به ویژه هنگامی که شما در حال انجام این کار یک کاراکتر. این واقعا آسان است به طور تصادفی فقط انجام نقل از دو برابر نسبت به واحد. که کار نخواهد کرد. کامپایلر شما در حال رفتن به شکایت. و عملکرد خود را است فقط رفتن نیست را اجرا کنند. و بنابراین مراقب باشید که می شود شما در حال انجام همه چیز با کاراکتر است که آن را از نقل قول تکی. و به این ترتیب این خط از کد را حس به همه؟ ما در حال ایجاد یک کاراکتر * اشاره گر. از آنجا که بازده strrchr چیزی از نوع اشاره گر. و بنابراین ما در حال رفتن به strchr پاسخ در S، فایل است که رشته، نام، که ما در حال عبور در. و ما به دنبال آخرین به عنوان مثال از یک دوره است، که فقط نقل قول تنها نقطه تنها نقل قول. آره. مخاطبان: وقتی استفاده می کنیم به نقل از دو و هنگامی که ما از تک کتیشن استفاده؟ ANDI PENG: آره. نقل قول بنابراین دو هستند همیشه استفاده می شود زمانی که شما یک رشته از بیش از فقط یک. بنابراین اگر شما در حال انجام strstr، که است که یکی است که شما جستجو یک رشته برای رشته، شما آن را در کوتیشن منتقل می کند. اما هر زمان آن را فقط یک شخصیت واحد، شما می خواهید به انجام نقل قول تکی. این چیز خوبی است که در ذهن داشته است. بنابراین در حال حاضر که ما ما اشاره گر، آنچه که ما با آن؟ من از شما میخواهم به بچه ها چاپ آن را، درست است؟ بنابراین [نامفهوم]، شما می خواهید من خط از کد را؟ مخاطبان: printf-- ANDI PENG: آره. مخاطبان: --you نیاز به یک دارنده محل. ANDI PENG: آره. مخاطبان: چاپ دارنده محل است. من نمی دانم چه نه دارنده است، اما به آن اشاره. باشه. بیایید جست و خیز که در حال حاضر پس از آن. رسید و پس از آن comma-- ANDI PENG: اشاره گر، درست است؟ مخاطبان: اشاره گر، آره. ANDI PENG: بنابراین نوع یک سوال ترفند، است که با اشاره گرها و رشته ها که ما به نوعی مورد در حال حاضر صحبت کرد. چه نوع از صاحب محل ما انجام می دهیم نیاز به یک اشاره گر برای یک کاراکتر *؟ مخاطبان: [نامفهوم]. ANDI PENG: آره. این راحت تر از شما بچه ها فکر می کنم آن است. مخاطبان: رشته؟ ANDI PENG: این فقط یک رشته است، دقیقا. از آنجا که به یاد داشته باشید رشته واقعا نمی وجود دارد. * کاراکتر دقیق است همان چیزی که به عنوان یک رشته است. و بنابراین واقعا این چیزی است باید در تمام طول استفاده شده است. باشه. بیایید ببینید که اگر ما می توانید سعی کنید در حال اجرا است. اجازه دهید یک پسوند است. خنک. شما بچه ها ببینید که چگونه من در گذشت psset7.zip و finalpaper.docx، و آن را فقط چاپ وبلاگ و .قابلیت؟ را حس؟ OK بنابراین من در نگاه خود را تا فکر می کنم عملکرد خود را در pset شما رفتن اگر به خواسته می شود رشته از این پایان خاص، شما باید به یک کد خطا است. و بنابراین این خواهد بود بسیار دردناک است. چرا که اگر شما می توانید شکل که چه چیزی فرمت است، بعد از آن شما می توانید مقایسه کنید که پسوند برای دیدن اگر آن منطبق با پسوند خاص است. و پس از آن شما می توانید بازگشت یک پیغام خطا، درست است؟ آره. مخاطبان: بنابراین ما نمی باید برای اضافه کردن 1 یا هر چیزی؟ اشاره گر به the-- خواهد رفت ANDI PENG: نه. مخاطبان: --point پس از آن. ANDI PENG: آره. این دقیقا همان به که در آن وقوع بود. بنابراین برای مثال در اینجا، ما جستجو برای دوره است. پس از آن را به بازگشت به یک اشاره گر به مدت. و سپس آن را به چاپ در دوره شروع. بنابراین شما لازم نیست برای اضافه کردن 1. اگر چه، آن را کاملا به خوب است، اگر شما تا به حال مطمئن نیستید، فقط نوع به از آن را تست کنید. ساخت یک برنامه نمونه. تست آن خود و ببینید که در آن آن را چاپ. که راه بد را به انجام آن نیز است. خنک. و این تقریبا همه من برای شما بچه ها امروز تا به حال. ما بسیاری از مسائل pset بود امروز. بنابراین، هنگامی که در شک، مانند من گفتم، همیشه نگاه کردن کتابخانه string.h برای این pset. رفتن وجود دارد به تواند بسیاری از تابع در آن وجود دارد که ممکن است مفید باشد. برخی ممکن است مفید باشد. من واقعا نمی دانم. وید از طریق آن، وجود دارد یک دسته کامل از آنها. strstr، strchr، strrchr هستند فوق العاده، فوق العاده مفید، و همچنین strcpys و strcasecmps که ما در حال حاضر استفاده می شود. این زیادی است فقط messing اطراف با رشته ها، تعیین اگر آنها برابر است، گرفتن مسائل از رشته ها، و قادر بودن به باز کردن فایل های به درستی. این بسیاری از فایل های I / O است. pset واقعا که بد نیست. شما در حال رفتن به یک نگاهی به آن، آن را دانلود، و ببینید که یک دسته کامل از کد. بدون نگرانی، کد شما در واقع ارسال در همه بد نیست. اگر کسی با خود دارد سرور، دوباره من بعد از بخش را ببینید. عذرخواهی یک بار دیگر برای نیست آوردن آب نبات به هالووین. من نمی دانم که چه با من اشتباه بود. اما ما باید دو آب نبات در زمان آینده. و موفق باشید در pset خود را در این هفته. آره.