ANDI PENG: Biz demək olar ki, bütün psets vasitəsilə. Əslində, biz çoxluğu ilə istəyirik ən çətin psets. Beləliklə, biz yalnız həqiqətən istəyirik Meltem cür gedir həftə növbəti neçə vasitəsilə. Biz söhbət başlamaq olacaq bizim son layihələr, hadisələr gələn Növbəti bir neçə həftə. Və həyat bir breeze olacaq. Belə ki, çox bu gün. Ümid edirəm ki, həqiqətən breeze edəcək Bu gün gündəliyinə vasitəsilə, və sonra burada olmaq ehtiyat üçün bir neçə vaxt. Həmçinin, mən üzr istəyirəm konfet olmaması bu gün. Mən niyə bilmirəm. Amma həftə qədər aparıcı Halloween, mən konfet unutmaq olardı. Mən yalnız həqiqətən böyük deyiləm İndi sizə məyusluq. Mən sözün konfet xatırlayıram çünki hər bir sinif, lakin Halloween üçün. Lakin sonrakı həftə, mən gətirəcək konfet məbləği ikiqat bütün sizin üçün ki, üçün etmək. Bu, böyük olacaq. Beləliklə, mən elanlar bir neçə var Bəzi planlaşdırma ilə bağlı. Mən bəzi planlaşdırma məsələlər var. Sonra biz üçün hərəkət olacaq chmod deyirlər nə haqqında danışmaq. Biz haqqında danışmaq olacaq tez TCP / IP HTTP. Və sonra biz kod olacaq bizim HTML və CSS istifadə edərək öz web. Və sonra mən, həqiqətən, bəlkə tərk edəcəyik 20 dəqiqə kimi pset6 haqqında danışmaq. Pset6 həqiqətən bir çox deyil, çünki biz artıq əvvəl gördüm stuff, amma yenilemek üçün istəyirdi bu anlayışlar bəzi eləcə də bir neçə yeni funksiyaları öyrətmək kimi. Cool. Bütün Belə ki, ilk, fasilə geri salamlayıram. Mən break xoş idi etdiyiniz ümid edirik. Siz fasilə üçün etdiniz istəyirsiniz? Auditoriya: New Yorka getdi. ANDI PENG: Siz New Yorka getdi? I yarısı bizim məktəb düşünmək New Yorka getdi. Hər şey düzgündür. Mən fasilə ən sərf yataq Netflixing da oturaq. Və yaxşı bir vaxt idi. Amma biz geri geri indi sessiya geri şeyi swing. Biz günorta saatlarında bu cümə səbəbiylə pset var. Mən artıq var hesab edirəm ki, Bəli, sizin viktorina qədər seçilmiş? Belə ki, hər kəs başqa kim var deyil, onların sınavlar idi gəlib və sınavlar edin bölümün sonunda mənə. Və ya kampüsünde məni aşağı izlemek. Mən haradasa mənimlə lazımdır. Bizim yekun layihə pre-təklifi də. Qəbul heç kim bizim üçün belə əvvəl bu sinif, CS50 capstone çox bu ilə yekunlaşdı ki, tələbələr təklif grand layihəsi. Və pre-təklifi, yalnız ümumi bir fikir bir üçün nə etmək istəyirəm bilər nə onların layihəsi fikri, Bazar ertəsi günorta saatlarında Bazar ertəsi gələcək. Belə ki, olduqca çox, David mən hesab edirəm ki, mühazirə bu barədə daha çox danışmaq O artıq var. Və möhkəm səhifə var izah bizim saytda layihənin bütün tələblər. Amma mahiyyətcə, seçin Siz hər hansı bir mövzu var maraqlı burada vaxt ərzində CS, bu oyun olsun və ya dizayn və ya video və ya bir şey. Və həqiqətən cür edə bilərsiniz İndi dərslər bəzi müraciət biz hi CS50 burada öyrəndim ki, welcome-- aparılması olduqca çox üçün seçdiyiniz bir final layihə. Bütün səbəbiylə Bazar ertəsi var e-poçt vasitəsilə yalnız bir qısa blurb Mənə tez cümlə, hey, kimi, Andi, Mən dizayn həqiqətən maraqlı deyiləm iOS üçün bu yoxdur bir oyun. Cool. Yalnız mənə qısa ilkin edək son layihələr üçün fikir. Və biz vasitəsilə danışmaq lazımdır və ya həqiqətən yaxşı bir fikir və ya deyil, Bu mümkün fikir və ya deyil, əgər. Amma yalnız pre-təklifi növbəti Bazar ertəsi. səhv pset6, sevimli web--. Pset7? pset6? Bu doğru, pset6 var? pset6, bizim web server, bağlıdır Mərhum gün günorta saatlarında Cümə. Office saat Bazar ertəsi normal davam Cümə axşamı 8:00 11:00 bu həftə. Mən Commons edirəm növbəti üç gecə. Cool. Biz material idi əvvəl, hər kəs yoxdur Hər hansı bir sualınız, zarafatlar, hekayələr var? Siz payız fasilə üçün nə etdi? Auditoriya: Mən nə? ANDI PENG: Artıq bu, həqiqətən əvvəl yaş var. Christabel New Yorka getdi. Mən burada və Netflixed qaldı. Auditoriya: Oh, evet, mən burada idi. ANDI PENG: OK, Oh. Auditoriya: Mən xatırlamıram nə xüsusi. ANDI PENG: OK. Auditoriya: Netflixing yəqin ki. ANDI PENG: Netflixing. Bəli, yaxşı bir vaxt var. OLDU. Oldu. Hər hansı bir sualınız əvvəl biz material daxil jump? Həmçinin, biz cəhd olacaq bölmə gün vasitəsilə sürətləndirmək, əhatə çox deyil. Və ümid edirəm ki, biz almaq lazımdır Burada bir az erkən. Də konfet, üçün üzr istəyirik. Mən məyusluq deyiləm, xüsusilə Halloween zamanı. Oldu. Cool. Beləliklə, biz söhbət başlamaq olacaq bir command line arqument chmod çağırıb. chmod, bu bütün yalnız bir Unix sistemi command line icra zəng fayl icazələrin dəyişdirmək üçün. Belə ki, məsələn, biz bütün səhifə qarşılaşdı oxşar yəqin ki, zaman da internet olan həyat span Bizim web server var user, bizə qadağan səhv verilir. Siz daxil olmaq üçün icazə yoxdur yad, yad, yadda, bu server. Bütün həqiqətən deməkdir icazələrin ki, ki, əlavə olunmuşdur nə səhifə daxil olmaq üçün çalışır Sizə açıq deyil. Belə ki, olduqca çox, chmod yoldur biz bu sistemi icazələrin dəyişə bilərsiniz hər kəs vermək, istifadəçi, qrup, dünya, və ya hər hansı və ya o çıxış birləşməsi müəyyən faylları, rehberler, bir şey, həqiqətən, sisteminin hər hansı sort haqqında bir əməliyyat sistemi. Uşaqlar hər hansı bir varsa, Siz hiss əgər kompüter Bu gün mənimlə birlikdə aşağıdakı kimi, tamamilə şeyi yazın çekinmeyin da. Əgər yalnız asmaq olar. Mən, həqiqətən çəkmək üçün gedirəm indi mənim terminal up. Belə ki, komanda çalıştırmak üçün chmod, və ya ən azı yalnız icazələrin siyahısına fayl kataloq, yalnız ls-l edir. Gördüyünüz kimi, bir dəstə stuff qədər olan ən pops bizə vacibdir burada sol tərəfində. Siz uşaqlar RS, ws, 1 / bir dəstə görürük. Bəli. Bu yalnız mahiyyətcə bütün fayl icazələrin nə müəyyən rehberler izah etmək və sistemi çərçivəsində faylları var. Belə ki, geri imkan burada Power Point. Belə ki, fayl adları əlavə uşaqlar sağ göründüyü kimi, biz mahiyyətcə görmək üçün axtarır sol yalnız sütun. Əlavə belə ki, yalnız fayl adları, biz faylları icazələrin bilərsiniz onların sahibi qrup, qrup adı, tarix Fayl son idi ki, redaktə, Et Cetera. Siz chmod istifadə edərək çox şey görə bilərsiniz. Beləliklə, biz chmod oxumaq yol ki, biz olduqca çox ignore ilk məktub oxu icazələrin baxımından. ilk məktubu yalnız bizə deyir sisteminin tipi biz daxil edirik. d, bu halda, bir var qovluq və ya kataloq. Belə ki, hal-hazırda mənim iş bilirik bölmə yeddi bir kataloq idi. Və sonra üç görmək triads, mahiyyətcə yalnız üç simvol üç dəst. Və bir az kimi hər hesab edə bilər. Belə ki, yalnız üç dəsti var üç bit cəmi doqquz bit. Siz üç qrupda onlara müalicə. Belə ki, üç ilk qrup həmişə istifadəçi icazələrin. Üç ikinci qrup həmişə qrup icazələrin. Və üç üçüncü set həmişə dünya kimi deyil Hər yerdə icazələrin. Belə ki, asan tapmaq xahiş sual nə istifadəçi və qrup arasında fərq. Əsas fərq istifadəçi və qrup arasında bir istifadəçi şəxsən yalnız ki, indi nə daxil. Bir neçə varsa bir qrup ola bilər məsələn bir kompüter istifadəçiləri. Onların hamısı bir qrup kimi müalicə edilə bilər. Və sonra dünya yalnız dünya, hər kəs. Necə biz belə ki, biz sonra görə bilərsiniz müxtəlif icazələrin o dəyişdirin. Belə ki, olduqca çox, biz istəyirik hələ diqqət olacaq sol, on hissəsində directory CS50 biz, drwx görmək r yalnız deməkdir harada oxunaqlı deyil. w yalnız yazıla deməkdir. Və sonra x yalnız Bu çalıştırılabilir deməkdir. Siz cür onu düşünmək istədiyiniz mənada etmir. Bu e olmalıdır. Amma cür həqiqətən x bir az daha yaxşı işləyir daha yaxşı xatırlayıram bilər, çünki. Şeyi Belə ki, üç növ edə bilərsiniz, ya bir fayl oxuya bilərsiniz, Bir yazmaq üçün icazə ola bilər fayl, və ya icazə ola bilər bir fayl icra. Və belə yol ki, biz, həqiqətən, bit üstə nömrələr 4, 2, və 1-dir. Belə ki, oxunaqlı bir şey deyil 4 sayı təmsil. Yazılabilir ki, bir şey 2 ilə təmsil olunur. Çalıştırılabilir və bir şey kimi 1 təmsil. Belə ki, bu mənada, biz də edə bilərsiniz bu nömrələri təmsil hi, fərqli bir şəkildə, salamlayıram. Sorry. Hər kəs əvvəl, mən gedirəm hər kəsin adına üzr İndi sinif girir. Mən bu gün konfet unuttum. Mən bir uğursuzluq deyiləm üzüldüm Halloween bu həftə. Mən ikiqat məbləği gətirəcək candy onun üçün etmək üçün növbəti dəfə. Lakin zaten, sorry ki uşaqlar haqqında, sorry. Belə ki, yol ki, biz input həqiqətən bilərsiniz Bizim komanda dəlil biz chmod qrup çizgi icazələrin edə bilər, Qrup yalnız nə edir qrup biz dəyişdirmək üçün çalışırıq. Və icazələri var biz onu əlavə etmək istədiyiniz hər hansı. Belə ki, məsələn, plus icazələrin edir, və çıxmaq icazələrin üz tutur. Və qrup növləri biz A bütün, u istifadəçilər üçün qruplar üçün g, və ya başqaları üçün o. Indi bir az mücərrəd var. Amma biz bir neçə nümunələr üzərində getmək lazımdır yalnız bu real sürətli nümayiş etdirmək. Bu yaxşı hər kəs slide, mən hərəkət edə bilər? Cool. Belə ki, məsələn, rwx. Biz təmsil nə haqqında danışmaq əvvəl, ilk növbədə rwx nə ​​deməkdir? Siz bu müəyyən olduğunu görürsünüzsə fayl rwx icazələrin var ki, demək nə şəxs bunu edə bilər? Auditoriya: oxumaq, yazmaq və icra. ANDI PENG: Bəli, dəqiq. Yazmaq oxumaq və icra edə bilər. O bütün üç Çünki simvol mövcuddur. Biz müzakirəsi davam və əgər belə bit baxımından bu barədə, rwx də 700 kimi təmsil oluna bilər. Əgər hər hansı bir bilərsiniz, çünki fayl kataloq icazə sort, üç triads var. Bu halda, yalnız ilk triad orada bir şey var. Belə ki, bu halda, r 4, w 2 və x 1 var. Siz birlikdə o əlavə, bu, 7 var. Və belə ki, çevirmək əgər Bu 700 ikili. 7 Çünki ilk triad edir. 0, indiki heç bir şey yoxdur ikinci triad edir. Və sonra indiki heç bir şey yoxdur Üçüncü triad, belə ki, başqa bir 0 var. Belə ki, Triadalar eyni mənada, bir dəstə yalnız, yalnız bit təmsil oluna bilər ikili həmçinin. Belə ki, 700 eyni şey kimi deməkdir icazələrin baxımından rwx ------. Hər kəs ki, aydın? Cool. Və belə chmod 111 verəcək fayl olan icazələrin? Uşaqlar bir neçə verin saniyə bu çevirmək. Ilk saxla triad istifadəçi üçün. ikinci triad qrup üçün. Və üçüncü triad hər kəs üçün. Və belə chmod 111 verəcək icazələrin və kimə növü? Bir neçə saniyə bu barədə düşünmək və geri gəlir. Bəli. Auditoriya: Belə hər kəs onu icra edə bilər. ANDI PENG: Yup, dəqiq. Auditoriya: Amma heç kim oxumaq və ya yazmaq olar. ANDI PENG: And çekinmeyin hər kəsə izah etmək necə belə nəticəyə gəldi. Auditoriya: Yaxşı, istifadəçi üçün, qrup, dünya, bu, bütün 1 var olan yürütülebilir üçün kodu. ANDI PENG: Bəli, dəqiq. Belə ki, 1, bu halda, biz bilirik bütün ki, yürütülebilir kodu. Oxu 4, çünki. Yazı 2. Və çalıştırılabilir 1. Belə ki, bütün üç triads 1, ki edilir ki, dünyaya, istifadəçi deməkdir, və qrup, onlar bütün yürütülebilir var. Ki, yaxşı hər kəs? OLDU. Və belə İkinci yol biz, həqiqətən bilər ki, Siz də bu yazmaq yalnız chmod edə bilər bir plus x. bütün və ya hər kəs deməkdir. plus icazələrin verilməsi deməkdir. Və sonra x yürütülebilir deməkdir. Belə ki, iki əmrləri var həqiqətən eynidir. Siz almaq istəyirsinizsə Belə ki, terminal bu, Siz adı 111 chmod etmək Sizin kataloq və ya fayl. Və ya bir plus x chmod edə bilər, Sizin directory fayl adı. Eyni şey, yalnız bir asan yol bəlkə, bəzi təmsil və ya dəyişdirmək üçün fayl icazələrin. Chmod Hər bir OK Biz hərəkət əvvəl? Cool. Belə ki, indi biz bir rəhbərlik olacaq çox mücərrəd anlayışlar neçə slaydlar Mən olduqca çox deyiləm ki, vasitəsilə breeze olacaq. Və əgər tamamilə OK hər şeyi başa düşmürəm. Hətta indi, mən hələ, həqiqətən, yoxdur tamamilə hər şeyi başa düşürəm. Amma bu əldə daha çox üst anlaşma bu bəzi şeyləri iş necə. Belə ki, biz danışmaq olacaq tez TCP / IP haqqında olan yalnız Transmission Control deyil Protokol Internet Protokol doğramaq. Mühazirə geri, David, o sizə öyrətmək etdi O keçmək istədiyiniz nümunə zərfə qeydlər mühazirə zalı üst kimi qədər? Hüquq məktəb auditoriyada So David mahiyyətcə nümayiş necə TCP / IP çalışır mənada ki, bütün ki, məlumat təmin bir vasitədir edir Bir server arasında təslim edildi və ya internet. Zərflərin nümunə belə və mesaj sonunda istifadəçi ki, oldu, oh, mən lazım məlumat dörd paket almaq. Lakin mən, həqiqətən yalnız üç aldı. Mən bir itkin olmalıdır deməkdir. Və bir təslim olmadı. Və belə TCP / internet IP, sizin kompüter və server vasitəsilə, eyni şey yoxdur. Bunu bütün bir müəyyən edir çərçivə olan itirilmiş data paket retort və qəbul edilə bilər. Internet kimi çalışdığınız zaman online faylları daxil olmaq və ya faylları göndərmək üçün Sizin dost və ya web baxmaq brauzerlər minlərlə və minlərlə milyardlarla və milyardlarla məlumat bytes millisecond başına köçürülür. Və bu, həqiqətən, həqiqətən confusing var. Və bu çətin həqiqətən həqiqətən göndərilib nə bilirik və nə göndərildi deyil. Və belə TCP / IP yalnız müəyyən vahid çərçivə olan Web browser və server cür ünsiyyət bilər bir-biri ilə, yalnız paket əmin olun bütün burada və heç bir şey itirilmiş Siz tələb bütün məlumatları həqiqətən düzgün nümayiş etdirir. Yalnız çox OK Hər kəs qısa yüksək səviyyədə anlamaq? Cool. Beləliklə, biz hərəkət olacaq , HTTP söhbət daxil olan yalnız Hypertext Transfer Protocol edir. HTTP, bu bütün nə hər hansı bir səhifə və ya fayl Sizin web əldə edilir server bir HTTP qaytarır cavab durum kodu müraciətinə əmin edilməsi ya oh, bu tələbi ilə getdi. Və hər şey düzgün göstərilir. Və ya, oh, yox, 404. Bir şey yanlış getdi. Oh, mən göstərilə bilmir. Bu, bütün nə ki, Siz daxil olmaq üçün çalışdığınız istifadəçi kimi istifadə daxil olmaq üçün çalışır internet-- yalnız arxayın ya uğurla ki, idi və ya nə əldə uğurla idi nə əldə. Və belə HTTP durum kodu yalnız təmin edir olub-olmadığını bilmək üçün qadir olan bir vasitə və ya uğurlu və ya deyil. Belə ki, məsələn, nümunə sorğu. Siz burada görə bilərsiniz adətən adətən dörd satır. Biz yalnız bir GET HTTP 1.1 var metodu tələb URL, protokol version, sahə adı, və sahə dəyər. Belə ki, heç bir ehtiyac tamamilə burada bir şey əzbərləyin. Yalnız cür tanış bu baxmaq necə özünüz. Bu, məsələn, telefon sorğu URL yalnız nə tələb Siz server göndərir. Hey, kimi, server, mən, həqiqətən istəyirəm giriş yad, yadda, yadda, HTTP səhifə. protokol versiyası yalnız nə edir versiyası host ya server məlumat əldə etmək üçün istifadə olunur. sahəsində adı haqqinda və ya Daxil olmaq üçün çalışdığınız URL, Bu halda, www.apple.com da. Və sahə dəyəri yalnız adətən, dəyəri ad. Və birləşməsi hər cür ola bilər Hərfləri və ya rəqəmləri və ya hər hansı. Belə ki, bir tipik tələbi, belə ki, nə kompüter həqiqətən hey deyir server göndərir Siz bu nümayiş lazım nə ki, sorğu növü var onlar həqiqətən almaq. Nə bir nümunəsidir cavab server sizə geri göndərmək olardı olduqca çox eyni şey olacaq, üst bir durum kodu olmaqla. Belə ki, 200, 2 0 0 həmişə OK status kodu. Kimi, OK, bu tələbi ilə getdi. Siz daxil edə bildik Düzgün hər şey. Həyat yaxşıdır. Life yaxşıdır. Hər şey tamamilə yaxşıdır. Və bu yalnız browser edir və Sizin server, hey, hər şey yaxşı. Mən lazım olan bütün məlumat var. Cool. Amma problem bəzən problemlər gəlib Mən hesab edirəm ki, son yaxşıdır zaman Mən cüt danışıb. Siz az yaxşı cavab var. Məsələn, 404 So tapılmadı Page edir. Siz bəzən Forbidden imkanı var. Siz digər müxtəlif var Mən dövlət kodları Siz etdiyiniz zaman siz bütün gördüm internetdə araşdırma etməyə çalışırıq. Və browser verir , Yox, gedə bilməz. Və crap, yaxşı, kimi istəyirik. Belə ki, yalnız olduqca çox var bəzi olduqca ümumi dövlət kodları. Bəlkə tanış olanları olanlar var. Funniest bir ki, Mən heç eşitdim edirəm of-- Siz nə varsa onların hamısı baxmaq online, nədənsə var həqiqətən bir real durum kodu Mən bir çaynik deyiləm 418 çağırıb. Mən googled harada bu mənşəyi idi. Və yəqin bir April Fools " Bundan Day bir neçə onilliklər, kimsə şən olacağını düşündüm 418 adlı yeni durum kodu yaratmaq Mən bir çaynik edirəm. Qanuni, bu adı code Mən bir çaynik deyiləm adlanır. Mən sizə nə səhifə unutmaq həqiqətən bu ekran etmək üçün getmək. Amma görünür, həqiqətən, bilərsiniz Mən bir durum kodu almaq elə bir çaynik bir şey bunu vasitəsilə. Belə ki, orada yüzlərlə və status kodları yüzlərlə. Bəziləri daha çox daha mənada. Amma olduqca çox yalnız tanış ən ümumi yeniləri ilə özünüzü. tələb şəxs orqanıdır yəqin, qısa və qalın. Belə ki, bəzən daha çox var məndən qorxulu səhvlər bir çaynik edirəm. Amma bu hərhalda biridir cür hit ümid edirik. Amma siz düşünmürəm. Yalnız vəziyyəti yaxşı hər kəs kodları, sorğu, proseslər, edilməsi əmin məlumat düzgün çatdırılır? Belə ki, indi biz keçid olacaq bölmə bir fun hissəsi gün daxil, biz HTML haqqında bir az danışmaq. HTML, bütün bu Hypertext deyil Markup Language. Bu, yalnız standart dil var Bütün web yaratmaq üçün istifadə internet pages. Belə ki, hər hansı bir web səhifə, nə Sevimli web page? Sevimli web page nədir? Auditoriya: [işitilemez]. ANDI PENG: Bağışlayın? Auditoriya: Tumblr. ANDI PENG: Tumblr. Belə ki, Tumblr HTML yazılmışdır. Və belə ki, biz, həqiqətən, keçmək lazımdır və bu bəzi şeyləri ilə ətrafında oynamaq sonra. Olduqca çox hər şey sizə bilmək, öyrənmək lazımdır, HTML yazmaq üçün siz yəqin ki, edə bilərsiniz internet yalnız Google. HTML, bu C kimi bir proqram deyil Siz dəyişənlər yaratmaq və edə bilərsiniz harada bu sərin şey. Bu oh, bu necə, yalnız daha çox Mən şeylər mənim web görünür istəyirəm. Mən yalnız onu qoymaq gedirəm. Və bu stil olacaq. HTML Belə ki, bir mənada, yalnız kimi bir biçimlendirme və ya şablon dil. Bu çox asandır. Bu öyrənmək üçün çox asandır asan bir çox yazmaq tipik proqramlaşdırma çox çox asan dil, çox istifadəçi əlçatan və dostluq. Belə ki, biz, həqiqətən, oynayacağıq ətrafında bu gün öz pages yazmaq. Biz başlamaq əvvəl, mən yalnız istəyirəm bəzi qısa ən yaxşı təcrübələr üzərində gedin. HTML belə asan deyil, çünki dil və hətta çünki bir neçə şeyi yanlış əgər, Bu, bəzən hiss edə bilməz Biz istəyirik ki, əmin etmək istəyirəm həqiqətən, bizim ən yaxşı təcrübələrin riayət əmin etmək şeyi ki, ətrafında gedən edilə bilər, lakin həmişə doğru getmək deyil niyyətində deyil Onlar minimuma əmin olun. Belə ki, olduqca çox, əmin olun Sizin bağlanması bütün tags zaman HTML yazılı edirik. Siz açılış edirsinizsə bir bədən, siz etdiyiniz etmək haradasa bir orqanı ilə bağlanması. Siz əmin etmək istəyirəm sizin web page istifadə edərək, doğrular nə W3 Validator deyirlər. Siz ki, online sadəcə Google bilərsiniz , bir link var. Və sonra istəyirəm ayrı-ayrı HTML olan Sizin biçimlendirme dili, sizin stil edir CSS dil olan ki, David biz də istəyirik ki, nümayiş mühazirə ilə bir az oynayacağıq. Cool. Belə ki, zaman almaq istəyirsinizsə CS50 cihaz haqqında HTML, bir run olacaq Proqram, Apache adlı olan bütün yalnız bir tikilib web server ki, CS50 hər kəs çıxışı var. Biz yalnız Çünki biz apache50 zəng CS50 hər şey 50 zəng etmək istəyirəm. Belə ki, CS50 Web Start yol server sizin komanda haqqında yazaraq deyil line nöqtə başlamaq apache50. Və hər hansı bir onu bitirmək istəyirsinizsə zaman, siz apache50 heç bir nöqtə son yoxdur. Və yalnız Enter düyməsini basın. Və tezliklə burada mal edilməlidir. Yup. Mən yalnız tez artıq getmək gedirəm həqiqətən qısa web page bir nümunəsidir. Və biz sərf etmək olacaq 10 kimi 15 dəqiqə oynayan ətrafında öz web pages yazılı. OLDU. Belə ki, burada IDE-- da hər kəs görə bilərsiniz? Deyil, həqiqətən. Burada zoom lazımdır. Mən yalnız bu qısa şablon var burada əslində heç bir şey. Biz yalnız tez yazmaq olacaq HTML proqram olan biz yalnız dünyaya salam demək. C kimi, indi biz istəyirik Belə ki, eyni şey yalnız HTML bunu gedir. Hər kəs, həqiqətən, yalnız istəyir Mənə ilk şey verilməsi cəhd edin HTML sənəd qoymaq lazımdır? Bəli. Auditoriya: mötərizədə, [işitilemez]. ANDI PENG: Yep. Çox unikal bir şey HTML ki, biz adətən ənənəvi digər komanda qarşılaşa yoxdur line səviyyəli proqramlaşdırma dilləri biz həqiqətən etmək fayl növü daxil bu olacaq ki, bizim kodu üst. Belə ki, bu misal mən hesab edirəm ki, ki, sağ, sağ komanda var? Yup. Üst, yalnız daxil etmək istəyirəm Mötərizədə bang DOCTYPE html yalnız Sizin kompüter demək, hey, baxmaq. Və HTML sənəd gəlir. Və sonra necə istəyirsiniz fayl başlamaq üçün necə? Biz yalnız salam demək istəyirsinizsə var dünyaya salam deyir web page, Biz bu bina haqqında getmək yoxdur? Əslində, Google çevirmək imkan verir. Və biz, həqiqətən, bunu edə bilərsiniz. Yup. Biz orada getmək. HTML belə. Gördüyünüz kimi, mənim browser əslində avtomatik mənim üçün bu dizayn. C, siz eyni şey açıq buruq brace yaratmaq Sənin Brauzer avtomatik yaxın buruq brace edər. Xoşbəxtlikdən, bizim IDE üçün sevir eləcə də bizim üçün bunu. Belə ki, indi biz növ yazın tag başlanğıcı, və həmişə bizə olacaq tag son yazın unutmayın. Mən bu kapitallaşdırılır olmalıdır düşünürəm. Və sonra biz əlavə etmək istəyirəm, hər zaman, baş olan adı. Biz yalnız bəlkə zəng etmək istəyirəm bu salam, sonra bədən. Və siz getmək. Bu, həqiqətən, bizim HTML sənəddir. Belə ki, yol hər hansı bir HTML sənəd həmişə eyni şey in-- səpkili edir int əsas boşluq ilə. Siz həmişə istəyirəm Açıq və yaxın tag HTML Sizin kodu üst və alt. Siz daxilində bir baş istəyirəm olan yalnız nə olursa olsun, adı var Sizin web nişanı keçirmək üçün gedir səhifə, və daxili sonra bədən həqiqətən content göstərilir nə siz etmək istəyirəm. Beləliklə, siz həqiqətən run istəyirdi Bu, mən geri zoom üçün gedirəm. Siz, həqiqətən, başlaya bilərsiniz dot başlamaq apache50. Cool. Və indi görə bilərsiniz, belə ki, bu link qədər atdı. Bu site artıq deyir aşağıda bəzi linki mövcuddur. Belə ki, bütün IDE done-- var Biz IDE, yeah sorry, etmiş IDE bir web yaratmaq link bizim web pages olan bütün sonra server əldə edilə bilər. Belə ki, burada bir nəzər salaq. Nin, bu basın hello.html gedək. Və bir çox sadə görmək salam dünya üçün web page. OLDU. Biz, həqiqətən, olacaq yalnız Bəli everyone--, nə qədər var var? Auditoriya: Mən bir əsas sual var. ANDI PENG: Yup. Auditoriya: necə saxlamaq yoxdur bir HTML Fayl? ANDI PENG: Bəli. Mən yeni bir fayl yaratmaq idi Belə ki, Mən Nyu Fayl əgər, Untittle, mən əgər, section.html, bumu, Mən nə üçün bütün var. Auditoriya: [işitilemez]? ANDI PENG: Xeyr Auditoriya: [işitilemez]. ANDI PENG: Xeyr Auditoriya: [işitilemez]. ANDI PENG: Bəli. Olduqca çox, məsləhət Sizin IDE daxilində fayl, ki, kompüter deyir browser, hey, baxmaq deyir. Bu kod olacaq bu dildə yazılmış. Məsələn, Microsoft belə Word, bütün Word sənədləri nə nə uzadılması ilə başa? Doc və ya docx, sağ? Yoxdur ki, bütün əsasən xüsusi edir Sizin əməliyyat sistemi, hey, Siz gələn bir Word sənədi var. Sözü ilə açın. PDF ilə eyni şey. Bu oh, mən lazım bilir Bu faylı açmaq üçün Adobe Reader və ya Adobe Acrobat ilə. Və belə uzantıları fəaliyyət Sizin kompüter eyni şəkildə. Siz code səhifə daxil edin üçün, o bilir, HTML adına oh, siz HTML kodu var. Mən html kodu kimi müalicə gedirəm. Belə ki, o mənada super ağıllı deyil. Belə ki, hər kəs, 10 dəqiqə kimi götürək və yalnız öz web yaratmaq. Nin sevimli şeylər əlavə edək. Siz istədiyiniz hər hansı demək çekinmeyin. Mən yalnız əmin etmək istəyirəm Hər kəsin server düzgün çalışan biz pset sizi azad əvvəl. Çünki sizin server əgər pset üçün run deyil, həqiqətən, həqiqətən, pis olacaq. Mən yalnız ətrafında üzmək gedirəm və hər kəs iş nə görmək. İşlər necə gedir? Auditoriya: Mən yalnız mənim kompüter çıxdı. ANDI PENG: OK. Auditoriya: [işitilemez]. ANDI PENG: Sadəcə IDE. Bəli. Auditoriya: [işitilemez]. ANDI PENG: OK. Auditoriya: [işitilemez]. ANDI PENG: Tamamilə gözəl. Hər kəs daxil deyil öz web server OK? Apache50 OK çalışan? Mən bəzi hesab digər bölmələr, biz insanların deyil məsələlər idi server daxil olmaq üçün edə. Bəli. Belə ki, yalnız apache50 run space space dövrü başlayır. Auditoriya: [işitilemez]. ANDI PENG: Yup. Yaxşı? Auditoriya: [işitilemez]. ANDI PENG: OK, Oh. Belə ki, bir yer var ehtimal edirik. Belə ki, apache50-- Auditoriya: Mən etdim. ANDI PENG: --start space. Auditoriya: Oh, kosmik dot. ANDI PENG: Yup, kosmik dot. Burada getmək. Beləliklə varsa yaradılmış bir HTML səhifə sonra yalnız birbaşa bilərsiniz Bu ifadə link. Və daxil olmaq üçün lazımdır. Hər kəs edə Onların web pages OK daxil? Auditoriya: [işitilemez]. ANDI PENG: Oh, ki, OK. Auditoriya: [işitilemez]. ANDI PENG: Bəli. Mən, həqiqətən, açıq edə bilər Sizin browser, brauzerinizin ərzində və yalnız sizin IDE browser. Bəli, mən surəti əgər düşünmək və yapışdırıb. Auditoriya: Və sonra necə onu söndürmək olar? [Işitilemez] ANDI PENG: Bəli, nə apache50 heç dövrü ilə dayandırmaq. Yup. Auditoriya: [işitilemez]. ANDI PENG: heç bir dövrdə ilə. Bəli. Biz orada getmək. Yup. Biz öz web pages yaratmaq edirik. Auditoriya: Oh, sərin. ANDI PENG: Bəli. Auditoriya: Mən bir sual var. Belə ki, apache 50-- ANDI PENG: 50, evet. Auditoriya: [işitilemez]. ANDI PENG: Nə? Ki, qəribə deyil. Bax bu məsələ cür idi bundan əvvəl baş verən. OLDU. Bölmə sonra məni baxın. Bəzi olan Çünki server ilə məsələləri. Və etmək istəyirəm Sizin server əmin pset başlamazdan əvvəl çalışır. Siz lazım olacaq, çünki. Bəli. Olmamışdır başqa hər kəs varmı mümkün onların server başlamaq üçün əldə etmək olar? Əlavə etmək istəyən sizin üçün web pages əlavə stil, biz, həqiqətən, nə edə bilər David, eləcə də mühazirə etdi olan əlavə stil yaratmaq bir dot CSS hesabatı, Cascading Style Sheet və, həqiqətən, yalnız onu əlavə edin. Belə ki, məsələn, yalnız yaratdığınız olduqca çox demək olar ki, eyni bir David mühazirə idi. Siz olduqca çox yalnız bədən edə bilərsiniz. Siz tags adlanır nə olan Siz nə bölmə IDE müraciət edə bilər Siz ərzində istədiyiniz sizin HTML səhifə faktiki. Belə ki, səhifənin bədən, siz mətn align mərkəzi edə bilərsiniz. Və sonra mən yaradıcı lazımdır daxilində tag adlı top I bu şeylər istəyirəm daha böyük bir pixel ölçüsü təyin baş font üçün. Mən font çəki qalın olmaq istəyirəm. Mən rəng istəyirəm yalnız ixtiyari, mavi Mən seçmək qərarına gəlib dəyərlər. Mən orta adlı bir tag yarada bilərsiniz. Font ölçüsü, bir az kiçik etmək. Və sonra mən başqa tag yarada Mən font ölçüsü istəyirəm adlı alt hətta kiçik olmalıdır. Və belə olduqca çox bu yalnız nümunəsidir mənbə kodu və ya mənbə stillər yalnız Google üçün çox asandır ki. Desəniz, oh, mən font istəyirəm italicized və tünd yaşıl etmək üçün, Siz Google yəqin ki, edə bilərsiniz və sonra sizə xəbər verəcəkdir müvafiq tags və ya kimlikleri yaratmaq. Və belə yol ki, həqiqətən ki növ HTML sənəd bu var və ya bu bütün istifadə burada nə rəhbərlik edir stil üçün bir keçid əlavə edin. Belə ki, yalnız href bərabər keçid edə bilərsiniz Sizin stil hər hansı adı edir. Və sonra əlaqələr bir stil var. Belə ki, hər hansı bir HTML sənəd çərçivəsində, uzun Bu dot CSS hesabatı daxildir, Siz daxil olmaq üçün lazımdır və orada xüsusiyyətləri var. Belə ki, məsələn, burada yalnız var bir nümunəsidir web səhifə yaratmaq. Bu CS50 bölməsinə xoş deyil 2:00 mənə ilə 3:30 üçün çərşənbə axşamı. Və sonra mən bir sevimli şəkil əlavə etdik ki, biz potensial görmək lazımdır. Belə ki, burada bir nəzər, Siz style.html getmək əgər, biz kittens ilə bir veb səhifə yaratdıq. Doğmaq Çünki zəhmli edir. Belə ki, bir image yalnız SRC link img olunur sözlərinə əlavə etdi. Var, olduqca çox xüsusiyyət hər hansı bir sort Siz əlavə etmək istədiyiniz sizin website-- ki, deyək Bir menyu əlavə etmək istədiyiniz və ya bir axtarış bar və ya kimi bir image-- yalnız Google bunu necə. Və yalnız formatında Plop. Və siz yalnız olduqca qədər yalnız əlavə edin. Bu, həqiqətən, həqiqətən asandır. Biz öz yaradırıq web pages indi. Əgər istəyirsənsə-- Auditoriya: [işitilemez] ANDI PENG: Bağışlayın? Auditoriya: [işitilemez]. ANDI PENG: Oh, div yalnız bir bölümüdür oh, mən ki, mənə izah adlı müəyyən bölmə orta olan I müraciət edirəm Mənim CSS tag, və sonra alt ilə digər bölmə. Ki, deyirəm ki, bütün var. Bu saxlamaq üçün gözəl, çünki məqsədilə səliqəli şeyi, belə ki, proqram çalıştırmak üçün dəqiq bilir. Mən bu yapışdırıb surəti edə bilər eləcə də mənim faktiki brauzerinizin daxil. Bu gözəl olmalıdır. Bəli. Yay. Hər kəs istəyir Belə ki, yalnız bir web page yaratmaq üçün cəhd edin, biz başqa iki-üç dəqiqə lazımdır. Mən yalnız əmin etmək istəyirəm Hər kəsin server çalışan və hər kəs bir var bunu necə fikir. Sizlərin istəyirsinizsə Sizin kompüter almaq. Hələ iş deyil? Auditoriya: Mən yalnız [işitilemez] edirəm. ANDI PENG: Bəlkə həmçinin 50 yeniləmə çalışırıq. Bəli. Auditoriya: [işitilemez]. ANDI PENG: Bəli. Belə ki, yeni bir yol başlamaq ki, IDE web server yalnız apache50 kosmik start space nöqtə yoxdur. Mən yalnız əmin etmək istəyirdi Hər kəsin server OK çalışan. Burada, terminal: Auditoriya? ANDI PENG: Bəli. Auditoriya: [işitilemez]. ANDI PENG: Apache. Əslində, mən hesab edirəm Artıq bir şey çalışır. Bəli, siz həqiqətən istəyirik fərqli bir server çalışan. Bəli, yaxşı deyilik. Kimi uzun iş kimi, OK istəyirik. Auditoriya: OK. ANDI PENG: iki var yolları server üçün. Belə ki, kimi uzun yollarından biri kimi işləyir, bütün doğru. Biz bir dəqiqə almaq lazımdır yalnız cür bitirmək üçün nə başa üz web page uşaqlar etmək istədi. Hər kəs yolu ilə işləyir? Hər kəsin serverlər sizin üçün başqa çalışan? Biz ki, anlamaq lazımdır. Və HTML nin kifayət qədər sadə. Belə ki, biz bütün yaxşı olduğunuzu düşünürəm. Bəli. Mən geri gəlmək lazımdır. Auditoriya: [işitilemez]. ANDI PENG: OK. Auditoriya: Belə ki, yalnız var yük başladı. ANDI PENG: Heç bir narahatlıq. HTML Belə ki, mənbə kodu var ki, bölmə sonra online olacaq. Həmçinin, Davud bütün var dəstə online həmçinin. Artıq yalnız növ nəzər etmək HTML pages yazılı necə. Kifayət qədər asandır. Bir şey olduqca bilmirəm, çox yalnız Google və yaxşı deyilik. Mən yalnız əmin etmək istəyirəm server çalışan. Auditoriya: tez-tez bunu mu? ANDI PENG: Bu mənə baş heç vaxt. Mən hətta qışlamaq edə bilmirdim. Auditoriya: [işitilemez]. ANDI PENG: Mən hesab edirəm ki everyone-- mina əvvəl hibernated olmayıb. Mən niyə bilmirəm. Bu qəribə deyil. Auditoriya: [işitilemez]. ANDI PENG: sizin hibernating mı? Auditoriya: [işitilemez]. ANDI PENG: Bəli. Auditoriya: Bu OK. Bir dəfə belə açıq deyil. ANDI PENG: OK. Biz bəzi server ilə məşğul olacaq bölmə sonra məsələləri. Siz gözəl olmalıdır. , Siz əmin etmək istəyirəm, baxmayaraq ki, Tərk əvvəl onlara həll almaq. Çünki əgər server-nin çalışan, sonra sen edə niyyətində deyil pset, pset hər hansı bir hissəsi kimi. Belə ki, əmin etmək istəyirəm ki, çalışır. Cool. Oldu. Goodbye kittens söyləyin. Mən axtarır uzun vaxt sərf ki, kitten şəkil qoymaq. Belə ki, zaten. Auditoriya: [işitilemez]. ANDI PENG: Bağışlayın? Auditoriya: [işitilemez]. ANDI PENG: Mən saytında hesab edirəm. Spec kimi? Auditoriya: [işitilemez]. Mən spec yalnız hesab edirəm Həftə yeddi online. Mən hətta bu pset6 deyirlər edirəm Biz həftədə yeddi etdiyiniz baxmayaraq ki, bir az hesablama edir. Auditoriya: Amma mən demək, əgər əgər at-- baxmaq istəyirəm bizim versiyası qoparmaq istəyirəm Bizim sever web site? Belə ki, kimi server.c pset sağ, deyil? Bu baxmaq istəyirsinizsə, kimi yoxlayır necə? ANDI PENG: Oh, həqiqətən, belə pset, bütün edirik burada, burada implementing-- edir Mən bu qısa artıq getmək lazımdır. Yalnız kazanılmış ki, hər kəs üçün çox bölmə, uşaqlar uğurlar var. Çox az material var həqiqətən bu gün əhatə. Mən yalnız növbəti sərf etmək gedirəm Pset köməyi üzərində gedən 20 dəqiqə. Bəzi faydalı var, çünki sizin həyat kömək edəcək fəaliyyət göstərir. Və ümid edirəm ki, biz olacaq Burada 20 dəqiqə kimi. OLDU. Belə ki, pset7 səhvdir. Biz həftə olmalarına baxmayaraq yeddi, bu, həqiqətən pset6 var. Hesab edirəm ki, dəyişdirmək lazımdır. Bütün biz pset6 da edirik bir web server yaradır. Bu super scary səslənir. Və xüsusilə olanlar üçün Siz artıq olan , distribution kodu baxdı kod bir çox kod bir çox var. Amma tamamilə yaxşıdır. Işin gritty Çünki həqiqətən yaradılması hissəsi server bizə edilir. Bütün həqiqətən xahiş edirik bu pset etmək yalnız bir string manipulyasiya nə etmək fayl I / O. Bu, həqiqətən var kifayət qədər sadə kimi. Belə ki, ilk that-- download zaman kim Burada həqiqətən artıq nazil pset və bir göz qəbul? Oldu. Bəli. Kodu 500 xətləri kimi var Siz kimi olacaq ki, nə baş verir? Və tamamilə gözəl var. Siz gəzmək-throughs izləmək əmin olun. David and-- Çünki mən bilmirəm. Mən Zamyla ki, bu düşünmürəm. Amma bəzi digər düşünürəm gəzmək-throughs kifayət qədər var baxımından faydalı yalnız bildirdiğiniz nə kodu daxili davam edir. Və tamamilə OK. Çünki istəyirik dörd funksiyaları həyata istədi həqiqətən var sıfır faktiki server ilə. Onlar nə etmək lazımdır Bütün yalnız var müxtəlif strings təhlil, strings vasitəsilə axtarış, əmin şeyi edirik etmək nə onlar ehtimal etdiyiniz bunu etmək. Bu barədə belə var çox, çox faydalı funksiyaları, xüsusilə simli üçün manipulyasiya ki, biz bütün olmalıdır Mən istədiyiniz düşündüm ki, artıq getmək uşaqlar üçün çox faydalı ola pset cəhd əvvəl öyrənmək. Və onlar bütün olan edirik Sizin string.h kitabxana daxilində. Yəqin ki, daha faydalı var Mən buraya daxil deyil funksiyaları, Mən ya onlardan istifadə heç vaxt, çünki və ya bəlkə mən yalnız onlar mövcud bilmirdim. Student.h vasitəsilə nəzər çekinmeyin. Bir çox var olacaq çünki funksiyaları çox faydalı olduğunu. Belə ki, altı Mən ən çox istifadə ki, mən Mən bu ötən həftə bunu etdi pset strtok, strchr, strrcher idi strstr, strcasecmp və strcpy. Və belə son iki görünə bilər sizin ən olduqca tanış. Str halda bunu bütün müqayisə edir, müqayisə strings bərabərlik onları yoxlamaq, işi, o cümlədən. Və strcpy yalnız nüsxə bufer daxil bir string. Və belə ki, o iki çox görünür olmalıdır bu nöqtədə uşaqlar tanış. Biz onlara bir çox istifadə etdik, çünki, xüsusilə son psets üçün. Bəlkə amma ilk dörd İndi qədər görmədim. Amma yalnız onların vasitəsilə gəzmək gedirəm. Onlar sizin həyatını etmək olacaq, çünki həqiqətən, asan baxan mýsýn həqiqətən asan, bu qarşıdan gələn pset üçün deyil, daha asan. OLDU. * Strtok Belə ki, char, bu funksiya var bu funksiya üçün müəyyən olan simli, h kitabxana daxilində. Siz char giriş * verilsə yalnız bir simli simli, və ya daimi char * deliminator, qısa üçün sınırlayıcı, bütün böyük qırılma bunu dediyimiz bir sıra daxil string müəyyən bir dəyər ayrılmış ayələr. Belə ki, bir mənada, mən əgər vermək Bu simli, section.7.php. Mən keçmək üçün, əgər Belə ki, olardı bu kimi küçəsi, mənim char * küç, Mənim deliminator dot idi, bütün bu edəcəyini simli vasitəsilə axtarış edir. Və ilk dəfə bir nöqtə görür, yalnız göstərici qayıtmaq aşkar son mö'cüzə etmək əvvəl simli. Belə ki, burada getmək olardı. Və yalnız mənə 7.php verəcək. Mən zəng etmək olsaydı bir dəfə daha fəaliyyət, mənə yalnız Php verəcək. Və belə ki, bütün bu funksiya edir böyük simli aşağı qırır olaraq kiçik strings daxil aradığınız nə. Və belə misal üçün, Görünüşünü qədər funksiyası Siz baxmaq istəyirsinizsə nə Müəyyən simvol haqqında gəlib və ya nöqtələr baş verir və ya uzantıları nə varsa, bu funksiya kifayət qədər faydalı olardı. Bəli. Heç bir narahatlıq. Bu, bütün be-- Bəli, nə qədər var olacaq? Auditoriya: ilk line Belə ki, Biz bu nümunə istifadə edilmişdir, ki, daxil nə daxil olacaq? ANDI PENG: Bəli. Siz yalnız bir zəng strtok string vergül sınırlayıcı. Və simli section.7.php bərabərdir. Və sonra sınırlayıcı istəyirik yalnız dot bərabər ola bilər. Auditoriya: OK. ANDI PENG: Bəli. Just kimi. Bütün bu funksiyaları kifayət qədər var biz onların vasitəsilə oxşar getmək zaman. Onlar yalnız az fərqli şeylər. Lakin onlar bütün olacaq Sizin həyat çox asan edir. Ikinci funksiyası, bu bir kimi super mühüm super super, qədər saxlayın the-- edir. Oops. Ilk Strchr axtarış occurrence-- həqiqətən, evet. Strchr funksiyası ki, Mən mütləq artıq getdi. Beləliklə, mən nə dedi ignore ilk funksiyası üçün. Bu, həqiqətən strchr deyirlər. Belə ki, nə burada baş əgər deyil Bir char c simli verildi, yalnız verəcək Siz idi nə. Bəli. Belə ki küç, kimi düşünün ki, char kimi bir simli və Chr edir. Beləliklə, siz nə çalışdığınız bütün axtarış bir char bir string ərzində olduğu. Və belə ki, ilk üçün axtarış xarakter baş string küç c. Auditoriya: [işitilemez]. ANDI PENG: Yup. Və sonra tapa olmasaydı bu, NULL qayıtmaq olacaq. Belə ki, olacaq bir şey çox olmaq pset bunu uşaqlar üçün faydalı demək, əgər bir aradığınız bir söz bir Docx kimi uzadılması sənəd və ya bir PDF sənəd üçün Pdf, cür baxmaq üçün istifadə edə bilərsiniz nə üçün sonra deyil hər zaman sağ, bir nöqtə görmək? Və belə olduqca çox, əgər funksiyası vasitəsilə run, Bu NULL qaytarır əgər, sonra bilirsiniz ki, bu Bu o deməkdir ki, dot onu tapmadı aydın bir etibarlı fayl uzantısı deyil. Yoxsa qaytarır əgər bir şey, sonra bilirik Bu nə qayıdışı olacaq həqiqətən uzadılması sonra. Keçirən sizin So axtarış vasitəsilə axtarır başladı və bu funksiya nin, təhlil gedir super faydalı olmaq. Belə ki, biz, həqiqətən, olacaq Bu istifadə nümayiş etdirmək üçün. Niyə uşaqlar yazılı cəhd yoxdur funksiyası bool cümlə char * s ki, bir əgər yalnız doğru qayıdır cümlə və başqa yalan. Belə ki, olacaq, işarə yəqin ki, strchr istifadə etmək. Və ya sadəcə axtarış müəyyən bir xarakter üçün string. Və belə bir cümlə, nə bir cümlə ayırır qeyri-cümlə, nə xüsusi xarakter? Auditoriya: Kosmik. ANDI PENG: A kosmik, sağ? Və belə ki, biz yəqin ki, gedir yoxdur Burada bu funksiyası ərzində etmək istəyirsiniz? Auditoriya: [işitilemez]. ANDI PENG: Biz strchr etmək istəyirəm olacaq kosmik görünüşü üçün string. Sonra bir şey qaytarır Çünki əgər bu bir cümlə olmalıdır ki, bilirik. Yəni, biz o deməkdir ki, Bu simli bir yer var. Heç bir yer yoxdur, onda biz bilirik ki, hey, bir string deyil danışarlar. Bu yəqin ki, yalnız bir həqiqətən uzun söz var. Beləliklə, mən sizə uşaqlar bir neçə vermək lazımdır dəqiqə bu funksiyanı yazmaq üçün. Bəli. Auditoriya: Siz almaq mı istifadəçi bu simli? ANDI PENG: Bəli. Belə ki, bu yalnız bir funksiyası var. Belə ki, əsas funksiyası daxilində təsəvvür Əgər siz artıq burada gedək yaxşıdır. OLDU. Mən bu proqram olduğu yazdıq Mən əsas funksiyası harada var Mən yalnız iki strings yaratdıq. Birincisi, Hi my name edir aydın Andi--, bir cümlə var. Mənim ikinci yalnız Andi, aydın cəza deyil. Və mən o, həm də çalışan alıram Bu funksiya vasitəsilə strings. Mən sizə uşaqlar soyuq cümlə yazmaq istəyirəm. Mən o dəyərləri saxlanılması alıram və sonra yalnız onları çap. Belə ki, istifadəçi hesab edir ki, simli keçmək olacaq. Və sonra mahiyyətcə olacaq bu bir cümlə və ya deyil əgər anlamaq və buna görə doğru və ya yalan qayıtmaq. Sizlərin vermək istəyirsinizsə barmaqlarının və ya rəhbərləri up, baş nod, hər kəs başlamaq üçün hazır Bu, yaxşı olardı. Bəlkə kimi 30 saniyə? Oldu. Siz cəhd edə bilərsiniz əgər in nəzər salaq Bu funksiya yazmaq. Mən yalnız gedirəm kodlaşdırma belə yalançı cür indi bu sağ vasitəsilə gəzmək. Pretty çox, biz bilirik Biz istifadə etmək lazımdır fəaliyyət göstərir. Biz ki, funksiyası zəng olacaq Bizim string və boşluq üçün axtarış. Bir şey qaytarır, onda biz olmalıdır aydın, bu cümlə olduğunu bilirik. Çünki boşluq var. Sonra biz doğru geri olacaq. Else, biz saxta qayıtmaq olacaq. Hər kəs vermək istəyir Mənə kodu ilk line biz, həqiqətən, olacaq ki, Bu yazmaq üçün istifadə etmək olar? Bu, həqiqətən ağır var kodu xətt həmçinin. Bəli. Auditoriya: Əgər strtok s-- ANDI PENG: Just strchr. Auditoriya: [SƏSLƏRİ INTERPOSING] space null bərabər deyil. ANDI PENG: Cool. Tam doğru. Hər kəs ki, ilk xətti anlamaq? Biz strstr zəng olacaq axtarış funksiyası olan string s kosmik char üçün. Bu tapsa, bu olacaq ki, harada bir pointer qayıtmaq. , Onu tapmaq deyil, əgər Bu NULL qayıtmaq olacaq. Bu başqa bir şey qaytarır əgər Belə ki, NULL, sonra biz bu boşluq aşkar bilirik. Ki, hissi edirmi? Cool. Oldu. Biz bilirik Belə ki, aşkar bir space, biz nə istəyirik? Auditoriya: doğru qayıdın. ANDI PENG: Yup. Doğru qayıt. Və sonra, kimsə istəyirəm Mənim üçün funksiyası başa? Bəli. Else, yalnız kimi. Bu tərtib cəhd edin. Yup. Uşaqlar göründüyü kimi, belə ki, nəticələr, C Booleans xatırlayıram həmişə ikili ifadə edilir. 1 doğrudur. 0 yalan. Biz bu run olsaydı simli bir funksiyası olan , Hi mənim adım Andi-- deyil Nəticədə aydın bir sentence-- doğrudur 1 çap. yalnız ikinci, bir söz, çap nəticə 0, olan yalan. Necə hər kəs aydın cür bu funksiya yazılmışdır? Bəli. Auditoriya: biz də əvəzinə, nə edə bilər yox, 0 bərabərdir bərabərdir bərabər olmadıqda, ki bərabər deyil? ANDI PENG: Xeyr Strchr bir funksiyası var, çünki. Mən bu geri gedirəm. Belə ki qaytarılması növü var Bizim strchr funksiyası? Auditoriya: OK, Oh. Və ya NULL. ANDI PENG: Bəli. Bu ki, mənə deyir ki, bir char * var nə bu funksiya, qayıtmaq üçün gedir bir pointer olacaq. Ya pointer olacaq Bu onu aşkar yerdə işarə edərək, və ya geri olacaq bir göstərici null. Ya hal, bu olacaq bir şey bir göstərici qayıtmaq üçün. Və belə ki, eyniləşdirmək olsaydı Bu, 0, bərabərdir Bir yığma səhv almaq olacaq. Bir pointer qayıtmaq olacaq, çünki. Və siz cəhd olacaq bir tam bir pointer müqayisə. Və kompüter deyil belə gedir. Bəli, dəqiq. Cool. Hər kəs yaxşı? İkincisi, biz getmək olacaq bir funksiyası adlı strstr üzərində. Bu halda heç bir narahatlıq funksiyaları sizə çaşdırıcı olunur. Onlar mənə çaşdırıcı edirik. Belə ki, uşaqlar görmüşəm bilər, onlar bütün olduqca çox eyni səs. Just zaman səhv edirik, string.h kitabxana qoparmaq. Və uşaqlar sıralayabilirsiniz olan nin vasitəsilə. Belə ki strstr, ki, bütün axtarış deyil bütün digər simli üçün bir string. Belə ki, burada strchr yalnız axtarış bir xarakter üçün, bütün simli üçün strstr axtarış. Beləliklə, mən baxmaq istəyirdi, mən deyil Bilirsiniz, Salam, mənim ad Andi edir. Və mənim yaxşı dost ad Andi edir. Mən bu üçün baxmaq istəyirdi Andi bütün söz cümlə, Mənim iynə olardı nə aradığınız. Və Samanlıq nə edir Siz onu axtarır edirik. Belə ki, bir aradığınız bir cümlə çərçivəsində xüsusi söz, ki, sözü iynə olacaq. Və sonra cümlə özü Sizin ot tayası olacaq. Və belə ki, yalnız axtarış ilk baş string iynə string samanlıqda. Bu göstərici qaytarır ilk meydana. , Bu halda xatırlayıram başqa, bu bütün simli ilk baş siz axtarış edirik ki, üçün deyil, yalnız bir xarakter. Və bu demək olar ki, funksiyası kimi eyni şey biz yalnız ilə etdi bir az daha xüsusiyyətləri. Sizin üçün axtarış etdiyiniz, çünki Yalnız bir xarakter daha çox. Və istifadə eyni deyil biz yalnız etdi kimi. Bu OK hər kəs? OLDU. Biz getmək olacaq Son bir üzərində deyil, strrchr edir strstr ya strchr ilə qarışdı. strrchr orada əlavə r var. Siz yazaraq etdiyiniz zaman ehtiyatlı olun. Siz özünüz də daxil olmaqla ola bilər bir r, o cümlədən əlavə r və ya, və sonra funksiyası işləmək niyyətində deyil olmuşlar edir. Və qarışıq olacaq. Siz imla edirik ki, ehtiyatlı olun Bütün bu funksiyaları hüququ. Belə ki, strrchr dəqiq deyil strchr eyni şey Bu ilk deyil üçün axtarış istisna olmaqla, xüsusi xarakterli baş, əksinə son baş. Belə ki, o mənada ki, demək olar ki, eyni deyil. Lakin əvəzinə hərəkət simli irəli, Siz hərəkət etmək olacaq geri simli. Eyni şey, etdiyiniz yalnız müxtəlif üçün axtarış. Və bu, super ola bilər Sizin axtarış üçün super faydalı funksiyası, ilk Sizin pset funksiyası. Biz yazmaq üçün lazım ki, iddia edək etibarsız uzadılması funksiyası olan biz daimi char * fayl adı keçir, yalnız bir string, bir fayl adı, ki, adı və baskı edir fayl uzadılması həyata. Mən idi, məsələn, əgər belə pset7.zip simli keçmək, yalnız çap olacaq Zip edir uzadılması. Bunun üçün işləmək olardı uzadılması hər hansı bir sort, PDF üçün Word və ya Pdf üçün docx fayl və ya HTML fayl Html. Pretty çox, bir yazmaq bunu edə bilərsiniz funksiyası. Mən, həqiqətən, gedirəm IDE üçün keçid. Orada load-- deyil gedirik. Belə ki, mən burada etdik bütün bir char *, ilk simli yaradılmışdır, pset7.zip çağırıb. Mən zoom üçün gedirəm. Mən ikinci simli yaratdıq finalpaper.docx çağırıb. Və mənə bir funksiyası yazmaq zaman ki, adlı yalnız çap gedir fayl adı uzantıları. Bəlkə düşünmək üçün bir neçə dəqiqə çəkə Bu nə olacaq haqqında. Bir az daha çətin son bir daha, lakin istifadə demək olar ki, eyni. Bəli. Belə ki, bir funksiyası adlanır uzadılması yazmaq ki, bir fayl adını vermək əgər, Mən vermək idi əgər mən pset7.zip-- Yalnız Zip çap etmək istəyirəm. Mən vermək əgər, finalpaper.docx kimi yalnız Docx çap, nə fayl yalnız uzadılması. Bu, həqiqətən, yalnız kod iki xətləri edir. Belə ki, əgər görmək üçün cəhd bu nə bəlkə bilər. Əslində, bu, yalnız kodu bir line edir. Lakin iki xətləri yəqin ki, daha standart. Nə funksiyası biz yəqin ki, zəng etmək üçün istədiyiniz gedir? Auditoriya: strrchr. ANDI PENG: strrchr, doğru. Biz aradığınız çünki sağ sol. Mən sizə uşaqlar vermədi bu kimi bir nümunə, lakin mən kimi bir nümunə verdi www.apple.com və yalnız istədi Com, bu bir nümunə olarıq son instansiya səslənmək istəyirəm dövrünün ilk, doğru deyil? Siz zəng strchr olsaydı, onu sizə apple.com təqdim etdik olardı. Siz strrchr adlı varsa, sizə Com verərdi. Və belə olan ehtiyatlı olun Mənim nümunə ways--, Siz yəqin ki, ola bilər bilər yalnız strchr istifadə edərək yazılı, ci ildən yalnız bir dot var. Amma digər hallarda, ki, halda ola bilər. Və belə ki, həmişə dizayn cəhd edin Bəli, sizin kodu yaxşı, belə ki, Ki mi Auditoriya: Belə ki, Məsələn, yalnız bildirib ki, Siz strrchr zaman olardı Siz Com və ya yalnız gəlmək verir? ANDI PENG: Bu Com verəcək. Auditoriya: OK. ANDI PENG: Bəli. Bu onu aşkar olduğu göstərir. Bəli. 30 saniyə bəlkə? Bəli. Hər kəs yaxşı və ya bəlkə bir az daha çox vaxt? Əlləri Show? Başçılarının Show? Cool. Hər kəs mənə ilk vermək istəyirəm Bu proqram üçün kod line? Auditoriya: [işitilemez]. ANDI PENG: Bütün Belə ki, ilk, bəlkə bu qırmaq edək. Belə ki, strrchr qaytarılması növü nədir? Geri getmək edək. strrchr, geri növü nədir? Auditoriya: Char * ANDI PENG: Bu char *, sağ? Hansı yəqin ki, olacaq o deməkdir ki, cür bir char * yaratmaq istəyirəm mağaza bu zaman sağ, qaytarılması? Siz zəng Çünki əgər funksiyası strrchr, bu bir pointer vermək olacaq harada ki, ötən dövr aşkar sağ? Amma istəyirəm olacaq sağ, ki, haradasa saxlamaq? Və belə ki, necə biz kod yoxdur Bizim proqram bu? Auditoriya: Siz etmək char * [işitilemez]. ANDI PENG: Yep. Auditoriya: [işitilemez]. ANDI PENG: strrchr. Bəli. Oh, orada bir r qaçırdı. Auditoriya: File name [işitilemez]. Bu nədir? Oh, Bu, sadəcə s var. ANDI PENG: Oh, yalnız s var. Yup, sorry. Mənim pis. Nümunələr uyğun gəlmədi. Auditoriya: Və sonra nöqtə. ANDI PENG: Yup. Zaman uşaqlar ehtiyatlı olun burada are--, mənə zoom imkan. Biz orada getmək. Zaman uşaqlar ehtiyatlı olun , xüsusilə yazaraq yalnız bir char edirik. Bu təsadüfən yalnız həqiqətən asandır deyil, bir çox ikiqat quotes yoxdur. Ki, işləməyəcək. Sizin compiler şikayət gedir. Və funksiyası yalnız run etmək niyyətində deyil. Və belə zaman ehtiyatlı olun hər şeyi edirik chars ilə vahid quotes var ki. Və belə bu xətt yoxdur kodu hər kəs üçün mənada? Biz char * göstərici yaradılması edirik. Strrchr yekunları Çünki növü göstərici bir şey. Və belə ki, biz strchr zəng olacaq s olan simli, fayl biz keçən edirik ki, adı. Və biz son aradığınız bir dövr instansiya yalnız bir quote bir quote nöqtə. Bəli. Auditoriya: nə zaman biz ikiqat quotes istifadə və biz vahid quotes istifadə edərkən edirsiniz? ANDI PENG: Bəli. Belə ki, ikiqat quotes var həmişə zaman istifadə yalnız bir daha bir simli var. Siz strstr edirik Belə ki, olan biridir ki, , simli üçün təşəkkür simli axtarış ikiqat quotes keçmək olardı. Amma hər dəfə yalnız var bir xarakter, Siz tək quotes etmək istəyirəm. Bu mind saxlamaq üçün yaxşı bir şey deyil. Belə ki, indi biz bizim var ki, pointer, biz onunla nə etməliyəm? Mən sizə uşaqlar xahiş edirəm sağ, onu çap? Belə ki, [işitilemez], siz istəyirəm Mənə kodu xətti vermək? Auditoriya: printf ANDI PENG: Bəli. Auditoriya: --you bir yer sahibi lazımdır. ANDI PENG: Yup. Auditoriya: yer sahibi yazdırın. Mən nə baş bilmirəm sahibi bu nöqtədə lakin. OLDU. İndi sonra üçün keçmək edək. Auditoriya: Və sonra vergül ANDI PENG: Pointer, sağ? Auditoriya: Pointer, yup. ANDI PENG: Belə cür bir oyun sual göstəricilər və strings ilə var ki, biz növ artıq haqqında söhbət etdik. Yeri sahibinin hansı biz nə bir char * üçün bir göstərici üçün lazımdır? Auditoriya: [işitilemez]. ANDI PENG: Bəli. Bu uşaqlar hesab daha asandır. Auditoriya: String? ANDI PENG: Bu dəqiq, yalnız bir simli var. Strings xatırlayıram çünki həqiqətən yoxdur. A char * dəqiq deyil bir string kimi eyni şey. Və belə ki, həqiqətən bu ne var bütün boyunca istifadə edilmişdir lazımdır. OLDU. Bu çalışan cəhd edə bilərsiniz əgər in nəzər salaq. Bir markası uzadılması edək. Cool. Mən qəbul necə uşaqlar görmək psset7.zip və finalpaper.docx, və yalnız çap Zip və docx? Salam? OK Mən sizin göz up edirəm Siz etdiyiniz pset funksiyası əgər xahiş olacaq simli, müəyyən bir sona var Müəyyən bir səhv baş kodu vermək lazımdır. Və bu olduqca dəhşətli olacaq. Siz anlamaq bilər, çünki uzantısıdır nə, Əgər ki, müqayisə edə bilərsiniz onu oyunları əgər uzadılması görmək müəyyən uzadılması. Və sonra qayıda bilər sağ bir səhv baş beledir? Bəli. Auditoriya: Belə ki, biz deyil 1 və ya heç bir şey əlavə etmək üçün var? pointer the-- gedəcək ANDI PENG: Xeyr. Auditoriya: sonra --point. ANDI PENG: Bəli. Bu dəqiq işarə harada baş idi. Belə ki, burada, məsələn, biz istəyirik dövr üçün axtarış. Belə ki, geri olacaq dövrünə bir göstərici. Və sonra çap olacaq həyata dövrdə başlayır. Belə ki, 1 əlavə etmək lazım deyil. Olsa da, əgər, tamamilə gözəl var yalnız cür, heç emin değilseniz özünüzü test. Bir nümunə proqram qurmaq. Özünüzü test və Bu çap olduğu görürük. Bu da bunu bir pis yol deyil. Cool. Və olduqca çox bütün var Mən bu gün uşaqlar üçün idi. Biz bu gün pset məhsulları bir çox idi. Belə ki, zaman şübhə kimi Mən həmişə baxmaq ifadə edərək, bu pset üçün string.h kitabxana. Bir çox var olacaq var ki, funksiyası faydalı ola bilər. Bəzi faydalı ola bilər. Mən, həqiqətən, bilmirəm. Onun vasitəsilə Wade var Onların bütün dəstə. strstr, strchr, strrchr var super, super faydalı, eləcə də strcpys və strcasecmps biz artıq istifadə etdiyiniz. Bu ilə ətrafında messing yalnız Lutun Onlar bərabər əgər strings, müəyyən strings stuff həyata almaq, və düzgün faylları açmaq üçün edə. Bu fayl I / O bir çox var. pset həqiqətən pis deyil. Siz almaq olacaq Bu, download baxmaq, və kodu bütün dəstə görmək. Heç bir narahatlıq, kod həqiqətən yazmaq bütün pis deyil. Hər kəs ilə məsələlər varsa onların server, bölmə sonra məni görmək gəlmək. Üçün daha üzr Halloween konfet gətirilməsi. Mən yanlış idi nə bilmirəm. Amma biz ikiqat olacaq candy növbəti dəfə. Sizin pset və uğurlar bu həftə. Yup.