>> [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?
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.
>> 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]