[MUSIC PLAYING] DAVID MALAN: Bu CS 50, və Bu həftə doqquz başlanğıc. Və biz bu gün nə istədiyiniz fikir deyil yalnız ötən həftə haqqında fəsil yaxın Biz server diqqət harada material PHP və SQL ilə yan web proqramlaşdırma, verilənlər bazası stuff. Biz bir az haqqında danışmaq lazımdır təhlükəsizlik gün sonra bir klient proqramlaşdırma keçid JavaScript kimi tanınan dil. Lakin ilk, bəzi ödənilməsi. Siz xatırlayıram bilər Çərşənbə, Mən müəyyən bir web yazmaq üçün istifadəçinin daxil etdi HTML ki, sonra saxlanılan təşkil istifadəçi daxil adlar, telefon nömrələri, və telefon bazasında daşıyıcıları. Və sonra mən bir az bilirmiş line script PHP yazılı ki, təkrarlamaq idi bazasında satır üzərində və mətn mesajları göndərmək. Bir neçə, bir neçə cəhdlərə baxmayaraq, biz sonunda ki, iş əldə etməyib. Mən iş bütün bu həftə sərf ki kodunu baxımından keçmiş bizim üçün biz off sol harada, vasitəsi bütün Mən Çərşənbə sonunda əldə Bu mətn mesajı idi Mən mübarizə kimi Margo dən başqa bir mətn mesajı izlədi sinif yoldaşı, Bu David var. Bu bir təqib, gözəl təşviq. Davam saxlanılır, çox heartening. Mən demək olar ki then-- qədər var və biz Çərşənbə günü sona çatdı qeyd var. Və sonra həqiqətən bəlkə mənim sevimli, bir an sonra, bu gəldi. Damn Stream Live. Belə ki, bu gün biz bu tez düzeltmek I-ci ildən etdik nə baxmaq. Belə ki, bu kodu bütün mövcud deyil online keçən həftə, həftə səkkiz-dən, mənbə kodu. Və mən ilə getdi ki, görəcəksiniz və mən, həqiqətən, bir az şeyi təmizlənir. Mən bir neçə digər təqdim bir SQL verilənlər bazası xüsusiyyətləri. Məsələn, daha çox yalnız var char daşıyıcısı etmək düşünürəm Mən keçən həftə Tez etdi. Mən əvəzinə kimi müəyyən nə enum deyirlər. Və bəzi bu görmüşəm bilər biz tədqiq C. Enum əslində C xüsusiyyət tapa bilərsiniz sabitləri bütün dəstə sadalamaq və avtomatik dəyərlər onları təyin, bir, iki, üç, dörd kimi ağır kodu nömrələri olmadan. Belə ki, SQL əgər vasitəsi, eyni dəstəkləyir Bir verilənlər bazası sahə var ki, yalnız məhdud biri etmək istəyirəm dəyərlər, siz sözün belirtebilirsiniz Mən dörd orada kimi məşhur ABŞ mobil telefon daşıyıcıları. Mən etdi. Və mən bir sıra dəyişikliklər etdi yaxşı, ən əhəmiyyətli olan e-poçt geri çünki iş almaq idi, Bu proqram olan istinad ümumiyyətlə bir e-poçt çağırıb Yalnız olan SMS Gateway, ki, Verizon deyərək bir xülya yolu, və AT & T, və digər insanlar, bir server dəstək qovuşdurmağımız üçün qəbul əgər e-poçt, SMS onu çevirir və bir mətn göndərir kiminsə telefon mesajı. Mən düzgün bunu əgər Belə ki, Burada yeni və təkmilləşdirilmiş formasıdır ki, danışmaq gedir yeni və təkmilləşdirilmiş kodu olan Siz online ilə oynaya bilər. Və inşallah edəcək mənim yalnız bir anda telefon beep. Belə ki, ilk mən adını yazın gedirəm. İkincisi, mən getmirəm bu dəfə bunu. Mən Element Inspect yoxdur gedirəm. Və bu yalnız bir deyil az şey mən deyil post istehsal saat yaratmaq Mən keçən dəfə idi kimi çalışır. İndi mənim telefon nömrəsi var. Mən Verizon seçmək lazımdır. Və burada, bu mikrofon yandırmaq imkan burada və burada mənim telefon bu planlaşdırırıq. Mən Qeydiyyatdan basın gedirəm olan olmalıdır inşallah verilənlər bazası onu qoymaq. İndi getmək üçün gedirəm command line proqram, olan geri dot çizgi adlanırdı mətn, və barmaqlarını keçmək. Burada biz gedin. [Sesi telefon] [Alqış] DAVID MALAN: Hələ çox So çox əyləncə Mən onu almaq əgər, əlbəttə, əyləncə var. Amma bu, mən düşündüm, çox əyləncə var biz o film məqamlardan biri yaradılmışdır burada bir şey kimi, həqiqətən, pis, dünyada baş bütün NSA xalq kimi mobil telefonlar səs siqnalı başlayacaq mətn mesajları ilə Bu fakt onlara Aklımda. Belə ki, biz cəhd düşündüm burada eyni yeniden, bir verilənlər bazası istifadə vasitəsi, Mən əvəzinə əvvəlcədən bu kimi görünür ki, bir proqram yazıb. Bu index.php-- edir və mən online bu kodu qoymaq well-- kimi yəqin yalnız form.php göstərir bir MVC stil paradiqma istifadə ki, biz problem set daha ətraflı haqqında danışmaq yeddi. Ki, forma olduqca sadədir. Bu təqdim olacaq poçt vasitəsilə here.php adlı fayl. Və yəqin xahiş olacaq bir ad və telefon nömrəsi üçün, və sonra vasitəsilə qondarma Menyu, bu ən azı dörd verəcəyəm məşhur ABŞ mobil telefon daşıyıcıları, və sonra səmərəli imkan verir Buraya tıklayarak iştirak etmək. Və burada, eyni zamanda, gedir son zaman kodu bəzi borc. Və yalnız bu üzsüz əgər, Siz var ki, görəcəksiniz səhv yoxlanılması bütün dəstə. Amma sonunda gözəllik ki, biz bu gün bir verilənlər bazası yazılı deyilik. Biz sadə saxlanılması edirik və yalnız inşallah həyata göndərilməsi funksiyası I vasitəsilə mətn mesajı son bir neçə gün zəng üzərində yazdı Funksiyaları olan mətn. php, olan online yenidən mövcuddur. Belə ki, əgər bu iştirak etmək istəyirəm. Biz bir şey saxlanılması fikrində deyilik. Real vaxt burada bu URL getmək. Yalnız hələ təqdim, lakin edək etməyin bu film biri ola bilər görmek anlar hər kəsin mobil telefon başlayır inşallah yalnız səs siqnalı Bu dəfə fərqli 2011 bu horribly əyri getdi. Və ki, ünvan üçün getmək bir dəfə, Bir super sadə formada görmək lazımdır ki, bir ad varsa, bir mobil telefon sayı, və mobil telefon daşıyıcısı orada siyahısını oyunları, getmək irəli və formu doldurun. Amma basmayın yalnız hələ təqdim edir. Forması bu kimi baxmaq olacaq. Durmayın yazın adı, telefon nömrəsi. OOP, kimsə irəlisində olacaq. OK. OK, hər kəs formu dolu. Bu işləməlidir telefon, istədiyiniz çox, əgər. Bütün hüquqlar, müəyyən almaq üçün işarələri, getmək. Burada Hit. Nə? No. Mən Allaha and olsun, mən test Bu çox dəfə bu gün. Siz var? [SƏSLƏRİ INTERPOSING] DAVID MALAN: OK, istifadəçi səhv bəlkə. Iki var. Bu həyata iki işləyib yüz, üç, dörd bir neçə. OK, yaxşı. Beş həyata dörd necə düzgün. Belə ki, yalnız nə oldu? Belə güman, görmədən sizin ekranlar, niyə errored bilər? Biz yalnız ki, yəqin çox əlaqələri etmək üçün çalışırıq bütün Harvard mail server dəfə eyni IP ünvan. Mən idi, çünki mən yalnız təxmin edirəm test lüks var bəzi bu kodu Əvvəlcədən 300 nəfər lakin indi üçün ki, həyata ən azı olmalıdır ki, bu dəfə iş kazanılmış var. Bütün hüquqlar, belə ki, niyə bu bütün neler daha ilgili? Yaxşı ilk, tez elanlar neçə. Belə bir, Chang qoşulmaq istəyirsinizsə, və Nahar Nick, və başqaları bu cümə, orada adi URL RSVP edin. Siz ağırlıq düşünürük əgər və ya CS orta etdiyini, Bir sophomore olsanız, və ya birinci, və ya hətta kiçik və ya bu nöqtədə baş və hələ kursları sıxmaq bilər, həyata mühəndis məktəbin ki pulsuz Ben toplanması və Jerry dondurma və məsləhət bu Çərşənbə qısa bir müddət sonra sinif CS binasında 4:00 PM Maxwell Dworkin at. Bu çox sürətli əgər ekranda, yalnız getmək a cs50.harvard.edu üçün Facebook hadisə link harada daha ətraflı görə bilərsiniz. Eyni zamanda, mən doğru düşündüm başqa bir şey Mən Çərşənbə günü goofed. Mark ID çıxır ki, Facebook üç deyildi. Bu dörd idi. Çıxır o daha test idi hesabları Mən xatırlayıram çox. Amma bu bir fürsət kimi hiss nə etmək üçün bu kimi bir URL qoparmaq üçün. Belə ki, Facebook var ki çıxır API, Application Programming Interface, bir mexanizm vasitəsi sizi deyil program data tələb edə bilər və Facebook maşın geri almaq oxunaqlı informasiya deyil, web pages ancaq xam mətn şey JavaScript Obyekt Notation çağırıb. Və əslində, əgər mən bu səfər URL və ismarıcları, zoom Bu açıq Mark nin əlçatan məlumat. Və maraqlı detal Burada yalnız ki, onun ID edir , həqiqətən sayı dörd, olan I tezliklə mən bu kimi həyata keçirilir. Bilirsiniz, əgər bu özünüz edə bilərsiniz Sizin Facebook istifadəçi adı varsa. Yalnız orada üst onu yazın. Bu heç özəl. Mən yalnız belə bunu edirəm Bu gizli rejimində. Mən hətta daxil deyiləm. Və mən gördükdə yəqin istifadəçi sayı 6,454 idi deyil Facebook, Bu gün çox pis. Belə ki, afərin, siz də görəcəksiniz orada əlavə məlumat. Və faydalı aspekt ki, ki, siz öz proqram yazmaq bilər ki, elə bu kimi məlumatları birləşdirir öz ərizə daxil. Siz istifadəçilər həvalə edə bilər Sizin veb daxil, öz xüsusi adı istifadə və parol amma bəlkə onların Facebook giriş və hətta məlumat almaq onların dostları haqqında, belə, və ya oxşar təsdiq əgər. Belə ki, çox ki, CS50 Qeyd öz API bəzi var kurs kataloq məlumat üçün bir, yemək də hugs menyular üçün salonları, bütün binalar və yerlərdə kampus biz də bir API Siz eyni sorğu əldə edə bilərsiniz ki, Siz inteqrasiya edə bilər ki, geri mətn data PHP, və ya JavaScript daxil və ya hətta, baxmayaraq az çox, bir C yekun layihə əsaslanır. Həqiqətən qabaqda final üçün Layihə bir neçə mərhələləri var. Siz gün bizə bir e-poçt aldım. Təklifin ki, həyata bu gələn Bazar ertəsi bağlıdır. Bu mütləq məcburi, lakin siz deyil tədris yoldaşları almaq lazımdır təsdiq etməzdən əvvəl sonra hər hansı bir dəyişiklik. Və sonra irəli bir digər mərhələləri sayı. Beləliklə də, siz tease üçün, bəzi imkanları ilə, biz bir dəstə var Bu hue yüngül ampüller. Və uşaqların bəziləri indi bəzi Sizin yurt otağında bu həmçinin. Və onlar da bir API var. Belə ki, həmin ikili ampüller həftə geri əvvəl Dan Bradley və Ansel Duff bizim üçün yaradılmışdır. Onlar bir proqram interface istifadə Bu ampul, hazırda olan elektrik daxil takıldığından və sonra simsiz vasitəsilə Bir az şey bağlıdır , aşağı burada Körpüsü adlı bir az router xüsusi kimi bu cihaz. Mən necə bilirsinizsə Amma bu çıxır biz bütün indi nə kimi, HTTP mesaj göndərmək, Mən bu kimi bir mesaj göndərə bilərsiniz Bu ampul və ya söndürmək üçün və ya hər hansı bir sayı yoxdur bu digər əməliyyatlar. Almaq deyil ki, yazmaq deyil edək. Put adlı başqa bir var. Həqiqətən bir neçə digər belə fe'llər var. Lakin, bir yol var bildiriş API çizgi yeni geliştirici doğramaq, dövlət doğramaq, bir çizgi, yüngül doğramaq. Ki, yəqin yalnız var yol şirkət, Philips, Siz hit var qərar bir HTTP sorğu ilə Siz dövlət dəyişdirmək istəyirsinizsə HTTP 1.1 istifadə ampul. Sonra boş line bilərsiniz. Və sonra nəhayət nə kimi bir növ bir sıra cür, bu daha adlandırmaq gedir JavaScript Obyekt Notation, və ya Jason. Və nə burada ki, üç əsas dəyər cüt var. One düyməsi adlanır. Və onun dəyəri yəqin doğru olacaq. Parlaqlıq 128 olan int bir növüdür. Və sonra keçid vaxt yəqin sıfır, Bu olacaq necə uzun bu şey açmaq üçün almaq. Belə ki, indi bu ampul off edir. Mən dəqiq əgər Lakin edək Hələ Mənə bir az istifadə etmək hesabatı getmək Dan qurmaq ki, advance-- və Mən gedirəm irəli getmək və surəti aşağıdakı funksiyanı. Curl, siz bəzi kimi CS50 gleaned bilər Müzakirə Telnet bu kimi bir uygulamadır Siz HTTP sorğu biclik bilər ki, xüsusi qoyur. Bu data göndərə bilərsiniz, konkret nə biz yalnız əvvəl xüsusi bir an gördüm burada bu URL. Və sonra Curl idarə edir zəruri başlıqlarını bütün və orada təhlil. Mən nə üçün bütün bu surəti deyil sonra terminal pəncərə və Enter düyməsini basın. Və ampul gedir. Və bütün bu keçir mənim kompüter kabelsiz birtəhər körpü, aşağı olan onda bu lampa danışır. Mən başqa bir şey edə bilərsiniz. Mən bu şey edə bilərsiniz Məsələn qırmızı gedin. Mən, məsələn edə bilərsiniz bu şey yaşıl getmək. Mən mavi getmək edə bilərsiniz. Bu hər qeyd hallarda, mən dəyişən alıram ki, bütün sözdə hue dəyəri nə həqiqətən bəzi rəng verir. Mənə həmçinin bu yapışdırıb imkan verir. İndi mavi. Və hətta meraklısı edə bilərsiniz şeyi yaşıl gedək oxlar. Və mən bunu edə bilər öz kodu ilə kurs. Lakin hətta API özü funky əməliyyatları dəstəkləyir Bu kimi, indi narahat edəcək növbəti 30 saniyə üçün bizi. Belə ki, bir dad var nə bilər bir API ilə, bu bir cəlb yüngül ampüller. CS50 bir neçə var Qeyd edək ki, Google Glass cüt istədiyiniz əgər boyunca bir şey həll istəyirəm o xətləri, Arduino UNOS olan kiçik kiçik kompüter var, mahiyyətcə, bir az circuit board Siz qoşula bilər ki, məftil və başqa şeylər və həqiqətən nəzarət Sizin real dünya mühit. Və sonra bir neçə var biz ki, yeni oyuncaqlar. Bu sözün yalnız gəldi poçt ilə digər gün, bir Myo Armband. Və mən üçün bir yoldur fikir Siz layihələr haqqında həyəcanlı almaq Siz istifadə edə bilər ki, Bu hardware ki Bu qısa clip oyun ola Onlar insanlar tease üçün istifadə biz indi gələcəkdə yaşayan olduğunuz. [MUSIC PLAYING] DAVID MALAN: yalnız bir neçə həftə Belə ki, çox CS50 sərgidə sərin ola bilər. Digər cihaz ki, biz Biz istəyirik ki, bir dəstə var layihələr üçün kredit xoşbəxt bir hərəkət nəzarətçi adlanır. Bu bir az USB cihaz Bir kompüter üçün qoşulmaq ilə qarşılıqlı imkan verir Sizin laptop, Mac və ya PC, Bir Xbox Kinect kimi idi sanki və həqiqətən çox fiziki hərəkətlər etmək kimi biz bu görmək gələcəyə baxış. [MUSIC PLAYING] DAVID MALAN: Belə ki, olsa belə heç bir fikir nə kimi bir şey bəlkə icad və ya iş ola bilər bir hardware səviyyədə, heç bir məsələ ilə bağlı. Hətta CS50 yalnız bir neçə ay sonra, və proqramlaşdırma anlayışı ümumiyyətlə, və web proqramlaşdırma daha çox Bu yaxınlarda, və sonra da API, və HTTP, Siz vasitəsilə əldə etmək lazımdır proqram API əgər bu bir borc istəyirəm cihazlar həqiqətən danışmaq və narahat yoxdur əsas həyata keçirilməsi tamamilə olan məlumat, layering bu anlayışı uyğun biz bir abstraksiya dövr ərzində görüldü. Beləliklə də həftə sonu, xəbər bir neçə ədəd gördüm. Seminarlar getmək, ilk getmək əgər bir şey öyrənmək istəyirəm mövzular hər hansı bir sayı daha çox. Orada URL baxın. Və bu göndərilib Bildiyiniz Chang, mənə, olan filler ordumuzu çap edir. Və aşağıdakı kimi bir mövzu idi. Mən yeni TV dəhşətə deyiləm. Mən qorxuram niyə bu çevirmək üçün və siz bir şey çox olarıq. Beləliklə, biz indi istəyirik semestr qeyd, çox, siz olsa belə anlaşma kiçik web işləri necə, və HTTP, və bu kimi təhlükəsizlik, şeylər göz tutmaq üçün başlamaq lazımdır. Lakin, anlamaq lazımdır Bu şeylər olub olmadığını faktiki təhdidlər. Mən bir neçə alıntılar etdi Burada bu məqalə. Aşağıdakı kimi və hekayə. İndi sahibi deyiləm yeni smart TV, axın çatdırmaq vəd multimedia content, oyunlar, app, sosial media, və internet gəzən, çox oh və TV. Yalnız problem indi edirəm ki, istifadə qorxmaq, müəllifi deyir. Siz oxumaq əgər siz də olacaq TV üçün 46 səhifə gizlilik siyasəti. Məlumatların bu məbləğ şey toplayır məəttəl edir. Bu açar harada, nə zaman, necə və necə uzun siz TV istifadə edin. Bu, izleme çerezleri dəstləri Biz müzakirə etdik kimi, və işaretçilerini nəzərdə Siz zaman aşkar etmək üçün görüntülenen xüsusi məzmun və ya xüsusi e-poçt mesajı Siz TV e-poçt yoxlamaq istəyirsinizsə. Bu apps qeyd siz istifadə, siz ziyarət saytları, və məzmunu ilə qarşılıqlı necə, Sizin smart TV vasitəsilə ki, bütün edirik. O, həmçinin, creepier yet-- ki, mənim addition-- var kamera inşa etmişdir üz tanınması ilə. Məqsəd təmin edir TV üçün jest nəzarət və daxil imkan üz istifadə hesabı kişiselleştirilmiş. Bu ayaq, şəkillər TV xilas əvəzinə qəbul korporativ server. İşin mənfi tərəfi odur, internet əlaqə bütün TV edir hakerlər həssas olan imkanı nümayiş maşın tam nəzarət etmək. Daha narahatedici, əgər ki, yox idi kifayət qədər ağıllı, mikrofonu. TV səs malikdir tanınması xüsusiyyət ki, tamaşaçı nəzarət etməyə imkan verir səs əmrləri ilə ekran. Lakin xidmət ilə gəlir olduqca uğursuz xəbərdarlıq. Unutmayın ki Sizin danışıq sözləri daxil şəxsi və ya həssas digər məlumat ki, məlumat əsir məlumatların arasında olacaq və üçüncü tərəfə ötürülür. Ki, var? Şəxsi və ya həssas deməyin TV qarşısında stuff. Belə ki, bu real üçün əslində. Və çətindir, əgər görmək deyil Best Buy getmək və ya TV üçün kimi bu gün. Onlar bir şəkildə bütün smart edirik. Onlar əldə etdiyiniz asan və creepier. Onlar sadəcə məlumatların toplanması edirik Biz haqqında söhbət etdik ki, yolları və sonra HTTP və ya vasitəsilə yüklemek bir server bəzi digər protokol. Belə ki, bu fun maddənin idi Bu online veb burada bir danışılan Xüsusilə səhv və ya səhv kodu biz, həqiqətən, bağlamaq olar ki, Keçən həftə müzakirəyə. Belə ki, bu başlıq idi , aşağıdakı hekayə burada gedir Josh Breckman bir çalışmışdır müqavilə endi ki, şirkət Bir content idarə inkişaf sistem, və ya onlar deyilir kimi CMS, kifayət qədər böyük hökumət haqqinda üçün. Cəlb Layihənin Çox bir content management sistemi inkişaf işçilərin olardı ki, qurmaq və qorumaq üçün edə Daim dəyişən Onların site content. Things üçün olduqca getdi canlı gedir sonra bir neçə gün. Lakin gün altı üzrə, şeyi yaxşı getmədi. Üzrə məzmun Bütün veb tamamilə yox olmuşdu. Və bütün pages default gətirib, content web page daxil edin. Whoops. Josh çağırışı edildi araşdırmaq və qeyd xüsusilə çətin bir xarici IP ünvanı var idi getdi və bütün silinmiş sistemi üzrə content. IP ünvanı aid etməyib bəzi xarici hacker əyilmiş faydalı məhv Hökumət məlumat. Bu, googlebot.com həll Google öz web tarama spider. Whoops. Tədqiqat və Scrambling bir az sonra ətrafında bir noncorrupt yedek tapmaq üçün, Josh problem aşkar. Bir istifadəçi sitemizi və biri bəzi content yapışdırılır başqa səhifə, o cümlədən Edit Hyperlink səhifə content redaktə etmək üçün. Adətən bu olmaz bir kənar istifadəçi ildən məsələ olardı adı və parol daxil etmək lazımdır, lakin CMS identifikasiyası sistemi, giriş sistemi, nəzərə almadı inkişaf etmiş Hacking Google Spider üsulları. Whoops. O çıxır ki, Google Spider istifadə etmir Bu bilər o deməkdir ki, cookies, asanlıqla bir çek atlamak cookie set daxil saxta olması. O, həmçinin diqqət deyil JavaScript hansı zamanki təklif və istifadəçilər yönlendirme kim daxil deyil. Lakin hər riayət etmir tapdığı hər səhifədə köprü, o cümlədən Adı Səhifə silin. Whoops. Belə ki, bu daha çox nə deməkdir texniki, həm kifayət qədər əlçatan şərtləri? Bu, sadəcə o deməkdir ki, Onların web boyunca, bu bir fərqli URL'leri deyil ki, problem yeddi set görmək bilər. Problem Xatırladaq yeddi müəyyən və ya problem bilirik yeddi müəyyən Siz etiraz edirik ki, digər şeylər arasında, istifadəçilər adından səhmlərinin satmaq. Amma yol ki, xüsusiyyət həyata Sizin istifadəçi hiperlink vasitəsilə almaq interface, yəqin ki, deyil akıllıca fikir site birtəhər, çünki əlçatan ya insan tərəfindən ətrafında tıklayarak və ya almaq var Google və ya bir hörümçək kimi bot onlar adlı edirik ki, yalnız var index çalışır web tarama bir axtarış mühərriki kimi web, onlar çox asanlıqla bilər URL bu cür vasitəsilə edib. Və funksional deyil ekvivalent, bu halda, Google bütün səhmlərinin satışı. İndi səmimi, bu, tamamilə var asinine ki, CMS istifadə JavaScript və cookies onun giriş sistemi tətbiq və kimi server yan bunu deyil Sizlərin PSet etmək və olacaq 7-- bir login.php var Həmişə fayl, həmişə, həmişə təhlükəsizlik olmalıdır server tərəfində görülən, deyil klient tərəfində, çünki bu kimi maddə təklif və özünüzü bilər Bu, bir nöqtədə görmək , bir istifadəçi üçün əhəmiyyətsiz yaxşı və ya pis, yalnız JavaScript söndürmək üçün cookies qeyd etmək deyil. Belə ki, gündəlik WTF edir. Bir daha, var olan , yalnız cür qorxudan deyil mən əgər qeyd etmək lazımdır yalnız həyat dərs kimi. Bir proqram istifadə zaman Snapchat və ya bu kimi adlandırılan bu photos yalnız davam deyir Beş saniyə, on saniyə, və ya etajer. Onlar ki efemer edirik tamamilə belə deyil. Digital, heç bir yolu yoxdur kimi, video bəzi formada həyata keçirmək, və ya image, və ya mətn belə mübadiləsi digər sonunda alıcı birtəhər data saxlaya bilməz. Ən sadəlövh şəkildə, kimsə öz telefon bilər. Onlar bir 10 ikinci pəncərə bəzi snap baxarkən yalnız bəzi digər telefon etmək və açıq-aydın, bu fotoşəkil. Beləliklə, siz qorumaq bilər digital bir şey ki, yol. Siz bəzi almaq üçün necə telefon ekran. Əslində, siz bu bilmirəm, əgər, həyata ən azı Snapchat ki, və digər düşünürəm applications bu gün, ən azı, əgər sizə alan həqiqətən var image bir ekran qəbul. Amma pis hələ, bu snappening idi, Kimsə yaxınlarda coined kimi, bəzi 100,000 snaps azad edilmişdir bir torrent fayl deyirlər nə müxtəlif saytlarda nəticədə. Və bu, bir dəstə olan Şəxsi mesaj və mesajların. Bu, onların əksəriyyəti benign çıxır belə ki, gözləmək bilər nə. Lakin insanlar idi, çünki üçüncü tərəf veb istifadə, onların Snapchat ilə giriş istifadəçi adı və parol və sonra onların bütün snaps qənaət Bu üçüncü saytda. Və bu üçüncü oldu hücumu olub ki website, yalnız nəzərdə kimsə fiqurlu necə bu şəkilləri bütün 100,000 plus almaq üçün öz sabit daxil sonrakı bölüşmək üçün. Açığı, burada da, bu sort var və asinine ki Snapchat belə bir şəkildə həyata keçirilir ki, üçüncü intercept sıralayabilirsiniz məlumat və bağlı deyil ki, sizin telefon çalışan öz proqram. Amma burada da bu ki, həyata şeylər, sürpriz siz tutmaq deyil və ya ən azı orada olmalıdır burada bir həyat dərsi ola bilər. Texniki istəyirsinizsə ətraflı var ki, URL getmək ki, bugünkü slaydlar var. Bütün hüquqlar, hər hansı suallar CS bugünkü həyat dərsləri? Ki, söndürün. Bütün şey? Bütün şey? Mən yoxlanılması bir çox insanlar var indi onların Snapchat və ya bir şey. Bütün sağ, SQL ki, Yapılandırılmış Query Language. Bu paketi edək. Və həmçinin, baxmayaraq biz yalnız kazıma edirik Bu səthi dil, sizə verəcəyik dil kifayət qədər PSet 7 şəklində belə ki, bəzi həll edə bilər ki, kifayət qədər ümumi funksionallıq. Amma bir neçə var həyata Sizə tələb etmir şeyi, lakin onlar olacaq əhəmiyyətli final layihələr gəlib və əlbəttə ki, faktiki edilməsi gələcək faktiki istifadəçilər saytları Bu dizayn qərar deyil. Bu çıxır ki, bir MySQL verilənlər bazası, siz kimi seçim dəstələri var Sizin sütun üçün data növləri və başqa şeylər, lakin siz də var qondarma saxlama seçimi sizin data bütün mühərrik, fayl sistemi sort, tanış değilseniz, sizin data bütün. Nə format nəticədə saxlanılır? Və ən ümumi, bəlkə olmuşdur MyISAM və InnoDB, texniki şərtlər biz yalnız qayğı lazımdır ki, dərəcədə ki, bir var və bir yoxdur Aşağıdakı xüsusiyyət. Siz var ki, düşünək bir az yurt soyuducu. Və siz və güman sizin bu soyuducu bölüşən roommate, demək süd həqiqətən sevən. Bu əslində, necə edir hekayə yol geri mənə verib gün mən bir kurs gəldiyində CS 161 Əməliyyat sistemləri, adlanan eyni mövzunu araşdırır. Belə ki, bu soyuducu var. Siz süd bitti. Və sizin roommate nin, ev gəlmək hələ sinif və ya hər hansı at, və mən gedirəm qərar çıxmaq və bəzi süd almaq. Siz soyuducu yaxın belə, lockup yurt otaq, küçə boyunca getmək CVS və ya yerdə və almaq üçün line bəzi süd almaq. Eyni zamanda, roommate ev alır sinif, Yurdunda daxil olur də həyata keçirir, soyuducu açır ooph, biz süd bitti. Belə ki, o bağlayır soyuducu və sonra olur digər CVS getmək, olan olur bir blok üz digər CVS-dən meydanda, və xətt olur bəzi süd orada almaq üçün. İndi, əlbəttə, bir neçə dəqiqə sonra, siz də geri almaq, və bütün mümkün ən pis nəticələri oldu. Siz də süd var. Və həqiqətən deyil süd kimi qədər. Belə ki, onlardan biri yalnız bir nöqtədə turş gedir. Belə ki, indi həddindən artıq miqdarda var soyuducu süd bütün çünki niyə? [Işitilemez] DAVID MALAN: Bəli, siz etmədi birtəhər bir-biri ilə ünsiyyət ki, süd əldə edilmişdir. Sadə Belə insan dünyada yolları, Bu silly qarşısını necə Belə baş ssenari ki, yalnız bir ilə başa. Mətn onlara, bəli yaxşı. Amma necə başqa? Post-it qeyd edir. DAVID MALAN: A Post-it qeyd. Rabitə hər hansı forması ki, roommate deyir süd soyuducu daxil deyil. Mən öz restock getmək üçün gedirəm. Belə ki, elə lazımdır Bu resurs kilidləmək üçün. Belə ki, biz bunu edə bilərik cür edə bilərsiniz hekayə məhv və CS hekayə açmaq vasitəsi kimi yalnız bir kimi bu hesab bəzi dəyəri saxlanılması olan dəyişən. Və indi, süd dəyəri sıfıra bərabər olur Sizin istəmirəm roommate dəyişən yoxlamaq üçün və sonra bir qərar onu və ya özü etmək ki, dəyişən dövlət əsasında Siz prosesində değilseniz ki, dəyişən dövlət dəyişir. SQL xətləri belə bir ki, biz PSet 7 dəqiqləşdirilməsi sizə vermək burada biridir. Və biz böyük bir sərf yoxdur vaxt məbləği söhbət. Siz çalışırıq, əgər Lakin bu, çıxır CS50 maliyyə bəzi fond almaq Əgər siz artıq var ki, Siz, bəzi səhmlər bir sıra edə olmaq istəyirəm dərhal birlikdə şeyi. Siz etmək istəyirəm səmərəli, yüksək səviyyədə, Mən istəyirəm əgər, bütün sağ yoxlamaq Pulsuz daha səhmlərinin, qəpik fond biz spec haqqında danışmaq, Mən ilk çek istəyirəm necə çox səhmlər I var. Və beş Güman. Mən istəyirəm Güman Mən sonda, 10 daha çox almaq Fond 15 səhmlərin olsun. Mən iki sual var. Dəyişən dövlət nədir? Sıra dövlət nədir? Hal-hazırda necə çox səhmlər var? Sonra irəli getmək və yeniləmək istəyirəm. Belə ki, analog var Siz sıra yoxlamaq süd, və sonra siz onu yeniləmək istəyirəm 10 səhmlərin almaq istəyirsinizsə, çünki, dəyişdirmək istəmirəm 10 sıra, siz 5 dəyişdirmək istəyirəm plus 10 və ya, əlbəttə, 15. Kodu bu xətt təmin Bu iki konseptual ideyalar birlikdə və ya bütün baş verir. Bəzi digər istifadəçi daxil heç bir, , eyni saytında daxil oldu birtəhər dayandırmaq bilər sıra yoxlanılması və sıra yenilənməsi, bu seçin və yeniləmə siz əgər. Və sintaksis, super aydın deyil lakin bu xətt, uzun, edir bu iki əməliyyatları təmin dəyişən yoxlamaq və ya sıra yoxlamaq və sıra atomically baş yeniləmə. Oh, burada biz yenə getmək. Telefon mətn mesajı. Belə ki, bu bir edək az daha konkret. Siz deyilik ki düşünək soyuducu həyata, və həyata deyilik PSet 7 lakin faktiki bank, və ya ATM, bir Automated Teller Maşın vasitəsi sizə elə həvalə etmək istəyirəm istifadəçilər pul köçürmək bir hesabdan digərinə. OK, asmaq. Mən indi bu səssiz etmək üçün gedirəm, təşəkkür edirəm. Beləliklə, biz pul hərəkət etmək istəyirəm bir haqq-hesab sayı müxtəlif nəzərə sayı, xüsusi $ 100. Belə ki, bu ixtiyari növü Məsələn, qovuşdurmağımız, ATM, iki SQL icra edə bilərsiniz queries, bir hesabdan çıxmaq və digər hesabına əlavə edin. Amma bu təmin etmək istəyirik iki xətləri baş və ya bütün həm. Siz bir şey istəmirəm müdaxilə əldə. Siz bir smart pis oğlan deyil elə Bank of America duran qarşısında iki ATM ilə ona və birtəhər sort yazaraq eyni zamanda əmrləri, inşallah əvəzinə $ 200 çıxmaq üçün çalışırıq $ 100 və kredit yalnız olan $ 100. Bir sözlə, bu istəyirəm beklediğiniz kimi dəqiq kimi davranırlar. Və siz yolu Bu SQL bazası Siz nə onu kesmek bir əməliyyat çağırıb. Sözün SQL, siz CS50 nin zəng edə bilərsiniz quote dırnağı bağlamaq başlaması ilə sorğu funksiyası əməliyyat. Sonra hər hansı bir sayı keçirə bilər sonrakı SQL sorğu, lakin onların heç biri almaq bazasında təsir Siz sorğu quote dırnağı bağlamaq zəng qədər daha PHP istifadə edərək, götürürük. Və bu şəkildə, siz təmin edə bilər Siz hətta 1000 users bütün Sizin bazası vuruş Eyni zamanda, SQL Bu ki, söz iki queries olacaq digər sonra bir sağ həyata keçirilir. Beləliklə, siz artıq başa yoxdur süd və ya yanlış məbləği, nəticədə, pul. Belə ki, mind bu saxlamaq, pset 7 üçün çox deyil lakin son layihələr Siz, həqiqətən, əgər ətrafında data hərəkət etmək üçün çalışırıq masalar daxilində Burada bilər. Amma bəlkə hətta sadə və daha bir misal ilə anlamaq üçün aydın burada biridir. Və kimsə haqqında bizə e-poçt Bu yalnız gün bənzər online bir şey gördüm. Mənim bilik, pin sistemi So Bu hücum həssas deyil. Mən heç bir fikrim yoxdur, əgər hətta istifadə başlıq altında SQL verilənlər bazası. Amma üçün istifadə edək müzakirə naminə. Burada ekran ki, Harvard insanlar edirlər giriş zaman görmək üçün onların Harvard ID sayı və onların pin. Və pin sistem olduğunu güman PHP və MySQL ilə həyata verilənlər bazası, kodu kimsə yazılı ola bilər il əvvəl bu kimi baxmaq bilər. Birincisi, bir bəyan adlı dəyişən adı. Və yalnız ki, almaq POST superglobal. Sonra bir dəyişən almaq parol adlanır və eyni. Və sonra yalnız icra Burada bu uzun sorğu, istifadəçilər yerdən seçin star istifadəçi adı belə bərabərdir və parol belə bərabərdir. Buruq Qeyd edək ki aşırma Mən burada istifadə etdiyiniz yalnız PHP demək, getmək irəli və əvəz bu iki dəyəri orada dəyişənlər. Onlar ciddi lazım deyilik, lakin onlar incə sintaksis səhvlər qarşısını almaq üçün edirlər. Belə ki, bu tamamilə görünür ilk baxışda doğru. Və bu. Siz həyata bilər Bu şəkildə pin sistemi. Amma super güman ağıllı və zərərli tələbə onun pin kimi daxil bu. Mən güllə kaldırdık Bu qədər istehza burada əlamətləri, və mən, həqiqətən nazil etdik nə o yazaraq ola bilər. Və bu bir az qəribə. Amma nə potensial sizə həyata atlamalar istifadəçi girişi haqqında worrisome, Siz heç bir fikrim yoxdur, hətta nə bir SQL injection hücum deməkdir. Niyə bu kiçik balıq görünür? Nə olub? [Işitilemez] DAVID MALAN: The ya bir az şübhəli. Əslində, SQL bir söz var. Belə ki, yaxşı ümidlər vermir. Var ki, Bütün bu vahid quotes orada əslində, asan biri Bəzi verilənlər bazası pozmaq yolları O'Reilly kimi bir adı yazaraq deyil ki, bir apostrof var insan yazan, çünki pərdə arxasında kodu nəzərə almır ki, bir istifadəçi vahid quotes ola bilər giriş, o istifadə edir və Onların kodu vahid quotes, pis şeylər ola bilər. Əslində, pis hələ, bu hesab. Bu daha kodu idi ki, Harvard il kimsə əvvəl pin üçün yazdığı Sistem, nə hiss haqqında əvəz almaq üçün istifadəçi adı və parol istifadəçi növləri əgər yenidən Onların adı kimi skroob və sonra bir, iki, üç, dörd, beş, bir bərabər dırnağı bağlamaq quote və ya quote bir sitat. Və nə əsas var qeyd Burada istifadəçi etdi açılmış, onların parol və ya bir quote ilə pin. Və onlar başa yoxdur Sitatla çünki o ki, fərz olunur, əgər proqramçı, belə ki, kəskin deyil onlar gedir Onların kodu vahid quotes. Belə ki, burada kodu var. Və əvəz ki, İndi baş verə bilər bu. Mən vurğulayıb nə istifadəçi tipli etmişdir. Belə ki, əvvəl, sonra. İndi yumşaq worrisome nə görürsünüz Bu SQL kodu sağ yarım haqqında? Bu, etiraf, bir az daha kompleks sorğuları daha biz gördük. Amma bu bəlkə deyil Siz əgər yaxşı bir şey ola seçin olan seçin ulduz söyləyərək istifadəçi masa hər şey harada istifadəçi adı skroob bərabərdir və parol bərabərdir bir, iki, üç, dörd, Beş və ya bir bir bərabərdir. Məntiqi dolayısı nə var güman ki, son bənddə? Bu, sadəcə həmişə doğru. Və biz növ guessed çünki və ya sınaq və səhv ilə fiqurlu ki, proqramçı olan yazdı bu kodu etmədi bir insan və ya pis adam tahmin eləcə də vahid quotes yazaraq, biz syntactically bilər SQL sorğu başa cəfəng bir şey ilə lakin bir şey ki, syntactically düzgün deyil həmişə doğru üçün qiymətləndirir. Belə ki, bu kodu cavab üçün istifadə olunur, əgər sual doğru və ya yalan olmalıdır Bu istifadəçi keçmək üçün icazə Cavab həmişə yəqin gedir bu həmişə gedir, çünki doğru olmaq bazasında bir şey seçin əlbəttə bir həmişə bir bərabərdir çünki. Belə ki, həll nə var? Yaxşı PSet 7, biz, həqiqətən, bütün birlikdə bu çəkinin. Biz bir sorğu funksiyası vermək, və biz sual işarələri istifadə təşviq placeholders kimi oxşar printf% s ruhu, lakin sual işarələri haqqında əsas nə Siz həqiqətən vasitəsilə oxumaq əgər burada functions.php, harada bizim sorğu funksiyası, həyata keçirilir bu sual işarələri escape, vasitəsi potensial təhlükəli bir şey bir quote çıxdı kimi qaçan bir tək quote. Belə ki, bu nə edir Həqiqətən, əgər baş CS50 sorğu funksiyası və ya hər hansı bir sayı istifadə üçüncü pulsuz kitabxana ki, eyni. Bu halda etməz, yaşıl, istifadəçi bir quote çap əgər sorğu, çünki biz yazırdı ki, funksiyası əvvəl backslashes əlavə etmək üçün gedir hər hansı bu cür təhlükəli quote. Belə ki, bu deyil, Hətta legit olacaq. Bu axtarır crazy yazaraq kimi əlbəttə, niyyətində deyil, ki, parol skroob faktiki parol olacaq. Belə ki, CS50 üçün paket, bir tamamilə həmişə bir şey istifadə CS50 sorğu funksiyası kimi və ya əsas kitabxana, olan PDO adlandırmaq olur. Amma heç vaxt, heç vaxt, bu kimi kodu heç vaxt qaçma və ya yuyulma olmadan kimi onlar sizin giriş deyirlər. Və siz bir anda yəqin ki, Bu kimi bir web rast gəlmək. Əslində, bu halda görünür yerlərdə hava və mehmanxana kimi Onlar pulsuz Wi-Fi var Siz daxil etmək lazımdır ki, çıxış, Bu saytlarda həmişə horribly həyata keçirilir. Və ev həyata əyləncə bir növ, Zərərli məqsədləri və ya daha çox Yolda bir əyləncə həyata, yalnız yazın deyil bir apostrof, bir quote, Bəzi internet saytında bir formaya və nə görmək. Və server Yeməyini və ya verir siz səhv mesajı bir növ, çox yaxşı ola bilər Kimsə bu gözlənilən deyil. Və sonra müvafiq xəbərdarlıq etməlidir hakimiyyət və heç bir davam etdirilir. Belə ki, indi uşaqlar inşallah olmalıdır burada bir az daha turk yumor başa düşürük. [Gülüş] DAVID MALAN: Siz bir turk etdiyiniz bilirik. Növbəti bir neçə üçün il Yadınızdadırsa olan kiçik Bobby Tables Burada bu karikatura çünki. Belə ki, nəzərə ki, saxlamaq, biz kontekstində keçid son dəfə JavaScript gün. Biz nisbətən az sərf etdik PHP və sintaksis vaxt bu, həqiqətən, çünki C. super oxşar Və qəşəng kifayət qədər, JavaScript çox C sintaksis super oxşar biz görəcəksiniz kimi də Yalnız bir an və biz will kimi xüsusilə sonra bu həftə görürük. Bu dil ilə nə edə bilər, baxmayaraq ki, bütün daha güclü xüsusilə API ilə. Lakin ilk tez tur. Belə ki, bir JavaScript var gözəl olan heç bir əsas funksiyası. PHP kimi, yalnız kodu yaza bilərsiniz. Conditions Bu kimi baxmaq. Və Boolean ifadələr bilər bu kimi və ya bu kimi baxmaq. Açarları mövcuddur və onlar bu kimi baxmaq bilər. Dörd loops bu kimi baxmaq. Loops bu kimi baxmaq edir. Do whiles bu kimi baxmaq. Və sonra seriallarda kimi baxmaq Bu, PHP çox oxşar. Lakin, JavaScript Siz fark bir dollar ilə bir dəyişən elan bir veri növü ilə deyil, sözün, imza əvvəl dəyişən Var deyərək. Bu da azad yazdığınız ki, bu növləri var, ancaq açıq-aydın onlara bəyan etmir. Və sonra bir string üçün Məsələn, ola bilər bu kimi ki, simli bu halda s adlanan. Və sonra bir obyekt. Və bu uzun əvvəl daha çox lazımdır. Və bir obyekt bəlkə biridir ən çox data strukturları görüldü Bir JavaScript based proqram imkan verir, çünki siz ixtiyari birləşmək əsas dəyər cüt yalnız PHP-nin assosiativ seriallarda kimi və yalnız öz hash masa kimi biz həyata və ya cəhd bir neçə həftə. Belə nin əslində görək nə JavaScript ilə edə bilərsiniz. Və xüsusilə, bu xüsusiyyətləri camaşırxana siyahısı brauzerlərdə var ki Bizə JavaScript çəngəl imkan verir bu şəkildə bir web daxil. JavaScript tez-tez kimi istifadə olunur klient scripting dili. Bu tərtib deyil. Bu da şərh olunur. Lakin PHP fərqli olan çalışan edilmişdir server, web server, və ya dərin daxili müştərilər, JavaScript ki, fərqlidir adətən browser çalışır. Belə ki, hər hansı bir JavaScript kodu yazılı başlamaq PSet 8 və ya yekun layihə üçün, və ya real dünyada ümumiyyətlə gedir tamamilə server qeyd olunacaq Bir dot HTML və ya dot JavaScript fayl JS. Amma browser gedir JavaScript olduğunu download Chrome öz instansiya kodu, IE və ya Firefox, və ya hər hansı. Və kodu həqiqətən almaq üçün gedir Öz browser daxilində icra. Məhz bu daha real etmək, beton şəklində görək. Biz bu kodu nə heç bir fikrim yoxdur həqiqətən, bu oxumaq olmadan. Amma mənə Facebook.com getmək bildirin giriş olmadan. Mənə Element Inspect və getmək gedək, deyək, Rabitə şəbəkəsi və Page yüklə. Və biz see-- lazımdır mənə yüklə keçmək imkan Page yeni bütün istekleri almaq üçün. Və ilk görürəm fayl CSS, CSS edir. Burada ilk JavaScript fayl, və mən heç bu nə fikir, lakin burada JavaScript kodu bəzi ki, Facebook çeker. Bu da həqiqətən deyil zoom aşkar. Bu hələ kimi cəfəng var. Amma var, hətta aşağı görəcəksiniz Bu JavaScript faylları daha. Whoops. Ki, bir ping var. Bir az aşağı gedək daha daha daha. Bir var. Bir var. Bir var. Belə ki, hətta Facebook baxmayaraq, arxasında səhnələri, PHP hissəsində yazılmışdır və Facebook öz versiyası onun, JavaScript miqdarı var. Əslində, hər hansı Facebook haqqında nə söhbət, inline qrafiki yenilikləri hər hansı ki, real vaxt ki, bütün baş JavaScript tərəfindən idarə olunur. Bəli? Auditoriya: Mən əmin deyiləm Bu Facebook əgər, amma Facebook inkişaf ki, düşündüm öz ev kodu dil? DAVID MALAN: Özləri etdilər. Mən bir ixtilaf demək nə ki, var PHP onlar həqiqətən Hip Hop adlı Belə əlavə xüsusiyyətləri zaman Mark ilk Facebook həyata Bu PHP yazılmışdır. Və sort qalıb ön dil sort Onlar çox üçün istifadə onların coding, ancaq ki, bir dil deyil milyardlarla xüsusilə də tərəzi insanların. Və onlar öz əlavə pərdə arxasında təkmilləşdirilməsi. Onlar hər hansı bir sayı istifadə digər dillər müxtəlif ədəd infrastruktur. Belə ki, bəli, bu bir variance var biz indi PHP kimi nə. Belə ki, bir nəzər salaq nümunələri bir neçə biz burada JavaScript istifadə edə bilər necə. Bugünkü mənbə kodu, biz bir faylları dəstə, olan ilk, nin DOM sıfır adlı bildirin. Aşağıdakı kimi Belə ki, DOM sıfır görünür. Bu kataloq gedək və domzero.html açmaq, olan üst bir doc növü bəyannamə, burada deyərək HTML 5 gəlir. İndi burada bir HTML tag var. Burada baş tag var. Və bu gün burada yeni nə var. Biz indi bir script tag var Səhifənin rəhbəri daxilində. Bu yəqin edir çox az, lakin bildiriş Mən müəyyən etdik ki, script, bir JavaScript. Və bir kənara, bu ildən ümumi misconception edir, JavaScript tamamilə heç bir şey Java, dil ilə bəzi bilər ki, ZPT öyrəndim. Bu marketinq çox idi bir şey daha bir şey, əvvəl Java il coattails binicilik. Amma JavaScript, heç bir şey ilə Java, yalnız eyni, və annoyingly, dolaşıq adına. Belə ki, burada bir funksiyası bəyan necə JavaScript, sözün funksiyası demək, sonra funksiyanın adı, sonra hər hansı bir onu bilər dəlilləri, PHP yalnız kimi. JavaScript, ən biri çıxır mövcud annoying funksiyaları Alert edir. Bu bir az pəncərə ki, açılır və sizi uyarır bəzi məlumatlar parça. Bu, ümumiyyətlə, sonra qaşqabağını töküb üzünü oldu. Amma biz bunu kimi istifadə edəcəyik bizim Burada ilk həyata. JavaScript bir neçə xüsusiyyətləri bildiriş. Single quotes və ikiqat quotes faktiki olaraq artıq fərqi yoxdur. Single quotes və ikiqat quotes interchanged ola bilər, C isə, siz istifadə etmək strings üçün ikiqat quotes, və siz bir iki var chars üçün quotes. JavaScript dünyada, bir çox insanlar, insanların çoxu strings ətrafında vahid quotes istifadə yalnız bir üslub şey var, çünki. Amma plus operator, burada nə var biz əvvəl görmədim? Auditoriya: Concatenation. DAVID MALAN: Concatenation. Belə ki, C hətta bu yoxdur. PHP dot operator var, bu yoxdur. JavaScript plus operator var, olan dolaşıq yalnız Java kimi. İndi nə burada olacaq? Belə ki, burada bir əsas var ki, şəkil anlayışı biz bir neçə atdı gün əvvəl dövrəyə girir. Biz bir sadə zaman saxla bir versiyası HTML səhifə və yalnız salam dünya bildirib. Və sonra biz bir ağac çəkdi sağ olan düzbucaqlı və xətləri bir dəstə idi bir ailə ağac kimi onları birləşdirən. Belə ki, qondarma DOM var və ya Document Object Model. Və bu əldə edə bilərsiniz ki çıxır sintaksis ilə ağac düzbucaqlı aşağıdakı kimi. Siz sözün olan, sənəd demək Bir JavaScript xüsusi qlobal dəyişən bir funksiyası var ki, proqram Siz əldə edə bilərsiniz ki, bununla bağlı bir struct oxşar, lakin sadəcə , dot və sonra funksiyasının adını demək ID element almaq. Mən almaq istəyirəm elementidir yəqin dırnağı bağlamaq adı sitat. Və sonra mən onun dəyəri almaq istəyirəm. İndi biz irəlidə özümüz əldə edirik. Mən hətta əmin deyiləm nə bütün bu edir. HTML edək sürətli irəli super sadə olan səhifə. Mən müəyyən etdik ki, xəbərdarlıq Burada aşağı təşkil edir. Mən bir unikal təqdim etdik ihbar Biz istifadə etdik baxmayaraq ID, Bu atribut əvvəl. Amma bu HTML var. Siz benzersiz bəzi yığın müəyyən edə bilər bu kimi bir identifikatoru ilə HTML. Notice indi Hələ HTML çıxır ki, camaşırxana siyahı başı dəstəkləyir bir an əvvəl bütün hadisə işleyicileri dəstə. Və bu hadisə handler təqdim deyir. Bu istifadəçi təqdim forması, aşağıdakı kodu çağırırıq. Və kodu gedir adlı ya icra ediləcək məhz bu, Yunan edir funksiyası qaytarılması yalan izlədi. Başqa hər şey olmalıdır olduqca tanış. Burada kimin növü mətn giriş, edir ID, bu halda, adı olacaq. Biz faktiki adı atributu yoxdur bu time-- və submit 'düyməsinə. Belə ki, nəticədə səhifə bu kimi görünür. Və davranış, Bu kimi görünür görəcəksiniz. Bu səhifə yerli Host salam deyir Bir estetik sevindirici çətin David, bir istifadəçi salamlayıram yol. Amma əslində nə olub? Bəli, bu nə hesab. Bu mətn sahədir. Və görə Burada HTML, mən təqdim etdik Bir unikal identifikator adlı quote dırnağı bağlamaq adı. Eyni zamanda, mən belə etdik istifadəçi bu formada təqdim daxil edin vuruş və ya tıklayarak təqdim düyməsini Tanışma adlı funksiyası zəng və sonra saxta qayıtmaq. Nin əks həmin hesab edək. Mən təqdim basın zaman edək Bu səhifənin URL dəyişmir. Brauzer icon iplik başlamaq etməyib. Mən hər yerdə getmək deyil, və ki sanki geri yalan çünki. False qısa sxemlərin və ya Nöqtə qayıt bir formada default davranış. Bizə yaradır Belə ki bu bir final sual. Tanışma nə edir? Yaxşı, yəqin salam adlı bir funksiyası çağırır Alert bir keçir ki, uzun dəlil birlikdə concatenating nəticə substrings dəstə vergül kosmik hello, onda bu qaytarır nə. Belə ki, sənəd qlobal kimi ki, ağacın kökü dəyişən, xüsusi funksiyası zəng, başqa indi bir üsul kimi tanınır. Ki, bir funksiyası dəyişən deyil daxilində bir üsul əvəzinə bir funksiyası adlanır. Belə ID element almaq. Nə element edirsiniz onun ID almaq istəyirsiniz? Dırnağı bağlamaq adı Quote və sonra xüsusi qiymətləndiririk. Belə ki, başqa sözlə, ki, kodu sadəcə Onun ID adı mətn sahəsində tapır və sonra onun dəyəri olur. Belə ki, əgər mən bu dəyişdirmək üçün idi və Davin əvəzinə Davudu demək və biz indi, təqdim basın Davin üçün salam var. Belə ki, bütün gözəl və yaxşı bütün sağ,. Amma biz edə bilərsiniz əgər in görək yalnız ildən təmiz bu bir az bu kimi kodu yazmaq ümumiyyətlə, sonra qaşqabağını töküb üzünü olacaq. Bu scarier baxmaq üçün gedir. Amma ilk nə Burada qeyd fərq Bu başqa bu versiyası DOM bir dəyişən adı? Nə struktur fərqli görünür digər qarşı bu barədə? Bəli? Auditoriya: forma mı İndi script üst? DAVID MALAN: Bəli, forma üst edir bəzi maraqlı səbəbdən script. Belə ki, ilk şey çox, mənə həyata atlamalar. Və təşəkkürlə ən azı, bu hissəsi eynidir. Belə görünür ki, yalnız bir şey müxtəlif ola bu. Belə ki, burada səliqəli nə var JavaScript 2 haqqında. Və bu çətin edir ilk baxışda anlamaq, xüsusilə son layihələr əgər Siz online örnek kod aradığınız lakin bəzi sonunda aşağı əsas sintaktik xüsusiyyətləri. Burada yenə ki, qlobal dəyişən sənəd. Burada daha metodu və ya funksiyası ki, ID element olsun deyir. Mən istəyirəm bu dəfə demo adlı ID almaq. Ki, haradadır? Ki, yəqin doğru burada forma özü. İndi fark yəqin əgər mən ağac ki node geri almaq ki, şəklində təmsil özü bir mətn sahəsində, ki, formada çıxır ağac node və ya düzbucaqlı, Biz əmlak zəng edəcəyik nə var çox, çox, çox oxşar C. bir struct ruhu Bu, yalnız var Bu düzbucaqlı daxilində data üzvüdür. Mən forma var burada və mən əlavə edirəm, onun On təqdim və ya, təyin alıram handler və ya daha çox On əmlak təqdim Aşağıdakı funksiyası. Və bu günə qədər, craziest deyil şey indiyədək syntactically. Bu JavaScript və çıxır PHP, və səmimi C məsələ üçün, biz bunu yoxdur, baxmayaraq ki, siz adsız, imzasız və ya AKA Lambda əlavə bir ad yoxdur ki, funksiyaları lakin yenə adlandırmaq olar. Belə ki, nə mən burada edirəm mən təyin edirəm ki, Bu, əmlak təqdim edən a, mənim DOM ağac bu node daxilində funksiyası, funksiyası pointer siz əgər. Ki, funksiya var ad, lakin deyil biz görəcəksiniz çünki fərqi bir anda zəng etmək üçün necə. Bu funksiyası adlanır zaman, bu kodu, sonra edam olur yalan əvvəl kimi qaytarılır. Amma etdik nə görürsünüz. Bu bu nöqtədə hekayə, bir forma var. Bu demo adlı unikal ID var. Burada Down, mən bir script tag var aşağıdakı kodu icra. Bu node verir bu ağac On təqdim edir əmlak burada bu funksiya. Və yalnız iş brauzerlər necə təbiəti, Mən indi təqdim və ya Enter basın zaman, ki, funksiyası adlı almaq üçün gedir. Bu kimdir, çünki adı lazım deyil the heck, bu adlanır nə qalır. Heç olacaq yalnız vaxt Mən şəklində təqdim zaman deyilir. Mənim üçün heç bir ehtiyac yoxdur, insan geliştirici, həqiqətən başqa yerdə zəng etmək. İndi yalnız bir iltifat kimi kimi kifayət qədər ağıl əyilmə deyil, biz hətta bu edə bilərsiniz daha sirli istifadə baxmaq bir super məşhur kitabxana jQuery çağırıb. Fakt jQuery və JavaScript tez-tez conflated olunur. Və nə biz Çərşənbə günü edəcəyik start edir Bu dil və bu kitabxana istifadə getdikcə asinxron qurmaq və dinamik applications Xəritədə kimi əldə applications, ərizə ki, real web yeniləmə dəfə çox Facebook və ya Gchat kimi , və artıq kifayətlənmək Bir almaq və ya post təqdim dəyən tək. Mən Çərşənbə günü görəcəksiniz. [MUSIC PLAYING]