HANNAH BLUMBERG: Hi everyone. Biz başlamaq olacaq dəqiqə yalnız bir neçə erkən biz bir çox var-ci ildən maddi vasitəsilə almaq üçün. Mən Hannah edirəm. Mən TF edirəm. Maria qoşulması olacaq Bizə yalnız bir neçə dəqiqə. O, əvvəl sağ bölmə öyrədir. Mən bölmə hüququ öyrətmək sonra, belə ki, biz gedirik saat yarım onu ​​saxlamaq. Siz burada görəcəksiniz kimi, belə ki, biz çox var Bir neçə mövzular biz vasitəsilə almaq lazımdır belə ki, biz sürətli bir az davam edəcəyik. Amma hər hansı bir anda, əgər biz bir şey demək çox tez və ya başa düşmürəm, sual ilə dayandırmaq çekinmeyin. Biz bu edə olmaq istəyirəm Hamınıza faydalı iclası nəzərdən mümkün qədər. Awesome. Belə ki, ilə sağ jump edək Bəzi mövzular ki, biz, həqiqətən, çox çox qısa əhatə viktorina 0 baxış iclasında viktorina 0. Belə ki, bağlı siyahıları ilə başlayan. Belə ki, yalnız bəzi əmin olun bağlı siyahıları haqqında əsas bilik və bunu rahat Əsas əməliyyatları bəzi. Belə ki, yalnız nəzərdən bağlı üçün siyahıları Diziler daha yaxşı Onlar dinamik inkişaf edə bilər, çünki. Belə ki, böyük üstünlüyü var. Biz onları istifadə gördüm hash masalar zaman dəqiq necə çox bilmirəm şeylər istəyirəm olacaq Bizim data strukturu daxil etmək üçün. Təəssüf ki, biz ədəd bütün yaddaş üzərində bağlı siyahısı, belə ki, biz mütləq olmayacaq daimi vaxt çıxışı edə bağlı siyahıda hər hansı bir element. Bir tapmaq üçün Xüsusilə element, biz bütün təkrarlamaq lazımdır əvvəldən yol. Belə ki, unutmayın ən ki, əsas əməliyyatlar 1 omega var. Belə ki, insert, yalnız 1 gedir. Sil almaq n-ci ildən gedir siyahıdan tapmaq getmək üçün var. Və axtarış n, pis, bilər. Biz kimi bir şey edə bilməz bir bağlı siyahısında ikili axtarış ildən biz bilməz yalnız təsadüfi orta jump. Cool. Awesome. Çıxarıcı borular bir az. Bu, yenə, viktorina 0 gəldi, belə ki, bu super rahat olmalıdır. Amma çıxarıcı borular, biz xahiş qablar bir yığın unutmayın. Və ilk olacaq, həyata davam. Beləliklə, biz hər şeyi stack up yığını, və sonra biz bir şey almaq üçün çalışdığınız əgər biz off-- off yaratma zəng edən yığını biz üst off gəlir. Və biz bir şey qoymaq istəyirsinizsə yığını, biz məcbur çağırırıq. Belə ki, həmişə böyüyən olacaq qablar bir yığın kimi dibindən. Awesome. Göründüyü çıxarıcı borular həyata etdik həm bağlı siyahıları və Diziler ilə. Siz həyata edirsinizsə Diziler ilə, istədiyiniz takip əmin olun ölçüsü və gücü, həm də. Belə ki, ölçüsü cari olacaq Sizin yığını şeyi sayı, tutumu isə ümumi sayı şeyi sizin yığını bilərsiniz. Cool. Çox Eynilə, biz sıralarında var. Bu halda, yerinə düşünərək qablar bir yığın, bir xətt düşünün. Bu ilk birinci olmaq üçün gedir. Siz astarlı Belə ki mağaza bir şey, biz ümid edirik şəxs ilk ki, line ilk kömək olacaq. Əvəzində təkan söyləyən və biz yığını üçün nə kimi pop, biz yalnız enqueue və dequeue deyirlər. Və yenə, əgər bir sıra ilə bu həyata, biz takip lazımdır yalnız ölçüsü gücü, həm də rəhbəri olan bizim növbə ön olacaq. Cool. Ki, hər hansı bir hər hansı suallar? Awesome. Sağ boyunca hərəkət. OK, hash masalar. Bu başlayır burada həqiqətən maraqlı almaq. Belə ki, bir hash table bir təzahürüdür assosiativ array. Belə ki, əsasən nə oldu biz bütün bu giriş var ki, və biz bir hash verir deyir funksiyası, OK, bu harada var hash table bu məxsusdur. Sadə hash funksiyası Beləliklə, biz yalnız deyib gördüm ki, OK, biz qoymaq istəyirəm Güman Bizim hash masa strings. Və həqiqətən sadə fikir OK, demək ola bilər, yalnız düzmək imkan sözü ilk məktub. Burada görə bilərsiniz, biz banan almaq biz bir hash funksiyası vasitəsilə qoymaq və bu, hey deyir index 1 getməlidir. Beləliklə, biz mahiyyətcə bir hash hesab edə bilər müxtəlif buketler bir dəstə kimi masa. Və bu buketler hər gedir bir bağlı siyahı rəhbəri keçiriləcək. Və bağlı siyahısında olduğu biz deyil həqiqətən məlumatların müxtəlif parçaları qoymaq. Belə ki, dalğıc bir az daha bir hash funksiyası daxil, burada Məsələn mən yalnız biz demək olduğu izah, OK, ilk məktub almaq Biz istəyirik və sözü buketler daxil düzmək üçün gedir. Belə ki, güman, 26 buketler olacaq, əlifba hər bir hərf üçün bir. Niyə bu böyük bir hash funksiyası deyil? Bu qeyri-ideal edir? Bəli. Auditoriya: Siz olacaq toqquşma var. HANNAH BLUMBERG: Bəli, dəqiq. Siz toqquşma var olacaq. Belə ki, bir şey var. Necə biz və biz haqqında danışmaq lazımdır yalnız ikinci toqquşma düzeltmek. Bu başqa bir problem Xüsusilə hash funksiyası Müxtəlif ki buketler olacaq olduqca kəskin müxtəlif ölçülü. Biz bir çox var bilirik ki, X çox A ilə başlamaq daha çox söz, belə ki, biz çox olacaq Bizim hash masa balanssız buketler. Cool. Belə ki, Bəli, bu geri almaq imkan toqquşma nöqtəsi. Bir toqquşma var, əgər biz nə etməliyəm? Biz bir neçə müxtəlif variantları var. Belə bir, belə ki, biz çalışırıq güman Bizim hash masa giləmeyvə qoymaq. Və biz oh, biz istəyirik, bax indeksi 1 qoymaq üçün, lakin banan artıq orada yaşayır. Biz nə üçün gedir? Biz iki əsas variantları var. Sayı bir OK, biz demək olar ki, indeksi 1 heç bir otaq var, lakin yalnız vasitəsilə axtarır saxlamaq imkan biz bir açıq spot tapa bilərsiniz qədər. Belə ki, biz, OK, demək lazımdır nin yerində 3 qoyun bildirin. Ki, bir seçimi var. Bu probing xətti deyirlər. Və ikinci seçimi, yaxşı, OK, deyib yalnız bu buketler hər edək bağlı siyahıları rəhbərləri ola bilər. Və daha çox var, əgər OK Bir vedrə bir şey daha. Biz yalnız olacaq ön üzərində əlavə. Belə ki, burada OK görə bilərsiniz, biz giləmeyvə daxil zaman, biz yalnız cür, banan etdi bir az üzərində itələdi və orada bir giləmeyvə atdı. Və də tamamilə gözəl var. Bu ayrı-ayrı chaining adlanır. Siz növ kimi bu hesab edə bilər bağlı siyahıları rəhbərləri bir sıra. Hash hər hansı suallar masalar, hash funksiyaları? Awesome. Ağaclar və çalışır. Belə ki, bir ağac hər hansı bir növ deyil data strukturu ki, bəzi sort var iyerarxiya və ya bir növ üçün müxtəlif obyektlərin Reytinqde. Bu super olacaq aydın biz nümunə görəndə. Və biz birlikdə çalışır gördüm hash masaları ilə, pset5-- da ki, yenidən, tamamilə ədalətli oyun bu bir data kimi viktorina üçün strukturları ki, biz fərqli şeylər saxlamayın. Lüğət halda, biz sözləri bir dəstə saxlanılır. Belə ki, bəzi ağacların bir nəzər salaq. Belə ki, bu bir ağac bir nümunəsidir. Bu, strukturu bir növ var iyerarxik strukturu ki, ki, görə bilərsiniz üst bu 1 node 2 və 3 yuxarıda dərəcə bir növ var olan 4, 5, 6 və 7 yuxarıda, olan 8 və 9 üstündür. Bütün var Beləliklə, biz bir demək ağac, bilərsiniz, belə ki, yalnız cür Sizin rəhbəri bu şəkil. İndi biz bir neçə var daha ixtisaslaşmış ağaclar. Belə ki, bir misal bir ikili ağac var. Və ikili ağac daha, yalnız olacaq bir növ ilə bir veri strukturu iyerarxiya, lakin qovşaqlarının hər ən çox iki uşaq ola bilər. Söz ikili gəlir harada. Belə ki, bu ikili ağac bir nümunəsidir. Belə ki, ağacların kiçik kateqoriya var. İndi daha konkret almaq imkan və ikili trees-- ikili axtarış haqqında danışmaq ağac, daha. Belə ki, burada fikir deyil yalnız ki, hər node, ən iki uşaq var lakin uşaqlar bütün Sol kiçik olacaq və uşaqların bütün doğru böyük olacaq. Belə ki, yalnız bildiriş bizim ikili ağac var ədəd arasında əlaqələr. Amma bizim ikili axtarış ağac, görürük, OK, burada 44 var. Və 44 sol hər sayı sağ kiçik və hər şey böyükdür. Və hər keçirir ağac səviyyəsi. Belə ki, burada, bu çox kiçik 22 və bu 22 daha böyükdür. Və ikili axtarış ağac var. Niyə biz bu deyirlər düşünürsünüz bir ikili axtarış ağac? Nə alqoritm sizə xatırlatmaq edir? Auditoriya: Binary axtarış. HANNAH BLUMBERG: Binary axtarış. Bir arıyorsanız Çünki Bu ağac xüsusi sayı, hər nöqtədə, yalnız döymək bilərsiniz böyük ağac off yarısı. Və belə ki, bizə bir şey vermək olacaq ki, ikili axtarış kimi bir çox görünür. Hər hansı sual? Bütün sağ, sərin. Bütün hüquqlar, çalışır. Hər kəsin sevimli. Belə ki, bu nümunəsi olduğunu biz sinif bir dəstə gördüm. Və yenə, bu, yalnız başqa biz data saxlaya bilərsiniz yol. Lüğət halda, yenidən, Bu yalnız strings olacaq. Belə ki, nə həqiqətən bu görək bir qədər aşağı səviyyədə kimi görünür. Belə ki, bir nəzər salaq trie bir node. Və biz OK, orada olacaq, bax bir Boolean və node olmaq, bir node bir göstərici. Və biz ki, görəcəksiniz Boolean is_word adlanır. Belə ki, mahiyyətcə, ki, uyğun gedir bu kiçik üçbucaq olan Burada kazanılmış varsa, deyir Bir tam söz gördük. Biz bilirik ki, "turing" üzərində Burada tam söz, halbuki yalnız T-U-R bir söz deyil ki, az delta görmürəm, çünki. Və az delta, yenidən, bu is_word uyğundur, Bu Boolean is_word. Və sonra biz uşaqlar bir sıra var. Siz hər səviyyədə So xüsusi node var, və ki, node xal bütün əlifbası array. Belə ki, daha görə bilərsiniz, bu picture-- mən deyiləm geri jumping saxlamaq niyyətindədir və forth-- ki, üst ki array müxtəlif bir dəstə var bu off gələn qovşaqlarının. Əgər siz 26 və ya 27 var əlavə xarakter daxil. Bu bizi bir verir Bizim veri yolu baxdı bilər ki, bir şəkildə ki, super sürətli baxa bilərsiniz. Bir trie üçün axtarış zaman nədir? Auditoriya: [işitilemez]. HANNAH BLUMBERG: Bəli. Nəzəri olaraq, daimi vaxt var. Bu, yalnız ölçüsü olacaq Siz baxmaq istədiyiniz söz. Biz bir zillion əlavə, hətta Bizim trie üçün daha çox söz, Bu bizi niyyətində deyil artıq müəyyən etmək üçün bir söz trie edir. Belə ki, həqiqətən gözəl. Auditoriya: yalnız etdi ki array başlamaq? Bir point və ya iki qaçırdı. Yalnız haqqında danışmaq olar ikinci ki? HANNAH BLUMBERG: Əlbəttə, tamamilə. Yaxşı sualdır. sual biz idi ki, bir sıra var kimi node ulduz gedir sağ, yalnız node qarşı? Cool. Belə ki, burada biz nə dediyini Bizim array yalnız edir digər serialların göstəricilərinə olacaq. Belə ki, bu cür onu mahiyyətcə var Bu şəkildə bir bağlı siyahı kimi hiss burada bu uşaqların hər yalnız növbəti node qeyd. Və yol ki, biz həqiqətən OK, hey, müəyyən, biz bütün vasitəsilə iterated etdik söz, lüğət, bu söz, biz yalnız bu is_word edin. Böyük sual. Bəli. Auditoriya: OK. Belə ki, trie üçün iş nə idi? HANNAH BLUMBERG: Sure. Bir trie üçün uzunluğu So axtarış daimi vaxt olacaq. Belə ki, yalnız olacaq söz hərflərin sayı. Bu asılı deyil lüğət ölçüsü və ya data strukturu ölçüsü. Belə ki, burada bir az sadə misal var. Bu halda, siz görə bilərsiniz söz bat lüğət edir və zoom var, lakin siz zoo kimi bir şey yoxdur. Necə ki, biz zoo edəcək? Biz zoo əlavə et necə bizim lüğət, bizim trie üçün necə? Bəli. Auditoriya: is_word olun doğru [Işitilemez] üçün. HANNAH BLUMBERG: Yaxşı. Beləliklə, biz Z-O-O demək istədiyiniz, və sonra istədiyiniz eləcə də qutusu off yoxlamaq istəyirəm. Great. Çox qısa müqayisə edək hash masalar qarşı çalışır. Çalışır həqiqətən böyükdür Çünki biz dediyi kimi, Onlar daimi zaman axtarış təmin edir. Amma böyük dezavantaj onlar humongous istəyirik. Siz mənada əldə edə bilərsiniz, hətta baxaraq, Bu almaq olacaq ki, yaddaş miqdarı. Belə ki, onlar çox olacaq hash masalar daha, lakin onlar vermək olacaq Bizə daha sürətli axtarış dəfə. Belə ki növü var sizin tradeoff, siz qayğısına nə, Bu sürət və ya yaddaş olub. Ki, hər hansı bir hər hansı bir sual, C data strukturları bütün. Gözəl. OLDU. Biz bir az üzrə hərəkət etmək olacaq Maria ilə web inkişaf bit. MARIA ZLATKOVA: Lovely. OLDU. HANNAH BLUMBERG: Siz mənim laptop istifadə edə bilərsiniz. MARIA ZLATKOVA: Nice. Sərin, OK. Biz web indi hərəkət kimi inkişaf, biz bir az söhbət dəyişən izinleri haqqında faylları və dizinleri ki, onlar əlçatan ola bilər digər istifadəçilər üçün, dünya üçün, və ki, biz necə görə bilərsiniz əsasən biz onlara çatdırmaq bilər biz saytlarda kimi şeylər inkişaf zaman ki, biz əsasən bunu etdik. Beləliklə, biz chmod əmri gördüm, olan əsasən, dəyişiklik növüdür. Ki, bir Linux command və Bu giriş icazələri dəyişikliklər fayl sistemi obyektlərin. Və bir fayl sistemi obyekt yalnız bir kataloq bir fayl, bir şey ki, siz icazələrin dəyişir. Belə ki, fayl icazələrin görmək, biz komanda ls, siyahısı,-l yazın. Və biz yazın zaman, biz adətən bəzi icazələrin görə ki, bu kimi sort baxmaq bir kataloq adı qarşısında. Belə ki, d kataloq aiddir. Və sonra biz üç Triads əsasən ki, ya icazələrin baxın bir istifadəçi bir qrup, və ya dünya. icazələrin növləri ki, biz insanların bu üç qrup üçün üçün w oxumaq üçün ya r var yazmaq və icra üçün x. Və biz o ola bilər qrup və dünya, eləcə də. çətin şey ki, bəzən deyil biz chmod funksiyanı yazın zaman, bəzi nömrəsini yazın olardı üç bit ibarət idi. Beləliklə, biz kimi edə bilər 777 və əsasən əlavə dəyər istinad bu Triadalar hər r 4 baxın, çünki, w ki 2 baxın və x 1 həvalə edirəm, belə ki, ədəd hər qədər əlavə zaman məcmu sıra aşağı gəlmək olardı 0 və 7 arasında kumulyativ dəyər. Belə ki, biz də 0 ola bilər heç icazələrin. Və əsasən bizi verəcək ya istifadəçi üçün icazələrin qrup və ya dünya. Indiyə qədər bu barədə hər hansı bir sualınız? Auditoriya: Siz oxumaq dedi 4 idi? MARIA ZLATKOVA: Bəli. Auditoriya: [işitilemez]. HANNAH BLUMBERG: Yup. Auditoriya: Və sonra bütün bu əlavə digər nömrənizi göstərmək olar. MARIA ZLATKOVA: Bəli. Bəli. Bu böyük suallar var. Lovely. Sonra, biz HTML və a atladı web inkişaf haqqında az daha. Belə ki, HTML yalnız deməkdir Hypertext Markup Language. Və biçimlendirme deyil bir standart dil Bu web pages yaratmaq üçün istifadə ki,. Bu biçimlendirme dili deyirlər bu, həqiqətən tərtib deyil, çünki. Bu necə bir kodu lazımdır demək deyil icra və ya bu kimi bir şey ola bilər. Bu, sadəcə təsvir və necə bir web təsvir səhifə qurmaq lazımdır onun elementlərinin hər biri ilə və onlar istifadəçi baxmaq necə. HTML tags bəzi biz getdi aşağıdakılardır. Bizim HTML sənədlər bütün DOCTYPE html ilə başladı. Sonra biz həmişə html tag var. Biz baş və bədən. Və bu HTML var ki vacibdir nested strukturu bu cür çox aydın, çünki. Və sonra çox aydın olur zaman biz həqiqətən yaxın tags açmaq və lazımdır. Və biz həmişə bağlamaq lazımdır açdıq etdik tags. Və biz burada növləri bəzi var biz var istəyirəm qabaqda şeyi. Belə ki, biz, məsələn, CS50 adı. Və sonra biz, həqiqətən, Bir stil keçid edə bilərsiniz ki bizim veb səhifəsinə stil necə müəyyən edir. Ki, CSS edir. Biz artıq getmək olacaq həmçinin slaydlar növbəti neçə. Bədən daxilində, biz müəyyən bəzi sinifləri və kimlikleri. Və bir öyüd-nəsihət kimi, yenə, Kimlikleri unikal və dərsləri çox maddələr üçün təyin edilə bilər. Və yalnız o deməkdir ki, biz sinifləri və kimlikleri istifadə edə bilərsiniz belə ki, digər structures-- ərzində üçün Məsələn, CSS faylları və ya stil ərzində xüsusi elementləri müraciət sheets-- və əsasən biz stil istəyirəm ki və ya bir element dizayn bəzi xüsusi şəkildə. Biz onlara müraciət onların kimlikleri və siniflər. Və biz də müraciət edə bilərsiniz habelə tags fərqli şeylər, lakin kimlikleri və siniflər yalnız bizə vermək yönlü və xüsusi nə biz müraciət etmək istəyirəm. Belə ki, yalnız bir nümunəsidir. Biz ərzində yenə bilərsiniz CSS fayl biz bəzi müəyyən istəyirəm style-- rəng, şrift, belə ki, və stuff biz that-- kimi bir bədən üçün stil müəyyən edir. Belə ki, müəyyən olardı bütün bədən tag. Amma sonra biz də müəyyən edə bilərsiniz bir #title üçün stil. Və yenə, hashtag aiddir bizim ID və dot sinif aiddir. Və sonra .info, biz bəzi atributları bilərsiniz. Biz geri getmək zaman və yenə, biz idi bizim sinif info və ID title çağırıb. Və biz müraciət görə bilərsiniz onlara #title və .info tərəfindən. Auditoriya: Siz demək istəyirsiniz hashtag [? Məni qəbul? ?] MARIA ZLATKOVA: Bağışlayın? Auditoriya: Siz demək istəyirsiniz hashtag [? Məni qəbul? ?] MARIA ZLATKOVA: Hashtag ID, belə #title deməkdir nə elementləri aiddir title adlanan bu ID. Və sonra dot bir sinif aiddir. Belə ki, .info bu element aiddir Bu sinif info var, çünki. Yup. Auditoriya: Niyə HTML ayırt? Niyə müəyyən şeylər var deyirlər Kimlikleri və müəyyən şeylər sinif var? MARIA ZLATKOVA: Bu səni yalnız var HANNAH BLUMBERG: sual təkrarlayın. MARIA ZLATKOVA: Oh, sorry. Niyə biz müəyyən elementləri ayırmaq yoxdur kimlikleri və siniflər kimi digər elementləri kimi? Bu, çünki ki, yalnız var həqiqətən tez-tez dizayn seçimi. Bu bir çox verir olan yönlü Bu xüsusi maddə istəyirsiniz edə onlar istəyirəm, çünki bu ID etmək bir çox şeyi etmək bu, və mən yalnız bir stil müəyyən etmək istəyirəm, müəyyən style maddə üçün və ya rəng nə. Və yol bunu Yalnız ID verilməsi. Və sonra mən istəyirsinizsə etmək müxtəlif maddələr bir neçə olan əvəzinə ki, gedir və their-- qəbulu əvəzinə tərəfindən bunu tag tag ki, çünki bütün tag üçün mobil müəyyən hər zaman üçün tag istifadə olunur, Bir neçə maddələri bir sinif bilərsiniz. Və sonra yalnız ki, sinif daxil olmaq və demək Bu sinif yol stil istəyirəm. Və yenə, sinif bilərsiniz çox müxtəlif maddələr ola Harada unikal olmalıdır. Böyük suallar. Hər hansı digər suallar? OK, zəhmli. Yenə də, bu necə bu selectors var hashtag ilə, CSS istinad edilir, nöqtə ilə, və ya bir şey olmadan bəzi tag stil təyin, bədən kimi. Və burada biz ümumi var Bunu necə syntax. Bəzi yaxşı təkrar HTML və CSS üçün təcrübələri, biz, yenə yaxın bütün lazımdır Biz açıq HTML tags. Və biz tövsiyə nə son layihələr üçün nə, həmçinin CS50 Maliyyə kimi etmək HTML bütün doğrular əmin olun. Və W3 Qiymətləndirici ilə həyata. Və biz etdik sonra nə və biz bunu tövsiyə nə belə ki, stil ayıran edir Biçimlendirme HTML CSS. Necə aiddir, belə ki, bir şey Sizin səhifə vizual baxmaq üçün gedir və necə redaktə olacaq CSS sənəd daxil olmalıdır. Və sonra biçimlendirme necə şeyi söyləyərək bir-birinə bağlı olan, HTML ki, daxili getmək lazımdır HTML sənədlər. Hər hansı sual? Mhm. Auditoriya: tam nə gedir səhifə qiymətləndirmə ilə biz doğrulama etdiyiniz zaman [Işitilemez] yaradılmış HTML? MARIA ZLATKOVA: Belə ki, hesab edirəm ki, what--. Belə ki, dəqiq nə gedir səhifə qiymətləndirmə ilə və niyə biz bunu etmək lazımdır? Əsasən, biz nə etmək lazımdır Çünki bir çox dəfə, sizin browser, Bir tag yaxın yoxsa ya kimi bir şey, Sənin Brauzer hələ gedir bir səhifə göstərmək və hələ də iş bilər, lakin bu ən yaxşı təcrübə ki, əmin etmək var Siz yenə bütün tags qapalı etdik bütün elementləri var ki, Onlar olmalıdır, və tərəfindən var əsasən ki, Əvvəlcədən olunur konvensiyalar. Bu, yenə yalnız bir şey olmalıdır bunu öyrənmək, olan fərqli olaraq kimi sloppier kodu və stuff. Bəli. Oh, sorry. Mən sizin əl qaldırmaq idi düşündüm. Auditoriya: Xeyr, yalnız [işitilemez] idi. MARIA ZLATKOVA: OK. Auditoriya: Təşəkkür edirəm. MARIA ZLATKOVA: Əlbəttə, təşəkkür edirəm. Belə ki, yenə, necə gedir məlumat köçürülür və kommunikasiya modellər məlumat ötürmək üçün. TCP / IP. TCP yalnız Transmission deməkdir Nəzarət Protokolu və IP Internet Protokol aiddir. Və yalnız aiddir yol data çatdırılır. Biz bəzi məlumatlar var ki, əgər belə səni təslim etmək lazımdır Müəyyən bir server üçün sorğu etmək. Məsələn, biz cs50.net daxil olmaq üçün cəhd edin, biz sorğu etmək CS50 server və biz biz almaq istəyirəm ki, görəcəksiniz məlumat bu cür. Və sonra bu protokol əsaslanır Bu məlumat çatdırılır necə, server məlumat verir bizə geri, müştəri. Və sonra biz keçirmək istəyirik səhifə üçün məlumat və sonra istifadə edin. Beləliklə Hypertext Transfer Protocol yalnız başqa protokol və ya müəyyən edir konvensiyaların necə müəyyən web browser və web server ünsiyyət lazımdır. Və bütün bu qoyaraq birlikdə, HTTP, yenə, yalnız bu mətn müəyyən necə müəyyən biz bunu iş etdik HTML ilə, Bu sizə təslim olmalıdır və necə necə çatdırılır ki, data Siz olur. Sizlərin xatırlayıram və ki, nə var bir sinif, biz sorğuların bir çox idi və biz sintaksis bir çox idi biz istəyirik ki, bu istekleri üçün İndi artıq getmək gedir. Belə ki, yenə biz göndərmək bir server sorğu, biz hər şeyi bir neçə müəyyən etmək lazımdır. Beləliklə, biz növü tapmaq lazımdır sorğunun biz müəyyən edirik ki. Və yenə, biz, məsələn, GET metodu bir növü Biz tələb var. Və sonra HTTP / 1.1 yalnız Hal-hazırda istifadə etdiyiniz protokol. Çox vaxt ki, olacaq Biz istifadə etdiyiniz protokol. Bir sual varsa Sizin viktorina kimi. Bu konvensiyalar var ki, biz bu günə qədər var. Backslash nə növ aiddir şeyi biz tələb edirik. Sonra, bizim ev sahibi bu, məsələn, halda, biz google.com getmək üçün çalışırıq. Belə ki, bu bir ana üçün dəyəri. Bu sorğu bir növüdür ki göndərilə bilər. Cavab növü və sonra bilər göndərdi, yenidən, bu protokol əsasında, yenidən, HTTP / 1.1. Belə ki, HTTP versiyası daha var. 200 OK yalnız status kodu. Və OK, yalnız bir söz deyil ki, status kodu əsasında. Və sonra Content-Type növü aiddir ki, sizin geri Aldığınız web səhifə üçün və brauzerinizin ki sonra göstərə bilər. Və text / html edir. Auditoriya: 1.1 nə deməkdir? MARIA ZLATKOVA: ki, yalnız var version of-- oh, 1.1 nə deməkdir? Bu yalnız versiyası, HTTP edir biz istifadə etdiyiniz bir protokol versiyası. Böyük sual. Digər suallar? Auditoriya: siz yekunlaşdırmaq bilər Content-Type real tez? MARIA ZLATKOVA: Belə ki, nə server edir. nə deyil məlumat növü məzmun növü suallar idi. Belə ki, növü idi geri almaq məlumat server, növü olan data browser sonra edə bilər ki, Siz istifadə etdiyiniz göstərir. Auditoriya: nə bu deyilmi protokol etmək belirten? MARIA ZLATKOVA: Bağışlayın? Auditoriya: protokol nə demək deyilmi? MARIA ZLATKOVA: Protokolu Auditoriya: --what Content-Type ya what-- MARIA ZLATKOVA: protokol əsaslanır Us belirten protokol nədir? Bu yalnız bir yol var Bu məlumat sizə təslim edildi əsaslanır protokol hansı haqqında Bu məlumat almışdır sizə geri təslim. Ki, mənada, sort edir? HANNAH BLUMBERG: Siz protokol hesab edə bilər a-- kimi Professor hesab edirəm Malan xarakterizə kimi cür a-- kimi sinfində bu kimi insan Qucaqlaşma ekvivalent. Kimi, hey, mən sorğu deyiləm, demək və mən Versiya 1.1 HTTP idarə etmək üçün necə. Və sonra server deyir OK, oh, istisna olmaqla, mən həm də mövcuddur. Mən də HTTP / 1.1 ilə məşğul necə. Mən verəcəyəm Bəzi məzmun geri. Bu halda, gedir növü text / html olmaq. Belə ki, bu cür yalnız bir yolu var Onların communicating-- üçün MARIA ZLATKOVA: Bu, yalnız var Siz olduğunu təsdiq eyni aşağıdakı protokol və hər iki müştəri və server belə brauzerinizin və server sort siz etdiyiniz nə bilirik söhbət və var data keçməsi üçün Konvensiyası. Auditoriya: Belə Content-Type part-- Content-Type text / dilidir HTML ki eyni mesaj ayrı bir hissəsi? Yoxsa ki, 200 deyək hissəsidir? 200 onlara və ya is-- deyir MARIA ZLATKOVA: 200 bütün OK getdi deyir. Və sonra məzmun növü bir növ eyni mesaj ayrı-ayrı hissəsi, və şey olduğunu söyləyən I Döndü text / html bu növü var. Bu, yalnız daha çox məlumat verilməsi oldu. Əlavə etmək üçün bir şey var? OLDU. Bu hər hansı digər suallar? Awesome. Belə ki, bəzi digər HTTP halları ki, biz 200 OK əlavə əldə edə bilər biz bəlkə gördüm olanları bəlkə bir çox 403 və 404 var. Belə ki, 404, siz üçün çalışırıq, əgər yoxdur giriş bir şey. Məsələn, belə sizin CS50 Maliyyə psets, Siz quote.html göstərilməsi edilsəydi və bu fayl yox idi, lakin əvəzinə siz ki, quote.php idi 404 ilə nəticələnəcək tapılmadı fayl mövcud ola bilər, çünki. 403 üçün, qadağan icazələrin aiddir. Bəzi fayl deyil oxunaqlı əgər Belə ki, dünya, bir 403 geri almaq bilər. Bəzi başqaları bilər 301, daimi köçürülüb get--; 302 tapıldı; 304, Modified; 400, Bad Filmlərin; və sonra Daxili Server Error 500 və 503, Service Almaq. Bəli. Auditoriya: Will biz gözlənilir bütün bu halları yadda? MARIA ZLATKOVA: I olardı onlara istifadə etmək hesabatı. [Gülüş] Auditoriya: Biz gözlənilir hər bir tetikler nə bilirik? MARIA ZLATKOVA: onlar edirsiniz? HANNAH BLUMBERG: biz olanlar üçün Belə ki, sual into-- run was-- MARIA ZLATKOVA: onlar gözlənilir bu statusu nə hər bir bilirik kodları səbəb ola bilər? Biz istifadə etdiyiniz olanlar üçün belə və qaçdı, bəli, demək olardı. Belə ki, biz mütləq 200 gördük OK və psets onu mühazirələr oxumuşdur. Biz 404 403 gördüm. Digər olanlar üçün? HANNAH BLUMBERG: Mən 500 ədalətli oyun görünür deyirlər. MARIA ZLATKOVA: 500, evet. HANNAH BLUMBERG: Bəli. Yalnız ümumi mənada var onların səbəb olur nə. Və həmçinin yalnız bu adları, siz cür kimi bir savadlı tahmin kimi etmək nə üçün, həqiqətən, onlara səbəb oldu. Məsələn, yəqin ki, daimi hərəkət Fayl daimi köçürülüb. Auditoriya: Amma əvvəlki on exam, bir belə var idi necə ki, cavab bizi gözləyirsiniz? HANNAH BLUMBERG: That sıfır bal dəyər idi. çaynik on 418 sual , texniki bir HTTP statusu lakin bu sıfır bal dəyər idi. Aydındır ki, siz deyilik onları bilmək gözlənilir. Auditoriya: bir real biridir? HANNAH BLUMBERG: Bu real bir, lakin bir şey demək deyil. Bu, sadəcə bir zarafat var. Internet insanlar funny edir. MARIA ZLATKOVA: Great suallar uşaqlar. Hər hansı digər suallar? Auditoriya: daxili server səhv nədir? MARIA ZLATKOVA: Daxili server səhv yalnız siz olmuşdur o deməkdir ki, ünsiyyət bilməyən nədənsə server ilə. Belə ki, mütləq deyil nə var bir şey kimi müştəri və ya bir şey ilə. Mən hər hansı bir xüsusi misal bilmirəm biz izah etmək artıq getdi etdik ki, lakin yeah. HANNAH BLUMBERG: Sure. Belə ki, məsələn, kimi edək Siz Mashup iş idi demək və Google server bəzi düşüb səbəblə elektrik kəsilməsi, deyək. Yəni daxili server olacaq səhv və ya bir növ sizə kimi of-- bir cavab geri almaq deyil. MARIA ZLATKOVA: Bəli. Siz etdiyiniz zaman yalnız var ünsiyyət bilməyən nədənsə, çünki server ilə Bu enən ya digər səbəbi. Belə ki, PHP daxil jumping. PHP, HTML fərqli olaraq, var proqramlaşdırma dili. Və biz, çünki istifadə etməyə başladı web inkişafı üçün çox faydalıdır. Biz ilk CS50 Maliyyə istifadə olunur. Və bu əsasən bizə gətirmək kömək edir birlikdə bu biçimlendirme, dizayn, və biz, həqiqətən informasiya istifadə necə bir web page şeyi keçirmək üçün. PHP özü PHP deməkdir Hypertext Preprocessor, belə ki, özü ilə bir recursive backnorym var. Və PHP üçün tags açılması biz sol sual işarələri ilə və sağ oxlar və php. Beləliklə, biz artıq bu bir dəstə gördüm. İndi biz yalnız getmək olacaq bu barədə əsas bəzi şeyləri. PHP ilə, dəyişən So adları dollar işarəsi ilə başlayır. Biz, yenə müəyyən etmir dəyişən artıq yazın. Biz C ilə nə kimi, biz bunu ehtiyac yoxdur. Biz müxtəlif bir dəstə edə bilərsiniz dəyişənlərin ilə stuff. Biz onlara birlikdə qoymaq bilər Onlara concatenating tərəfindən dot notation ilə olan biz yenə C edə bilmədim. Yenə bir az daha çox yönlü var dəyişənlərin baxımından PHP ilə. Yenə bir əsas funksiyası yoxdur. Və PHP şərh tərtib fərqli olaraq, Belə ki, yalnız biz C fayllar üçün etmək necə, biz PHP üçün bunu yoxdur. Əksinə, yol dilində ki, özü tərəfindən idarə olunur ki, bu şərh olunur. Və sonra azad tipli yalnız biz o deməkdir ki, dəyişən müəyyən etmək yoxdur növü və dəyişən növləri uzunluğu başa düşülür. Auditoriya: Amma nə etdi dot concatenation demək? MARIA ZLATKOVA: Sure. Biz together-- şey qoymaq istədiyiniz zaman belə ki, biz bir dəyişən ki, 3 dəyər idi və biz başqa idi simli dəyər idi dəyişən, biz birlikdə dəyişənlərin qoymaq bilər onların arasında bir nöqtə qoyaraq və onlara concatenating. Yoxsa biz bir yarada bilər dəyişən adlı adı və birlikdə qoymaq iki strings concatenating. Belə ki, biz ikiqat bir simli idi quotes və biz sonra bir nöqtə qoymaq və sonra biz ki, bir simli idi cəmi bir simli yarada bilər. Auditoriya: OK. MARIA LATVİYA: ki, aydın idi? Auditoriya: Bəli. MARIA ZLATKOVA: OK. Bəli. Auditoriya: Siz demək şərh çox tərtib, Siz söhbət deyil zaman kimi xüsusi olmaq lazımdır Bu C qarşı PHP gəlir? MARIA ZLATKOVA: biz demək tərtib fərqli olaraq şərh, biz nə deməkdir? Belə ki, biz lazım deyil o deməkdir ki, çalıştırılabilir fayllar PHP run. Bu gedir kimi çalışır deməkdir. Ki, hissi edirmi? A bit daha çox. HANNAH BLUMBERG: Belə ki, tərcüməçi hesab edə bilər məsuliyyət daşıyır başqa bir proqram kimi PHP vasitəsilə xətti ilə line getmək üçün fərqli olaraq və həqiqətən, onu həyata ikili aşağı bütün tərtib etmək. Bu, həqiqətən bir şey demək deyil olmamız lazımdır nə xüsusi haqqında. Biz hələ dəqiq olmaq lazımdır, və yoxdur Sizin nöqtəli vergül unutmaq və əmin olun Sizin dollar işarəsi var və bu kimi şeylər. Yaxşı sualdır. MARIA ZLATKOVA: Bəli. Belə ki, xətti ilə xətt kimi C faylları ilə qarşı, biz bütün final etmək lazımdır biz, həqiqətən, çalıştırabilirsiniz əvvəl. Ki, əsas fərq var. Ancaq yenə də, biz bilməz həqiqətən az xüsusi ola bilər. Belə ki, PHP seriallarda təmsil həqiqətən bir sifariş xəritəsi. Düymələri Diziler asılı dəyərlər belə. iki yol bir elan array, bu sintaksis əsasında, biz daha aydın ola bilər deyərək biz bir sıra var və biz xəritələr bu key1 var value2 xəritələr bu value1, key2. Və ya biz yalnız bir sıra yarada ki, özünü ehtiva və sonra açarları bir şəkildə aydın oldu. Bu hər hansı suallar? Auditoriya: olardı düymələri İkinci nümunə ola bilərmi? 0, 1, 2, 3? MARIA ZLATKOVA: Məsələn, yalnız var Bu düymələri mütləq deyil bir fərq etmək. Onlar necə siz müəyyən daxilində dəyərləri istifadə edin. Belə ki, əgər biz bir foreach idi PHP loop ki, ki, Bizə bütün dəyərlərlə getmək üçün imkan verir, biz bütün dəyərlər ilə getmək olar, hətta əgər biz idi və ya müəyyən deyil Saytda ərzində xüsusi açar əvvəlki syntax. Belə ki, hətta bu növ ilə serialın, biz hələ bilər bir foreach loop var hər keçir sıra əsas dəyərlər. Bir foreach sintaksis belə loop, biz bir sıra ilə başlayın. Bu $ Varış dəyişən faktiki array var Əvvəlki slide müəyyən ki, sanki gedir dəyər kimi dəyərləri hər vasitəsilə, asılı olub biz əsas idi və ya deyil. Və sonra biz bir şey edə bilərsiniz foreach loop daxilində dəyəri. Belə ki, yenə, əgər biz bir sıra var idi burada created-- kimi belə ki, biz foo və dəyərinin əsas var bar, Baz əsas və qux-- dəyəri bir foreach loop ola bilər ki, əsas dəyər kimi array keçir və sonra bir şey əsas və / və ya dəyəri ilə. Amma biz mütləq həmişə deyil bir foreach ki loops var dəyəri əsas xəritə kimi array keçir. Biz ilə getmək olar dəyəri kimi foreach loop array. HANNAH BLUMBERG: Mən hesab edirəm ki, sual, to-- nə gizli index edir? Auditoriya: Kinda. MARIA ZLATKOVA: Oh. HANNAH BLUMBERG: Bəli, Bəli. Belə ki, əsasən, belirttiğiniz yoxsa əsas, bu 01 olacaq. MARIA ZLATKOVA: Bəli. Just C kimi, bu sıfır var Bir əsas müəyyən yoxsa yönümlü. Auditoriya: Bağışlayın. Danışan cəhd edə bilər bir az louder? Mən bir az yaşıyorum narahatlıq hər şeyi eşitmə. MARIA ZLATKOVA: Mən təəssüf edirəm. Bəli, əlbəttə. Belə ki, mənə istəyirsiniz daha bu artıq getmək? Və ya şeylərdir deyil Auditoriya: Əvvəlki slayd əgər Belə ki, Siz yalnız bir ikinci üçün geri getmək bilər. MARIA ZLATKOVA: Əlbəttə, sorry. Auditoriya: Belə ki, ikinci burada array deyil əsas bir dəyəri var görünür, sort [? səbəbiyyət. ?] MARIA ZLATKOVA: sağ, sağ. Auditoriya: Belə ki, necə ki, çalışır Siz deyəndə bütün və ya heç biri deyil. Mənə ki, kimi görünür bir [? foo?] artıq. MARIA ZLATKOVA: Bəli, Bəli. Belə ki, yenə, bu deyil Bu mənada sifariş xəritəsi orada başa düşülür ki, Məsələn, göstəriciləri burada 0, 1, 2, 3 kimi başa düşülə bilər. Yenə o olan var göstəriciləri bizim bərabərdir dəyərləri üzərində eşlenen düymələri olan. Belə ki, əgər bizim əsas 0 üzr idi. HANNAH BLUMBERG: Xeyr, burada təbaşir oldu. Bu, həqiqətən, həqiqətən gözəl. MARIA ZLATKOVA Bu, böyük deyil. OLDU. Belə ki, yenə, $ Varış 0 olardı dəyəri 1 düyməsini basın. 0 dəyər 1 üçün əsas olacaq. Auditoriya: Mən təəssüf edirəm. Bu görünməz var. HANNAH BLUMBERG: Nevermind Bütün hüquqlar. Chalk pis bir fikir idi. Mən bunu geri almaq. Siz düymələri hesab edə bilər dəyəri 1 0 xəritələr kimi. MARIA ZLATKOVA: Bəli. Belə ki, bu 0, 1, 2, 3. Bu sizin düymələri ola bilər. Siz yeah as-- onların hesab edə bilər. Belə ki, əvəzinə olan açıq düymələri, onlar sort kimi başa düşülür göstəriciləri 0 başlayır. təbaşir kömək etmədi. Bəli. Auditoriya: foreach loop üçün, biz dəyər kimi görmək istəyirdi, Bu 0 yalnız avtomatik index ki? MARIA ZLATKOVA: Bəli. Bu dəyərlərin hər vasitəsilə getmək olardı. Auditoriya: [işitilemez] kimi 0 və ya yalnız 0 olardı? MARIA ZLATKOVA: Siz olardı sonra dollar işarəsi və kimi demək bir dəyişən adı, dəyər. Auditoriya: [işitilemez]. MARIA ZLATKOVA: Bağışlayın? Auditoriya: Bağışlayın, mən deyiləm yalnız yadda çalışır. Ki, siz bunu edə bilər yoxdur ki, əgər necə avtomatik endeksleme, yalnız 0 edir? MARIA ZLATKOVA: Belə ki, necə ki, Siz xüsusi açar adları olmasaydı? Auditoriya: Bəli. MARIA ZLATKOVA: Siz yalnız define ki yalnız bir adı kimi özünüzü deyirlər. Belə ki, psets, siz uşaqlar bilər $ satır kimi foreach $ sıra xatırlayıram, biz özümüz deyərək bu $ sıra yaradılmışdır biz $ satır kimi sıra vasitəsilə getmək istəyirəm. Biz yox idi, baxmayaraq ki, satır müəyyən bu açıq $, biz yalnız getmək bilər , bu, bizim əsas ola bilər demək və yalnız dəyərlərin hər keçir. Auditoriya: Belə dəyər yeni dəyişən deyil biz [Işitilemez] saxlamaq üçün yaradılması edirik? MARIA ZLATKOVA: Belə ki, bu deyil mahiyyət yeni dəyişən. Bu aiddir dəyişən var onların hər serialın içərisində. HANNAH BLUMBERG: Bu yeni dəyişən adı. MARIA ZLATKOVA: Bəli, yeni bir dəyişən adı, lakin bu yeah inherently-- deyil. Bu, sadəcə bir yeni dəyişən var Bunu edə bilər. Belə ki, necə biz etdi nə $ $ Satır, satır kimi satır yeni dəyişən ad idi ki, biz Bizim foreach loop yarada bilər. Bu əvvəl preexist yoxdur. Auditoriya: Siz getmək bilər orada nümunə hər məntiq? MARIA ZLATKOVA: Mhm. Oh, sorry. Burada misal var. Sure. Belə ki, hər belə array bu array getmək deməkdir ki, dəyər əsas kimi olacaq Bu array vasitəsilə getmək və ilk getmək və foo almaq əsas foo və dəyəri bar. Və sonra ikinci loop üçün iteration, onun vasitəsilə getmək və almaq olacaq əsas baz və dəyəri qux. Və sonra bir şey edə bilərsiniz onların biri və ya hər ikisi. Auditoriya: Belə arxasında ideyası dəyəri əsas nöqtə olan, siz daxil nə başa edirsiniz? MARIA ZLATKOVA: fikir nədir əsas işarə dəyər olan? Bu, sadəcə bir konvensiya, başqa bir var serialın keçir yolu və edə bilərsiniz daxil olmaq üçün əsas və ya dəyəri və ya hər ikisi və istifadə edin. Auditoriya: rolu nədir foreach çalışır ki, sifariş? Biz əlavə olsaydı belə array elementləri sonra, o ilk olanları olardı foreach serialın adlı, və ya sonra ola bilər? MARIA ZLATKOVA: Belə ki, nə foreach ki order loop bir sıra vasitəsilə gedir? Bu ilk keçir son element element, Son əlavə element. Daha sonra elementləri əlavə, onlar ilk elementləri ki accessed-- edilə ilk olaraq əldə edilə serialın elementləri, və sonra hər yolu ilə getmək istədiyiniz bir ordered-- növ kimi elementləri bir sifariş, lakin yol deyil ki, onlar array daxil edilmişdir. Auditoriya: Belə ki, yeni elementlər sonra əlavə olunur? Belə ki, onlar olacaq added-- edirik [son olanları? iteration. ?] MARIA ZLATKOVA: Yeni elementlər can-- əsasən, yeni elementlər əlavə zaman, Onlar serialın sonuna əlavə olunur? Auditoriya: Bəli. MARIA ZLATKOVA: Mən inanıram. Bəli. Və sonra foreach loop ilə, Siz yeni elementlər əlavə etdik sonra və onlara keçir yeni elementlər ki bu halda, yeni element accessed-- ola Son əlavə, son əldə edilə bilər. Auditoriya: yalnız bir misal verə bilər bir şey ki, ki, [işitilemez] dəyəri bir şey ilə [Işitilemez] və ya dəyər kimi, Siz necə format istədiyiniz kimi? MARIA ZLATKOVA: Sure. Mən bir nümunə verə bilər nə biz dəyəri nə olardı? Belə ki, uşaqlar ilə tanış ola bilər nə biz bir sıra vasitəsilə getdi sonra ki, və əsasən çap elementlərin hər, Məsələn, bir hissəsi kimi sifariş siyahısı və ya bir şey. Ki, hissi və ya biz istəyirik mu to-- Auditoriya: Biz bu dəyərləri çap edə bilərəmmi? MARIA ZLATKOVA: Bəli, biz çap edə bilər və sonra əsasən qiyməti, çünki xüsusi dəyəri, biz olacaq daxilində dəyərini çap. Belə ki, biz ilk iteration idi və bu biz $ dəyər çap biz bar çap olunacaq. Auditoriya: üçün də var var PHP loops və ya foreach loops? MARIA ZLATKOVA: var də PHP loops üçün. Onların məntiq əsasən siz istifadə etdiyiniz nə kimi eyni. Auditoriya: onun dəyəri null Belə ki. MARIA ZLATKOVA: Bu eyni kimi. Bəli. Auditoriya: Mən yalnız xahiş gedirəm. Belə ki, bir bəyan zaman array, ehtiyac yoxdur Bu neler size demək deməkdir ki, ola ki, yalnız edə bilərsiniz əlavə və elementləri [işitilemez] üz tutur. MARIA ZLATKOVA: Yup. Yup. Məhz. Biz bir sıra bəyan, biz nə ölçüsü demək lazım deyil, belə ki, biz yalnız elementləri əlavə edə bilərsiniz sonra, eləcə də üzərində. Ətraflı suallar? Belə ki, birlikdə PHP və HTML gətirərək, biz də gördük ki, Məsələn, bu nümunə, biz giriş sahəsində olan bir HTML forması. Və giriş sahəsində yalnız adı və sonra bir təqdim düyməsinə malikdir. Siz basın zaman təqdim düyməsini bizim hello.php fayl, forma üçün üsul, çünki almaq, biz adı nə əldə edə bilərsiniz bu qlobal dəyişən almaq Bu $ _GET üçün sintaksis is--. Və sonra biz nə əldə edə bilərsiniz adı ki, forma daxilində istifadəçi girişi bu sahədə adını ifadə edərək. Hər hansı bir sualınız və ya hər hansı bir Bu xüsusi nümunə suallar? Auditoriya: PHP haradadır? MARIA ZLATKOVA: İşdə. Belə ki, bu PHP üçün açılış tag edir. Auditoriya: Oh, doğru. MARIA ZLATKOVA: Bəli. HANNAH BLUMBERG: = kısaltmasıdır bu PHP və yalnız echo edir. Auditoriya: Oh. MARIA ZLATKOVA: Bəli, sorry. Hesab edirəm ki, aydın olmalıdır. HANNAH BLUMBERG: Print. MARIA ZLATKOVA: Bu, yalnız funksiyası var bizə bir şey çap etməyə imkan verir. Böyük sual. Belə ki, bəli going--. Auditoriya: orada çox olacaq mı PHP və HTML əl kodlaşdırma bir az viktorina 1? MARIA ZLATKOVA: bir ola bilər şərh ədalətli dəyəri PHP və HTML, mütləq kodlaşdırma miqdarı kimi, Bir yazmaq üçün ola bilər, baxmayaraq foreach loop, baxmayaraq ki, loop üçün. Loops hər hansı ki, biz ədalətli oyun burada əhatə edir. Və əsasən bu. HANNAH BLUMBERG: Mən hazır olacaq. Ki, eyni şəkildə, biz sizə istədi viktorina 0 C funksiyaları bir dəstə yazmaq, Mən bunu hazır olacaq PHP və JavaScript eyni. MARIA ZLATKOVA: Bəli. HANNAH BLUMBERG: mən deyərdim biz deyilik kimi çox az gedən böyük bir HTML yazmaq etmək ki, bir az var, sadəcə ona görə səhifə yorucu, lakin hissələri ola bilər. Ki, tamamilə ədalətli oyun. Kiçik HTML səhifə kimi, tamamilə ədalətli. Auditoriya: OK. Necə JavaScript həmçinin? HANNAH BLUMBERG: Bəli. JavaScript ədalətli oyun. MARIA ZLATKOVA: Bəli. Tamamilə ədalətli oyun. HANNAH BLUMBERG: Biz almaq lazımdır kimi 10 dəqiqə ki. MARIA ZLATKOVA: SQL, yenə, Yapılandırılmış Query Language. Bu, əsasən, bizə məlumat idarə etməyə imkan verir bir relational verilənlər bazası idarə sistemi. Yalnız əsasən deməkdir biz bir yerdə ki, biz istədiyiniz bilər bəzi məlumatları saxlamaq üçün bir veb və ya digər formada istifadəsindən. Və sonra biz almaq sualınız Bizim verilənlər bazası məlumat və ya onlara məlumat daxil etmək üçün. Ümumi ones-- yeniləmə bir çox, INSERT, SELECT, və silin. Belə ki OLUNUB, bu sintaksis edir bazasında məlumatların yenilənməsi üçün. Adlanan bu masa yenilənməsi SET deyərək masa, biz bütün bir dəyərlər bilərsiniz başqa bərabər bir şey satır. Belə ki, biz də bəzi xüsusi daxil edə bilərsiniz biz dəyişdirmək istədiyiniz entries ki, HARADA istifadə ola bilər. Və biz yalnız etmək istəyirəm ki, belirtebilirsiniz bəzi satır dəyişdirmək harada ev, biz tələbələrin bir masa olsa və bütün tələbələr, ev idi belə ki, biz yalnız bəzi dəyərləri dəyişdirmək olardı bir ev Currier bərabərdir olduğu, misal üçün. INSERT, biz əlavə edə bilərsiniz bir masa müəyyən dəyərlər. Belə ki, masa INSERT INTO və sonra dəyərlər, və sonra mötərizədə, biz müəyyən siz daxil istədiyiniz qiymətləndirir. Belə ki, masa, col1 INSERT INTO və col2, dəyəri VAL1 və val2 edir. Belə ki, bu daxil, əsasən yeni bir sıra edər dəyərləri 1 və 2 olan bir masa sütun 1 və 2 altında. Və sonra biz artıq getmək olacaq Bu necə sürətli bir misal bir az bizim bazası kimi. Amma bu son sorğu ki, mən biz artıq getmək olacaq düşünürəm, SELECT, yalnız imkan verir bir masa data seçmək bəlkə sonra istifadə etmək. Və biz bunu yolu biz deyil yalnız bir dəyişən bu saxlamayın. Və sonra biz bəlkə yenidən istifadə edə bilərsiniz. Belə ki, SELECT star bütün seçin deməkdir. Bu yalnız bir steno var bütün seçilməsi üçün. Masa HARADA, biz axtarır bəzi xüsusi şərait üçün, belə sütun bərabərdir harada Məsələn bir şey. Biz yalnız istəyirdi masa bütün seçin Bu yalnız bütün sütunları seçir və bir masa bütün satır. Və sonra masa DELETE HARADA col bir şey bərabərdir, Bu yalnız bir silir Bizim masa satır biz bəzi xüsusi şərait var. Bu halda, şərtləri olan sütun bir şey bərabərdir. Bu belə ki, yalnız bir sürətli nümunəsidir. Biz burada və bu masa varsa bir masa onu daxil, bu dəyərlər, ki, yeni bir sıra daxil olacaq. Biz avtomatik artım olsaydı, bu olardı yalnız 2 1 0-dan bizim ID arttırmayı. Biz tələbələrin bütün seçilmiş varsa, yalnız bütün sahələri və bütün satır qaytarır. Harada il böyükdür 2016-dən çox və ya bərabər, yalnız qayıtmaq istəyirəm Hannah və özümü. Və sonra biz yalnız seçilmiş əgər Şagirdlərə il id və il harada ev Cabot House ki, , yenə Hannah və özümü qayıtmaq istəyirəm. Sonra biz tələbələrin silindi əgər burada adı, Rob bərabərdir ki, bütün satır silmək olardı. Və sonra biz əgər adı, UPDATE tələbələr SET adı Daven bərabərdir HARADA ev bərabərdir Cabot House, ki, getmək olacaq o satır və sonra adını yeniləmə. Və sonra bir neçə SQL məlumat növləri var CHAR, VARCHAR, INT, və float. Bu ədalətli oyun var. Mən yenidən getmək olardı və əmin Bildiyiniz etmək və sizin istifadə etmək hesabatı onları var nə o simvol hər üçün istifadə edilmişdir nə Sizin psets onları istifadə və tanış etdiyiniz əmin olun və seçmək üçün olan rahat Sizin pset müxtəlif data növləri. Bəli. Auditoriya: ki, masa nə saxlanılır edilmişdir? Bəli, bu masa saxlanılır? MARIA ZLATKOVA: Bəli, İndi, bu saxlanılır deyil. Hər halda, bu cədvəl saxlanılır? Amma bir SQL bazasında saxlanıla bilər. Auditoriya: Və SQL verilənlər bazası var? Kompüter, online haradasa, server? MARIA ZLATKOVA: Bu ola bilər fərqli şeylər sayı. HANNAH BLUMBERG: Biz ilə interfaced etdik Əsasən phpMyAdmin ilə SQL masalar. Beləliklə, biz bir server xahiş edə bilər bizim üçün onları saxlamaq üçün. Biz öz kompüter onları saxlaya bilər. MARIA ZLATKOVA: Bu, yalnız asılıdır necə özünüz üçün etmək istəyirik. Amma biz saxlanılması edilmişdir Onlara Hannah qeyd olunduğu kimi, phpMyAdmin, hansı online. Və sonra yol istifadə PHP və SQL, biz onu saxlamaq bəzi dəyişən nə biz sorğulanan etdik. Biz bütün tarixi seçsəniz Belə ki, user_id SESSİYASI id bərabərdir olduğu, bütün satır seçin olardı xüsusi şəxs üçün olan tarixi daxil edilir masa və satır onları sort. Bilmək üçün sərin şey CS50 sorğu funksiyası ki, SQL injection tags qarşı qoruyur. Bu yalnız əmin edir o deməkdir ki, daxil input doğru ki, şəxs giriş girir giriş çalışır deyil bəzi zərərli code ya bizim masalar düşmək və ya hər şeyi silmək bizim məlumat bazasında daxilində. Sürətli bir genel bakış Model View Controller model, Bu təşkili yalnız bir yolu var və kodu haqqında düşünür. Bu, yenə bir dizayn paradiqma var. Nə o deməkdir ki, biz can-- və yaxşı təcrübə var müxtəlif hissələri ayrı-ayrı bizim kodu və nə onlar Bu üç paradiqmaları daxil nəzarət. Belə ki, bizim view ən tez-tez bizim şablonları, bizim layout, yol ki, biz code görünür necə müəyyən. Ki, əsasən bizim CSS faylları və yolu Biz kodu dizayn müəyyən ki, əsasən. Bizim nəzarətçi əsasən nə var biz PHP faylları ilə bunu etdik. Belə ki, yenə, ilə iş biz məlumat və müəyyən necə məlumat istifadə olunur və sonra məlumat keçərək ya görünüşü və ya model üzərində. Və model, biz yol istifadə edilmişdir, bizim verilənlər bazası olmuşdur belə ki, bizim məlumat burada bu, haradasa belə saxlanılır yaşayır və hər hansı bir yol aid kodu ki, məlumat və ya almaq ki, məlumat yeniləmə yol. MVC model Belə ki, HTTP sorğu bir web server göndərilir. Sonra nəzarətçi şərh istifadəçi tələbi və sonra istifadəçi daxil doğrular. Bu var ki, isteğe var nəzarətçi ünsiyyət bir model ilə, bir şey ki, Bizim verilənlər bazası kimi və ya digər funksionallığı məlumat rele. Və sonra nəhayət, nəzarətçi görünüşü üzərində məlumat keçir ki, ola bilər göstərilən və ola bilər ki, hər hansı bir şəxs üçün görünən olmaq web page daxil. Hər hansı sual? Awesome. Belə ki, yenə, model, onun funksiyası, yenə, məlumat israrlı storage edir idarə və məlumat təşkil edir. Və biz belə gördüm nə qədər MySQL verilənlər bazası və hər hansı faylların istifadə edə bilər ki. View, informasiya təqdimatı üçün istifadəçi UI, və ya istifadəçi interfeysi. Bu nümunə HTML edir. Və sonra biz minimal PHP ola bilər. Belə ki, bir loop üçün iterates data ki, çap olunur baxış hissəsi kimi, nəzarətçi qarşı çıxdı. Və PHP faylları sonra bir çox nəzarətçi kateqoriyaya düşür. Bu, yalnız istifadəçi sorğu emal və modelindən məlumat alır. Document atlayaraq Object Model, bu yalnız yol HTML aiddir sənədlər təşkil edilir. Onlar bir ağac təşkil edirik bir iyerarxiya var quruluşu. Biz çıxışı varsa [işitilemez] sənədin nümayəndəliyi, biz kimi, sənəd ilə işləyə bilər biz əsasən obyektlərin manipulyasiya. Və bu etmək az təmiz, zaman Biz bir çox bizim müxtəlif tags cavab ağac müxtəlif marşrutları. Və sonra bu, məsələn, biz başlayan sənəd node var. Biz, sonra bizim HTML node ki, baş və bədən daxil olur. Head sonra adı və var adı, salam dünya var. Və bədən yalnız var hello, dünya həmçinin. Hər hansı hər hansı bir sual Biz bu günə qədər əhatə şeyi? Və əgər, Hannah edəcək JavaScript üzərində. Awesome. HANNAH BLUMBERG: OK, sərin. Bir şey PHP və ya HTML ilə gəlir, və ya Maria əhatə məhsullarının hər hansı biz həmişə fasilə bilər. Biz daha yaxşı edirik vaxt yenə belə zəhmli. Və yalnız geri həqiqətən tez bu, hər baxsaq Ötən ilki imtahan, bu either-- burada gəlir Bəzi HTML, bu diaqram etmək. Və ya burada bu diaqram, bəzi etmək HTML, belə ki, mütləq ki, təcrübə. Və sonra ki, bir təmin edir sağ əldə edə bilərsiniz sual. Cool. Belə ki, JavaScript haqqında danışmaq edək və bir az necə PHP və kimi dillərdə müxtəlif C, biz əvvəlcədən gördüm iki dil. Belə ki, bir nömrəli, bu azad tipli oldu. Ki, PHP kimi, lakin C. fərqli Bu bir şərh dil var. Yenə ki, kimi PHP, C. Bu fərqli olaraq bizə use-- imkan gedir web pages həqiqətən gözəl işləyir. Bu, bizim manipulyasiya imkan olacaq content və necə görünür və nə. Biz Ajax bir az görmək olacaq. Bu, bizim ünsiyyət üçün imkan verir asynchronously müxtəlif server ilə və məlumat almaq. Və bu şey həqiqətən var PHP və C JavaScript ayırır Bu klient olmasıdır. Hər iki PHP və C var adətən server-side. Çox hissəsi üçün və demək olar ki, nə biz ən azı, gördüm Bu sinif JavaScript deməkdir ki, müştəri tərəfində çıxış browser həqiqətən ki, çalışan məsul. Və biz deyil o deməkdir ki, server ilə qarşılıqlı lazımdır. Belə ki, bir çox daha sürətli ola bilər deməkdir bu, həqiqətən, çünki yalnız, Chrome var bu Firefox, var, Safari var nə sizə həqiqətən istifadə JavaScript çalışır. Auditoriya: asinxron nə deməkdir? HANNAH BLUMBERG: Ah, nə asynchronously deməkdir? Böyük sual. Asynchronously means-- yaxşı, content olan biz OK, istifadə, biz bir web page yaratmaq və biz bəzi məlumat almaq lazımdır. Mashup nümunə ilə, belə ki, biz istəyirəm bilər ki, bəzi məlumatlar Məqalədə adları var. İndi biz bir seçimi could-- sinxron bunu edir ki, qoy o deməkdir dayandırmaq, maddə almaq getmək, sonra məqalə geri almaq, və göstərir, lakin həqiqətən yavaş olacaq. Bu pis bir user experience olacaq Yalnız oturan, çünki bir şey cavab üçün orada gözləyir. Asynchronously biz lazımdır deməkdir bizim iş haqqında gedən davam, səhifə göstərilməsi və bir sorğu göndərmək lazımdır bu cür olacaq fonunda baş verir. Mən biz nümunə istifadə edirəm Rob zəng və deyərək mühazirə, hey, bu qədər baxa bilərsiniz və mənim üçün mənə geri almaq, yalnız mənə qarşı telefon gözləyir. Belə ki, asynchronously olur deməkdir bizdən fonunda paralel olaraq. Böyük sual. Başqa bir şey? Great. Biz bir çox tullanmaq lazımdır Ajax ilə asinxron sorğu. Auditoriya: yoxdur harada JavaScript mu Bu model-view-nəzarətçi ilə düşmək? HANNAH BLUMBERG: Böyük sual. Harada JavaScript payız yoxdur model-view-nəzarətçi ilə? Hm. Mən fall-- bilər danışarlar belə ki, biz adətən deyil ki, onu squish istəyirəm paradiqma, lakin mən deyərdim tapmaq, OK, JavaScript belə həqiqətən imkan gedir us, məlumat toplamaq üçün həqiqətən, məlumatlarını şərh məlumatları ilə mənalı şeylər. Beləliklə, bu, çox nəzarət-kimi. Lakin bu da bizə imkan olacaq şeyi və çap şeyi göstərilir. Beləliklə, bu, çox view-kimi. Bəli. Belə ki, PHP kimi növ var bu cür, həm də burada ola bilər. Yaxşı sualdır. Başqa bir şey? Bütün hüquqlar, zəhmli. Sağ boyunca hərəkət. Belə ki, bir misal görək Biz istifadə edə bilərsiniz necə Bizim web proqramları biri JavaScript. Mən bu hesab edəcəyik HTML bir dəstə ilə index.html. Və şey Mən sizi istəyirəm diqqət bu script tag edir. Bu OK, mən bir almaq istəyirsinizsə deyir Bu yaşadığı burada JavaScript və. Bu hello.js yaşayır. Çox CSS kimi, biz bilər HTML ərzində JavaScript qoydu. Niyə biz onu ayırmaq istəyirəm bilər? Bəli. Auditoriya: yeniden yazmaq üçün asan? HANNAH BLUMBERG: Bəli. Bu üzrə istifadə etmək üçün asandır müxtəlif web pages. Bu təmiz şeylər saxlayır. Bu, sadəcə yaxşı təcrübə var. Awesome. Yaxşı cavab. Belə ki, yaxşı, bu gedir Bizim index.html olmalıdır. Və sonra aşağı burada var kiçik kiçik JavaScript fayl. Və deyir bütün Salam dünya alert edir. Belə ki, nə zaman Bu səhifəni renders-- belə ki, hər hansı web getmək əgər Bu bütün nə olacaq is-- OK, mən, gedir demək Bu JavaScript kodu run gedir. Bu JavaScript kodu yalnız alert Salam, dünya deyir. Mən bu almaq üçün gedirəm dostluq az pop-up. Cool? Bu ilk cür bizim kimi JavaScript proqramı bizim Salam, dünya. Haqqında bir az daha baxaq nə JavaScript sintaksis kimi görünür. Və xüsusi, ən müqayisə edək Biz əvvəl gördüm C və PHP. JavaScript, biz olacaq var, dəyişən adı, və sonra onun faktiki dəyər. Və biz yalnız bir növü daxil deyil PHP, lakin çox C. fərqli kimi Istədik, məsələn, əgər belə dəyəri 50 saxlamaq üçün, C, biz demək olardı, hey, C, mən tam istəyirəm, Mən zəng etmək üçün gedirəm i və onun dəyəri 50 edir. PHP, bu, bir az daha asan var. Biz hey, mən bir dəyişən istəyirəm, demək i adlanır və onun dəyəri 50. Çox eyni, JavaScript, biz , hey, mən bir dəyişən i adlı istəyirsiniz onun dəyəri 50. Mən istifadə hər sonrakı vaxt i, mən Var yazmaq lazım deyil. Bu, sadəcə i o baxımdan var. C, eyni şəkildə biz i int demək bir dəfə, biz yalnız i istifadə edin. Cool? Oldu. Loops üçün hərəkət, xoşbəxtlikdən, bu demək olar ki, Mən onlar olduğunuzu düşünürəm exactly-- baxmaq nə kimi tam eyni loops kimi baxmaq üçün gedir C kimi bir şey olduğu loop üçün üç gedir bir başlatma parts-- bir vəziyyət və yeniləmə. Bir müddət loop, bu eyni görünür. Biz yalnız bir şərt verir. Və do loop isə, yenə eyni. Biz bir şərt verir. Mən over-- təkrarlamaq istədiklərini deyirlər Mən bir şey beş dəfə etmək istəyirdi. C, biz yazmaq bilər init üçün i 0 bərabərdir. i 5-dən az, i ++. Yeganə fərq, JavaScript, əvəzinə i 0 bərabərdir int deyərək, biz var i 0 bərabərdir deyirlər. Gözəl. Yalnız fərq var. Ki, hər hansı bir hər hansı suallar? Bəli. Auditoriya: PHP Belə ki, eyni şey istisna olmaqla, lakin bir dəyişən kimi? Və ya bir var, məsələn nə idi? HANNAH BLUMBERG: Bəli. Belə ki, PHP, gedir bir dollar işarəsi olmalıdır. Belə ki, $ i bərabər olacaq 0, $ i $ i ++ az 5-dir. Böyük sual. İndi haqqında danışmaq edək funksiyası bəyanatlar. C, biz elan zaman funksiyası, biz bir ad verdi və biz bəzi parametrləri verdi. Və əvvəlində biz növü yazdı. JavaScript, bütün biz yazmaq nə üçün Söz funksiyası , hey, JavaScript deyir Mən bir funksiyası müəyyən etmək haqqında deyiləm. Bu halda, bu adı məbləğ var. Və bu iki dəlilləri, x və y edir. Biz qayğı yoxdur Qeyd edək ki, x və y növləri haqqında. Və yalnız C kimi, biz bu söz qaytarılması, belə ki, biz bir şey edə bilərsiniz geri x və y kimi. İndi bir dəfə biz bu ilk yazdıq funksiyası, biz hər yerdə məbləğ istifadə edə bilərsiniz. Və tamamilə gözəl var. Bir həqiqətən sərin şey haqqında C fərqli olaraq, çox JavaScript var funksiyaları edə bilərsiniz ki, dəyərlər kimi müalicə edilə. Beləliklə, biz burada kimi bir şey edə bilərsiniz mən güman harada bu gündəmə əhatə Mən var məbləğ qədər əhatə part-- və biz yalnız bildirib funksiyası xy geri x plus y bərabərdir. Bu adlandırmaq olardı nə anonim funksiyası. Bu ad vermədən bir funksiyası var. Bu funksiya deyir halbuki məbləği, blah, blah, blah, Bu yalnız funksiyası deyərdim. Amma indi mən, baxmayaraq ki, bu anonim funksiyası, ki, funksiyası, həqiqətən, yalnız bir dəyərdir. Biz bir dəyər kimi müalicə edə bilər. Beləliklə, biz bir dəyişən eyni saxlaya bilərsiniz Yolumuz bir dəyişən 50 saxlaya bilər. Beləliklə, biz OK, mən bir istəyirəm, demək olar dəyişən, bu məbləğ deyirlər və bu funksiyası var. Belə ki, bu iki şeyi həqiqətən eyni şey olacaq, lakin sintaksis bir az müxtəlif və əyləncə qeyd növüdür. Bəli. Auditoriya: Siz zəng edə bilər Belə ki, deyərək anonim idi funksiyası, məbləği Mötərizədə 2, 5? HANNAH BLUMBERG: Bəli. Siz bu anonim zəng edə bilərsiniz eyni şəkildə fəaliyyət göstərir. Siz məbləğ edəcəyini (2, 5) ;. Ki, tamamilə gözəl olardı. Mən var məbləği bərabərdir nə olmasaydı funksiyası, yalnız silindi əgər şeylərdir edirəm ki, mənim tərəfdən bilirik, amma sonra bu silindi iddia ki, funksiyası cür yalnız getdi. Siz yenə çünki istifadə bilməz bunun üçün bir ad yoxdur. Bu bir şey müraciət etmək çətindir Siz nə zəng etmək üçün bilmirəm. Yaxşı sualdır. Bəli. Auditoriya: Siz məbləğ istinad edə bilər x plus y dəyəri digər yerlərdə? HANNAH BLUMBERG: Kompüter siz digər yerlərdə istinad məbləğ dəyəri x plus y? Mən sizə demək nə tamamilə əmin deyiləm. Auditoriya: Belə ki, son yarı anonim funksiyası məbləği bu bərabərdir edir anonim funksiyası, belə ki, cəmidir Siz can-- indi dəyişən HANNAH BLUMBERG: Sağ. Belə ki, məbləğ dəyişən, lakin bu, həqiqətən var belə məbləğ olan dəyişən deyil dəyəri funksiyası var. Belə ki, bu cür bir funksiyası var bir qəribə şey baş ətrafında kesmek biz oynayan olduğunuz ci ildən C və C. bunu edə bilməz Amma indi biz zəng yekunlaşdırmaq bilər Biz burada məbləğ zəng edə bilər eyni şəkildə. Auditoriya: OK. HANNAH BLUMBERG: Bəli. Yaxşı sualdır. Bəli. Auditoriya: Belə ki, biz istifadə etməyin PHP və ya JavaScript prototipləri? HANNAH BLUMBERG: Xeyr, biz prototipləri istifadə etmək lazım deyil, xüsusilə JavaScript. Mən belə bir pis təcrübə şey nə deyil ki, demək olacaq Siz var i = 50 yazmaq yoxdur. Siz yalnız 50 = i bunu başlamaq bilər. Və yalnız i bir qlobal dəyişən edəcək. Bu çox pis təcrübə var heç explicity var i, demək ancaq nə edə bilər bir şey var. tərcüməçi deyil Siz fəğan. JavaScript olduqca kimi istədiyiniz nə edə bilərsiniz. Oh, sorry. Iki dənə var. Narıncı şalvar. Davam et. Auditoriya: Xeyr, siz ilk getmək. Auditoriya: Xeyr, yalnız deyirdi Mən tərəfdən yox idi. OLDU. Siz zəng etmək olsaydı belə ki, ilk dəfə, indi, yekunlaşdırmaq biz eyni şəkildə zəng, x y, hər bir zaman kimi? HANNAH BLUMBERG: Bəli. Belə ki, bu iki mahiyyətcə eyni şey. Auditoriya: Və nə üstünlüyü var bir və ya digər istifadə? HANNAH BLUMBERG: No üstünlüyü bir və ya digər istifadə. Mən yalnız iki göstərmək istəyirdi sintaksis müxtəlif ədəd. Bir çox dəfə olduğu anonim funksiyaları bir məqsəd var Əgər başqa dəlil funksiyası bir funksiyası olmalıdır. Və biz ki, görürsünüz Ajax ilə yalnız ikinci. Hər hansı bir mənada etməyib Belə ki, Başını geri saxlamayın. Olduğu anonim var funksiyası faydalı ola bilər həqiqətən dəyər deyil, çünki biz yalnız etdiyiniz ildən bir ad verilməsi bir dəfə istifadə gedir. Bəli. Auditoriya: Əgər x və y dəyişiklik sonra , həmçinin dəyişəcək yekunlaşdırmaq edəcək? HANNAH BLUMBERG: Əgər x və y dəyişiklik sonra, eləcə də dəyişəcək yekunlaşdırmaq edəcək? Belə ki, bu mən, həqiqətən deyil , bir şey hesab edirəm yenidən, yalnız çox fərqli hiss C. Bu dəyəri deyil. 5 deyil. Bu, yalnız funksiyası özü var. Belə ki, tezliklə siz parametrləri vermək kimi, sonra, həqiqətən, bir dəyər hesablamaq lazımdır. MARIA ZLATKOVA: Və sonra Siz funksiyası zəng edə bilərsiniz və bəzi dəyəri almaq üçün istifadə edin. HANNAH BLUMBERG: Sağ. Məhz. Bəli. Auditoriya: əgər Belə ki, yalnız dəyişən onu saxlamaq, var x kimi iki dəyərlər məbləği bərabərdir HANNAH BLUMBERG: Bəli. Belə ki, yalnız var məbləğ edə bilər iki dəyərlər məbləği bərabərdir. Bəli. Hər hansı digər suallar? Bəli. Auditoriya: Amma ki ki, məbləği və məbləğ çaşdırmaq? Siz dəyişən məbləğ zəng əgər kimi, Siz funksiyası məbləği zəng olardı? HANNAH BLUMBERG: Mm. Mm. Əgər bir şey etdi kimi, məbləği məbləği 2, 5 bərabərdir? Auditoriya: Bəli. HANNAH BLUMBERG: Mən inanıram məbləğin dəyəri üzerine olardı. Belə ki, başqa bir maraqlı JavaScript haqqında şey bir dəyişən edə bilər ki, müxtəlif növ bir dəstə. Bad təcrübə. Siz bir şey lazım deyil kimi yalnız dediklərini. Lakin C, i müəyyən edilir bir tam bərabər, biz heç vaxt bilirik ki, simli olmaq niyyətindədir. Bu JavaScript belə deyil. Bəli, yaxşı sualdır. Başqa bir şey? Oldu. Vaxtında bütün sağ edir. Saxlanması gedir. Oldu. Biz bir sıra baxsaq JavaScript, burada strings bir sıra sürətli bir nümunəsidir. Və seriallarda dinamik inkişaf edə bilər. Onlar yoxdur Eyni şəkildə sabit ölçüsü onlar C. ki, Biz əldə edə bilərsiniz yalnız kvadrat mötərizədə ilə elementləri. Ki, PHP və bir çox kimi bir çox görünür bu halda, demək olar C kimi, Mən söz JavaScript istəyirdi, mən 0, 1, 2 kvadrat mötərizə Varış yoxdur. Zaman və sonra C yadda əgər bir sıra uzunluğu almaq istəyirdi, bu, həqiqətən annoying idi. Amma JavaScript, super asan. Bütün biz, .uzunluq. Bu yola verir. Bu belədir. Auditoriya: Bu sadə. HANNAH BLUMBERG: Bəli, edir Sizin həyat çox asan. OK, yox obyekt. JavaScript hiss obyektləri C structs kimi bir çox və PHP assosiativ seriallarda. Beləliklə, biz gördüm nə çox JSON, olan JavaScript Obyekt Notation üçün dayanır. Və əsasən bir yoldur Bizim data quruluşlanması. Belə ki, bir misal görək, yəqin ki, asan. Belə ki, burada bir obyekt bir misal var ki CS50, sinif saklar. Mən sinif deyəndə, mən, əlbəttə demək deyil, yeah CS50 kurs like--. Və ki, görürsünüz obyekt hər şey olan olacaq qıvrım aşırma. Və biz sahəsində adları şərik başlamaq və ya müxtəlif dəyərləri ilə düymələri. Belə ki, necə bu cür görmək başlaya bilərsiniz PHP assosiativ array kimi hiss edir. Beləliklə, biz sahəsində şərik olacaq və ya əsas adı, əlbəttə, simli ilə, CS50. Biz təlimatçı olacaq. Biz TFS olacaq. Biz psets sayı olacaq və biz qeydə olacaq. Və qeyd etmək bir sərin şey bütün bunlar müxtəlif növləri var, ki, tamamilə gözəl var. Bu, əslində, bir obyekt üçün gözəl Bu yəqin ki, bir obyekt üçün gözlənilir strings bir yerdə var və nömrələr və Booleans və seriallarda və başqa hər hansı güc Sizin obyekt daxili olsun. Və bu olacaq ki, qeyd adları və ya düymələri, və biz yalnız bir az nöqtə ilə bərabər müəyyən. Auditoriya: tam JSON nə deməkdir? HANNAH BLUMBERG nə dəqiq JSON deməkdir? JSON yalnız dayanır JavaScript Obyekt Notation. Bu biçimlendirme yalnız bir yoludur. Bəli. Bu, bizim data format bir yoldur. C, bu structs var. PHP, bu assosiativ serialların var. JavaScript, biz obyektləri var. Auditoriya: Belə ki, CS50 bir obyekt var? HANNAH BLUMBERG: CS50 edir Bu halda obyekt. İndi biz, həqiqətən, çıxış etmək həmin sahələrdə həmin sahələrdə dəyişdirmək və ya. Məsələn, biz ki, qərar güman Bir az pset Bu dövr istədi. Bunun əvəzinə doqquz, biz istəyirik yalnız səkkiz üçün gedir. Ki, necə dəyişə bilər? Oh, yanlış yol. Biz bunu edə bilərsiniz iki yolu var. Bir nömrəli nöqtə ilə notation və sayı iki kvadrat mötərizə notation edir. Belə ki, məsələn, I, əgər dəyişdirmək və ya giriş istədi Bizim CS50 obyekt psets sahəsində, nə edəcəyini CS50.psets deyil, belə obyekt dot adı sahə və ya qıfıl adı. Çox Eynilə, dəqiq ekvivalent sonra CS50 etmək, və kvadrat aşırma, psets. Cool? Bəli. Auditoriya: Belə JSON deyil hələ texniki JavaScript, baxmayaraq ki psets biz [Işitilemez] onu ayırmaq? HANNAH BLUMBERG: Sure. Sual Belə ki, var JavaScript və JSON ekvivalent? Belə ki, JSON notation əsasən, edir biz yazmaq yolu JavaScript bir obyekt. Belə ki, onlar tam eyni deyilik. Mən orada, JavaScript deyərdim JavaScript obyektlər var. JSON həmin obyektlərin edir və Onlara yazdıran və onlara göstərir və ya gözəl bir şəkildə saklar. Belə ki, JSON bir proqramlaşdırma deyil dil JavaScript yolu. Bu yalnız notation var JavaScript bizim obyektləri. Bəli. Auditoriya: Belə dəqiq nə [Işitilemez] başa? HANNAH BLUMBERG: Sure. Belə ki, bu, həqiqətən, heç bir şey yoxdur. Bu daxil olmaq üçün yalnız bir yoldur. Belə ki, biz dəyişdirmək istədiklərini deyirlər problem aparatlarının sayı səkkiz doqquz. Biz nə bir şey deyil CS50.psets = 8 ;. kimi Bəli, böyük sual. Bu yalnız siz sintaksis göstərmək üçün deyil. Həqiqətən faydalı bir şey deyil. Hər hansı sual? Sağ boyunca hərəkət. Belə ki, necə sürətli bir misal baxaq Mən sizə bildirib, çünki JavaScript işləyir ki, bütün bu sərin şeyi və Bizə web pages dəyişdirmək üçün imkan verir. Əslində aksiyada görmək edək. Belə ki, məsələn, bu HTML faylı almaq. Və mən diqqət istəyirəm şey bir düyməsinə bu tag, id search_button ilə. Bu, yalnız səhifə var. Belə ki, indi görək nə biz, həqiqətən, nə edə bilər. Bəli, zaman güman ki, düyməsini basın biz alert-- etmək istəyirəm Siz düyməsinə tıklayan. Biz bunu edə bilər necə edək. Belə ki, bu bir şey deyil window.onload-- ki, buna görə də, sinif gördüm viktorina üçün bilmək lazım deyil. Amma bu, əsasən OK, zəng deyir bu funksiya zaman pəncərə yük. Belə ki, yalnız cür quraşdırma kodu var. Ki, haqqında çox narahat etməyin. Mən sizə diqqət istəyirəm burada var. Biz var searchbutton bərabərdir demək document.getElementByID search_button. Siz tahmin bilər kimi, bu nə, bu deyir OK, element tapmaq getmək ID search_button ilə. Və indi biz ki, var və mən faktiki element bir onu saxlamaq üçün gedir dəyişən searchbutton. İndi biz həqiqətən ki element istifadə edə bilərsiniz və onu dəyişdirmək və ya onun dəyərləri daxil, kimi şeylər. Biz, həqiqətən, başlaya bilərsiniz web səhifə ilə məşğul. Belə ki, burada mən indi ki, OK, demək Bu tıklandığında düyməsini, bu anonim funksiyası zəng. Belə ki, bu harada anonim funksiyaları faydalı olmaq. Və funksiyası nə edir? Bəli, yalnız bu çağırır siqnalı funksiyası və deyir Siz Axtar düyməsinə tıklayan. Mən hər yerdə getmək əgər Belə ki, nə olacaq Bu HTML yaşayır və mən düyməsini basın, Mən bir xülya az uyarı almaq lazımdır ki düyməsinə tıklayan deyir. Belə şeylər diqqət burada document.getElementByID xüsusi HTML olur verilmiş ID element. İndi biz bilərsiniz zaman baş nə xüsusi element tıklandığında. Auditoriya: Biz ki, bütün qoymaq lazımdır? HANNAH BLUMBERG: Bağışlayın? Auditoriya: biz var fiziki ki, bütün kod? HANNAH BLUMBERG: biz var fiziki ki, bütün kod? Bəli. Annoying bu cür deyil? Bu kodu bir çox deyil. Auditoriya: Siz bir şey idxal edə bilər. HANNAH BLUMBERG: Sağ. Biz bir şey istifadə edə bilər. Və particular-- da oh, bu mənə izah I bölmə öyrətmək lazımdır. Xüsusilə, edək jQuery kitabxana istifadə, ki, həqiqətən idi, çünki uzun və həqiqətən annoying və bunu sadələşdirmək etmək istəyirəm və bu qısa və yazmaq üçün asan edir. Belə ki, jQuery JavaScript kitabxana var. Belə ki, JavaScript proqramlaşdırma var dil; jQuery bir kitabxanadır. Və daha asan şeyi bir dəstə edir. Bu dəyişən və arasında gedir edir HTML sənəd daha asan. Bu rəftar hadisələr daha asan edir. Bu asan animasiya edir və daha asan Ajax edir. Belə ki, iki daxil jump edək İndi o şeyi. Bağışlayın. Biz nə əvvəl, bəzi əsas sintaksis. Bu ən çağırır nə jQuery kitabxana kimi görünür. Biz bu dollar istifadə sign-- PHP heç bir əlaqəsi işarə, yalnız bir adı inconvenient-- selector, dot, sonra bir hərəkət. Belə ki, bəzi görmək bildirin ki, konkret nümunələr. Belə ki, bu, həqiqətən, eyni Tədbirdə slide kodu. Belə ki, bu uzun, çirkin şey olur Bu çox gözəl, kiçik şey. Belə ki, bu qırmaq üçün cəhd edək. Bu OK, jQuery-- bu dollar deyir , jQuery sign-- mənə pəncərə tapa bilərsiniz. Belə ki, selector var. Bu yükləyir, bu funksiyası zəng. Belə ki, hər şey içərisində. OLDU. İndiyə qədər belə yaxşı? Oldu. İndi jQuery, mənim ID search_button ilə şey. Və nə tıklandığında, bu funksiyası zəng. Və sonra bu funksiya nin eyni. Just uyarı bir az, Siz Axtar düyməsinə tıklayan. Belə ki, həqiqətən gözəl. Bu, həqiqətən kondensasiya və bizim kodu asanlaşdırır. Mən bilirəm ki necə Bu ID search_button var və sinif search_button kimi deyil? Auditoriya: Hashtag? HANNAH BLUMBERG: Bəli. Bu hash simvolu, yalnız CSS kimi. Zaman biz belə CSS ilə xatırlayıram ID bir şey seçmək istəyirdi, biz funt işarəsi istifadə olunur. Və biz seçmək üçün istəyirdi zaman sinif bir şey, biz dot istifadə edin. Great. Salam? Belə ki, jQuery nəzərdə tutulur yalnız bizim həyat daha asan. Bəli. Auditoriya: Mən bir az qarışıq Ben anonim funksiyası işləyir necə. Bu anonymouse adı yoxdur funksiyası, fəaliyyət? Necə adlanır? HANNAH BLUMBERG: Sure. Belə ki, funksiyası yalnız bir söz ki, Mən bir funksiyası müəyyən haqqında Ben, deyir. Auditoriya: OK, Oh. HANNAH BLUMBERG: OK? Və sonra biz kimi keçmək arqument nin almaq Haydi klik funksiyası bu daxili one--. Belə ki, Bəli, ki, funksiyası, belə ki, bu anonim funksiyası, faktiki dəlil olur. Belə ki, JavaScript xatırlayıram biz dəyərlər kimi funksiyaları müalicə edə bilər. Auditoriya: OK, Oh. HANNAH BLUMBERG: Bəli. Hesab edirəm ki, kimi "oh". Nice. Digər suallar? Vaxt? MARIA ZLATKOVA: Yaxşı. Yaxşı. HANNAH BLUMBERG: Awesome. Bəzi tez faydalı jQuery. Mən getmək fikrində deyiləm bu bütün vasitəsilə. Bu slaydlar olacaq online bir az qədər sonra, belə ki, sizi deyil bilərsiniz bir az sonra onu. Amma əsasən, ümumi biz demək harada model keçirir Hey, OK, jQuery, burada mənim sonra burada selector və fəaliyyət var. Və çıxış kimi şeylər edə bilərsiniz bir formada dəyəri, bəzi HTML daxil istifadəçi nə nəzarət bir formada ki, kimi şeylər təqdim edir. Bəli. Auditoriya: Belə ki, exam, biz lazım olacaq tamamilə bir çox bilmək jQuery sənədlər. Beləliklə, biz jQuery surəti / yapışdırıb ki, verilmiş Bizim istifadə etmək hesabatı sənədləri, burada line tərtib var? Like neçə bilmək lazımdır? HANNAH BLUMBERG: Böyük sual. sual mahiyyətcə ki, verilmiş jQuery sənədlər daxil ola bilər test zamanı, nə qədər olmalıdır bilirsinizmi? Biz sizə gəlib gözləmək deyil bəzi təsadüfi funksiyası ilə Google sizə gözləyirik ki. Ədalətli oyun var Things Mən var Ümumiyyətlə, sintaksis yalnız cür demək ID seçin edə və belə ki, yalnız CSS kimi sinif tərəfindən. Və sonra faktiki funksiyaları themself, biz güman sizə deyim. Bəli. Auditoriya: Belə ki, seçin sinif nöqtə deməkdir. HANNAH BLUMBERG: Bəli, dəqiq. Yaxşı. Siz sinif ilə seçin zaman, gedir əvəzinə funt işarəsi nöqtə olmalıdır. Bəli. Auditoriya: Siz Kaş fərq artıq getmək ID və sinif seçilməsi arasında? HANNAH BLUMBERG: Sure. seçilməsi arasında fərq Sinif ID və seçilməsi. Maria dediyi kimi, belə bir az əvvəl var yalnız bir HTML element ola bilər bir ID, sinif halbuki, Bu qrup bir dəstə üçün imkan verir birlikdə müxtəlif elementləri, belə bağlı hər şeyi, lakin eyni. Bu suala cavab varmı? Awesome. Bəli. Auditoriya: Bir neçə var Nə eyni sinifdə olan şeylər? HANNAH BLUMBERG: Nə olar Bir neçə şey varsa ki, eyni sinif var? Belə ki, məsələn, biz əgər yalnız saf JavaScript istifadə biz kimi bir şey olardı document.getElementsByClass. Və həqiqətən deyil sonra nə qaytarır elementləri bir sıra edir. Və üzərində təkrarlamaq ya var Onlara istədiyiniz bir tapmaq və ya. Bu vermək niyyətində deyil Bir element. Bu vermək olacaq elementləri bir sıra. Böyük sual. Başqa bir şey? Awesome. Mən ilə tanış değilseniz hesab edirəm Hər hansı bir jQuery siz pset gördüm siz getmək üçün yaxşı olmalıdır. Sual? Ah, yox. Mən, həqiqətən, öyrətmək lazımdır. Relax. Bu gözəl olacaq. Mən orada almaq lazımdır. Nin Ajax haqqında danışmaq edək. Belə ki, Ajax a-- yaxşı olacaq, nin tərəfdardır nə ilə başlamaq edək. Bu kisaltmasidir var. Bu Asynchronous dayanır JavaScript və XML. Və XML əsasən olacaq ki, [Işitilemez] məlumatların bir növü ilə. Amma biz, həqiqətən, XML istifadə etməmişlər. Əksinə, biz yalnız JSON istifadə edin. Belə ki, əsasən, bəzi fel var asinxron, JavaScript və məlumat, Bu halda, JSON. Və bizim məqsədimiz biz qeyd kimi bir az əvvəl, bir edə etmək sorğu, sorğu nə var öz şey fon, lakin davam Biz nə istəyən idi nə. Və məlumat sonra zaman hazır, sonra biz onu daxil lazımdır. Belə ki, nə bu görək həqiqətən kimi görünür. Bu, siz olmalıdır tanış bir az pset8 olan bir yalnız çevirdi. Belə ki, burada cari jQuery var funksiyası ki, biz bilər Bu dollar işarəsi about-- bilmək istəyirəm. Belə ki, jQuery funksiyası .getJson deyir. Və nə bu funksiya yoxdur bunu var URL və bəzi parameters-- edir belə halda mən hesab edirəm ki, pset8, bu kimi idi URL articles.php və parametrləri = bir poçt kodu getmək idi. Və OK, üçün sorğu etmək deyir verilən parametrləri ilə bu URL. Və yalnız baş verir. Bu başa zaman, bu və ya uğurla başa gedir və ya uğursuz olacaq. Belə ki, bu zəng bərabərdir Rob və bir şey onu soruşurlar. O, geri çağırır zaman sonra, o da mən bitirdim və ya uğursuz demək gedir. Siz etdiyiniz halda belə həyata, siz OK, mən bitirdim, deyirlər. Və sonra bu funksiyası zəng. Bu halda, bir olacaq bəzi məlumatları alır fəaliyyət göstərir. biz adətən qayğı bir məlumatdır biz, həqiqətən, geri qaytarılıb data .getJSON zəng nəticəsində. Və bu bir şey edə bilərsiniz. Pset8 halda belə, biz bir siyahısı kimi göstərilir. Fail bir funksiyası olacaq tələb etmədikdə ki adlanır hər hansı səbəbdən. Və pset8 halda, biz yalnız console.log. Ki, hər hansı suallar? Bəli. Auditoriya: Biz yalnız funksiyası teta istifadə edə bilərsiniz əvəzinə funksiyası, textStatus, jqHXR. HANNAH BLUMBERG: Sure. Belə ki, Bəli, mən pset hesab edirəm ki, biz yalnız funksiyası məlumatların gördüm. Belə ki, yalnız OK, bəli the-- var. Yəni biz pset gördüm budur. Ki, tamamilə gözəl var. Istəyirdi əgər bu, yalnız var Daha çox məlumat çıxarmaq, bunlar var ki, Siz .getJSON əldə edə bilər. Yaxşı sualdır. Başqa bir şey? Bəli. Auditoriya: Belə .getJSON Ajax edir? HANNAH BLUMBERG: OK. Belə ki, bu çətin hissəsi növüdür. Bu imkan verir ki, jQuery funksiyası you asinxron zənglər etmək. Və o asynchronous zənglər, ki biz Ajax kimi istinad etdik. Bəli. Ki, mənə, həqiqətən, uzun zaman aldı Mən tələbə olanda ayrı çəkin. Auditoriya: siz daha demək olarmı? HANNAH BLUMBERG: Bəli. Mən bir daha demək olar ki,? Bu .getJSON funksiyası, bir jQuery funksiyası var. Və bu etmək olacaq bir asinxron zəng. Bu asynchronous zənglər, biz Ajax həmin istinad edilmişdir. Hər hansı digər suallar? Biz sol yalnız bir neçə dəqiqə var. Və Maria-nin gedir təhlükəsizlik bükmək sonra biz gedirik yalnız ediləcək. MARIA ZLATKOVA: Awesome, OK. Belə ki, bu, yalnız bir neçə is-- saniyə bu artıq baxmaq. Bu həqiqətən böyük bir şey deyil. Niyə Və kimsə mənə deyə bilərsiniz? Nə foo gedən və may bilər ki, potensial pis bir şey ilə nəticələnəcək, və nə deyirlər? Bəli. Auditoriya: Əgər arqumenti 12-dən çox simvol keçdi, Bu daşqın bilər. MARIA ZLATKOVA: Sağ. Mükəmməldir. Bu nə adlanır? Siz yalnız qeyd. Auditoriya: Buffer overflow. MARIA ZLATKOVA: Yup, daşqın bufer. Belə ki, bu bir şeydir ki, biz bufer daşqın kimi baxın. Və biz, foo ki, daxilində görmək biz bufer, c müəyyən etdik 12 ölçüsü. Lakin, əsas, biz deyil hər hansı bir şəkildə deyil olub ki, argv1-- İkinci arqument idi. Biz olub-olmadığını yoxlamaq yoxdur Bunun ölçüsü uyğun. Belə ki, biz bir idi xüsusilə zərərli istifadəçi olan bəzi dəlil qoymaq edən 12 artıq, sonra potensial ki, kənarda arqument bəzi yürütülebilir kodu idi o, pis bir şey üçün çalışırıq ki, onunla; onda bu, nə baş verəcək geri yalnış olardı foo funksiyası ünvan, zaman funksiyası səbəb ki, kodu yerinə qaytarılması. Və sonra pis şeylər ola bilər. Bu hər kəs üçün mənada edirmi? Və biz bu qarşı necə qorumaq olar? Hər hansı təkliflər? Əsasən, daxili potensial foo necə Biz əmin olun bilər ki, ola bilməz? Auditoriya: ölçüsü 12 aşılırsa, əlavə yaddaş ayrılması olardı? MARIA ZLATKOVA: təklif, ayrılması ölçüsü əlavə yaddaş keçib. Əslində, biz bir şey edə bilərsiniz eləcə də daha sadə çox. Biz yalnız simli uzunluğu əldə edə bilərsiniz daxil mübahisə, ki, az olub olmadığını kontrol çox və ya 12-- bərabər biz bunu istədiyiniz nə olan biz istəmirəm, çünki olmaq bu, bizim bufer həddi artıq. Və bu deyil sonra, biz arqumenti ilə işləyə bilər. Bunu əgər Və sonra, biz, həqiqətən istəyirik istifadəçi potensial Yello üçün. Amma bu, biz bunu necə edir. Bəli. Auditoriya: Siz Could memcpy real Quick izah? MARIA ZLATKOVA: Oh, sorry. Bəli. Memcpy OK, nə is-- sorry edir. Memcpy nə edir bar, nə keçdi command line arqument kimi foo üzərində. Belə ki, argv1 etmək olacaq. Argv1 burada bar adlanır. Belə ki, bar almaq olacaq və Bu c kopyalayın olacaq. Auditoriya: OK. MARIA ZLATKOVA: Və olacaq Üçüncü arqument yalnız istinad copy-- nə qədər ki, bu, c kopyalayın olacaq. Auditoriya: Ah. Belə ki, bu bir çıxarmaq sonra bütün. MARIA ZLATKOVA: Bəli, bu bütün çıxarmaq oldu. Yep. Birincisi, biz bar deyil əmin olun bir göstərici deyil, çünki bərabər null. Sonra biz bar string uzunluğu almaq. Biz əmin olun daha az və ya 12 bərabər. Və sonra biz, çünki əmin, biz, həqiqətən bilər memcpy və OK əmin olun. Hər hansı sual? Great. Mən iki doğru və ya yalan suallar var. Hər kəs dərhal mənə deyə bilərsiniz Bu doğru və ya yalan əgər? Bəli, bu yalan deyil. Məhz. Hər ikisi də yalandır. Bir parol istifadə edərək, həqiqətən yaxşı bir fikirdir kimsə bilir, çünki Parolu, onlar yalnız bilərsiniz bütün digər hesaba daxil olmaq. Və sonra nişanlar heç bir şey təhlükəsizliyini təmin etmək. Biz adətən HTTPS axtarmaq lazımdır əvəzinə HTTP və URL. Və bəzi digər növləri Biz qeyd etdik hücumlar, David qeyd edib ki, , SQL injection hücumların mühazirə. Biz artıq gördük ki, biz do not əgər CS50 sorğu funksiyası əmin SQL edir injection hücumlar baş verə bilməz. Amma biz CS50 istifadə əgər, quote, dırnağı bağlamaq "sorğu" Biz əmin etmək lazımdır ki, istifadəçi girişi həqiqətən bir SQL deyil bütün səbəb olacaq query Bizim masalar düşmüşdür və ya pis bir şey bizim bazası ilə baş verir. Session oğurluq edir hücum bir növü ki, bəzi pis olur şəxs bir qurbanın iclası istifadə edir ID giriş məlumat daxil olmaq üçün. Belə ki, bir çox mənasız nümunəsidir kimi bir ictimai kompüter varsa, sonra pis adam və sonra açar Onlar qeyd olunur cookies var. Və cookies sessiya üçün dəyişiklik yoxdur. Sonra biz qurban getmək var və sonra veb daxil. cookies dəyişiklik yoxdur müəyyən bir sessiya üçün. Və sonra qurban daxil logs sonra veb və yaradır. Və sonra şəxs geri gedir sonra hələ də sessiya ID istifadə edə bilərsiniz onların məlumat daxil olmaq üçün. Belə ki, bir misal var ki, ola bilər necə. Və sonra mən çox narahat deyil xüsusi kodu və ya bir şey haqqında bu səbəb ola bilər ki, kimi, lakin fikir bir növ olan nə Bu cəlb dəyişənlər var. Və sonra mövzu manipulyasiya data hücum bir növüdür ki, David haqqında danışıb var. Və yalnız aiddir zaman baş verə bilər nə cavab, HTTP Bizim mövzu daxilində cavab düzgün sanitized deyil. Və məsələn tarla hər hansı Kimsə mövzu bir üzerine yazır əgər dəyərləri daha çox bir şey ola nə Onlar ehtiva etməlidir və həqiqətən , 200, məsələn, ola OK status indeksi, onlar potensial zərərli edə bilər şeyi onlar ehtimal etdiyiniz zaman. Amma çox narahat deyil xüsusi kodu haqqında çox ki, bu səbəb ola bilər Anlaşma yalnız sort kimi yüksək səviyyəli şeylər. Mən bu bütün hesab edirəm biz əhatə var. Amazing. Hər hansı bir hər hansı bir sualınız biz əhatə şeyi? Bəli. Auditoriya: Belə ki, bir növ daha məntiqi sual. Content əsasən yönəldilib viktorina 1 sonra şeyi? MARIA ZLATKOVA: Belə ki, sual, məzmun viktorina 1-dən sonra hər şeyi əsasən diqqət? Belə ki, diqqət sonra deyil istisna olmaqla viktorina 1, biz şeyə diqqət etmək lazımdır ki, pset5 və data strukturları bir çox biz əhatə edir. Və biz deyə bilmərik ki, biz əvvəl heç bir şey iqnor edə bilər həmçinin buna qurur, çünki. Belə ki, diqqət, plus pset5 material bağlı siyahıları, borular, o cümlədən kimi, sıralarında, və hər şey Hannah üzərində getdi. HANNAH BLUMBERG: Sağ. Bəli, biz bütün C məhsulları üzərində getdi çox çox tez başlayır. Amma ki, nəzərdən əmin olun. Geri getmək və viktorina 0 nəzərdən baxın. Bir neçə daha çox maddi-texniki qeydləri, yalnız edərkən diqqət var. Biz ofis saat üçün gedir həm də bazar ertəsi və çərşənbə axşamı gecə. Onlar MD 119 olacaq. Bu, belə ki, bütün web deyil Siz, heç bir narahatlıq eşitmək yoxsa. MARIA ZLATKOVA: 11:00 8:30. HANNAH BLUMBERG: Bəli, 11:00 8:30. Biz orada olacaq. Biz suallara cavab olacaq. Bu olduqca soyuq və əyləncə var. Siz uşaqlar hər hansı bir sual bilər Siz viktorina 1 var. Və viktorina 1 deyil Çərşənbə, belə uğurlar. Bəlkə, hər hansı bir sualınız varsa, Burada bir-on-bir bizə danışmaq gəlir. Cool. Çox təşəkkürlər. MARIA ZLATKOVA: Thanks qədər, uşaqlar. Auditoriya: Yay. [Alqış]