>> R.J. Aquino: yalnız başlamaq edək.
Belə ki, bu Quiz 1.
Burada bəzi yüksək səviyyəli məlumat.
Viktorina üçün haqqında səhifə bu edir URL, artıq CS50.net, baxmayaraq ki,
hələ də işləyəcək.
Bu CS50.harvard.edu/quizzes/2013/1 var.
Bu, sizə deyirəm, haqqında səhifə böyük var harada və nə vaxt, yəni növbəti Çərşənbə
Otaqların bir dəstə.
Və növbəti Çərşənbə, mən İki gün deməkdir.
Bütün bu məlumatlar var.
Amma bu məcmu edir.
>> Bu ilin birinci yarısında belə hər şey il, viktorina potensial
Siz, həqiqətən, inkişaf etmiş edə bilməz, çünki C şeyi olmadan şərait əgər
loops və kimi.
Amma vurğu olacaq Quiz 0 ildən əhatə material,
Structs və Şəkil ilə başlayan I / O. Bu adətən daha çox
Quiz 0 daha çətin.
Orta bal adətən aşağı.
Ağır öyrənmək.
>> Əgər təhsil yaparken istifadə etmək üçün əmin olun CS50/discuss Sizin suallarınız
və digər insanların suallarını oxuyun.
Beləliklə, siz hər hansı bir sualınız yoxsa, daxil olun və oxuyun
Arkadaşlarınızın suallar.
Onlar yəqin ki, yaxşı suallar istəyirik.
Və təcrübə Quizzes.
Biz sınavlar verilməsi etdik İndi yeddi və ya səkkiz il.
Onlar online bütün istəyirik.
Gələcək suallar oxşardır köhnə suallara.
Yəni biz onları necə.
>> Viktorina hələ mövcud deyil.
Heç birimiz bunu gördük.
Amma bu kimi görünür Əvvəlki sınavlar.
Bu nəzərdən sessiya üçün, bu deyil mövzular tam siyahısı.
Siz yalnız sonra bu iştirak edə bilməz viktorina üçün mükəmməl hazır.
Əks halda, ola bilməz bir viktorina çox.
Bu mütləq də Əgər hər hansı bir haqqında bilmək lazımdır hər şey
mövzu verilir.
Bu şeylər sizi ifşa etmək nəzərdə biz əhatə etdik, sizə xatırlatmaq biz
əhatə və yol biz onu əhatə.
Lakin daha getmək və dərin siz ikiqat çek üçün öyrənmək zaman
Siz hər hansı bir haqqında hər şeyi bilirəm ki, Siz dolu etdik mövzu və
idi ki, bütün guşələrindən mühazirə əhatə.
>> Viktorina qeydlər getmək üçün sizə mirzə qeydlər, watch mühazirə videos.
Əmin siz var etmək üçün yaxşı bir yoldur bütün əsasları əhatə edir.
Mən bu zaman Belə ki, başlamaq slaydlar, Mən aşkar yerləşir qoymaq üçün cəhd
məlumat.
Belə File I / O, məsələn, həftə 7, Bazar ertəsi mühazirəsi və təqdim olunub
Bölmə 6 və Problem Set bütün var Fayl haqqında məlumat I / O. Mən etdik
Bu hər mövzu üçün.
Belə ki, həmin adı slaydlar may sizin üçün faydalı olacaq.
>> Belə ki, burada biz File I / O. var Unutmayın, Problem 5 Set, biz, fclose, fopen istifadə
fwrite, fread, və fseek.
30ish JPEGs bərpa və sonra boyutlandırılır və messed edərək
bitmaps, siz olduqca tanış olmalıdır Bu funksiyaları ilə
və onlar iş necə.
Artıq tanış, əgər mütləq onları nəzərdən.
Və əmin anlamaq nə müxtəlif arqumentlər var,
onlar istifadə etdiyiniz zaman.
>> Amma ümumi fayl bağlı bugs Siz haqqında tələb oluna bilər -
yaxşı, siz unuttuysanız əgər yoxlamaq əgər Siz getmək əvvəl fopen həqiqətən işləyib
bir fayl dəyişdirmək.
Ki, pis ola bilər.
Bir fayl fclose unuttuysanız Siz fopened etdik ki, ki, oxşar
bir yaddaş sızıntısı.
Bu olduqca pis.
Və var əgər yoxlamaq üçün unutmadan əvvəl fayl sonu çatdı
ona yazmağa başlayın.
>> Siz demək Belə ki, hey, mən deyiləm fayl sonu.
Mənə daha 5 bayt verin.
Yaxşı, ki, yəqin ki niyyətində deyil Siz gözləyirik yol işləmək.
Ki, Fayl I / O həqiqətən bu biz bu qədər idi, çünki
Problem set ilə.
Siz başa əgər Belə ki, nə gedir Problem Set 5, bitmats xatırlayıram
və JPEGs, sonra yəqin ki, bütün istəyirik I / O. fayl üçün müəyyən Ki, bir az varsa
qeyri-səlis, mütləq ki, problem nəzərdən qurmaq və bağlı material.
>> Structs üzrə idi ki, mövzu idi Quiz 0 və Quiz 1 arasında line.
Olduqca Quiz 0 kəsilmiş etməyib.
Belə ki, onlar mütləq olacaq Quiz 1, həftə 7, Bazar ertəsi.
Bir struct nədir?
Burada biz bir struct göstərir.
Bu yeni növü kimi.
Bu konteyner kimi çox sahələri üçün.
>> Bu halda, biz bir struct bəyan etdik iki sahələri var ki, tələbə -
biz zəng edirik ki, bir string adı və biz yaş zəng etdiyiniz int.
Mən tələbə ətrafında keçə və ya mən tələbələr dəyişdirmək, mən edə bilərsiniz
onların adı və onların yaş daxil.
Ki üçün bəzi kodu baxaq.
Burada biz bəyan etdik ki, görmək tələbə s, kimi
Mən heç bir dəyişən elan -
int x, int y, et Cetera.
>> Burada tələbə s var.
O sahələrdə heç bir şey ilə başlayır.
Belə ki, onları müəyyən edək.
Siz nöqtə ilə bir struct sahələri müəyyən.
Mən burada s.name = RJ bildirib etdik.
Və = 21 s.age.
Siz həmçinin sahələri təkmilləşdirə bilər Siz yeniləmə istədiyiniz eyni şəkildə
bir dəyişən dəyəri.
Mən ilə RJ mənim adını dəyişdirmək istədiyiniz R.J. heç dövrlərdə yazıldığına
doğru yoludur.
Bu = RJ, eyni s.name olunacaq biz ilk o etdi.
Və sonra siz onları əldə edə bilərsiniz.
>> Belə ki, biz onlara müəyyən etdik.
Biz onları yeniləndi etdik.
Siz də onları əldə edə bilərsiniz çox eyni şəkildə.
Belə ki, burada, mən çap edirəm R.J. 21 yaşı var.
Mən o dəyərləri daxil oldum s.name və s.age ilə.
Belə ki, structs daxil edir dot notation ilə.
Yep, sual?
>> Auditoriya: bir səbəbi var mı Siz qoymaq deyil ki, əvvəlki slide
typedef kimi top xətti, tələbə sonra struct tələbə və
sonunda şagird?
>> R.J. Aquino: Belə ki, sual idi Bu slide, biz adətən gördüm
sonra struct node typedef və struct sahələri və
sonra söz node.
Və buraya necə, typedef demədim sonra struct tələbə və
struct və sonra tələbə alanlar?
Səbəbi mən ehtiyac yoxdur ki, struct daxilində daxil.
Belə ki, ad vermədən onu tərk etmək üçün OK.
Mən yalnız kimi tərk edə bilər anonim struct.
>> Biz bağlı siyahıları üçün bunu və səbəbi daxili siz lazımdır, çünki şeylər
bir struct qovşaqlarının ulduz istinad.
Belə ki, struct bir ad var var, belə ki, daha sonra əldə edə bilərsiniz.
Bu kiçik detal var.
Amma adətən typedef struct görəcəksiniz qıvrım aşırma siz ehtiyac yoxdur, əgər
adı və typedef struct bəzi adı qıvrım aşırma izlədi Siz
adı lazımdır.
Belə ki, bir yaxşı sual var.
>> Və nöqtəsində, biz dəyişdirmək üçün edirlər structs və structs ətrafında keçmək
dəyəri ilə, istinad.
Beləliklə, biz yalnız göstəricilərinə ətrafında keçə bilərsiniz structs əvəzinə ətrafında keçən
özlərini structs.
Beləliklə, siz çox tez-tez olacaq istifadə edərək, bu halda, tələbə * və ya
struct node * və ya node * əvəzinə tələbə və ya qovşaqlarının həyata.
Belə ki, burada, Mən dedim, OK, dəyişən Ptr s ünvanı olacaq.
Bu göstərici olacaq tələbə R.J. üçün
>> Belə ki, biz həmin sahələrdə əldə edə bilərsiniz biz bir şey almaq kimi eyni.
Birincisi, ID göstərici istinad struct almaq üçün.
Bu sonra * Ptr və bir dot və sonra yaş.
Belə ki, sahəyə daxil olmaq üçün, və mən yenilənir etdik indi 22, çünki, edək
demək, bu, mənim ad günü idi.
Qısa sintaksis var burada arrow istifadə.
Belə ki, Ptr arrow yaş yalnız * ptr.age kimi eyni.
İndi ki, siz lazımdır bir şey var əzbərləmək və yadda.
>> Siz bu pset6 bir çox istifadə Bu speller pset.
Amma bu nə əslində başlıq altında.
Bu göstərici dereferencing və sonra daxil.
Sual?
>> Auditoriya: [işitilemez].
>> R.J. Aquino: Belə ki, niyə biz istifadə əvəzinə bir Structs kimi göstəricilər
özlərini Structs?
Siz keçən əgər səbəb olacaq bir funksiyası bir struct, yəqin ki,
yalnız 4 və ya ətrafında keçmək istəyirəm göstərici təmsil edən bytes kimi
potensial 30 və ya qarşı Struct ki, 40 bytes.
Belə ki, bir funksiyası şey keçən asan zaman şey
qısa kiçikdir.
Sual?
>> Auditoriya: Siz bu qeyd ola bilər əvvəlində, lakin var
[Işitilemez] digər slaydlar up?
>> R.J. Aquino: Bu slaydlar olacaq Nəzərdən iclasında sonra.
Biz web onları göndərmək lazımdır.
Belə ki, hərəkət və yüngül hərəkət daha sürətli, biz data haqqında danışmaq olacaq
strukturları.
Bir çox var.
Biz onların bir dəstə əhatə.
Burada Siz anlamaq lazımdır nə data strukturu haqqında.
>> Siz, həqiqətən, yüksək anlamaq lazımdır hər strukturu nə səviyyəsi.
Siz İngilis izah edə bilərsiniz CS50, alınmır ki dost necə
biz data təşkil etdiyiniz və nə biz had bu şəkildə bir şey istifadə etmək olar?
Ki, bir şey biridir.
Thing iki, anlamaq həyata keçirilməsi.
Belə ki, bu şeylər necə istifadə anlamaq C. Və biz bu üzərində gedən olacaq.
>> Və sonra olan üç bilirik olunacaq run dəfə və məhdudiyyətlər
istifadə etdiyiniz müxtəlif strukturları.
Istifadə ki, niyə anlamaq bir əvəzinə bir sıra hash table.
Anlamaq necə sürətli, orta hesabla, bir hash masa daxil edir.
Əməliyyatları sürətli nə anlayın bağlı siyahı lakin Diziler yavaş və
əksinə.
Belə başa düşürük ki, siz lazımdır yalnız bilmək Big-O notation anlamaq
bu barədə danışmaq necə şeyi növ.
Və biz bu barədə danışmaq lazımdır.
>> Belə ki, ilk şey, siyahıları bağlıdır.
Burada yüksək səviyyəli şəkil bir bağlı siyahı.
Biz sinif bunu göstərir.
Biz adətən 10 adam var səhnədə ayaqda.
Amma biz qovşaqlarının bir sıra var hər node bəzi dəyəri və bir pointer var
növbəti dəyəri.
Belə ki, növbəti bir node almaq üçün yalnız mənə növbəti node vermək demək.
Siz node var.
Mənə növbəti node vermək.
Siz node var.
Belə mənə növbəti node vermək və heç bir node sol var qədər.
>> Belə ki, haqqında danışmaq davam yüksək səviyyədə bu.
Bu şeyi daxil etmək çox asandır bir bağlı siyahısına daxil.
Sifarişiniz haqqında qayğı yoxdur, yalnız açılır
sağ başında.
Ki, daimi vaxt var.
Amma bir dəyər tapmaq çətindir.
Xahiş çalışdığınız əgər, Mənim siyahısı yeddi?
Siz vasitəsilə getmək üçün var hər bir dəyəri.
Bu yeddi mi?
Yenidən üzərində.
Və O (n) var.
Belə ki, viktorina üçün öyrənilməsi zaman, Diziler ilə müqayisə.
>> Ki, OK mı?
Işıqlar dim getdi.
OK.
Bir bağlı siyahı daha yaxşıdır?
Zaman bir sıra daha yaxşıdır?
Belə ki, bəzi kodu baxaq.
Burada potensial node edir.
Bu struct var.
Bu, bir int n olan Bizim dəyəri olacaq.
Və bu, növbəti bir struct node * var növbəti node bizim göstəricisidir.
Belə ki, burada, biz baş edə bilərsiniz bizim node bir int qoymaq üçün.
Amma bu char bir bağlı siyahı olsaydı ulduz və ya üzüb gedirdi bir bağlı siyahı, biz
tamamilə çox bunu edə bilər.
>> Pset6 saxla, yəqin ki, bir var idi yalnız char ulduz və ya bağlı siyahı
statik char Diziler.
Nin əməliyyat burada baxaq.
Belə ki, biz yeni bir əlavə etmək istəyirəm n bizim bağlı siyahı.
Biz bir baş göstərici ilə həyata başlamaq var ki, bu node bir göstərici
n dəyəri və bir pointer növbəti ki, Bu node bal dəyəri
n və null növbəti, çünki son node var.
Belə ki, vaxt maraq da, mən ekranda bütün kodu qoymaq.
Və biz onun vasitəsilə gəzmək lazımdır bir anda bir neçə xətləri.
>> Belə ki, burada kodu var.
Mən oxunaqlı ümid edirik.
Biz nə ilk şey biz yeni node malloc.
Belə ki, yeni bir node bir göstərici edir ki, olduqca bir şey müəyyən yoxdur
hələ bu qədər.
Biz əmin olun yeni node null deyil.
Əks halda, biz vermək lazımdır.
Belə ki yoxlanılır edərək, biz indi node dəyərlər müəyyən.
Belə ki, biz n alana yeni n qoydu.
Və biz qeyd etmək növbəti göstərici müəyyən orijinal rəhbəri, biz ki,
İndi bu nəşrin bizim siyahısına daxil node.
>> Nəhayət, biz qlobal rəhbəri nöqtəsi var yeni node, belə ki, biz əgər
baş başlamaq, biz bu olacaq yeni ilk node yerinə
köhnə ilk node.
Bu funksiya çıxışları zaman, dəyişən yeni node artıq mövcuddur
bu funksiya yerli idi.
Belə ki, bu dünyanın dövlətdir.
Bizim qlobal rəhbəri yeni işarə işarə edən ilk node, bizim
orijinal ilk node olan points sonra node.
>> Ki, durub idi.
Mən nisbətən idi ümid təqib sadə.
Şübhə, bir şəkil çəkmək zaman.
Mən söhbət ki, tapa bağlı siyahıları və baxaraq
kodu çox faydalı deyil.
Bağlı bir şəkil baxaraq, halbuki siyahısı oh, mənə düşünməyə imkan verir, belə ki,
Mən burada bu node var.
Amma göstərici yeniləmə əgər, Bu qaralar bitir.
Mən unudulmuş etdik Bu node gedir.
Və kodu çıxışları.
Və birdən çox qovşaqlarının var ki, kəsildi.
Və ilə başa yoxdur istədiyiniz siyahısı.
>> Beləliklə, siz şəkil çəkmək və bunu addım-addım, ümid edirəm ki, siz görəcəksiniz
baxımından şeyi düzgün qaydada əmin etmək göstəricilərinə yenilənməsi
siyahısı birlikdə gəlir ki,.
Insert nisbətən sadə deyil.
Daha mürəkkəb bir olacaq bir sıralaması siyahısına daxil durub.
Daha mürəkkəb funksiyası silmək deyil və, tapmaq belə bir siyahısını axtarır
bir şey var görmek.
Bəlkə pset6 bu nə zaman Sizin hash masa var və siz dediniz,
yaxşı, söz alma deyil Mənim bağlı siyahısında?
>> Belə ki, artıq bu işlər ola bilər.
Amma mütləq yaddaş yenilemek və tapmaq reimplement cəhd və
bir bağlı siyahı silmək reimplement.
Fun yan qeyd də var Ikiqat-bağlı Siz harada siyahıları,
həm irəli və işarə edən göstəricilər Siz getmək bilər ki, geri
növbəti node və əvvəlki node.
Və ötən il bir sual var idi ki, növü viktorina, söhbət
haqqında siyahıları Ikiqat-bağlı.
>> İndi ki, siz bir strukturu var nisbətən tanış ilə, çünki ən
siz yəqin ki, pset6 onları istifadə.
Burada bir az tanış ki, bir var.
Bir tərəfdən qeyd kimi, mən Quiz 1 hesab edir ki, əsasən Quiz 0 çox çətindir, çünki
Siz yapýyorsun stuff kimi çox işlər deyil.
Ki, başqa bir yol qoymaq, Quiz 0, Siz C. bir çox yazılı idi və biz
C. haqqında xahiş
>> Quiz 1 üçün, biz xahiş olacaq PHP və JavaScript, siz
çox kimi yazılı deyil.
Biz C-kod haqqında xahiş edirik ki, Siz kimi çox yazılı deyil
Bu qabaqcıl C stuff.
Belə ki, mütləq stuff biz təcrübə mühazirə danışdıq ki,
mütləq etmədi problemin müəyyən.
>> Demişkən, siz yazılı deyil bir problem bir yığını qurmaq.
Amma bu mühazirə idi.
Burada yüksək səviyyəli şəkil hər il göstərir ki, borular.
Bu qablar və yığını var Bu Mather yemekhane.
Yüksək səviyyədə, bacalar bir son var ilk data strukturu.
Ki, siz olacaq deməkdir şeyi qoymaq -
1, 3, 7, 12, 14, mənfi 0.
Mən bilmədi bir şey dedi - 3, 0 mənfi.
Siz daxil bütün bu şeylər qoymaq
Və qoymaq son bir ilk çıxmaq ki biridir.
>> Belə ki, iki əməliyyat var -
təkan və pop.
I idi ki, qoyaraq bütün bu kimi gesturing push var.
Və sonra mən grab üçün çatdıqda bir şey və ya qamarlamaq üçün üst nail
bir şey ki, pop var.
Beləliklə, biz destesi həyata olacaq.
Və biz mühazirə göstərdi seriallarda istifadə.
Amma siz onları edə bilər bağlı siyahıları istifadə edərək.
Bir yığın konseptual məlumatlar strukturu, bir kimi deyil
həyata keçirilməsi xüsusi bir.
>> Belə ki, nə ki, kimi görünür?
Bu cür bu kimi görünür.
Siz tam ölçüsü var ediyorum.
Və dəyərlər bir sıra var ediyorum ki, ki, çünki biz qablar zəng etdiyiniz
şəkil üçün nə us - qablar int -
və sonra bəzi maksimal gücü.
Belə ki, nə kimi baxmaq təkan olardı?
Biz bir yığın s varsa Yaxşı, onda təkan s üzərinə bir şey, biz almaq olardı
s ölçüsü.
Ki, növbəti olacaq bizim serialın açıq spot.
Belə ki, biz yığını üç şey varsa, sonra qablar 3 növbəti olacaq
açıq spot, çünki 0, 1, 2 artıq doldurulur.
>> Beləliklə, biz daxil dəyər qoymaq s.trays [s.size], üçüncü spot.
Və sonra biz, s.size demək arttırmayı hey, biz əvvəl üç şey var idi.
İndi biz dörd var.
Beləliklə, siz təkan növbəti dəfə, siz 4 bir şey qoymaq niyyətindədir.
Yoxsa pop növbəti dəfə, siz olacaq 3 əvəzinə 4 və ya hər hansı baxmaq.
Və sonra biz doğru qayıtmaq lazımdır demək, hey, biz nail.
Bu çalışmışdır.
Thumb bir qayda olaraq, əgər ki, bir funksiyası doğru qayıtmaq və ya ehtimal
yalan həmişə may, doğru qayıdır yanlış bir şey görmüşük.
Belə ki, bu iş yoxdur?
>> Bəli, bu 1 üçün gözəl işləyir, və 2 və 3 və 4 və beş.
Amma mən gücünə deyək.
Mən bir problem daxil, çünki etdik ölçüsü gücü eyni halda, mən deyiləm
indi bir şey qoymaq üçün çalışırıq I yer yoxdur array.
Belə ki, qısa bir çek bu düzeltmek üçün.
S.size == KAPASİTE varsa, saxta qayıtmaq.
Əks halda, getmək və biz nə.
Beləliklə, biz başqa nə xahiş edə bilər baca üçün haqqında?
Başqa nə öyrənmək lazımdır?
Siz nə etiqad etməlidir?
>> Yaxşı, pop həyata.
Biz artıq təkan etdi.
Hesab edirəm ki, düzeltmek lazımdır.
Qeyri-array həyata keçirilməsi, harada bəlkə, bir bağlı siyahısını istifadə edin.
Qeyri-int həyata keçirilməsi.
Biz burada ints etdi.
Amma bu üzüb gedirdi ola bilərdi.
Mən strings ola bilərdi.
Bu char ulduz ola bilərdi.
Növ keçmiş sınavlar baxmaq biz blokları haqqında xahiş etdik suallar.
>> Mən biz ətrafında destesi əhatə demək lazımdır biz onları əhatə etdiyiniz kimi eyni
il keçmiş.
Belə ki, viktorina suallar olmalıdır yaxşı bir göstərici ola.
Daha sürətli irəliləyir, gəldi.
Onlar destesi kimi edirik.
Amma onlar ilk, ilk istəyirik.
Siz British edirsinizsə, söz queue yəqin ki, sizin üçün mənada bir çox etmişdir.
Əks halda, siz ola bilər bir xətt kimi eşitdim.
Onlar xətt kimi işləmək Apple mağaza.
3:00 qədər göstərmək üçün ilk şəxs səhər ilk
onun iPad almaq üçün şəxs.
>> Beləliklə, biz iki əməliyyatları var -
enqueue və dequeue.
Enqueue xətti kimsə qoyur.
Dequeue ilk çıxarmaz xətti off şəxs.
Yenə həyata keçirə bilər bir sıra ilə bu.
Belə ki, struct biz nə mühazirə göstərdi?
Bu biri idi.
Yenə nömrələri.
Yenə, ölçüsü və bu yeni bir şey ön.
Niyə ön deyilən bir şey var?
Bu növbəti index var dequeue element.
Bu, sadəcə məcburi track saxlanılması up göstərmək üçün ilk oğlan, belə ki, biz
biz lazım çıxarmaq olar.
>> Konkret mühazirə qeydlər baxmaq və cəhd enqueue və dequeue həyata keçirilməsi üçün
viktorina üçün oxuyan zaman.
Düşünmək əhəmiyyətli şeylər.
Ətrafında wrapping əgər ön üstəgəl ölçüsü gücü daha böyük bitir.
Yenə sizin strukturu tam əgər, Bir problem var olacaq.
Siz əvvəl gördüm masalar Hash.
Sizin ən yəqin həyata bu pset6 haqqında.
Bu O üçün çalışır ki, bir strukturu var (1) daimi zaman durub və O (1)
daimi zaman axtarış.
>> CS50, biz bu həyata bağlı siyahıları bir sıra.
Bir hash masa üçün əsas komponent hash funksiyası var.
Belə ki, deyək, sizin giriş çevirir bir sıra bir lüğət söz,
bizim index olacaq olan.
Və biz index istifadə edəcəyik bizim serialın daxil.
Belə ki, burada bir cute az şəkil study.50.net dən.
Biz bütün sözləri atmaq bizim hash funksiyası.
Və hash funksiyası bizə deyir harada bu sözlər qoymaq üçün.
>> Bu torpaq bütün böyük olduğu hər slot üçün yalnız bir söz var.
Amma pset6 xatırlayıram kimi, slots daha sözlərdir.
Zaman nə baş verir bir toqquşma almaq?
Bunun əvəzinə bir dəyər saxlanılması, siz, hash masa 3 deyək
bir bağlı siyahısını saxlamaq.
Və belə əvəzinə daşqovun olan burada, bir bağlı siyahı var ki,
ilk node daşqovun yerləşir.
Və növbəti node pişik deyil.
Və üçüncü node edək, toqquşma edir bütün bu sözləri başlamaq, çünki demək
C.
>> Belə ki, sizin ən pset6 bu idi.
Siz pset6 bir hash masa etməsəydim və sizin kimi bir şey cəhd
bir trie, mütləq hash masalar gözdən keçirin.
Siz mütləq, pset6 bunu etmədi hash masalar gözdən keçirin.
Və pset6 bunu etdi və etməsəydi olduqca doğru və sizə iş
mütləq, bu problem bir çox idi hash masalar gözdən keçirin.
Belə ki, dərs həqiqətən mütləq hash masalar gözdən keçirin.
>> Cəhd sizin böyük azlıq həyata pset6 üzərində çalışır.
Yüksək səviyyəli şəkil.
Bu kimi bir şey, olduğu hər node uşaqların bir sıra var, hər bir
uşaq bir məktub uyğundur.
Və hər node də deyir hey, mən bir söz edirəm.
Belə ki, bu halda, sözü Maxwell, Siz üçün A M edin əgər
Sonra X-W-E-L-L və bir daha edin.
Və bu simvolu, delta, almaq biz bu söz demək demek.
Belə ki Maxwell bir söz.
Bu deltas signifying ərzində var şeyi sözlər və olan
şeylər deyil.
>> Belə ki pset6, bu məlumatlar saxlanılır bizim qovşaqlarının hər hansı idi yanaşı "Mən am
söz. "Və çalışır haqqında sərin şey onlar durub nümayiş və
O (bir söz uzunluğu) ilə Sistemi.
Belə ki, yalnız Maxwell vasitəsilə almaq üçün, bu M-A-X-W-E-L-L. Beləliklə, yeddi və ya səkkiz -
Mən saymaq bilməz -
sonuna almaq üçün addımlar və hər şeyi kontrol.
Burada belə tez həyata keçirilməsi.
Rob bağlı yolu ilə getdi onun postmortem siyahısına.
Belə ki, oldu.
Üzr istəyirik.
Onun postmortem bir trie vasitəsilə getdi.
Belə ki, oldu.
>> Amma əsasən hər node 27 var var növbəti qovşaqlarının və bir göstəricilər
Mən bir söz am üçün boolean.
Necə Rob Postmortem kontrol Bu, həqiqətən, həyata keçirilir.
Bizim final strukturu, bizim ağac və ikili axtarış ağac.
Belə ki, bu baxaraq, bu bürüdü ən son həftə 8, Bazar ertəsi.
A ağac sizin istisna olmaqla, bir trie bənzər mütləq 27 qovşaqlarının da yoxdur
hər point.
Və hər bir bu məlumat yoxdur - bildirir ki, olub bu addım
yol etməz.
Bir trie, yol üst halbuki alt, Maxwell, bizim üçün vacib idi.
>> Amma hər node çox var uşaqlar, bəlkə də.
Biz bir daha söz var.
Ağac kök çox üst edir.
Və biz çox bottommost demək heç bir var ki, qovşaqlarının
uşaqlar yarpaqları vardır.
Belə ki, bir trie kimi, bir ağac deyil qovşaqlarının bir quruluş.
Biz olacaq ki, ağacın ümumi növü haqqında danışmaq üçün ikili ağac olduğu
hər node heç bir uşaq və ya var bir uşaq və ya iki uşaq.
Belə ki, burada bu şəkil deyil ikili ağac, çünki
node 3 üç övladı var.
>> Amma biz o, istirahət ignore əgər bu bir ikili ağac çünki
əmlak hər node nümayiş etdirir sıfır, bir və ya iki uşaq var.
Belə ki, necə biz kodu bu ifadə edə bilər?
Biz hər node olduğu bir node ola bilər bir onun içərisində tam, eləcə də
sol ağac bir göstərici kimi və üzərinə ağac bir göstərici
sağ, iki uşaq belə.
Bu necə faydalıdır?
Yaxşı, biz qaydaları etmək əgər biz qovşaqlarının qoymaq, biz axtarış sürətli edə bilərsiniz.
>> Belə ki, bir ikili axtarış bir anlayış var ağac, burada bütün qovşaqlarının
sol subtree kiçik dəyəri var node daha biz baxırıq.
Və sağ subtree bütün qovşaqlarının daha dəyəri var
kök node daha.
İndi ki, sözləri bir çox kimi görünür.
Mən ikiqat daxilində qoymaq üçün gedirəm quotes və bir şəkil göstərir.
Belə ki, burada bir nümunəsidir ikili axtarış ağac.
Biz 10 ilə başlamaq görürük.
Sol hər şey 10 bu daha kiçikdir.
Və sağ hər şey bu daha böyükdür.
>> Amma daha çox çox, hər node ağacı əmlak bildirir.
Belə ki, node 7 bir 3 var sağ sol və 9.
Belə ki, o bütün 10-dən kiçik.
Amma yalnız baxaraq, 7 var 3 onun sağ sol və 9.
Və eyni sagdaki 15 14 var onun sağ sol və 50.
Belə ki, orada üç qovşaqlarının, 15, 14, 50, həmçinin qüvvədə ikili ağac var
və ya bir etibarlı ikili axtarış ağac.
Onlar bütün 10 daha böyük istəyirik.
Belə ki, onlar üçün icazə verilir orada sağ.
Bir sual var?
>> Auditoriya: necə məşğul zaman iki Sevens var?
>> R.J. Aquino: Bəli.
Necə iki dəyərləri ilə məşğul yoxdur ki, eynidir?
Bəzi ikili axtarış ağac demək ki, siz məqsədi, çünki cüt ignore
yalnız demək, mən gördüm bu günə qədər bu şeylər.
Siz demək olar bəzi ikili axtarış ağac node daxilində count.
Others demək olar ki, hər şey sol daha az və ya bərabərdir.
Və sağ hər şey daha böyükdür.
>> Bu, yalnız nə asılıdır problem həll etdiyiniz edir.
Siz, məsələn, bir lüğət Belə ki, cüt haqqında qayğı deyil.
Siz onları atmaq olardı.
Lakin bəzi digər problem qayğı bilər.
>> Auditoriya: o var olar 15 solunda, 1 olan
10-dən az?
>> R.J. Aquino: Xeyr
Burada 14 1 olsaydı, bu olardı etibarlı ikili axtarış ağac deyil,
çünki hüququnun hər şey 10 bu daha böyük olmalıdır.
Və biz nə görürsünüz.
Axtarış torpağında mənim məqsəd varsa 14 tapmaq üçün, mən kök başlamaq.
Mən baxmaq.
OK.
Biz kök başlamaq olacaq.
10 baxın.
>> Yaxşı, 14, bizim hədəf, 10-dən böyükdür.
Belə ki, hüququ olmalıdır.
Bu bütün telefon çox oxşardır kitab şey biz ikili etdi
orada axtarış.
Lakin əvəzinə ikili axtarış bir sıra, biz ikili istəyirik
bu ağac axtarış.
Belə ki, biz hələ 14 aradığınız.
Yaxşı, 14 15-dən kiçikdir.
Bu, bizim ağac var Belə ki, bu olmalıdır burada bu sahədə.
Bu hüququ olmalıdır 10 və 15 sol.
>> Və biz bu node yoxlamaq.
Və yay, biz 14 gördük.
Mən onun vasitəsilə gəzmək fikrində deyiləm.
Amma burada kodu var.
Bu nisbətən həqiqətən var sadə,
Bu recursive çünki.
Biz bir viktorina etmək nə soruşa bilər?
Biz bu kod yazmaq üçün xahiş edə bilər.
Biz bu kodu baxmaq üçün xahiş edə bilər və bu kodu dəyişdirmək və nə izah
bunu.
Bəli.
Sual?
>> Auditoriya: Bu slaydlar olacaq edirmi Onlar son dəfə idi kimi mövcud?
>> R.J. Aquino: Bəli.
Belə ki, bu slaydlar mütləq dərc edilə.
>> Auditoriya: Onlar, həqiqətən olunub edirik İndi saytda.
David yalnız etdi.
>> R.J. Aquino: The slaydlar İndi saytda.
Mən yəqin ki, bir neçə qədər bağlamaq lazımdır Bu hatası Qeyd və onları düzeltmek.
Amma cari var Saytda versiyası.
Others biz xahiş şeylər -
insert yazın.
Bu bir iterative versiyasını yazmaq recursive funksiyası biz yalnız göstərdi
və ya kimi, bu şeylər haqqında danışmaq ci maddələrdə sözlə, cümlə ilə.
Run dəfə müqayisə və izah Bir ikili istifadə etmək istədiyiniz nə
əvəzinə üçün axtarış ağac Məsələn, hash table.
>> Belə ki, bu strukturlarını anlamaq olduqca dərin səviyyədə.
Onları yazmaq üçün necə anlamaq, necə onlara danışmaq necə, istifadə edin.
Və bütün qurmaq olacaq.
Sual?
>> Auditoriya: Əgər yazılı etdiyiniz zaman ikili axtarış ağac, necə siz
nə dəyəri müəyyən kök kimi etmək?
>> R.J. Aquino: Belə ki, sual, nə dəyər Siz kök kimi edə bilərəm?
Sizin kodu asılı olaraq qlobal kök ola bilər.
Belə ki, siz çox güman ki idi ola bilər pset6 qlobal hash table.
Yoxsa kök keçə bilər bir arqument kimi.
Burada Belə ki, bu axtarış funksiyası bir arqument bir node * edir.
Və siz ola başına nə node baxaraq müalicə edirik biridir
Sizin kök kimi daxil keçmək zaman
Və bütün set edirəm.
Bu mənim slaydlar var.
Növbəti şəxs mübadilə gələ bilər bir laptop və mikrofon.
>> Rob Bowden: Mən ola bilər edirəm fərqli suala şərh.
Siz əgər mən kimi şərh biz necə nömrələr 1, 2, və 3,
2 kök etmək üçün bilmeniz 1 və ya 3 fərqli olaraq?
Biz kök 2 etmək, onda bu gözəl var 1 və 3 sol və sağ.
1 kök olsa, o, 1 var top, sağ 2 sağ, 3.
Belə ki, ismarıcları, bilmirəm nə kök etmək.
Və hər hansı bir alqoritmi üçün biz gözləyirik , yalnız ilk şey sizə verə
insert kök olardı.
Və ya biz bir ikili ağac vermək istədiyiniz ki, artıq kök var ki, mövcuddur.
Amma digər alqoritmlər, belə ki, mövcud ki kök, yeniləyir siz əgər
Bu 1, 2 olduğu vəziyyəti sona, 3, avtomatik yeniləmə olacaq
ki, yeni kök 2 etmək hələ gözəl balanslaşdırılmış.
>> ANGELA LI: Cool.
Hey, uşaqlar.
Mən Angela deyiləm.
Və mən bizim C off başa çatdırmaq üçün gedirəm və sonra web bəzi getmək
texnologiyaları -
HTTP, HTML və CSS.
Belə ki, ilk şey bufer daşqın hücumlar.
Belə ki, bu kodu bir nəzər salaq.
Bu olduqca sadə.
Bir funksiyası foo var.
Və bir şey geri deyil.
Amma bir pointer edir bar adlı simli.
>> Və bu bəyan olacaq bir xarakter olan bufer,
12 yuvası var ki, array.
Və bu yalnız bir olan memcpy istifadə edir funksiyası bir ünvan dan nüsxələr
başqa.
Belə ki, bu kopyalayın çalışır nə bizim bufer
bar işarə edir.
Belə ki, hər hansı bir fikir nə səhv var Bu kod ilə?
>> Auditoriya: bar artıq olduqda C, onlar üzerine yazılır.
>> ANGELA LI: Bəli, dəqiq.
Biz heç bir zəmanət var ki, bar 12 az olacaq.
Biz yalnız bir ixtiyari sayı 12 etdi.
Və biz ümid edirik bildirin, kimi idi ki, istifadəçi girişi azdır
12 simvol uzunluğunda.
Belə ki, bir ideal dünyada, əgər bizim daxil edir gözlənilir həmişə olduğu kimi, sonra biz almaq lazımdır
hello, kimi bir şey.
12 simvol az deyil.
Bu char c oxumaq olur.
Və sonra biz onunla bir şey.
Bu, həqiqətən etməz.
>> Amma bir pis niyyətli adam edə bilər daha bu kimi bir şey, onlar
, bar işarə edir nə bizə bu böyük array qeyd edəcək
yalnız A.
Və bu 12-dən çox yol deyil.
Belə ki, bütün yol getmək olacaq aşağı burada yerləşir qaytarılması üçün
ünvanı olmaq üçün istifadə.
Belə ki, bu funksiyanı deyək foo adlanır.
Bəlkə foo digər tərəfindən çağırılıb Əsas ilə adlanan funksiyası.
Foo çalışan zaman, bu, lazımdır harada qayıtmaq üçün bilmək.
>> Foo adına bəzi funksiyası adlı əgər baz, bu ki, bilirik var
geri baz getmək üçün var.
Və nə bu qaytarılması ünvan var aşağı burada bizə izah edir.
Amma biz bəzi digər üzerine əgər ünvanı, bu halda, bu deyil
at ünvan nümayəndəliyi çox sonra, bu bufer başlayan
nə həqiqətən baş verəcək ki, əvəzinə geri baz dönən,
bizim funksiyası adlanan, bu, yalnız var Bu kodu önünə getmək niyyətində.
>> Və bu var idi, çünki bir zərərli hacker dostum gəldi və
Bu vurulub, sonra bəlkə bu məbləğ A həqiqətən A deyil.
Və bu, həqiqətən, yalnız kod ki fasilələri Sizin kompüter və ya bir şey.
Belə ki, bu növ haqqında müdafiə edilməsi şey, siz güman heç vaxt var
istifadəçi girişi müəyyən edir simvol məbləği.
Məsələn, zaman nə idi speller, siz sözləri idi bildirilib
yalnız 40 simvol olacaq uzun maksimum.
Və ki, yaxşı idi.
>> Amma əgər, sonra etmək olardı əmin yalnız 45 oxumaq etmək
bir anda simvol.
Əks halda, üzerine bilər Sizin bufer.
Ki, hər hansı bir sual.
Bəli.
>> Auditoriya: yalnız danışmaq bilər bu barədə bir az daha?
>> ANGELA LI: Sorry.
Bəli.
>> Auditoriya: The mic yalnız video üçün.
Mən cəhd və layihə olacaq.
Hi, uşaqlar.
Sup?
Beləliklə də bir neçə şey üzərində gedək Əgər istifadə etdiyiniz CS50 kitabxana,
bütün semestr əsasən istifadəçi daxil almaq üçün.
Bildiyiniz kimi, CS50 daxil yalnız CS50.h etməklə kitabxana
Bu bütün prototipləri var kimi istifadə edə bilərsiniz ki, funksiyaları,
GetString və GetInt, və GetFloat, et Cetera.
Və bu bir xətt CS50 var bir string müəyyən olan kitabxana, olan
Siz uşaqlar bütün artıq bilirik * Yalnız bir char edir.
>> Lakin bir peek almaq imkan GetString işləri necə.
Bu bir çox ixtisar versiyası.
Siz CS50 kitabxana faylları qoparmaq bilər manuals.CS50.net, hesab edirəm ki, gələn.
Və vasitəsilə oxuya bilərsiniz faktiki funksiyası.
Amma bu bəzi əhatə edir əhəmiyyətli hissələri.
Beləliklə, biz bir bufer yaratdıq bəzi tutumlu.
Və nə biz nə biz bir xarakter almaq standart n bir zamanda.
Olduğu istifadəçi giriş var konsol mətn.
>> Və belə ki, biz oxumaq olacaq yeni bir deyil kimi uzun xarakter
line və bu fayl son deyil olan standart input sonu.
Və biz oxumaq hər bir xarakter üçün, ki, xarakter əlavə qədər başa əgər
simvolların sayı biz oxumaq , və bizim artıqdır
sonra nə biz nə biz yalnız ölçüsünü bizim bufer iki dəfə kimi uzun ki.
Belə ki, yenə bu bufer qarşı qorumaq daşqın hücumlar, siz oxumaq, çünki
bir anda bir xarakter.
Və hər hansı bir anda çox oxumaq əgər çox, yalnız bufer genişləndirmək.
Siz iki tərəfindən çoxaltmaq.
Və sonra daha çox otaq var.
>> Əks halda, yalnız əlavə bufer bir xarakter.
Və bütün oxumaq sonra simvol, bu bufer shrink edəcək
geri normal ölçüsü aşağı, bir əlavə null terminator, və sonra geri.
İndi, GetInt baxaq.
Sizlərin bu oxuya bilərsiniz?
Mən bir az zoom edə bilərsiniz.
Mən kompüter iş necə bilmirəm.
Mind heç vaxt.
Mən düzgün zoom edə bilməz.
>> Bu həqiqətən çox çətin.
Üzgünüm.
Gəlin bu baxaq.
Belə ki, nə GetInt nə, ilk bildirilir GetString, bir simli olan
biz əvvəl həyata etdik.
Və mühüm hissəsi burada qeyd etmək əgər başa ki, bu mübadiləsi
oxu deyil, əslində bir simli kimi, sonra biz yalnız INT_MAX qayıtmaq
uğursuzluq təmsil edir.
Niyə biz əvəzinə INT_MAX qayıtmaq yoxdur mənfi 1 və ya 1?
Hər hansı bir fikir?
>> Auditoriya: [işitilemez] mənfi bir 1.
>> ANGELA LI: Bəli, dəqiq.
Belə ki, yalnız istədiyiniz yol daha çox istəyirik giriş 1 və ya mənfi 1 istenir zaman
bir nth və nth nə Maxes üçün.
Bu böyük var.
Siz yəqin ki, istifadə etmək fikrində deyilik.
Belə ki, bu bir dizayn qərar kimi əmin deyil təsadüfən etmək
səhv qayıtmaq və ya qayıtmaq yoxdur 1, olan ayrıştırılan bilər
bir düzgün cavab kimi.
Bir line mövcud deyil əgər, biz INT-MAX qayıtmaq.
Əks halda, biz sscanf istifadə olan scanf kimi.
Amma bir simli deyilir.
>> Və biz bu biçimli var % i% c olan string.
Və biz cəhd və ilə uyğun istifadəçi bizə verdi nə.
Biz uyğunlaşdı şeyi sayı istəyirəm 1 olmaq, o deməkdir ki, biz yalnız
həqiqətən tam uyğun istəyirəm bəlkə ağ əhatə
space, bəlkə deyil.
Bu halda, siz bir şey qoymaq əgər bar kimi, bar, bütün uyğun deyil
var lazımdır, çünki əvvəlində bir tam.
Belə 0 çevrilmişdir heç vaxt sscan.
Belə ki, geri yoxdur.
>> Alternativ olaraq, bir şey qoymaq əgər kimi 1, 2, 3, A, B, C, ki, oyunları
tam, həm də həm də sonra karakter.
Belə sscanf 2 qayıdacaq ideal deyil də.
Siz istəmirəm 1, 2, 3, A, B, C etibarlı int olmalıdır.
Belə ki, işləmir.
Amma 50 kimi bir şey qoymaq deyirlər.
O deməkdir ki, bu% i matçına çıxacaq Bu n oxumaq olacaq.
İndi, n sayı 50 ehtiva edir.
Və sonra onu qaytara bilər.
>> Əks halda, Təkrarı edib.
Və o, yalnız qədər yenidən üzərində gedir Əgər istifadəçi bir müvafiq daxil almaq.
Ki, hər hansı suallar?
>> Auditoriya: Belə ki, əgər çap etmək [Işitilemez] haqqında GetInt dəyəri
yalnız tam və max olacaq?
>> ANGELA LI: Bəli.
Siz GetInt istifadə əgər Belə ki, götürməlidir Siz nth max istəmirəm ki,
Siz olacaq, çünki, bir etibarlı daxil ola pis idi ki, güman etmək.
>> Auditoriya: Biz char c var və olmasaydı 1, 2, 3, Sam qoymaq kimsə olardı
hələ 1, 2, 3 işləmək?
>> ANGELA LI: Mən işləmək olardı.
Amma siz 123Sam istəmirəm bir istifadəçi tərəfindən etibarlı daxil ola.
Ki, həqiqətən bir int deyil.
Belə ki, ədalətli görünmür bir int kimi onu analiz etmək.
OK.
Bu halda, hərəkət edək internet üçün.
Belə ki, HTTP bir dil deyil.
HTTP üçün standartların yalnız set necə müştərilərin şeyi göndərmək,
server, siz.
Ki, web digər insanlar var.
>> Belə ki, HTTP Hypertext dayanır Protokol Transfer.
Bu ürək və soul var bütün web.
Bu mətn hissəsi yalnız HTML aiddir.
Bu transfer kimi müştərilər Siz sorğu göndərir
cavab verən server,.
Və protokol necə, yalnız Bir server hərəkət gözləmək?
Və necə davranmaq üçün nəzərdə tutulub Bu aerodinamik bilər ki, belə
rabitə proses?
>> Belə ki, HTTP sorğuları bu kimi bir çox baxmaq.
GET sorğu növüdür.
Siz uşaqlar GET sorğu gördük və POST sorğu.
Var ki, ikinci şey, / Mənə ki, yalnız URI və ya sizin URL
ev sahibi ərzində getmək istəyirəm.
Belə ki, bu tələb üçün xahiş olunur www.facebook.com / mənim kimi səhifə.
Və bir GET tələb var.
Və sonra bu HTTP/1.1 ki, yalnız var istifadə etdiyiniz HTTP versiyası.
Demək olar ki, həmişə 1.1 var.
>> Və sonra bir dəstə var çox digər məhsulları.
Əgər Siz, həqiqətən, bu bilərsiniz Siz etdiyiniz zaman konsol açmaq
web gəzən.
Cavablar şey baxmaq bu kimi daha çox.
Üst hissəsi, təkrar edir HTTP növü istifadə etdiyiniz
durum kodu izlədi.
Belə ki, 200 OK hər şey işlənib.
Burada content edir.
Sizin content izləmək üçün gedir.
Və sonra sizə nə cür çox məzmun və digər məhsulları.
>> Bu status kodları, bir neçə var Bilirsiniz ki, vacib olanları.
200 OK hər şey qızıl kimi.
Hər şey işləyir.
403 Forbidden.
Siz unuttum əgər siz yəqin ki, gördüm bu düzgün bir şey chmod üçün.
Bu yoxdur o deməkdir ki, sağ permissions
server daxil olmaq.
Bu kimi, heç bir, siz onu görmək bilməz.
404 şey yoxdur deməkdir.
Tapılmadı.
Siz yəqin ki, bir çox ki, gördük.
>> 500 Daxili Server Xətası adətən bir şey tərəfində yanlış getdi kimi
server.
Beləliklə, siz pset7 həyata zaman, Siz PHP səhvləri var, əgər bilər
həqiqətən səhifə getmək və görmək PHP səhv məhsullarının bütün dəstə.
Amma adətən olmur, saytları həqiqətən istəmirəm, çünki
onların site sınıq niyə sizə.
Onlar yəqin ki, yalnız qayıtmaq lazımdır bir 500 Daxili Server Error.
>> Və sonra mən bir çaydan deyiləm 418 var.
Haqqında bütün hekayə var niyə ki, bir şey.
Amma siz ki, haqqında oxuya bilərsiniz öz vaxtında.
Bütün dəstə var digər status kodları.
Lakin bu olanlardır Siz bilməlidir.
Belə ki, HTML haqqında danışaq.
HTML, xatırlayıram, bir deyil, proqramlaşdırma dili.
Bu bir biçimlendirme dili var.
Ki, content təsvir deməkdir.
Bu HTML sənəd görünür nə deyir bu kimi görünür nə və ya kimi
lakin necə strukturlaşdırılmış edir.
>> Belə ki, bir quruluş müəyyən və web pages semantika.
Bu bir paraqraf kimi.
Bu sifariş siyahısı.
Bu, mənim səhifə bir hissəsində kimi.
Burada adı var.
Bu kimi məhsulları yoxdur.
Bu ki, hər hansı bir stil deyil, çünki ki, CSS nə var.
Və bir sıra kimi görünür nested tags.
Belə ki, həqiqətən, əsas nümunə istifadə etmək HTML səhifə, siz DOCTYPE var
up there bəyannamə.
>> Bu DOCTYPE bəyannamə edir biz HTML5 istifadə etdiyiniz deyərək.
Sonra böyük HTML tag var.
Bu baş və bədən ehtiva edir.
Rəhbəri Inside, siz adı var.
Bu adı gedir nə Brauzerinizin bar.
Biz əlaqələndirir ki, bir link tag var bir xarici stil.
Və sonra biz çıxarmaz ki, bir script var xarici JavaScript həmçinin.
>> Və sonra bizim bədən daxilində əslində Səhifənin göstərilir olur nə.
Biz bir paraqraf var və sonra etdik ki, paraqraf daxilində image.
Bu kittens bir şəkil edir.
Qeyd edək ki, image tag özü bağlayır.
Belə ki, əvəzinə bir görüntü ilə açılış və sonra, başqa bir / image bunu
yalnız bu kiçik çizgi var burada olan bu bağlanır.
Və image tag da bu açarı var dəyəri atribut alt çağırıb.
Ki, alternativ mətn ki, Siz artıq hover olur.
>> Ən HTML elementləri bəzi əsas dəyər var müxtəlif, onu verə bilər ki, hər şeyi
özelleştirme.
Bəli.
>> Auditoriya: [işitilemez].
>> ANGELA LI: Bəli, belə ki, bir var tag atributu.
Siz jQuery istifadə əgər Belə ki, siz bilər seçin image.getAttribute yoxdur.
Və sonra üçün axtarış edə bilərsiniz alt atribut almaq.
Və bu kittens verəcək.
HTML, giriş formaları xatırlayıram, elementləri adı atributları var.
Və PHP göndərmək üçün istifadə edir nə var forması təqdim edildikdə sorğu.
>> Auditoriya: Əgər bir şey qeyd mi Siz kittens.jpg istifadə və ya əgər necə haqqında
itkin var ki, bir şey qovluq və ya digər faylları fayl?
>> ANGELA LI: Bəli.
Belə ki, bu nisbi deyirlər nə yol, mən verilməsi deyiləm, çünki
Siz tam yol.
Siz fopen əgər bu zaman C kimi bir fayl, siz fopen hi.txt ki, əgər
hi.txt eyni olması gözlənilir directory, siz bir daha vermək halda
mürəkkəb yol.
>> Auditoriya: Belə ki, müəyyən edə bilər olan qovluq [Işitilemez]?
>> ANGELA LI: Bəli.
Və siz bunu necə baxa bilərsiniz.
Amma kittens.jpg çıxmaq istəyirdi əgər ana kataloq, bunu
.. / Kittens.jpg.
Bəli.
Üzr istəyirik.
Bəli.
Man Oh, mən suala unuttum.
Sual nə idi?
Oh, sual, kittens.jpg idi eyni dizinde gözlənilir?
Və bu halda, bu.
Amma siz də onu müəyyən bir yol verə bilər bu yoxdur, belə ki.
Yaxşı?
>> CSS.
Belə ki, CSS, HTML kimi deyil, bir proqramlaşdırma dili.
CSS dizayn qaydaları yalnız bir sıra.
Bu Cascading Style Sheets üçün dayanır.
Və birlikdə istifadə stil pages HTML ilə.
Belə ki, üç yolu var Siz daxil edə bilərsiniz.
Siz bunu edə bilərsiniz bir yolu rəhbəri edir HTML hissəsi, yalnız bilərsiniz
bir stil tag açmaq və sonra qalmaq bəzi CSS qaydaları.
Bu olduqca OK.
Bəli.
>> Auditoriya: o qoymaq bilər edək, arasında stil tags
demək, bədən və / body.
Və sonra üslubu olacaq yalnız bədən.
>> ANGELA LI: Siz bilər.
Bu iş lazımdır.
Üslubu, çünki Lakin siz deyil, getmək lazımdır ki, metadata cür
sənəd rəhbəri.
Body həqiqətən, yalnız olmalıdır nə həqiqətən olacaq
Sizin səhifə göstərilir.
>> Auditoriya: Belə ki, stil qoymaq ediyorum stil üçün baş
bütün web page, sağ?
>> ANGELA LI: Bəli.
Belə ki, bu CSS qaydaları, burada stil qoyaraq əsasında bütün səhifə müraciət edəcək
onların selectors.
Belə ki, bunu etmək üçün yaxşı yol əvəzinə sizin rəhbəri bir stil tag olan,
bir xarici stil üçün bu linki var Mən sizə göstərdi hesabatı kimi
Əvvəlki nümunəsidir.
Bu nə çalışır və tapır edir style.css fayl və sonra çıxarmaz
və istifadə ki kimi Səhifənin üçün üslub.
Və style.css ki yalnız bu kimi baxmaq.
Bu yalnız CSS dəstə olardı.
>> Və nəhayət, başqa bir yol var CSS əlavə edə bilərsiniz, siz, həqiqətən,
heç nə lazım deyil.
Bu zəng inline üslubu var.
Və hər hansı bir HTML element həmçinin bir stil atributu almaq.
Və sonra stil atributu, siz CSS qaydaları verə bilər.
Belə ki, bu halda, nə div mən burada müəyyən, o olacaq
qara fon və ağ mətn rəng.
Lakin, bu lazım deyil, çünki nə bu sizin üslubu qoyur etmir
HTML daxilində.
>> Və biz HTML haqqında söhbət etdik bilirik strukturu və CSS stili.
Bunu varsa, bu qarışır birlikdə onlara.
Və çox təmiz deyil.
Belə ki, yoxdur.
Biz orada, CSS nümunə istifadə edərək yalnız HTML orqanı seçin
sənədli.
Və biz hər şey kimi istəyirik Comic Sans olacaq.
Mən də məsləhət görmürük.
Amma siz bunu edə bilər.
>> Burada ikinci qayda, gedir Bu element seçin
ID magistral ilə səhifə.
Belə ki, nə HTML element, mən ID etdi = Əsas, mən bir vermək gedirəm
20-pixel margin və hər şeyi align mərkəzi bütün mətn.
Son şey CSS sinif seçir.
Mən verdi ki, səhifənin hər hansı bir element bir bölüm sinif, mən bunu etmək üçün gedirəm
mavi fon rəngi.
Yep.
Mən var bütün.
Sual?
>> Auditoriya: Nə hashtag əsas əvvəl bunu?
>> ANGELA LI: The sual nə edir əsas do əvvəl hashtag?
Bu halda, bu hash CSS ID rejimindən deməkdir.
Mən bəzi HTML element idi əgər, kimi divID = əsas, bu CSS qayda seçir
ID magistral ilə şeydir.
Və eyni, qarşısında dövr bölmə CSS sinif seçin və ya
HTML sinif seçin.
>> Auditoriya: Niyə bir əvvəl var var Fon rəngi 6?
>> ANGELA LI: Bəli.
Belə ki, sual, niyə var ki 6-əvvəl hash?
Bu hash çox fərqlidir.
Bu ötürür o deməkdir ki, bir hexadecimal rəng.
Belə ki, hex rəng, bu, yalnız bir rəng təmsil edir.
Və RGB üç dəfə xatırlayıram Siz Suclari pset idi?
Bu kimi.
İlk iki rəqəm təmsil nə qədər qırmızı rəng var.
İkinci iki təmsil nə qədər yaşıl.
Və üçüncü təmsil nə qədər mavi.
Və hash bu davam edir bir rəng təmsil etmək.
>> Belə ki, 0, 0, 0, 0, 0, 0-dan şey F, F, F, F, F qədər, F etibarlıdır.
Bu bilərsiniz bəzi etibarlı rəng var sizin brauzer tərəfindən göstərilir.
Sual?
>> Auditoriya: arasında fərq nədir ID və sinif istifadə?
>> ANGELA LI: The sual nə edir arasında fərq
ID və sinif istifadə?
Siz yalnız bir bir element ola bilər Bir ID edir ki, HTML sənəd.
Mənim səhifə Belə ki, yalnız bir şey ID əsas var icazə verilir.
Belə ki, bu üçün istifadə header edir.
Bu naviqasiya edir.
Bu footer edir.
Siz çünki dərsləri, müxtəlif kimi bir çox HTML elementləri dərsləri müraciət
istədiyiniz kimi.
>> Belə ki, məsələn, mən sinif bölmə etdi bir çox yəqin ki, var, çünki
mənim səhifə bölmə.
Siz kimi çox üçün icazə edirik eyni ilə elementləri
class lakin müəyyən bir şəxsiyyət ilə yalnız bir.
>> Auditoriya: Belə dot təmsil sinif?
>> ANGELA LI: Bəli.
A dot bir sinif edir.
Cool.
Mən var, bütün uşaqlar var.
Təşəkkür edirəm.
>> [Alqış]
>> ZAMYLA Chan: Hi, everyone.
Mən Zamyla deyiləm.
PHP əhatə gedirəm, MVC və SQL bu gün.
Mən olacaq ki, maddi bir çox örtük olduqca çox olacaq
sağ pset7 həyata.
Bütün hüquqlar.
Belə ki, PHP nədir?
PHP PHP Hypertext dayanır Preprocessor.
Belə ki, özlüyündə, bir recursive edir olduqca sərin olan, adını.
PHP bir server-side scripting dil, və backend təmin edir
və məntiqi underpinnings Saytımızın.
>> Belə ki, Angela HTML haqqında çox danışdı və CSS strukturu edəcək
saytın.
Amma ki, dəyişdirmək üçün nə istəyirsinizsə content dinamik və ya əgər dəyişir
istifadəçi və ya əsaslanır müəyyən şərtlər?
PHP girer harada ki
İndi, adətən, PHP bir neçə bilər eyni şey həyata keçirmək üçün az xətləri
PHP yaddaş tutacaqları çünki C. var proqramçı üçün idarə,
us malloc olan fərqli olaraq pulsuz ki, kimi şeylər.
>> Amma PHP bir yorum ildən dil, adətən, bu icra bilər
bir az daha yavaş C-dən olan tərtib dilidir.
Biz proqramlaşdırma hərəkət edirik, çünki Dillər, baxaq necə
syntax fərqlənəcək.
Nin deyil çox diqqətli olaq Bu qarışıq almaq.
Siz olub, PHP sintaksis ilə belə HTML daxilində PHP daxilolma
Siz fayl özü və ya bir. php fayl ərzində açıq kodu əlavə etmək lazımdır
PHP və kimi qapalı PHP tags ekranda kimi aşağıdakı.
>> PHP Dəyişənlər.
Hər bir dəyişən ilə başlayacaq adı izlədi $ Bürc
Sizin dəyişən.
İndi PHP dəyişənlərin loosely yazdığınız, siz ehtiyac yoxdur o deməkdir ki,
nə data type göstərir Siz bu elan edirik zaman.
Lakin, bu demək deyil ki, onlar hər hansı bir növ yoxdur.
Mən bir dəyişən elan və yalnız müəyyən əgər bu 1-ə bərabər və sonra mən bəyan
başqa dəyişən, "1" bərabər müəyyən və sonra başqa bir 1.0, yaxşı,
bərabərlik növündən asılı olaraq Mən müqayisə etmək istəyirsinizsə operatorları Mən istifadə
bütün növləri üzrə, sonra onlar bərabər olacaq.
Amma əmin etmək istəyirsinizsə növləri bərabər, PHP hələ edə bilərsiniz
biz göstərir yoxdur, baxmayaraq ki, zaman biz nə növü
ilk fayl.
>> İndi, PHP, baxmayaraq biz proqramlaşdırma keçid
C languages ​​biz yenə də bizim yalnız bu kimi, vəziyyət əgər etibarlı.
Biz hələ yalnız, bizim isə loops var bu kimi, siz harada qoymaq Sizin
sonra vəziyyəti və loop orqanı.
Və sonra biz də, loop üçün bizim var adətən bu kimi görünür hansı.
Mən bütün təkrarlamaq istəyirdi Belə ki, əgər doqquz psets və təqdim və zəng
funksiyası submitPset, sonra mən nə edə bilər ki, burada olan uşaqlar bütün
Bu baxımdan tərəfindən aparılır.
Yolu ilə təbrik edirik.
>> Kamera üçün, insanlar dedi, təşəkkür edirəm.
İndi, yalnız bu istifadə etmək istəmədi, loop üçün, sonra PHP həqiqətən də
şeylər foreach loops çağırıb.
Mən integers bir sıra, 0 olsaydı 8 vasitəsilə array psets saxlanılır,
sonra bir foreach loop ola bilər ki, psets hər sıra üzərində iterates.
Və sonra mən eyni zəng edə bilər səkkiz dəfə fəaliyyət,
Mən əvvəl idi kimi.
Belə ki, hər loop üçün bu, gözəl, çünki siz yoxdur bilmirəm əgər
serialın dəqiq uzunluğu ki, , onda bu foreach loop istifadə var
sizin üçün ki, qayğı olacaq.
>> Mən bir sıra kimi psets etdi.
Ki baxaq.
PHP Diziler adətən eyni biz C, yaşadığınız olanları olduğu
bir sıra elan edə bilər.
Və burada mən bir boş array elan edə bilər və sonra istifadə edərək dinamik qurmaq
integers kimi indeksləri.
Index 0 Belə ki, mən saxlamaq üçün gedirəm tam 1 adlı.
Mənim siyahısı indeksi 1, mən gedirəm dəyəri 2 saxlamaq üçün.
Və üçüncü indeksi lakin da ikinci nömrəsi, mən gedirəm
12 nömrəni saxlamaq.
>> İndi ki, bu gözəl deyil yaxşı işləri.
Amma mənə məsələ demək hər index keçirib nə.
Mənim üçün, index 0 deməkdir necə çox pişik var.
Və index 1 deməkdir necə çox bayquş mən var.
Və növbəti bir neçə itlər deməkdir.
Yaxşı, sonra əvəzinə, ki, müəyyən etmək 0 aiddir xatırlamaq olan
bayquş üçün cats və 1, mən istifadə edə bilərsiniz o deməkdir ki, assosiativ diziler,
əvəzinə mənim indeksləri kimi integers, Mən, həqiqətən, strings istifadə edə bilərsiniz.
>> Belə ki, bu olduqca faydalıdır.
Və əsasən yalnız əvəz etdik strings ilə integers.
Və orada bir var assosiativ array.
Bəli.
>> Auditoriya: var niyə bir səbəbi var mı ikinci bir çizgi
hissəsi, mənim siyahısı array var.
>> ZAMYLA Chan: The sual idi, orada var nə səbəb
Mənim və siyahısı arasında vurğulayır?
No
Mən adlandırma alıram necə var mənim dəyişən.
>> Auditoriya: Ilk line, bir söz var.
>> ZAMYLA Chan: Mənim üzr istəyir.
Hesab edirəm ki, düzeltmek lazımdır.
Bəli.
Onlar eyni dəyişən adı olmalıdır.
Yaxşı tutmaq.
OK.
Belə ki, simli keçək concatenation.
Mən iki strings etmək istəyirdi, əgər sonra mən onları concatenate bilər
dot operator ilə.
Mən bir adı kimi Milo varsa və sonra son adı kimi Banana,
dot operator və concatenating sonra arasında bir boşluq qoyaraq
Milo olan bir simli edəcək Mən echo və ya mümkün olan Banana,
daha doğrusu, çap.
>> Echo danışan, danışaq bir neçə faydalı haqqında -
oops.
Üzgünüm.
Bir neçə faydalı PHP funksiyaları.
Beləliklə, biz var -
texniki çətinliklər.
Bir ikinci.
Mən bunu göndərdi.
PowerPoint problemləri.
Və biz PHP funksiyaları ilə geri edir.
>> Belə ki, biz, funksiyası tələb olduğu Siz bir fayl keçmək əgər, burada yalnız
bir fayl nümunəsi ki, Mən daxil keçə bilər
Sonra ki, PHP kodu daxil olacaq Mən göstərir ki, faylı.
Və bu da ki, qiymətləndirəcək
Sonra biz də echo var printf paralel deyil.
Exit qırmaq üçün paralel, blokunun çıxışları
Daxil etdiyiniz kod
Və sonra boş çek olub bir dəyişən null ya sıfır ya kimi
nə boş olan bərabər tutulur.
Bəli.
>> Auditoriya: string concatenation üçün dot operator bir PHP, ki,
istifadə edərək harada JavaScript kimi eyni concatenation üçün dot artı deməkdir?
Belə ki, tam adı, siz dollar ola bilər ilk + imzalamaq və + davam?
>> ZAMYLA Chan: Bəli.
Belə ki, sual idi PHP olub biz Eyni simli concatenation istifadə edə bilərsiniz
artılarının JavaScript kimi.
Və Cozef sonra ki, nəzərə almaq.
Mən o bir slayd var.
Əslində, bu, müxtəlif var.
Belə ki, JavaScript, siz istifadə etmək lazımdır strings concatenate üçün plus.
Və PHP, siz var dot operator istifadə edin.
Belə ki, onlar müxtəlif istəyirik.
>> OK.
Belə ki, indi biz bütün əhatə etdik ki, Bu PHP, harada yoxdur
həqiqətən lazımlı?
Bəli, bu lazımlı gəldiyi zaman biz Bizim HTML ilə birləşdirə bilər.
Belə ki, bizim PHP bizə güc verəcək bir saytın HTML content əvvəl dəyişdirmək
onun loading.
Belə ki, müxtəlif şərtlər əsasında ki, adətən xüsusi istifadəçi
daxil, biz bilərsiniz müxtəlif informasiya.
Linda, bir sual var idi?
>> Auditoriya: concatenate bilər də tam?
>> ZAMYLA Chan: Bəli, edə bilərsiniz.
Siz əgər belə sual idi integers və ya digər concatenate
indi biz, MVC hərəkət variable.s olan biz istifadə ki, bir paradiqma edir
pset7 və web dizaynerlər bir çox üçün istifadə faylları kodu təşkili
onların web.
M Model üçün dayanır.
Və əsasən, model faylları məşğul olacaq verilənlər bazası ilə qarşılıqlı.
Faylları keçirmək, onlar aid saytın estetika.
Və Controller tutacaqları istifadəçi tələblərinin çözümler
data, digər məntiq yoxdur.
>> Pset7, biz model birləşmiş və nəzarətçi.
Və biz yalnız nəzarətçiləri onları çağırıb və ictimai kataloq qoydu.
Və görünüşü faylları, biz kimi istifadə şablonları kataloq şablonları.
Belə ki, burada bu diagram də təmsil ilə bölgüsü ki, eyni cür
model və bənövşəyi nəzarətçi burada sol və
sağ görünüşü.
Belə ki, bu bir sxematik edir ki, bəzi Office saat və ya görmüşəm bilər
biz sizin kimi rəsm ki, diaqramlar pset həyata figuring edilmişdir.
>> Belə ki, burada bir nəzarətçi, bir model nəzarətçi, biz funksiyaları var
SQL sorğulama aid verilənlər bazası, PHP məntiq icra.
Bəlkə siz baxmaq Yahoo! fond
Maliyyə.
Və ya bəlkə siz yalnız yoxlamaq olardı bir istifadəçi təqdim görmek a
olan əvvəl artıq təşkil Sizin səhifə ziyarət etdi.
Və sonra göstərmək olar Burada artıq təşkil edir.
Ki, forma təqdim edildikdən sonra istifadəçi tərəfindən idi ki, hərəkət
forma-nin HTML tag göstərilən səhifə göstərir ki, bu
ki, data qaytarır.
>> Belə ki, bütün informasiya olacaq Sizin nəzarətçi geri göndərdi.
Sonra yəqin ki, bir az daha çox olardı ki məntiq və bəlkə bir neçə icra
daha SQL bazasında queries və sonra, nəhayət, bir gözəl ilə gəlmək
məlumat dolu set siz ki digər şablon keçmək
ki, məlumat göstərilir.
İndi biz həqiqətən paketi yoxdur məlumat up?
Yaxşı, biz Render adlı funksiyası var ki, ildə functions.php fayl idi
pset7, siz adına keçmək bir fayl, bir şablon adı.
>> Və sonra da keçmək assosiativ array.
Və belə ki, assosiativ array təmsil müxtəlif informasiya
Daxil keçmək istəyirəm ki,
İndi nə daimi olacaq Bu misallar ki, düymələri və ya,
daha doğrusu, birləşməli açarları diziler, o olacaq nə
şablon tərəfindən daimi gözlənilir, bu ehtiyacı bilir, çünki
Mesaj deyilən bir şey və ya adını.
Və sonra sağ şeyi faktiki dəyərləri, belə ki, bu halda, kim var
yaxşı oğlan və Milo, o gedir dəyişir ki, dəyərlər olmaq
nəzarətçi hər dəfə dəyişir və ya müəyyən bir vəziyyət əsasında və
da ki, keçəcək
>> Belə ki, burada şablonları, biz görürük ki, biz HTML xüsusi simvol istifadə olunur,
yalnız əsasən biz istəyirik ki, deməkdir Bu peer string almaq ki,
istifadəçi daxil qoymaq
Və biz əvəz etmək istəyirəm orada mesaj.
Belə ki, biz, həqiqətən görmək zaman fayl, xüsusi
məlumat daxil keçdi
Necə işləri göstərmək əsas Qeyd edək ki, ki, birləşməli açarları
diziler, o olmaq dəyişən burada adları.
Və belə ki, əsas dəyərləri assosiativ array sonra olur
dəyişən dəyəri.
>> İndi, SQL üçün hərəkət edək.
Bu Yapılandırılmış dayanır Dil sorğu.
Və bu yalnız bir proqramlaşdırma nəzərdə dil
verilənlər bazası idarə olunması üçün.
Və bizim üçün lazımlı gəldi Bizim pset7 maliyyə haqqinda.
Əsasən, bu yalnız asan bir yoldur obyektlərin və masalar track və idarə
və bir-birinə onlara keçid.
İndi SQL verilənlər bazası hesab əsasən bir Excel faylı olaraq, bəlkə də,
çox sekmeli vərəqələri.
>> Beləliklə, siz çox masalar ola bilər, bəlkə də, bir-birinə bağlı.
Və Excel kimi çox biz bir çox biz istəyirik ki, funksionallıq.
Məsələn, biz seçə bilərsiniz müəyyən satır.
Biz məlumat əlavə edə bilərsiniz.
Biz satır təkmilləşdirə bilər.
Və biz də hər şeyi silə bilərsiniz.
>> SQL satır seçilməsi əsərləri seçin və ya ifadə edildi sütun bir sıra
müəyyən bir uyğun bazası göstərir ki, meyarlar.
Burada mən seçin görəndə * Belə ki, harada ev = Ravenclaw, sonra sehrbazlar
Mən deyiləm deməkdir ki, * seçilməsi alıram ki, hər bir sütun seçilməsi
Sehrbazlar masa yalnız əgər dən satır ev sütun Ravenclaw bərabərdir.
İndi bu təmiz və ya SQL edir.
Mən hansı phpMyAdmin girdi əgər biz idarə etmək üçün istifadə ki, xüsusi yol
Bizim SQL verilənlər bazası, sonra daxil edə bilər ki, PhpMyAdmin veb.
Və icra olardı.
>> Amma biz, həqiqətən etmək istəyirəm ki, PHP tərəfində.
Belə ki, necə edə bilərəm?
Yaxşı, biz sorğu funksiyası istifadə edən əsasən ki, SQL sorğu həyata keçirir.
Istifadə?
bir tutucu kimi, biz müəyyən keçə bilər bizim simli dəyərlər ki, biz
əvəz etmək istəyirəm.
Belə ki, bəlkə mən müxtəlif saxlanılması alıram Bu curr_house dəyərlər olan
cari ev təmsil Mən vasitəsilə gedirəm ki.
Mən bir tutucu kimi keçə bilər sual işarəsi ilə.
Və sonra mən əsasən icra edəcəyik Mən istisna olmaqla, əvvəl idi eyni şey kimi
İndi, mən PHP edirəm.
>> Və sorğu bir qayıdacaqlar assosiativ array.
Mən satırlar onu saxlamaq üçün gedirəm.
İndi, sorğu həmişə uğursuz ola bilər.
Bəlkə də SQL sorğu icra bilməz masa mövcud deyil, çünki.
Və ya bəlkə də, sütun yox idi.
Bir şey yanlış getdi.
Yaxşı, bu halda, siz etmək lazımdır olmadığının yoxlamaq əmin
sorğu yalan döndü.
Və bu üç istifadə edərək, var orada əməliyyat bərabərdir.
>> Və sonra mən başqa olan üzr Bir mesaj keçən CS50 funksiyası.
Və üzr, bütün ona baxmaq əgər həqiqətən apology.php göstərməyə edir.
Bəli.
>> Auditoriya: Siz nə ki, izah edə ulduz seçin və arasında edir?
>> ZAMYLA Chan: Bəli, tamamilə.
Belə ki, seçin və arasında ulduz Mən bütün seçin istəyirəm o deməkdir ki,
mənim masa bütün satır.
Mən seçin qeyd etdik bilər , il, ev adı.
Və mən yalnız üç almaq olardı mənim masa sütun.
Mən seçin * demək əgər Lakin, sonra mən ki, sütun hər şeyi almaq.
Sonra sizə getmək üçün gedirəm ilk geri.
>> Auditoriya: Belə ki, bu hələ də SQL, sağ?
Bu sorğu və ya bu PHP edir?
>> ZAMYLA Chan: Biz sorğu istəyirik.
Belə ki, bu PHP edir.
Belə ki, PHP funksiyası sorğu istifadə edərək, biz bir SQL sorğu icra edirik.
>> Auditoriya: SQL şey mı hal-həssas, kimi seçin
və ya sehrbazlar və ya ev?
>> ZAMYLA Chan: bir şey mı SQL halda həssas?
Mən, bəli, belə hesab edir.
Mən inanıram ki SELECT və FROM və hal-həssas HARADA.
No?
>> Rob Bowden: Belə ki, əks edir.
Sütun adları və masa vasitələri, o bütün hal-həssas.
Amma MySQL açar sözlər hər hansı kimi FROM SELECT, və, o HARADA deyil
hal-həssas.
OK.
Belə ki, dedim nə qarşı.
Belə ki, MySQL açar sözlər, bütün -
o - harada ki, seçin hal-həssas deyil.
Lakin başqa hər şeyi edir.
OK.
Ön Siz.
>> Auditoriya: Mən baxımından satır $ varsa daha çox bir sıra deməkdir ki, olar
yalnız assosiativ array olur?
>> ZAMYLA Chan: Belə ki, sual, əgər satır , bu artıq bir sıra Bugünə var
bu assosiativ array olmaq?
Belə ki, birləşməli bir sıra edir artıq Diziler.
Yalnız bir sıra var, belə ki, hətta geri, sonra getmək istədiyiniz
ki, nəticə index 0.
Və sonra ilk sıra var ediyorum.
Bəli, Belinda?
>> Auditoriya: === istifadə edərkən, Bu yalnız instansiya edir?
Və ya başqaları var?
>> ZAMYLA Chan: Belə ki, bu halda, === növləri arasında müqayisə edir.
Üzr istəyirik. === Bir müqayisə edir ki növləri müqayisə edir.
Və sonra == bütün növləri üzrə müqayisə edir.
>> Auditoriya: siz nə izah edə bilər satır Bu vəziyyətin?
Bu data sırasına olunur?
>> ZAMYLA Chan: Növbəti slayd, mən nə satır izah gedir.
Beləliklə, siz keçirilməsi ağla deyil əgər off ki.
Və sonra geri?
>> Auditoriya: sorğu kimi funksiyaları üçün göstərmək və [işitilemez] üzr?
>> ZAMYLA Chan: The sual olub Bu funksiyaları - sorğu, üzr
və göstərir -
PHP arasında eynidir.
Bu olanlardır ki, CS50 pset7 üçün yazmışdır.
Və Jay?
>> Auditoriya: siz demək lazımdır zaman $ _SESSION Yalnız kimlikleri üçün?
Yoxsa burada dedi ki, ola bilər?
>> ZAMYLA Chan: Belə ki, sual idi, zaman biz bir xüsusi idi, $ _SESSION istifadə
biz istifadə etdiyiniz ki, qlobal dəyişən.
Bu dəyişən gedir bizim funksiyası yerli ola.
Beləliklə, biz yalnız elan edirik yeni bir dəyişən.
>> Auditoriya: necə üzr olunur həyata?
>> ZAMYLA Chan: The sual idi, necə həyata üzr olunur?
Və bu, həqiqətən, olduqca hesab uşaqlar getmək üçün yaxşı təcrübə
Bu functions.php bölmə və baxmaq üzr və siz ola bilər necə
özünüz edilir.
Belə ki, mən sizin üçün ki, tərk, lakin yalnız bilər baxsanız üzr ki,
sonra bu mesajı alır sonra üzr təqdim və
mesajı göstərir.
Hər hansı bir daha suallar?
Mən suallara sevirəm.
Belə ki, onlara gələn saxlamaq.
>> Auditoriya: [işitilemez]
echo və ya orada print?
>> ZAMYLA Chan: The sual idi, biz yalnız qoymaq bilməz
echo və ya orada çap.
Belə ki, bir şey olardı az fərqli.
Ki, sorğu çap olardı ki, daxil uğursuz -
yaxşı, indi, biz həqiqətən istəyirik bizim nəzarətçi.
Belə ki, biz, həqiqətən, yoxdur HTML burada qurmaq.
Apologize.php göstərilməsi ilə üzr həqiqətən apology.php sizi yönləndirən.
OK.
>> Belə ki, indi-nin üçün getmək bildirin haqqında əvvəllər sual nə
həqiqətən satır.
Yaxşı, sorğu qayıdacaq satır bir sıra.
Və hər sıra təmsil olunur assosiativ array.
Mən bəzi SQL sorğu və icra etdik əgər Mən sonra, satır nəticə saxlanılır etdik
bir foreach loop istifadə edərək, sonra array satır - adı orada ilk biridir.
Və sonra mən zəng etmək üçün gedirəm orada $ sıra hər satır.
>> Mən ki, artıq sonra bilər iterating bu cərgə adı sütun daxil olmaq,
il sütun, və ev sütun.
Mən edə olmazdı Qeyd edək ki, çünki satır indeksi satır bunu
adı yoxdur.
Satır yalnız bir sıra edir assosiativ Diziler.
Belə ki, orada iki səviyyədə var.
Siz satır array var, Siz ki, nəzərə almaq lazımdır.
Və sonra sütun əldə edə bilərsiniz.
Ki, aydın etmək mi?
Bəli, qarşısında?
>> Auditoriya: [işitilemez] açmaq Mötərizədə [Işitilemez] üçün?
>> ZAMYLA Chan: Əfv ediniz?
>> Auditoriya: açıq Mötərizədə.
>> ZAMYLA Chan: burada Bu?
Ki, mənə daxil imkan var ki, dəyişən.
Bəli.
>> Auditoriya: Əgər çap zaman, siz HTML kodu çap?
>> ZAMYLA Chan: Bəli.
Mən çap zaman, burada bu daxilində deyil mənim şablon indi
MVC metodu mənim görünüşü.
Mən HTML çap edirəm.
>> Biz geliştirici girdi əgər Auditoriya: tools çalışan sonra, biz bilər
həqiqətən kodu ki?
>> ZAMYLA Chan: Bu böyük sual, evet.
Əgər geliştirici alətləri girdi Belə ki, əgər Firefox Firebug'ı istifadə və ya
Chrome, sonra Bəli, siz bilər xüsusi HTML görürük.
Belə ki, $ sıra ["Ad"] göstərmək deyil.
Bu hansı gösterir ad sıra edir.
>> Auditoriya: Just bir problem, nə tr və td kimi müəyyən?
Niyə ki, biz [Işitilemez]?
>> ZAMYLA Chan: Cədvəl sıra tr, masa sonra sütun td.
OK.
>> Auditoriya: Bəli, bu masa data var.
>> ZAMYLA Chan: Cədvəl data.
Bəli.
>> Auditoriya: Bu bir sıra var olan sıra bir sütun kimi müalicə olunur?
>> ZAMYLA Chan: Sorry.
Ki, təkrar edə bilərsiniz?
>> Auditoriya: necə ki satır görüntüləmək?
>> ZAMYLA Chan necə görüntüləmək olardı yolu nə cür satır?
Bu söhbət burada satır və ya tr satır?
>> Auditoriya: The satır.
>> ZAMYLA Chan: burada Bu satır?
Mən bu görüntüləmək istədiyiniz Mən sorğu icra.
Və OK, Mən n 0 ya var, deyir meyarlara uyğun satır məbləği
siz sorğulanan ki.
Mən satır sıra var.
Satır Belə ki, $ satırlar, mağazalar hər bir sıra həmin satır biridir.
Belə ki, bunlardan yalnız biri olsa da, bu hələ də uyğun satır bir sıra.
>> Beləliklə, məsələn, bu Siz alındı ​​zaman bənzər
istifadəçilər cache.
Və meyarlar harada var idi ID sessiya ID bərabərdir.
Həqiqətən, yalnız bir sıra var ki, uyğun ola bilər.
Amma yenə də satır yalnız bir sıra döndü.
Belə ki, siz satır getmək istiyorum, index 0, index cache
həqiqətən, sizin cache almaq.
>> Auditoriya: print funksiyası eyni şey echo ilə?
>> ZAMYLA Chan: Bəli.
Bəli.
Eyni əks-səda çap.
>> Auditoriya: foreach loop mı satır daxil index yeganə yoldur?
>> ZAMYLA Chan: bir foreach loop mı Siz ki, yalnız yol
satır vasitəsilə təkrarlamaq?
No
Siz həmçinin təmin loop üçün istifadə edə bilərsiniz Siz uzunluğu bilirik ki,
satır serialın.
>> Auditoriya: siz daxil olmadı [Işitilemez] kimi bir sıra istifadə?
>> ZAMYLA Chan: Beləliklə, siz gedə bilməz Siz yoxsa yalnız satır istifadə edərək bir
foreach loop ki, təmin Siz sıra elan.
Bəli.
Bəli, ağ.
>> Auditoriya: tr və td Belə ki, nə etməliyəm?
>> ZAMYLA Chan: Belə tr və td HTML tags var.
tr başladığını ifadə bir masa sıra.
Və hər td bir göstərir yeni masa data sütun.
>> Auditoriya: nə bir sıra vizual üçün kimi, yalnız SQL təsəvvür edir, necə
onlar bir sıra var.
[Işitilemez].
>> ZAMYLA Chan: Bəli.
Böyük bir nöqtə var.
Siz yalnız kimi satır görüntüləmək bilər kimi bir Excel masa, yalnız
satır siyahısı.
OK.
Bütün hüquqlar.
Belə ki, indi biz, seçin üzərində getdi etdik ki, bir daha sual edəcəyik, yoxdur
insert üzərində artıq getmək.
Mən bəzi daxil istəyirdi əgər masa və müəyyən sütun daxil
dəyərlər, özümü daxil edə bilər il 7 Ravenclaw daxil.
Amma bəzən cüt ola bilər dəyərlər, biz pset7 gördüyümüz kimi, biz
bizim portfelinin yenilənməsi edilmişdir.
>> Belə ki, bu halda, biz ON istifadə etmək istədiyiniz Biz deyil, belə ki, KEY dublikat yeniləmək
eyni ilə birdən çox satır saxlamaq dəyər lakin güncelleyin.
Sonra biz, həqiqətən, yeniləmə var, bir insert deyil.
Bu yeniləmə burada yalnız bir yeniləmə var bir müəyyən bir masa
meyarlar və sonra, nəhayət, silmək, bir çox oxşar şey yoxdur.
>> Auditoriya: bilərdi siz qısa dublikat əsas üzərində getmək?
>> ZAMYLA Chan: Bəli.
Əsasən burada, mən INSERT qatılır var gringotts, Galleons, bu dəyərlər.
Amma ID ehtimalla, unikal açardır dəyər MySQL masa qurmaq.
Mən artıq ID qurmaq əgər, sonra yeni bir satır əlavə edə bilməz.
Artıq mövcud deyil əgər, sonra mən onu yeniləmək lazımdır.
Ağ ortada.
>> Auditoriya: Belə ki, silmək, yeniləmə daxil və seçin, o bütün var
yerli [Işitilemez]?
>> ZAMYLA Chan: Belə daxil, yeniləmə, silin və
seçin bütün SQL queries var.
Belə ki, zaman SQL istifadə etdiyiniz, Siz mövcud olan lazımdır.
>> Auditoriya: Son sınavlar Geri -
ilə məşğul olan bir sual var idi bir masa var idi və istəyirdi
bir test puanları daxil edin və siz daxil adı Sizi belə
[Işitilemez] dostunuza test hesab.
Ki, insert ilə necə edərdiniz?
>> ZAMYLA Chan: Belə ki, sual idi əvvəlki orta-müddətli sual.
Mən xəbərdar deyiləm bir sağ indi.
Belə ki, bəlkə sonra, siz istəyirsinizsə Mən sonra gəlmək və mənə göstərmək
əlbəttə məsləhətlər verir.
Amma kimi daxil şeyi danışan zaman kiminsə bal alaraq
, haqqında danışmaq imkan olmaz SQL injection hücumların.
Belə ki, bir SQL injection hücum mahiyyətcə kimsə alır
Bu aşağı təhlükəsizlik üstünlüyü Siz data verən yol.
>> Belə ki, burada, yalnız CS50 maliyyə kimi, biz daxil zaman, biz bir daxil edə bilərsiniz
giriş formada istifadəçi adı, ilk mətn qutusu, və
sonra bir parol daxil edin.
Yəqin ki, PHP kodu baxmaq bilər bu kimi bir şey olduğu $ username
olan post-data istifadəçi adı və parol post-data parol.
Və sonra biz yalnız, demək, bizim sorğu icra OK, yaxşı, bizim sorğu gedir
bizim istifadəçilər seçin, harada istifadəçi adı deyil
Onlar təqdim ki, bir.
Və parol parol, parol uyğun deməkdir.
>> İndi nə əgər əvəzinə həqiqətən kimi, faktiki Şifrəni təqdim
12345 və deyir ki, diş guessing parol və hack çalışır onların
hesab, nə əvəzinə bu təqdim.
Onlar bəlkə yazın bilər bir parol bir tahmin.
Və sonra onlar başa olardı quote sonra yazın və ya = 1 1.
Bu SQL birbaşa AŞPA olardı bu kimi bir şey baxmaq sorğu.
Istifadəçilər seçin harada adı = Prongs və parol
zanbaq və ya 1 = 1 bərabərdir.
>> Belə ki, parol və ya var doğru və ya 1 = 1 olması,
həmişə doğru olan.
Belə ki, bu halda, əsasən, bir istifadəçi Bu istifadə etmək və yalnız daxil
özləri və hack kiminsə hesab.
Biz qaçmaq istəyirəm ki, var Bunu etmək üçün olan kimsə.
Lakin xoşbəxtlikdən, sorğu funksiyası ilə Bu placeholders keçən keçiriləcək
sizin üçün bu qayğı.
Ayrıca, adətən istəyirəm heç vaxt lazımdır əslində parol təqdim
özləri.
Biz hashed və ya şifreli Ona görə CS50 maliyyə onlara.
>> Auditoriya: Ötən viktorina danışdı haqqında MySQL escape strings.
Ki, narahat var?
>> ZAMYLA Chan: Yaxşı bir sual var.
MySQL escape strings mütləq bir Bizim sorğu istifadə edilmişdir ki, fəaliyyət göstərir.
Amma mütləq ki, baxmaq.
Mən bilirəm ki, ədalətli oyun demək istədiyiniz ki, zəng etmək lazımdır istədiyiniz
simli fəaliyyət göstərir.
Bəli, Belinda?
>> Auditoriya: o zaman necə bilmirəm tək quotes və ya cüt quotes?
Və həmçinin, mən mühazirə kimi hiss olmaması haqqında bir şey qeyd
Bu [işitilemez] və ya bir şey və ya sonunda ikinci bir quote.
Mən o mühazirə işarə edirəm ki, Siz apostrof 1 var ehtimal edirik
və sonra Apostrophes yoxdur və ya bir şey.
>> Auditoriya: [işitilemez].
>> Auditoriya: Bu şey son tək ikinci qutusuna orada quote
olmamalıdır.
[Işitilemez]
Çünki siz ki, ötən bir almaq zaman həyata sitat və məzmun üçün bu uyğun
Siz ki, əgər parol olduğu sorğu, bir quote at var
artıq son.
Siz ki, bir quote istifadə etmək istədiyiniz bir üzləşir ki, bir kimi
[Işitilemez].
Belə ki, nə ki, mətn həqiqətən var qutusu olmamalıdır.
>> ZAMYLA Chan: Mən bunu dəyişmək lazımdır.
OK.
Hər hansı bir sualınız var, onda mən will danışmaq Yusifin onu keçmək
JavaScript haqqında, et Cetera.
>> [Alqış]
>> JOSEPH ONG: Biz çalışan bir az arxasında.
Tərk etmək varsa, ki, OK.
Amma biz aşağı rəhbərləri saxlamaq ki, xahiş Siz ortasında istəyirik, belə ki, əgər
kamera blok və istifadə etməyin Sizə əgər geri exit.
Mən yolu ilə Joseph deyiləm.
Hi.
Test, test.
Dan, yaxşı deyil?
Cool.
>> Belə ki, video da dərc olunacaq olanlar üçün online ki,
indi tərk etmək vardır.
Yöndəmsiz.
OK.
Belə ki, viktorina baxış.
Bu bir pişik var.
Bəlkə deyil indi, JavaScript, Siz uşaqlar bəzi AWW kimi.
OK.
Belə ki ilk var, ZAMYLA xatırlayıram.
PHP olduğunu unutmayın server axır.
Və dəfə çox, uşaqlar loops yazdı PHP sağ, HTML çap?
Kod icra Belə ki, bir ki, Siz çap HTML output
istifadəçi göndərilən olur.
Bir dəfə olur ki, heç bir daha çox PHP bilər siz səhifəni etmədikcə, run
PHP reexecutes olan kurs.
Amma siz ki, HTML çap dəfə, istədiyiniz yerdə getmək bilməz.
>> Belə ki HTML, istifadəçi göndərilir burada, brauzer olan olduğu
Milo kompüter istifadə edir.
Və belə də, bir neçə şey var Biz istifadəçi HTML göndərmək dəfə.
Bəzən biz kimi bir şey etmək istəyirəm Əgər bir şey haqqında basın zaman, biz istəyirik
, bu cür açılır alert qutuları Siz basın zaman kimi qarşılıqlı əlaqələr,
əsas, siz bir şey basın zaman səhifə, nə üçün bir şey istəyirsinizsə.
Yaxşı, siz PHP reexecute bilməz ki, HTML müəyyən edilir kodu dəfə.
Belə ki, bu necə etməliyəm?
>> Biz adlı yeni bir dil təqdim Brauzerinizin çalışır JavaScript,
ki, siz şeyə imkan verir Siz almaq sonra HTML
server onlara.
Biz bunu bir klient zəng niyə və bu proqramlaşdırma dili.
Bu kompüter üzərində işləyir -
müştəri.
Bu günə qədər bu barədə hər hansı bir sualınız?
Bu paradiqma insanlara mənada edir?
OK.
Yaxşı.
Bütün hüquqlar.
Belə ki, ilk şey qeyd etmək JavaScript PHP deyil.
>> Onlar bəzi müxtəlif sintaksis var, biz getmək lazımdır.
Və onlar çox müxtəlif məqsədlər var.
JavaScript, yenə, üçün sizin müştəri üçün browser.
Server başqası üzrə yerdə çalışır məlumat göndərir ki, kompüter
sizə, doğru?
Beləliklə, biz PHP kodu yazmaq xahiş əgər bir imtahan sual üzərinə, yazmaq deyil
JavaScript və əksinə.
Siz yalnız xal itirmək lazımdır, və doğru olmaz.
>> Belə ki, bəzi daxil imkan syntax fərqlər -
Sol JavaScript və sağ PHP.
Siz görəcəksiniz ilk şey JavaScript, biz dəyişənlərin elan
Bu var söz -
V-A-R. PHP dollar işarəsi istifadə Zamyla əvvəllər müzakirə kimi.
Bir assosiativ bəyan etmək istəyirsinizsə array, biz tanış sintaksis bax
PHP ilə sağ.
Sol tərəfdə, əvəzinə Siz qıvrım aşırma istifadə edin.
Və sonra düymələri sol var.
Sonra bir nöqtə var.
Və sonra dəyərlər var istədiyiniz.
>> Belə ki, bu PHP bunu necə edir ki, ikinci sağ
Milo başlayır line.
Və ki, siz bunu necə edir Əgər siz JavaScript sol
biz bir obyekt dediyimiz.
Və JavaScript obyektlərin yalnız assosiativ Diziler.
Beləliklə, siz, sahələri daxil olmaq istəyirsinizsə, PHP Bu bracket sintaksis istifadə edin.
Bu yolla, siz təkrar təyin edə bilərsiniz Lauren bu sahibi sahəsində.
>> Yaxşı, JavaScript, əgər bir istəyirəm Siz, bir sahə daxil olmaq və dəyişdirmək
dot sintaksis istifadə edin.
Siz həmçinin bracket sintaksis istifadə edə bilərsiniz.
Amma istifadə edə bilərsiniz PHP dot syntax.
Ki, işləməyəcək.
Bu, yalnız PHP işləyir.
Və nəhayət, şeyi çap etmək konsol, siz console.log istifadə edən
Sizlərin pset8 çox istifadə edin.
Siz console.log edə bilərsiniz.
>> Siz bir sıra çap etmək istəyirsinizsə PHP, siz çap r istifadə etmək lazımdır.
Və sağ, siz i hash bax orada string concatenation.
Biri əvvəllər istədi.
Mən JavaScript plus istifadə edin.
Mən bir şey concatenate istəyirsinizsə PHP, mən dot istifadə edin.
Bu fərqli.
Siz PHP kodu yazılı edirsinizsə, bir plus istifadə etməyin.
JavaScript yazılı istəyirsinizsə kodu, bir nöqtə yazmaq deyil.
Bu yanlış olacaq.
Və siz kədərli olacaq.
>> Belə ki, syntax fərqlər.
Sizin sintaksis bilirik, çünki siz varsa bir sual yazmaq və sintaksis istifadə
səhv dilində, bu iş deyil.
Və bu yanlış olacaq.
Belə ki, bəzi nəzarət haqqında danışmaq edək Siz necə istifadə, fərqlər axını
onların hər loops.
Zamyla sağ üzərində getdi.
Sağ Stuff tanış olmalıdır.
Nin sol tərəfində baxaq.
>> Siz JavaScript n loop üçün istifadə edərkən, Sizin loop dəyişən, var orada i,
serialın düymələri üzərində loop.
Belə ki, adı, ev, və rolunu görmək.
I console.log varsa, mən almaq adı, ev, və rolu.
Həmin düymələri var.
JavaScript, bir foreach loop gedir bu serialın dəyərlər üzərində.
Belə ki, onlar i də istəyirik bildiriş.
Amma burada PHP tərəfində, bu yazdıran Milo, CS50, və Mascot həyata.
Həmin PHP dəyərlərdir.
>> Belə ki, bu iki fərqli necə var müxtəlif dillərdə.
Belə bir foreach kullanıyorsanız loop, güman etmirəm ki,
siz düymələri verir.
Siz n loop üçün istifadə edirsinizsə, yoxdur bu dəyərlər verir daşımır.
Bu günə qədər mənada edirmi?
Növbəti slide sizə göstərmək niyyətindədir Siz qarşı əldə edə bilərsiniz necə
onların hər biri.
>> Yaxşı, siz JavaScript əsas varsa və siz dəyər istəyirəm
daxil yalnız index ki, array.
Belə ki, i Milo sizi əldə edəcək nə istədiyiniz - dəyərlər.
PHP bu müxtəlif sintaksis var.
Siz, həqiqətən, bilmək istəyirsinizsə, mən bunu Biz hələ sizə göstərdi etdik edirəm.
Əgər istəyirsinizsə, siz istifadə edə bilərsiniz sağ bu əlavə syntax
həqiqətən almaq imkan verir ki, yan PHP düymələri istifadə etdiyiniz zaman bir
foreach loop.
Trivia Belə ki, yalnız bir az Əgər istəyirsinizsə.
>> Belə ki, yalnız nümayiş üçün var Bu iki loops arasında fərqlər.
Siz olduğunuzda onlara qarışdırmaq etməyin bir sual proqramlaşdırma.
Ki, haqqında heç bir suallar.
Cool.
Bütün hüquqlar.
JavaScript obyektləri.
Mən onlara danışdı.
Onlar assosiativ seriallarda kimi edirik.
Mən qeyd etmək istəyirəm bir şey burada bir birləşməli bir dəyər
array JavaScript şey ola bilər.
>> Bu da bir funksiyası ola bilər, orada kimi.
Mən bir funksiyası var ki, Düyməni bir dəyəri.
Mən ki, funksiyası zəng etmək üçün istəyirsinizsə, Mən yalnız qabıq daxil.
Və sonra mən parantez qoymaq sonra.
Və işləyir.
Belə ki, hər hansı bir sualınız?
No?
OK.
Yaxşı.
PHP kimi JavaScript, loosely çap olunur.
Bu nə deməkdir?
>> Bu növ yoxdur.
Amma bir JavaScript bəyan zaman dəyişən, siz var deyirlər.
Siz demək deyil.
Ki, bir şey deyil.
Siz yalnız bir dəyişən deyirlər.
Və sonra JavaScript idarə edəcək sizin üçün başlıq altında növləri.
Biz sərbəst arasında çevirə bilərsiniz çünki bu növləri.
Belə ki, i bir sıra kimi başlayır bu halda.
Və sonra mən bir simli var.
Və mən i əlavə edin.
Və mən onu geri redesign.
>> Ki, birinci xətt Belə ki, i sayı.
İkinci On line, i indi olur Mən vəzifəyə təyin etmək string sonra.
Və burada, yalnız concatenating alıram simli üzərində ki sayı.
Siz görəcəksiniz ki, i bir baxmayaraq birinci hissəsində tam, bu sort var
bir çevrilir kimi string və sonra əlavə olunur
ki, salam string üzərində.
Və belə ki, nə demək var boş yazaraq.
Ki, arasında çevirmək ki, çox asanlıqla növləri.
Və xəbərdarlıq atmaq deyil Siz C yoxdur kimi.
>> Belə ki, i indi salam var Simli 123.
Next.
Biz də sərbəst müqayisə edə bilərsiniz növləri arasında.
Belə ki, yalnız == istifadə əgər, çox PHP, JavaScript kimi
oxşar şey yoxdur.
The string 123 sayı eyni 123 Siz ikiqat bərabər istifadə edərkən.
Üç bərabər istifadə edərkən, bu da əmin etmək istəyir
növü eyni.
Ki, bir string və budur ki, çünki Onlar həm də olmalarına baxmayaraq, bir sıra
123, siz üç istifadə edərkən siz saxta almaq, bərabərdir.
Ikiqat işi bərabərdir, siz doğru almaq ikiqat bərabər deyil, çünki
növü qayğı.
Triple bərabər növü haqqında qayğı yoxdur.
Suallar?
OK.
>> Və JavaScript haqqında başqa bir şey Siz değilseniz həcmi qlobal növü
bir funksiyası.
Və eyni işləyir həqiqətən PHP yol.
Belə ki, bu misal ilə gedək.
Mən 999 i seçin.
Və sonra mən loop üçün bu daxil.
Mən üçün bu i çap alıram loop, I 0, 1, 2, 3, 4 gözləyirik.
Mən = 4 almaq.
Bu, 5 İndi əlavələr üçün loop sonunda.
Və sonra bu loop həyata pozur, Bu yerinə yetirmək deyil, çünki
artıq vəziyyət.
>> Siz nə düşünürsünüz növbəti console.log yazdıran?
Belə ki, o C C. nə nə var çünki i xaricində var kimi varsa
və bir kimi, bir loop daxilində var i var loop üçün, sonra onu belə ki, edir
Bu xaric olan iki i müxtəlif var.
JavaScript, yalnız olacaq Eyni i kimi müalicə.
Ki, dəyəri idi, çünki mən, 5 almaq bu loop həyata ayrıldığı sonra.
Belə ki, o i eyni i var.
Ki, hissi edirmi?
>> Bəli, bu olan mənada edir bir JavaScript nöqteyi-nəzər.
Amma eyni paradiqma deyil Onlar C. üzərində daşıyır
müxtəlif həcminin müəyyənləşdirilməsi qaydaları.
Bəli.
>> Auditoriya: [işitilemez]
[Işitilemez] funksiyası xaricində?
>> JOSEPH ONG: Belə olan funksiyası xaricində?
Mən yalnız bir ikinci olduğu almaq lazımdır.
Beləliklə, biz (i) foo zəng.
Bu i foo daxil əlavələr keçir o, və açar.
Belə ki, 5 idi.
Belə ki, 6 olur.
Amma nə mən söhbət alıram edir ki, funksiyası ki i.
Bir parametri var, çünki var ki, funksiyası scoped.
Belə ki, bir dəfə mən, həqiqətən, çıxmaq funksiyası, indi getmək olacaq
geri köhnə i üçün.
Ki, i yalnız scoped olunur, çünki bir funksiyası var.
Və biz daxilində və funksiyaları vardır.
Amma biz kənarda dairəsini yoxdur JavaScript funksiyaları.
Ki, hissi edirmi?
Bəli.
Sual.
>> Auditoriya: [işitilemez] Same?
>> JOSEPH ONG: Belə ki, Bəli.
PHP, bu şey eyni növü var.
Həqiqətən yüngül bir incelik var.
Amma mənə xahiş edə bilər nəzərdən sonra.
Siz, həqiqətən bilmək lazım deyil viktorina üçün incelik.
Bütün niyyətli və məqsədləri, kimi üçün dəyişənlər, qlobal və PHP, əgər
onlar bir funksiyası eyni istəyirik JavaScript şey.
Bəli.
>> Auditoriya: Niyə bu icazə verilir JavaScript və başqa heç?
>> JOSEPH ONG: Belə ki, niyə icazə verilir JavaScript və C?
Bu, yalnız ilə gəldi edir kim JavaScript Bu OK qərara aldı ki,
JavaScript.
Belə ki, yalnız bir proqramlaşdırma dili kimi biz demək kimi konvensiya.
Bəli.
>> Auditoriya: Belə ki, niyə etdi Bu 6-dan 5-getmək?
>> JOSEPH ONG: Belə ki, 5-6-dan getdi Mən foo daxil i keçdi zaman, çünki
foo daxilində i indi, foo scoped edir həcmi funksiyaları mövcuddur, çünki
JavaScript.
Amma bir dəfə mən, burada çıxmaq çünki funksiyası xaric edilib, Mən yalnız
içərisində idi ki, müntəzəm i istifadə nəzarət axını qalan.
Mənada?
Mən hərəkət edə bilər?
Bütün hüquqlar.
Cool.
>> Bu qəbul obyektlərin arayış qəbul edilir.
Siz keçmək necə recommend Siz ola bilər C bir array
həqiqətən array dəyişdirmək?
Bu JavaScript eyni şey.
Mən bu halda, bir obyekt keçmək varsa, Bu catify funksiyası daxil Milo keçdi.
Milo həyata başlayır.
Onun adı Milo Banana edir.
Mən bir funksiyası daxil obyekt keçmək bir obyekt, assosiativ çünki
JavaScript array.
>> Mən əməliyyat zaman ki, funksiyası, bu iradə
əslində obyekt dəyişdirmək.
Belə ki, bu yalnız obyektlərin olacaq JavaScript, yalnız bu baş kimi
C. Belə ki, Milo adı daxilində Diziler üçün həqiqətən, indi pişik olacaq.
Ki, hissi edirmi?
Belə ki, bu yalnız obyektlər üçün çalışır.
Objects arayış qəbul edilir.
Bəli.
>> Auditoriya: Belə ki, deyərək edirik ki, dəyişən i fərqli.
>> JOSEPH ONG: Bəli.
Hansı dəyişən i yalnız idi bir sıra, sağ?
Bir keçmək zaman C kimi bir tamsayı, bir surəti edir.
Və bir sıra keçmək zaman, bu, faktiki faktiki array dəyişir
C. Eyni şey olur Bu halda JavaScript.
Bütün hüquqlar.
Və növbəti, Milo kədərli, çünki o, indi bir pişik var.
Sonra həqiqətən Milo idi baytar bəzi səfər.
>> Belə ki, necə biz JavaScript istifadə edirsiniz bir web page?
Biz bunu edə bilərsiniz.
Bu zolaq tags ilə HTML kodu.
Mən orada strip tags var.
Və sonra mən bəzi JavaScript qoymaq Bu script tags ərzində kodu.
Və sonra bu həyata.
Mən bu kimi bunu zaman, bu inline JavaScript çağırıb.
Bu messy növü var çünki JavaScript HTML əslində.
>> Çox gözəl Bunu etmək üçün yaxşı yol, bir JavaScript yazmaq üçün
xarici fayl və sonra təmin bir mənbə ilə script tag.
Və bu ki, JavaScript fayl gedəcək və JavaScript kodu oxumaq
əvəzinə fayl.
Və bu yol, siz bir çox yoxdur Sizin başında JavaScript
Edir HTML fayl, həqiqətən messy.
Siz yalnız başqa bir yerdə qoydu.
Və sonra orada onu oxuyacaq.
Ki, hissi verir mi?
>> Yerləşdirmə məsələləri.
Bu xüsusi halda, script bədən əvvəl.
Mən icra zaman Belə ki, var hələ bədəndə heç bir şey.
Bəlkə bu bir az daha edəcək Mən bu növbəti hissəsi olanda hiss.
Bu halda, script div sonra gəlir.
Belə ki, div həqiqətən görünür ilk səhifədə.
Burada bu kiçik qırmızı dairə, Siz mətn görünür görürük.
Və sonra alert göstərir.
>> Birinci halda, çünki script div əvvəl idi,
alert ilk göstərir.
Və sonra div sonra göstərir Siz qutusu azad.
Belə ki, icra məsələləri.
Beləliklə, biz nəzərə bu saxlamaq lazımdır.
Bu əhəmiyyətli olacaq bir az.
OK.
Belə ki, yaxşı, necə qədər gözləyin yoxdur bütün səhifə sizin əvvəl yükləndi
bəzi kodu icra?
Biz bu bir az nəzərə almaq lazımdır bit sonra da.
Amma yalnız bu yerləşdirilməsi saxlamaq zaman biz nəzərə məsələlər
bir slayt gəlir.
>> Beləliklə, biz indi DOM almaq.
Və DOM nədir?
HTML kodu baxmaq Belə ki, bu, yalnız var ekranda mətn bir dəstə.
Belə ki, necə JavaScript ki, bilmir bu bir HTML element nədir?
Beləliklə, biz bir yaddaş var bu nümayəndəliyi
Biz ki, strukturu.
Və biz yaddaş bu zaman JavaScript nümayəndəliyi, biz zəng
DOM ki.
Və bu insanlar qərar ki, yalnız bir yol var biz bu təmsil etməlidir ki,
Kimi HTML strukturu.
>> Bu DOM kimi nə görünür?
Yaxşı, yaddaş təqdimatında, biz bu mətn almaq.
Və biz yaddaş çevirmək nümayəndəliyi.
Belə ki, bu HTML edir.
Beləliklə, biz ilk tapa ki, hər DOM ağac sənədi var.
Bu ağac kimi görünür.
Və sənəd HTML var tag, həqiqətən hər şey
İndi bu daxilində.
HTML tag iki övladı var.
Bu baş malikdir.
Bu baş, siz abzas baxsaq orada bu strukturlaşdırılmış necə at
yaxın tags arasında, baş, bir övladı var.
Uşaq adı.
Məhz.
>> İndi biz bir bədən uşaq var.
Və sonra bədən var uşaq ailə çağırıb.
Və ailə üç övladı var -
, qədim orta və gənc.
Belə bir diagram cəlb necə olmalıdır Bu kimi biz necə xahiş zaman
ki, vermək bir diaqram cəlb Siz sol, HTML.
DOM ağac istehsal etmək necə.
Və bu şeyi içərisində, yalnız var I təmsil etdiyiniz bəzi mətn,
kimi kiçik qutu.
>> Bu DOM ağac strukturu edirmi mənada və DOM nədir?
Belə ki, p üçün nə deməkdir?
Burada, p orada ki, tag ilə təmsil
HTML paraqraf tag.
Belə ki, bu qədər baxa bilərsiniz.
Amma bu yalnız bəzi deməkdir bir mətn üçün yer.
Və bəzi default CSS üslubu var, bu bir paraqraf tag çünki.
Amma həqiqətən narahat yoxdur hissəsi çox.
Yalnız bir tutucu bilirik bir mətn üçün.
Bəli.
Sual?
Bəli.
>> Auditoriya: Siz yalnız CSS qeyd.
Bu hash ailə və hash bütün stuff əsasən
CSS kimlikleri təmsil?
>> JOSEPH ONG: Bəli, dəqiq.
Mən nə bu hashes almaq lazımdır ikinci deməkdir.
Angela CSS getdi zaman, o, CSS seçiciler haqqında danışdı.
Bu CSS seçiciler ki o söhbət.
Bəli, Rob?
>> Rob Bowden: Mən də şərh edərdiniz adı tag daxilində ki, DOM
həmçinin mətn node edir.
>> JOSEPH ONG: Right.
, Adı tag daxilində belə Mən bəzi mətn DOM.
Belə ki, həqiqətən, bu adı kimi olmalıdır az qutusu həmçinin onun off gəlir.
Lakin bu, həqiqətən Fərq etməz Bu halda çox.
Biz, həqiqətən, mətn qovşaqlarının haqqında qayğı yoxdur, biz çox, onlara zəng kimi.
OK, biz edirik.
Görünür, biz edirik.
Mən düzeltmek ki, zaman Mən bir daha bərpa edin.
Ki, hissi edirmi?
>> Belə ki, necə biz DOM ilə çalışır?
Siz DOM ilə məşğul olduqda JavaScript, iki addımlar var.
Siz DOM element seçin.
Və sonra siz şeyi.
Belə ki, bu halda, abstractly, mən var orta element seçdi.
Və sonra stuff bunu nümunəsidir bu mətn dəyişdirilməsi olardı.
Bob olmaq üçün istifadə.
İndi nə mən buna etdim dəyişmişdir Bu halda Milo Bob.
>> Belə ki, necə biz, həqiqətən, bu etməliyəm?
Biz seçilməsi necə etməliyəm?
Və necə üçün stuff bunu etməliyəm şey bir dəfə biz qəbul etdik?
Yaxşı, yol sizə uşaqlar onu öyrəndim Bu sinif şey biz istifadə edir
jQuery çağırıb.
Belə ki, jQuery nədir?
jQuery edir ki, bir kitabxana Yazmaq üçün asan JavaScript.
Belə ki, kimsə vaxt aldı və jQuery yazdı.
>> jQuery həqiqətən yazılmışdır JavaScript.
Və sonra onlar indi bu idi, çünki funksiyaları bütün dəstə var ki,
ki, edə istifadə edə bilərsiniz bizim həqiqətən asan yaşayır.
Belə ki, bəzi nə yoxdur şeylər?
Bu asan elementləri seçilməsi edir.
Bu HTML dəyişən edir, asan dərsləri əlavə.
Bu Ajax asan edir.
Biz ikinci olduğu almaq lazımdır.
>> Və C kitabxanalarına analoji var.
Belə ki, string.h daxil Siz strlen almaq.
Siz bu şeyi bütün strcpy almaq.
Siz jQuery daxil zaman, siz gözəl almaq dəyişiklik elementləri seçin yolları
şeylər et Cetera.
Siz əlavə funksionallığı almaq JavaScript sizə vermir.
Belə ki, jQuery JavaScript deyil.
jQuery yazılı ki, bir kitabxana JavaScript edir ki, JavaScript
yazmaq üçün asan.
>> Belə ki, jQuery bir proqramlaşdırma deyil dil.
Amma JavaScript edir.
etmək.
Sure sağ terminologiya almaq.
Hər hansı bir sualınız?
Bəli.
Ki, bir sual?
Bütün hüquqlar.
Belə ki, necə jQuery istifadə edirsiniz?
Yaxşı, siz bəzi yazılı etdiyiniz zaman Bir daxil JavaScript kodu və
jQuery fayl üst kimi script fayl, siz dollar işarəsi istifadə
indi jQuery əldə etmək.
Bu fərqli PHP dollar işarəsi.
>> Bu eyni simvolu siz var klavyenizdeki yazın.
Lakin onlar çox fərqli şeylər deməkdir.
PHP Dollar Bürc Bu o deməkdir Mən bir dəyişən elan necə.
Siz daxil olduğunuz zaman JavaScript ildə jQuery, bu jQuery üçün dayanır.
Belə ki, nəzərə ki, saxlamaq.
Belə ki, necə biz DOM elementləri seçin bilər?
Yaxşı, zaman bu çirkin JavaScript etmək yolla, siz daxil olmaq
qlobal dəyişən sənəd.
Və sonra ID ailə element almaq.
Bu, həqiqətən, uzun və wordy edir və çox gözəl.
>> Yoxsa bütün elementləri əldə edə bilərsiniz ki, bir p tag var.
Bu JavaScript çox işləyir.
Amma biz, həqiqətən göstərdi, heç vaxt Siz syntax çox.
Biz göstərdi Nə jQuery idi.
Up there Belə ki, bütün selector ki, yalnız olur JavaScript ifadə edildi
Bu çox gözəl dollarına qatılaşdırılmış hashtag ailə imzalamaq.
Və $ p, bu kimi yalnız yerləşir.
Bütün p tags seçmək istəyirsinizsə bir ailə daxilində, biz boşluq qoymaq
arasında.
İndi, biz bütün p almaq bir ailə daxilində tags.
>> Və tanış baxmaq?
Yaxşı, Angela danışıb CSS seçiciler.
Mənə bir ikinci verin.
Və belə bir element seçin üçün, yalnız sizin kimi eyni şey istifadə
CSS selector ilə olardı.
Siz qarşısında bir hash qoymaq əgər bu, o ID seçir.
A dot siniflər seçir.
Siz yalnız olmadan şey varsa hashes və ya nöqtələr, bu tags seçir.
Suallar.
Bəli?
>> Auditoriya: biz dot istifadə edərkən bizim HTML, jQuery ki, deyil?
>> JOSEPH ONG: Bizim HTML Dot bir JavaScript şeydir.
Bu jQuery şey deyil.
Uşaqlar ilə öyrəndik yol jQuery. html istifadə etməkdir.
Və sonra onu qəbul nə HTML olacaq.
Mən yalnız almaq lazımdır həqiqətən ikinci.
Belə ki, necə biz element üçün stuff etməliyəm bir dəfə biz bunu seçdiyiniz?
Belə ki, bir misal var bir element seçilməsi.
Belə ki, indi biz bu məhsulları etmək istəyirəm.
>> Belə ki, bu halda, mənə geri gedək Əvvəlki slayd.
Bu əvvəl Bob idi.
Mən dəyişmək istəyirəm Milo HTML daxilində.
Mən HTML funksiyası zəng element.
Bu HTML funksiyası element üsulu.
Və sonra mən nə vermək Mən HTML olmaq istəyirəm.
Və yalnız daxilində nə əvəz Mən bunu vermək nə ilə tag.
Bəli.
Sual?
>> Auditoriya: The hashtag istifadə olunur yalnız jQuery üçün.
[Işitilemez]
biz istifadə bilməz.
>> JOSEPH ONG: Bəli, dəqiq.
Amma çox narahat olmayın haqqında təmiz JavaScript.
Mən yalnız uşaqlar diqqət istəyirəm necə , jQuery ilə bunu, çünki
ki, mühüm olacaq viktorina hissəsi.
Sağ.
Məhz.
Belə ki, hashtag görmək, belə ki, ilə element seçin uyğundur
ki hashtag ID orta.
Hashtag ID deməkdir.
Bu element ortasında bir ID malikdir.
Belə ki, biz seçin element var.
>> Auditoriya: [işitilemez].
dollar işarəsi hashtag [Işitilemez]?
>> JOSEPH ONG: Belə ki, heç.
Sual istifadə edə bilərsiniz. Dəyər.
Və. Dəyəri yalnız elementləri üzərində işləyir giriş var.
JQuery, bu olardı . Val deyil. Dəyər.
Mən kiçik bir misal almaq lazımdır ki, birləşməsi bütün bu nümayiş etdirir
ikinci.
Amma bu bir az parçasını xidmət edirəm bu günə qədər insanlara mənada edir.
HTML dəyişdirmək istəyirsiniz, HTML metodu zəng.
Bəli.
>> Auditoriya: izah edə bilər yenə üsul?
>> JOSEPH ONG: Belə bir üsul yalnız bir bu bir məxsusdur funksiyası,
halda, bu DOM elementlərindən biridir, Siz Mən bax, çünki
ilk element seçdi.
Əslində, mənə siçan istifadə edək.
Mən ilk element seçdi.
Və sonra mən bu HTML adlı bu idi ki, fəaliyyət göstərir.
Bu funksiya məxsusdur, çünki bu şey, biz bir üsul zəng.
Ki, bunun üçün yalnız bir xülya adı var.
Daha demək.
Beləliklə, biz seçilmiş, xatırlayıram İndi element.
Və biz daxilində qoymaq etdik Bu element dəyişən.
Düzəltmək?
>> Belə ki, biz HTML dəyişdirmək istədiyiniz zaman içərisində, bu, əvvəl Bob idi, çünki
Milo mətn dəyişdirmək istəyirik.
Beləliklə, biz HTML zəng.
Və biz bunu demək nə daxili HTML ki, element, indi olmalıdır.
Və belə ki, Milo üçün dəyişir Mən Milo verdi, çünki.
>> Auditoriya: Belə ki, onlar birlikdə çalışırıq.
[Işitilemez]
>> JOSEPH ONG: Bəli, Bəli.
Onlar birlikdə çalışırıq.
Belə ki, onlardan biri seçir Bu element ilk.
Və ikinci bir yoxdur ona bir şey.
Bəli.
>> Auditoriya: [işitilemez].
Bu üsul HTML fərqli olduqda Siz faktiki bərabər metodu var.
>> JOSEPH ONG: Bəli.
Fərqli bir metodudur.
Və biz yalnız ikinci ki, əhatə edə bilər biz nümunə almaq zaman.
Mən əmin biz sürətləndirmək qeyd etmək istəyirəm biz vaxt həyata çalışan edirik, çünki.
Amma biz indi zamanla yol run etdik.
OK.
Cool.
Bir sinif əlavə etmək istədiyiniz Belə ki, əgər var də əlavə sinif üsulu.
Bu nə yalnız bir nümunəsidir jQuery ilə edə bilərsiniz.
Bu yalnız bir sinif edir.
>> Siz aradan qaldırılması istəyirsinizsə, Siz çıxarırıq zəng edə bilərsiniz.
Ki, edə bilərsiniz yalnız bir şey var.
Siz edə bilərsiniz şeyi daha çox nümunələri.
Mən yalnız onu qoya bilər bu kimi top?
Gənc aradan qaldırılması.
Mən yalnız o JavaScript icra əgər Mənim fayl üst ki, işləyəcək?
Sağ.
Orta hələ mövcud deyil, çünki.
Belə ki, bu işə niyyətində deyil.
İcra sifariş.
İlk üst gedir.
Nə?
>> Auditoriya: kiçik hələ mövcud deyil?
>> JOSEPH ONG: Bəli.
Gənc hələ mövcud deyil.
Məhz.
>> Auditoriya: Siz orta bildirib.
>> JOSEPH ONG: Sorry.
Gənc hələ mövcud deyil.
Və digər şey deyil var jQuery daxil
script src xahiş fayl.
Belə ki, iş gedən deyil.
Əslində, mən bunu etmədi olan növbəti slide,
ya düzeltmek üçün idi.
Amma biz bu nə yol JavaScript edir hadisə idarə olunur.
Beləliklə biz nə biz bir hadisə istifadə edir bu baş etmək üçün Handler.
Və mən sənəd seçin ilk təyin.
Mən sənəd olduqda, OK, demək hazır, mənə bir funksiyası run bildirin.
Belə ki, bütün sintaksis vasitələri var.
>> Mən sənəd seçdi.
İndi zaman sənəddir hazır, funksiyanı çalıştırmak.
Və burada sənəd zaman bütün HTML var deməkdir, hazır
dolu, sonra mən funksiyanı çalıştırmak ki, element rədd et.
Və indi, mən bu funksiyanı çalıştırdığınızda Mən hazır keçdi ki, mən
zəmanət ki, bütün HTML səhifə birinci mövcud gedir.
Bəli.
Sual?
>> Auditoriya: hadisə söz nədir funksiyası ərzində?
>> JOSEPH ONG: Belə ki hadisə söz funksiyası yalnız bir parametr olduğunu
funksiya keçdi olur hər hansı bir hadisə üçün.
Bu yalnız bir şey var pulsuz almaq.
Siz əsas işleyicileri istifadə edərkən pset8 ki, hadisə üçün, sizə deyə bilər
Məsələn, hansı düyməsini bərk.
Bu halda, bir hazır hadisə üçün, bu, həqiqətən super faydalı deyil.
Amma əsas aşağı hadisə üçün, bu daha çox faydalı, bilmək almaq çünki
Siz düyməsini daxil bərk əsas ki, hadisə obyektin kodu.
Düzəltmək?
Ki, hissi edirmi?
OK.
Bəli.
Sual?
>> Auditoriya: Belə ki, qoya bilər aşağı script tag aşağı?
>> JOSEPH ONG: Belə ki, Bəli.
Siz script qoymaq bilər aşağı aşağı tag.
Amma o, yalnız həqiqətən messy olur.
Və biz bütün mərkəzləşdirmək istəyirəm bir yerdə bizim kodu.
Və bu, bizə bunu imkan verir.
Unutmayın əvvəl mən bir gözəl var dedi elementləri təmin etmək üçün yol
Siz kodu yerinə əvvəl page?
Və bu yalnız bir gözəl yoludur ki, yerinə yetirmək olardı.
>> Auditoriya: [işitilemez].
>> JOSEPH ONG: Bəli.
Siz hələ sağ, olardı?
Unutmayın, çünki daxil Səhifənin üst fayl.
Belə ki, ilk əvvəl həyata olacaq bu səhifənin altına almaq.
OK.
Beləliklə, siz də müxtəlif əlavə edə bilərsiniz hadisə handler növü.
Bu yalnız klik emal edir.
Mən sonra, gənc tıkladığınızda bu bir uyarı ilə açılır.
Bu yalnız bir fərqli Tədbirin növü.
Hazır hadisə fərqli olaraq, indi alınca klik hadisə istifadə
bir element klik.
>> Və bu halda, klik xatırlayıram handler gənc əlavə olunur.
Belə ki, yalnız olur Mən gənc basın.
Və digər bir, hazır hadisə sənədə əlavə edilib.
Belə ki, bu sənəd gözləyir hazır olmalıdır.
Mənada?
Mən hərəkət edə bilər.
Bəli.
Sual?
>> Auditoriya: [işitilemez].
Bu halda siz [işitilemez] istifadə edin.
>> JOSEPH ONG: Oh, Bəli, çünki bu halda, mən gənc üçün gözləmək lazımdır
ilk ekranda element Mən bir klik handler əlavə edə bilərsiniz əvvəl
ki, Mən daxili qoymaq nə bir sənəd hazır.
OK.
Və növbəti, bu böyük bir nümunəsidir hər şeyi birləşdirmək necə.
Bu yalnız bir forma qiymətləndirmə nümunəsidir Siz mühazirə gördüm.
Belə ki, kimi addım addım Siz bu yolu getmək.
Və tamamilə OK olacaq.
Just üstdən-aşağı oxumaq.
>> Mən altındakı bir forma var.
Sənəd hazır olduqda, mən bir əlavə Belə ki, forma handler təqdim
Mən şəklində təqdim zaman, mən dəyərlər almaq həmin vəsaitlərin hər daxilində.
Bu boş var əgər mən kontrol.
Bu boş, mən yalan qayıtmaq, çünki Mən formada təqdim etmək istəmirəm,
formu düzgün deyil, çünki.
Parol boş və ya az varsa səkkiz simvol, mən təqdim etməyin
forması, həmçinin yanlış, çünki.
Və qaytarılması yalan yalnız qarşısını alır təqdim və forma
yeni bir səhifə olacaq.
>> Və inşallah, bu mənada edir.
Mən sizə uşaqlar vasitəsilə gəzmək lazım olduğunu düşünürəm öz addım bu kodu addım.
Və nə seçin anlamaq dəfə elementləri və ona stuff etmək
əslində bu edəcək, edilir sizə mənada bir çox.
Bəli?
>> Auditoriya: nə yoxdur name = istifadəçi adı deməkdir?
>> JOSEPH ONG: Belə ki, adı = istifadəçi adı və name = parol yalnız baxmaq deməkdir
nə atribut Siz seçilməsi edirik.
Və sonra uyğun var.
Belə ki, qeydiyyat getmək.
Və sonra biz bütün giriş baxmaq və qeydiyyat.
Və sonra biz bir olduğu ad seçin atributu istifadəçi adı bərabərdir.
Belə ki, ilk selector yalnız seçir istifadəçi adı daxil.
Və ikinci selector yalnız seçir o var bir, çünki parol
Onların adı atributları kimi müəyyən nə onlar ehtimal edirik.
Sual?
>> Auditoriya: təqdim On, necə də alt hissəsi üst hissəsi həll?
>> JOSEPH ONG: Belə ki, çünki Tədbirdə handler.
Beləliklə, biz bir submit hadisə gözləyir ki, formada atəşə olur.
Və təqdim ki, bütün var.
Niyə orada təqdim zəng edirsiniz?
Bu formu təqdim edildikdə, deyir, Mən təqdim tədbir almaq.
Mənə yalnız almaq imkan və Sonra əvəzinə bu kodu run.
Bəli?
>> Auditoriya: Niyə var funksiyası hadisə var?
Niyə yalnız [işitilemez] siz bilməz?
>> JOSEPH ONG: JavaScript, siz Çünki funksiyaları elan var.
Bu işləri necə var JavaScript.
Siz olacaq demək lazımdır bir funksiyanı çalıştırmak üçün.
Belə ki, siz olduğunuzu onu izah edirik Burada bir funksiyası gözləyirik əvəzinə
yalnız qıvrım aşırma.
>> Auditoriya: Və funksiyası aşağıdakı nə edir?
>> JOSEPH ONG: Bəli.
Funksiyası içərisində nə edir qıvrım aşırma sonra
ki, funksiyası söz.
Bəli?
>> Auditoriya: [işitilemez].
>> JOSEPH ONG: üçün təqdim?
>> Auditoriya: Xeyr, funksiyası üçün Tədbirdə olmadan.
>> JOSEPH ONG: Bəli.
Tədbirdə olmadan Belə ki, ki, ola bilər.
Siz hadisə ehtiyac yoxdur, əgər, sonra yalnız onu buraxmaq bilər.
Amma əgər, sonra yalnız orada qoyun.
Bəli.
Quick sual?
>> Auditoriya: [işitilemez].
>> JOSEPH ONG: Bəli.
Siz nə etmək lazımdır, çünki document.ready yalnız gözləyirik deyir
səhifədə HTML ilk yüklemek üçün.
Və adətən, sizin elementləri istəyirəm Əgər hər hansı bir kodu run əvvəl yer.
Bütün hüquqlar.
Biz Ajax almaq lazımdır.
Biz çox vaxt yoxdur.
Belə ki, lehte ve eksiklikleri.
JavaScript asan cəhd edir jQuery ilə yazın.
Amma jQuery cür yavaş.
>> PHP C-dən gec kimi var Bu şərh, çünki.
Və jQuery bir az yavaş JavaScript, bu bir çox çünki
başlıq altında şeyi.
Siz jQuery istifadə edirsinizsə və belə ki, bu yalnız bir az yavaş
JavaScript, hətta baxmayaraq ki, siz gözəl zəriflik verir.
Və nəhayət, Ajax.
Bu günə qədər Ajax ilə, Siz Ajax görmədim hələ pset7 baxımından, çünki
nə zaman, siz təqdim quote bir formasıdır.
Bu yeni bir səhifə yükləyir.
Belə ki, bu böyük ağ flash almaq səhifə edərkən
ikinci səhifə yük, doğru?
>> Bu, həqiqətən gözəl olardı siz əgər Bu flash yox idi.
Facebook kimi, əgər yalnız fırladın alt, yeni məzmun əlavə
bütün səhifə sərinləşdirici olmadan.
Belə ki, bu kimi bir şey olardı.
Bu JavaScript kodu sol tərəfində.
Siz daxil daxilində nə almaq.
Siz Yahoo! fond info almaq
Və sonra böyük bir simli etmək OK, bu, mən istəyirəm mesaj deyir
ekranda göstərmək.
Və sonra daxili ki, mesaj qoymaq olur ki, bəzi HTML element
ekranda göstərilir.
>> Belə ki, burada baş verən bütün var.
Belə ki, əsasən, bu, bütün, çünki JavaScript və siz çalıştırmak üçün lazım deyil
artıq PHP, bu əmin edəcək səhifə yenileyin deyil ki.
Belə ki, bu yalnız bir mücərrəd fikir Mən indi burada deyirəm ki,.
Mücərrəd fikir deyil ki, əgər JavaScript bütün, siz yoxdur
səhifə Yenile.
Amma necə həqiqətən bu etməliyəm?
>> Yaxşı, həqiqətən, haqqında danışmaq edək Bu ilk bir problem.
A problem, JavaScript edir icra sinxron edir.
Belə ki, bir gözləmək lazımdır siz əvvəl bitirmək line
növbəti line icra.
Və nə Yahoo! üzərində gidiyorum əgər, və onların serverlər həqiqətən yavaş və
bu onlara üç saniyə çəkir ki, fond info mənə geri verir?
Əgər mən ki, qiymət xətt hit zaman bu ilə kimi icra, sinxron edir
default, nə yalnız nə olacaq edir brauzerinizin üçün tövlə gedir
üç saniyə.
Və nə etmək fikrində deyilik bir şey bu data alır edir.
Bu dondurulmuş olacaq.
>> Və pis.
Siz istifadəçi istəmirəm dondurulmuş web page var.
Düzəltmək?
Ki, yalnız pis var.
Hər kəs razılaşır?
Əgər Facebook və gəzən edirsinizsə dondurur və, siz bir şey edə bilməz
həqiqətən incidir almaq.
Belə ki, həll biz bir şey etmək deyil asynchronous əvəzinə.
Belə ki, bütün bu asinxron şey deyir , mən bu soruşacağam edir
Bəzi məlumatlara üçün URL.
Və sonra mən davam gedirəm.
Mən yalnız icra saxlamaq üçün gedirəm nə sonra idi ki, kodu.
>> Və sonra data hazır olduqda sonra mən onu emal edəcək.
Ki, deyərək bütün var.
>> Auditoriya: Ajax yalnız edir kodu asynchronous?
>> JOSEPH ONG: Bu asinxron var alma data yol.
Belə ki, Ajax haqqında ilk şey mənə məlumat almaq imkan verir
xarici web.
Və ikinci şey əmin edir Mən isə mənim səhifə ötrü deyil ki,
ki, məlumat alma.
Ki, asinxron hissəsi.
Başqa yerdə off gedir, çünki deyirəm, çünki mən müddət davam saxlamaq
Bu ki, məlumat alma ki, Bu asinxron edir.
Mən icra saxlamaq.
>> Belə ki, asynchronous saxlamaq Nəzərə fikir.
Mən sizə göstərmək lazımdır nə fərqdir.
Sinxron versiyası sol tərəfində.
Asinxron versiyası sağ tərəfində.
Görmək üçün nömrələri baxmaq addımlar uyğun nə
hər xəttində həyata keçirir.
Orada, uyarı ilk göstərir.
Çünki Yahoo! fond info əldə
üç saniyə çəkir, bu stalls üç saniyə üçün.
Və sonra bu qiymət siqnallar bu üç saniyə sonra.
>> Belə ki, indi ki, alert göstərir o vaxt up -
daxil üç saniyə
Və sonra sonra uyarıları.
Belə ki, yalnız addım-addım gedir.
Bu nə uşaqlar kimi , doğru qəbul edərdiniz?
Asinxron icrası ilə, Siz ilk xəbərdarlıq.
Sonra bu URL off gedin.
Və mən gedirəm, demək yalnız məlumat üçün xahiş edirik.
Və sonra mən gedirəm sonra emal.
Belə ki, dərhal icra Mən etmək sonra növbəti line
asynchronous tələbi.
>> Belə ki, bir 0.001 saniyə, siz alert hi görürük.
Ki, funksiyası, alert bye Execute.
Mən söz vermişdim ki, mən , sonra məlumatları emal nə
ki, data geri gəldiyi zaman nə olur üç saniyə sonra, sonra run ki,
Mən artıq var ki, funksiyası.
Bəli?
>> Auditoriya: belirttiğiniz və ya bilərdi Ajax nə deməkdir aydınlaşdırmaq?
>> JOSEPH ONG: Belə Ajax bir yoldur ki, əgər mən mən bir web Ben və mən məlumat lazımdır
sonra səhifəni yeniləyin istəmirəm Mən Ajax adlanan bu texnologiya istifadə.
Ki, mahiyyətcə yalnız deməkdir, almaq getmək Başqa bir web data.
Və yalnız bir şəkildə bunu Mənim web page tövlə deyil.
>> Auditoriya: Belə ki, bir xas deyil JavaScript və ya jQuery hissəsidir?
>> JOSEPH ONG: Belə ki, kimsə etmək üçün bir yol yazdı Bu uzun zaman əvvəl JavaScript.
Bir nöqtədə, o yox idi.
Və kimsə bu texnika icad insanlar bu məlumatları tələb etmək imkan
bu moda.
Onlar bəzi məhsulları yazdı sizin üçün bunu.
Və jQuery yalnız bu verir bunu çox gözəl yol
bu $ ilə. funksiyası almaq.
suallar?
Mən suallara cavab Ajax sonra çox.
Mən burada olacaq.
>> Belə ki, bu bizə olmadan məlumat almaq imkan səhifə sərinləşdirici.
Və bu bizə bunu bildirin bir asinxron yolu
səhifə dondurmaq deyil.
Çox uzun, oxumaq deyil ki, əgər ki, izahat sizin üçün çox uzun idi.
Belə ki, nəhayət, cross-site scripting hücumlarını.
Biz ZAMYLA ilə bu gördüm.
Mənim bazası kimsə bu adı varsa, Bu script tag, və mən olan
mənim səhifə bir kodu var ki, izləri insanların bir sıra adları, və ya mən həyata
edər ki, bəzi JavaScript kodu Səhifənin bu adı,
nə HTML istehsal olur?
Yaxşı, mən HTML tag çap.
Mən bütün bu yazıları çap.
>> Mən çap alıram olduğu hissəsi olmaq mənim dostları ilə.
Mən Lauren çap.
Bu Milo çap.
Və sonra bazasında my name script post edir
unflattering Facebook status.
Mən səhifə bu daxil, çünki JavaScript kimi görünür, çünki zaman
Bu səhifə istifadəçi göndərilən olur, JavaScript kimi icra edilir.
Və bu, biz bir zəng nə cross-site scripting hücum.
Biri zərərli məlumat verir uyğun bilər ki, verilənlər bazası
bəzi əlavə string və ya bəzi JavaScript string.
>> Və bu həyata çap olur zaman Bu moda səhifə, sonra nə
olur pis kodu edam olur ki, Mən niyyətində deyil ki,
bu həyata almaq üçün.
Və bütün bir cross-site var scripting hücum edir.
Və siz ətrafında almaq yolu Zamyla dedi kimi bu.
Siz yalnız şeyi kesmek HTML xüsusi chars.
Bu HTML xüsusi chars bir PHP edir Bu cür qarşısını almaq olacaq ki, funksiyası
Sizə baş verən şey Bir zərərli varsa
sizin bazasında string.
Bu deyil ki, yalnız, bu escape HTML şərh almaq.
Bu kiçik Mötərizədə əvəz biz şəxslərin zəng nə ilə.
Və biz də mühazirə bu artıq getdi.
Mən sizə uşaqlar olmalıdır düşünürəm ki, bir yaxşı grasp.
Suallar?
Bəli.
>> Auditoriya: Belə ki, necə ki Bu [işitilemez]?
>> JOSEPH ONG: yenidən ki, De.
>> Auditoriya: necə monitor ki -
>> JOSEPH ONG: Right.
Belə ki, deyir ki, bir şey var zaman Mən adı, növü qeydiyyatdan keçin.
Mən yalnız sahəsində yazın, mənim adı stript post unflattering Facebook
status yaxın script tag.
Və yalnız daxil olur verilənlər bazası, mən deyə bilmərəm, çünki kimsə
Dünyada bir ad yoxdur sol bu arrow və ya ilə
bu söz script.
Ki, həqiqətən mənada etmir.
Mən yalnız əmin etmək lazımdır I Mən bunu çap əvvəl stuff sanitize
Səhifənin üçün.
>> Auditoriya: Belə HTML xüsusi kartlar Bu script tags qarşısını alır?
>> JOSEPH ONG: Bəli.
Belə ki, script tags qarşısını almaq deyil.
Bu, yalnız əmin edir script tags almaq deyil
HTML və ya şərh -
Bəli.
Bu, sadəcə olaraq nə qədər gəlir əslində.
Bütün hüquqlar.
Belə ki, viktorina baxış idi.
Cool.
>> [Alqış]