DAVID MALAN: Bütün sağ, biz geri. maraqlı So nəticə, son bölmə web proqramlaşdırma, mən biz ümumi bir termin kimi istifadə edin fikir bir neçə qalan mövzu ələ. sonunda So gün, biz, həqiqətən, bunu edəcəyik praktiki web proqramlaşdırma bir az JavaScript adlı bir dil ilə. Mən bir nəzər lazımdır düşünürəm images ilə bağlı bir şey və bir şey aşkar gizli bir resim gizli, və Google nəzər Maps API, ərizə proqramlaşdırma interface, bir şey kimi proqram növü nümayəndəsi ki getdikcə və Bu gün sərbəst mövcuddur. Amma niyə biz bir nəzər deyil bu dünyada bir tərkib hissəsi at biz növ oldum ki, verilən alaraq mövcud bir müddət, bir verilənlər bazası. Ötən gün üçün və Biz güman etdik yarım biz bir verilənlər bazası girmə imkanı vardır, lakin Bir verilənlər bazası nə problem həll edir? bu, bizim üçün nə edir? Bu nədir? Auditoriya: [işitilemez] DAVID MALAN: bütün məlumat alır, informasiya OK, və nə cür Siz onu qoymaq bilər? Auditoriya: [işitilemez] DAVID MALAN: hər hansı bir məlumat Siz onu qoymaq, siz geri almaq lazımdır. Bu doğrudur. Və tipik web-based site və ya web proqram informasiya nə cür, Xüsusilə, siz qoymaq bilər? Auditoriya: [işitilemez] DAVID MALAN: indi. Belə bir istifadəçi var? Auditoriya: [işitilemez] DAVID MALAN: OK, qeydə saytın istifadəçi. Və nə deməkdir mağaza istifadəçilərin məlumat? Nə istifadəçi bəstələyir? Bir istifadəçi nə var? Auditoriya: [işitilemez] DAVID MALAN: Bəli, şəxsi data, və mən istəyirəm. daha dəqiq olsun. Belə bir istifadəçi adətən bir adı var, bir istifadəçi başqa nə ola bilər? Auditoriya: [işitilemez] DAVID MALAN: An addr-- OK, belə ki, ilk adı, soyadı. Bu yaxşıdır. Əslində, bu düzeltmek bildirin Ki, bu olacaq, çünki imkanı açmaq müzakirə, hələ daha. Ad, soyadı, gender. bir növ bir ID. Başqa? Mən də əvvəl başqa bir şey eşitdim. Bir e-poçt, poçt ünvanı. Belə ki, orada fasilə və indi nəzərdən keçirək biz bazasında saxlanılması edirik nə, bəlkə ildən, niyə ancaq və Aşkar bir istifadəçi qeydiyyatdan dəfə ki, Bir müddət onları xatırlamaq istəyirəm. Siz onu istəmirəm Yalnız RAM saxlanılır və s forgotten-- etmək necə diqqət edək. Bu ki, çıxır verilənlər bazası dünya, bu gün ən azı iki növləri var. Something bir SQL verilənlər bazası deyilən Yapılandırılmış Query Language, və ya, cutely adlı SQL deyil NoSQL. Və sonuncu bir nümunəsi nə bilər bir obyekt-yönümlü adlandırmaq, və ya bir obyekt mağaza, bir verilənlər bazası obyektlərin mağazalar, deyil, bəhanə Mənə, biz tezliklə satır görəcəksiniz. Beləliklə, biz yalnız bir an üçün diqqət lazımdır Bunlardan birincisi, yəni, bir SQL verilənlər bazası, bu yalnız çünki əgər belə tanış artıq hər kəs üçün Excel istifadə edən və ya Google Sheets və ya Apple Numbers və ya hər hansı bir standart elektron tablo proqramı, və ya, equivalently, və ya daha sophisticatedly, Microsoft kimi bir şey Access və ya Oracle MySQL və ya PostgreSQL və ya bütün olan tətbiq üçün məhsul adları Aşağıdakı fikir. A relational verilənlər bazası sadəcə satır və sütun var ki, bir şey. Və satır və sütunlar ilə, Mən sözün bir şey demək bu kimi, belə ki, burada biz ola bilər bir sahə və burada onun növü adı. Və həqiqətən, mənə imkan indi bu xəritəyə başlayın. Belə ki, həqiqətən, mən bilmirəm niyə ayrı-ayrı chart çəkdi. Bu sadə saxlamaq edək. Biz burada var Bizim masa əvvəlinə bu sahənin adı bu data növü, və növü ilə mən aşağıdakı deməkdir. Bu bir sıra, bir simli Bir sözlə kimi qısa bir string, bir maddə deyil, bu bir şəkil kimi ikili data? Və yalnız bu tease bildirin ayrı yalnız bir an üçün. Belə ki, ilk adı, nömrəsi, simli, text-- böyük bir yığın Auditoriya: [işitilemez] DAVID MALAN: Bəli, belə ki, simli. Və bir verilənlər bazası kontekstində alacağıq olan bu char sahəsində çağırırıq. Mən yalnız biz istəyirik, lakin indi char demək lazımdır bir anda bu saflaşdırmaq gedir. Character sahəsində. Soyadı yəqin ki, eyni deyil. Gender? Kişi və ya qadın, belə ki bir char sahəsində ola bilər. Bu da quote ola bilər, dırnağı bağlamaq "Kişi" və ya quote, dırnağı bağlamaq "qadın" və ya m və ya f ola bilər. daha çox daxil olmaq istəyirsinizsə, Bir üçüncü dəyər lazımdır və ya tamamilə başqa sahəsində bir növ. Və belə ki, doğru yalan istifadə edə bilər. sahəsində kişi adlanır və ola bilər sonra doğru və ya yalan deyə bilər. Amma mütləq tutmaq deyil Istədiyiniz bilər məlumat bütün. bir növü var həyata Belə ki, çıxır sahəsində burada faydalı ola bilər ki, tipik bazasında bir adlı bir xarakter sahədir enum, ancaq, dizayner, almaq mümkün dəyərlər sadalamaq, , Quote, dırnağı bağlamaq "kişi" quote kimi s dırnağı bağlamaq "qadın" və s. Belə ki, nə dəyəri Sizin bazasında Həqiqətən, xarakter-based, lakin bu dəyərlərdən biri olmalıdır. Biz yəqin ki, bir istəmirəm ilk adı və ya son adı enum. Əks halda biz olardı adı kimi, sadalamaq sözün hər, irəli gəlir mümkün ilk adı və soyadı. OK, ID belə şəxsiyyət nə olmalıdır? Bəli, belə ki, bəlkə bir sıra. Belə ki, ilə qalmaq imkan İndi ki, sayı. And sayı, sıra İndi bir az çox geniş. ikinci sonuna gün, biz kimi hiss bir az daha dəqiq olmalıdır. Kimi demək bilər, bu 1.236 kimi bir şey ola bilər. Və yəqin ki, deyil Biz ID nə deməkdir. biz yəqin ki, bir ID nə deməkdir? Auditoriya: [işitilemez] DAVID MALAN: OK, Oh belə bəlkə hətta bir sıra deyil. Bəlkə bu, həqiqətən unikal identifikator var ki, bir istifadəçi adı kimi bir simli var. Belə ki, tamamilə ola bilər. Mən kimsə yəqin ki, hesab edirəm ki, baxmayaraq ki, rəqəmli idi. Belə ki, ilə qalmaq imkan verir. sıra hansı? Nə bir daha tam precise--. Belə ki, bir sıra 0 kimi, 1, 2, 3, belə ki, biz bu tam zəng edəcəyik. Və hətta sonra, mən bilər nitpicking etmək, bu Biz, həqiqətən, yalnız bir Istədiyiniz general tam. Siz yəqin ki, mənfi dəyərləri istəmirəm yalnız çünki, yalnız qəribə hiss edir. Siz yəqin ki, müsbət integers istəyirəm. Beləliklə, siz də ifadə edə bilər bir verilənlər bazası ki, lakin indi, biz tam demək lazımdır. Email? Bu nə izlersin yəqin ki? Auditoriya: [işitilemez] DAVID MALAN: Bu e-poçt var, lakin sağ, simvol var? Bu kimi bir funky xarakter daşıyır bir "at" simvolu və ya başqa bir şey, lakin hələ də bir xarakter sahəsində var. Və poçt ünvanı? Character sahəsində. Belə ki, bir gözəl başlanğıcı var, amma İndi bir az daha dəqiq olsun. Belə çıxır ki, bir verilənlər bazası, tez-tez daha zərif bir seçimi var bunlar versiyasını. Əslində, bir tipik SQL verilənlər bazası, SQL, və ya daha çox, ümumiyyətlə, relational verilənlər bazası, satır ilə verilənlər bazası və sütunlar, tez-tez növü yalnız daxil olmaq field-- mənə bir otaq burada edək həm də uzunluğu. ilk ad Belə ki, necə uzun? I D-A-V-I-D, düşünürəm. OK, Mən var yəqin ki, yalnız yarım kimi təhqir oda insanların, sağ, Sizin adları beş artıq, çünki məktublar, belə beş bir az eqoist görünür və sadəlövh, belə ki, daha yaxşı bir dəyər var? 10, bütün sağ, mən hesab edirəm ki, biz otaqda OK istəyirik. 13? 30? Niyə etmirlər əvvəllər yanaşma zaman seriallarda və yaddaş haqqında söhbət? Niyə yalnız 1000 kimi demək deyil? No bir adı gedir 1000 artıq olmalıdır. Geri itələmək. Auditoriya: [işitilemez] DAVID MALAN: Bəli, bu israfçı, sağ, xüsusilə ən adlar yalnız beş və ya 10 və ya 15 simvol, çox israfçı var. Belə ki, nə? Bu çətin sual növüdür. İndi biz, şübhəsiz ki, ingilis analiz edə bilərsiniz və hər hansı digər dil adları və, nə anlamaq average-- orta həqiqətən deyil max nə var us-- kömək yəqin ki, biz, həqiqətən, istədiyiniz nə. Amma biz hətta çıxır Burada növü bəzi seçimi. Tipik SQL verilənlər bazası, siz bir char sahə deyilən bir şey var və həmçinin VARCHAR, V-A-R, dəyişən char sahəsində. Və fərq bu. A char sahəsində, siz dizayner, əvvəlcədən müəyyən etmək lazımdır sahəsində dəqiq uzunluğu. Belə ki, bəlkə adı kimi 20 növ təhlükəsiz hiss edir. bəzi Google etməyə nə etmək lazımdır bilər ki, kifayət qədər həqiqətən təhlükəsiz oldu. 21 ilə adı yəqin ki, var simvol, lakin indi, 20 Güman təhlükəsizdir. A char sahəsində demək olardı bir verilənlər bazası ki, 20 və həmişə 20 simvol istifadə edir. İndi o, yalnız D-A-V-I-D 15 varsa yalnız boş simvol olacaq, ancaq siz hələ də bütün 20 bytes istifadə edirik. A VARCHAR sahə, əksinə, o deməkdir string 20 simvol olmalıdır lakin bu, beş yalnız varsa, Yalnız istifadə etmək olacaq bir beş, və ya bəlkə altı sonunda xüsusi dəyəri ki, 0 kimi biz müzakirə Bir xarakter sonunda bildirir yaddaş ardıcıllığı. Belə ki, sizcə Siz char seçə bilərsiniz varchar qarşı ki, ticarət-off verilir? Char çox simvol, VARCHAR istifadə bir çox simvol çox istifadə edir. Auditoriya: [işitilemez] DAVID MALAN: OK, siz izlə simli uzunluğu olduqca məcburedici yalnız əgər char, 'səbəb istifadə Yalnız onu qoymaq, bilirik. Və bəlkə bir zip üçün doğru kodu, ABŞ-da, ən azı, 02138, həmişə beş olacaq Siz qədər simvol tire dörd əlavə edin. Amma bəzi dəyərlər ola bilər siz həmişə uzunluğu bilirik. Və ya bəlkə dövlət rəmzləri, New York NY kimi, və MA ABŞ-da Massaçusets üçün. Bəlkə bəzi hallarda var harada ki, tamamilə ağlabatan deyil lakin məntiqi ilə, niyə Biz hətta bu overthinking? Niyə biz yalnız istifadə etməyin VARCHAR və biz yalnız lazımdır həmişə hər halda iki simvol istifadə, və ya həmişə hər halda beş simvol istifadə? Niyə yalnız üçün VARCHAR xilas hər şey ki, məntiq? bir tutmaq olmalıdır. Auditoriya: [işitilemez] DAVID MALAN: Could səhv bir şey yazmaq. Belə ki, doğrudur. Lakin hətta sonra, onlar istifadə edə bilməz Mən ayrılması daha çox yaddaş. Mən hələ final var , Uzunluğu üzərində demək belə ki, onlar təsadüfən edə bilməz ki səhv, amma yaxşı bir fikir. Bu daha incə, lakin bu, çox əlaqədar deyil Bizim müzakirə, həqiqətən, serialların və əvvəllər siyahıları bağlıdır. Bu, bir verilənlər bazası çıxır ki Bu dəyərlərin bütün bilir ki sabit uzunluğu, hətta əgər həmin dəyərlərin bəzi boş sort estetik boş, D-A-V-I-D və sonra 15 blanklara, çıxır ki, hər halda sahəsində eyni uzunluğu, bir sıra kimi çox onun məhsulları bütün idi geri ki, geri geri geri Yalnız plus 1 next almaq bilər dəyəri bir verilənlər bazası masa eyni fikir. Sizin xarakter bütün varsa strings eyni uzunluğu, Siz təsadüfi giriş deyirlər nə var. bütün strings var varsa uzunluğu 20, yalnız deyil Bunu plus 1 yalnız bunu plus 20 plus 20 plus 20 plus 20, və çox sürətlə vasitəsilə hərəkət edə bilər və ya veri bütün vasitəsilə axtarış. A dəyişən char sahə, əksinə, həmişə 20 simvol yoxdur. O 20 və ola bilər 15 və daha sonra 19 və sonra 10, və siz axtarmaq istəyirsinizsə vasitəsilə, yalnız kor-koranə bilməz növbəti bir almaq üçün 20 bytes əlavə edin. Siz sözün vasitəsilə axtarış çünki data strukturu kənarında Siz, cırıq edir. Bu cür gedir və əsaslı simli faktiki uzunluğu. Belə ki, uzunluğu, kimi bilirik zaman Kareem, bir char sahəsində istifadə deyir ki, qazanmaq, çünki olan səmərəliliyi Daha sürətli vasitəsilə axtarış edə Siz məlumat üçün aradığınız zaman, başqa bir dəyişən istifadə edin. Təəssüf ki, mən heç bir yaxşı cavab var adı necə uzun, lakin kimi bir şey bir ad, mən deyərdim bir VARCHAR ümumi Bu niyyətində deyil, çünki hər kəs üçün bir sabit uzunluğu olmalıdır. 20 Mən bilmirəm, 20 bir az sıx hiss edir. yalnız 50, 50 deyirlər. Bu, həqiqətən ki, dəyəri yoxdur 50 əvəzinə 40 demək daha çox, lakin bir nöqtədə, sizə lazım bir qərar zəng etmək üçün. Çox ümumi, səmimi, [Üçün? tarixi?] səbəbləri, bu artıq var, baxmayaraq ki, Çünki bir müddət əvvəl 255 demək deyil məşhur verilənlər bazası sistemləri kimi MySQL, pulsuz açıq mənbə vasitədir ki, bir çox şirkətlər kimi hətta Facebook, istifadə Bu maksimum gecikmə oldu belə insanlar yalnız onunla getdi. Belə əsassız, lakin biz will not bir az daha intuisiya istifadə 50 əmin ki, demək yəqin ki, bir az artıq. Gender, mən enum kimi edin, və biz buna görə bilərsiniz kişi və ya qadın sadalamaq, və ya bəlkə daha səmərəli, m və ya f və ya digər symbology, lakin enum orada yaxşı bir seçim kimi hiss edir. Aydın olmaq üçün, gender Yalnız bir VARCHAR ola bilər, və biz yalnız bütün ola bilər Kimi insanların razıyam həmişə eyni dəyərləri qoymaq. Kişi və ya qadın və ya etajer. Amma problem sonra, biz bilər ki, [Işitilemez] təklif kimi, bir səhv Əvvəllər başqa kontekstində. Biz bir səhv varsa, biz əldə edə bilər bizim məlumat bazasında yanlış dəyərlər. Belə ki, verilənlər bazası haqqında gözəl nə var Oracle və MySQL və başqaları kimi, Bu son var ki, müdafiə harada qat Sizin DBA, verilənlər bazası administrator, Kim biz kimi bu masa dizayn edilir şifahi var, qoymaq bilər bir enum yerə ki, ifadə edərək qarşı qoruyur kişi, qadın və heç bir başqa heç proqramçı təsadüfən bilər hər hansı digər dəyər daxil edin. Belə ki, bu yaxşı bir şey olardı. Bu xüsusiyyət. Belə ki, ID, bir rəqəmli ID fərz, o yəqin ki, bir müsbət tam olmalıdır. Və biz bəzən var uzunluğu müzakirə etmək imkanı. Siz adətən olmaz Burada bir sıra daxil, yerine daxil olacaq bu bir int və ya böyük bir int, onlar kimi adətən çağırıb. Lakin adətən, bir tamsayı olardı ki, demək 4 bayt bildirin. Və 4 bayt varsa, ki, neçə bit var? Auditoriya: [işitilemez] DAVID MALAN: 32 bit. Belə ki, biz neçə istifadəçi ola bilər Bizim verilənlər bazası onlar bütün ID varsa bu ID unikal olmalıdır? 32 bit biz nümunələri var deməkdir bir, iki, üç, dörd, five-- adet sıfır qədər neçə müxtəlif nümunələri 32 olduqda və olanları ola bilər? Bu eyni şey xahiş 32 iki nədir? Bu, böyük bir sıra var ki, Mən sağ ala bilməyən ancaq təxminən 4 milyard bilirik. Belə ki, bu verilənlər bazası masa edə bilərsiniz deməkdir dörd milyard istifadəçimiz var və bu. Belə ki, bu bir maraqlı dizayn dolayısı. şirkətlər layiqli sayı bəlkə çox deyil, qərarına gəldik onların istifadəçilər masa olan çünki 4 milyard istifadəçilər nadir problemdir. Bu Facebook-stil növ problem deyil, bir tipik şirkət problem. Amma əməliyyat logs bəlkə və ya daim data bir növ Sizin bazasında yazılı olur tamamilə milyardlarla ola bilər ki, və satır milyardlarla və Əgər bunun üçün bir tam istifadə nə kimi tezliklə baş verəcək Siz sayı 4 milyard sıra almaq və sonra daxil edin 4 milyardıncı 1, belə danışmaq? Mən nömrələri bir az sadələşdirilməsi alıram. Siz geri kəsmək olar, mən sizə demək birtəhər onu idarə etmək üçün var. Və kompüter adətən edəcəyini nə hətta bu səhər bu barədə düşünmək, Siz 4-bit dəyər varsa , 1, 1, 1, 1 kimi ki, Yalnız səhər bağlamaq birlikdə günortadan sonra nə bu sayı ikili təmsil edir? OK, biz daha asan etmək lazımdır. bu sayı nə ikili təmsil? OK, biz daha asan etmək lazımdır, nə Bu ikili təmsil edir? Auditoriya: Three. DAVID MALAN: Three, çünki biz olanları column-- [Gülüş] Whew! Biz isə sütun var idi və ikilər sütun. Belə ki, həqiqətən, güman bizim [? yataqdaxili?], 32 bit deyil lakin iki bit biz idi istifadəçi sayı 0, 1, 2, 3 saymaq, və sonra biz növ istəyirik geri istifadəçi 00 yenidən. Belə ki, bu adətən olur. Əgər expression-- eşitdim varsa Siz yaxşıdır əgər yəqin ki, var, amma tam daşqın, siz Sizin bit bütün Flipping saxlamaq ən böyük mümkün dəyərlər olmaq, və sonra bit bitti, adətən nə olardı? Niyə 00 deyirsiniz? Bəli, bu üç edir. Mən 4 təmsil edir? Mən təmsil necə ikili sayı 4? Auditoriya: [işitilemez] DAVID MALAN: Bəli one--, per se 100 demək deyil, Bu yanlış var, çünki connotation, lakin 1-0-0. Belə ki sayı 1-0-0 həqiqətən düzgün, lakin yalnız iki bit varsa, Siz, həqiqətən, nə etmişəm? Siz 00 takla atdı etdik. And olsun ki, baş verəcək budur. Əslində, siz hesab edə bilər bu daha familiarly haqqında. Siz geri varsa, nə 16 il əvvəl dünya zaman son idi Y2K problem oldu. Nə idi? Yaxşı ən kompüter üçün ağlabatan qərarlar, kimi nömrələri saxlanılması edilmişdir il 1975 və ya il 1999 Yalnız iki rəqəm istifadə edərək, kompüter yaddaşında. Əlbəttə ki, nə olur Siz 2000-ci almaq zaman, Bəli, daha bu getmək, və ya. Belə ki, 2000-ci ilə getmək, lakin əgər Yalnız görünür iki rəqəm istifadə etdiyiniz il olduğu kimi 00 və belə ki, takla atdı etdik. Bu niyə sistemlərinin bir çox lazım vaxt yenilənir. Belə ki, qeyd edib şirkətləri kimi Facebook bu qarşı axır. idarə etmək üçün yeganə yol So vəziyyət, səmimi, bu tahmin edir. Və ya təmiz yolu Bu vəziyyəti idarə Siz yoxdur, belə ki tahmin edir sonra dəyişikliklər etmək lazımdır. Belə ki, əvəzinə 8 bayt, siz nə bilirik? Mən irəli-düşüncə olmağa gedirəm Burada, bu, baxmayaraq ki bir az optimist biz 4 milyard olacaq və bizim saytda 1 istifadəçi. Amma yalnız 8 bayt istifadə edək, və ya ümumiyyətlə olacaq 64 bit, çox texniki, böyük bir tam çağırıb. Və yalnız siz ola bilər deməkdir Sizin sayı daha rəqəm. Amma bu əhəmiyyətli bir dizayn qərar, Bir sıra seçerseniz, çünki ifadəlilik çox az bit var Siz, həqiqətən, yarada bilər proqram bir səhv. Bütün hüquqlar, belə ki, bükmək edək E-poçt və poçt ünvanı ilə. Belə ki, e-poçt, nə qədər olmalıdır bir e-poçt ünvanı ola bilərmi? 50. Mən, həqiqətən, heç bir fikrim yoxdur, lakin bu yəqin ki, kimi bir şey, başqa heç bir olacaq, çünki çox uzun olur, əgər yazmaq, belə ki, 50, İndi üçün onunla getmək bildirin. Poçt ünvanı, nə qədər ki, olmalıdır? Auditoriya: [işitilemez] DAVID MALAN: Bu deyil Yalnız bir poçt indeksi, baxmayaraq ki. Poçt ünvanı, eşitdim. Belə ki, bu 1 Brattle Square kimi, vergül, Cambridge Mass., vergül, 02138. Və əslində, mənə yalnız çəkmək imkan burada bir az iş up. bu kimi bu hiss buraxılmış imkan. biz 1 Brattle Square varsa, vergül, Cambridge MA 02138, biz daha yaxşı edə bilərsiniz kimi hiss edirəm yalnız poçt ünvanı çoxdur. Niyə biz bu bir az partlayışa səbəb yoxdur? Mən də alıram? biz əvəzinə nə olmalıdır burada satır, bəlkə? Auditoriya: [işitilemez] DAVID MALAN: Bəli, belə edək street_number zəng, və çizgi yalnız bir ümumi bir məkan kimi görünür nə olan yol, lakin bu, həqiqətən, deyil. Street, sonra üzr city--? Auditoriya: [işitilemez] DAVID MALAN: Biz bunu edə bilər. Line bir, line iki. Niyə biz davam edəcək deyil İndi sadə, lakin tamamilə var məqbul qərar. Və sonra dövlət və sonra edək İndi bir az ABŞ-merkezli olmaq və yalnız yalnız çünki, poçt kodu etmək maraqlı bir səhv səbəb olacaq burada və ya problem. Belə ki, indi bizim ünvan olduğunu güman edirlər. Bu bir az daha annoying var Biz bütün bu daha sahələri var Amma indi biz tag bilər hər şeyi bir az daha yaxşı. Belə ki, indi küçə sayı yəqin ki, olmalıdır, bir char olmamalıdır? Nə olmalıdır? Auditoriya: [işitilemez] DAVID MALAN: Bəlkə, bir sıra daha bir tam kimi? Böyük tam? Siz yəqin ki, yaşamaq deyil 4 milyard Main Street və ya kimi crazy şey. Belə ki, tam yəqin ki, gözəl, lakin hər kəs var Heç kimi ünvanda yaşamışdır 1A Brattle Square, və ya 1 və 1/2? Bunlar təəssüf ki, mövcud hətta əgər, orada deyil Bu anomaliyaları var mənzil 1A, 1B, 1C kimi. Beləliklə, siz nə bilirik, biz yəqin ki, tam ilə getmək lazım deyil, başqa gedirik bəzi satış itirmək. Char sahə, bəlkə? Mən nə qədər bilmirəm. Bu yəqin ki, olacaq deyil belə 10 və ya bir şey, uzun. Heç bir yazmaq olacaq uzun sayı, bəlkə. Ancaq yenə də, biz yəqin ki, olmalıdır ki, daha çox fikir verir. Bəlkə, google bir araşdırma, ancaq indi üçün içalat ilə getmək lazımdır. Streets, char, 50, mən bilmirəm. Bir nöqtədə, heç bir olacaq zərfin üzərində yazmaq, də belə yəqin ki, var bəzi yuxarı həddi. City, eyni, əmin, belə ki, 50 char. State, indi ABŞ-merkezli ola bilər. Belə ki cür bir siyahı ola bilər bir qərar zəng dövləti. Bu iki simvol kimi ola bilər. Yəni əslində, bəlkə, mən char deyərək saxlanılır. Mən yəqin ki, VARCHAR demək, yalnız bəzi səmərəliliyi üçün, lakin biz geri gəlmək lazımdır bir anda qərar. dövlət uzunluğu 2-char ola bilər. MA kimi onlar ABŞ-da varsa, Massachusetts, NY, New York, NJ, New Jersey, və s. Belə ki, müəyyən edilə bilər. Washington DC DC. Amma mən hesab edirəm ki, Olivier, siz başqa yanaşma təklif edib. Auditoriya: [işitilemez] DAVID MALAN: Bəli, belə ki, bir var yazın az annoying, lakin enum, daha məntiqli edə bilər Bu şəkildə, çünki ABŞ-da ən azı, Siz sadalamaq maraqsız, lakin bilər Siz bazasında yalnız bir dəfə bunu və bir daha düşünmək lazımdır Bu, bütün 50 iki xarakter kodları. Mən enum istəyirəm. , Çünki orada qalmaq edək bu cür daha ciddilik tətbiq. Və sonra Saxlayın Kodu? Mən Andrew ki, bir fikir idi ki Auditoriya: [işitilemez] DAVID MALAN: Bəli, beş və ya doqquz. Yalnız sadə saxlamaq edək. Just indi beş yoxdur. Amma bəlkə mən yalnız bilər sağ, bir tam edirsiniz? Mən ola bilər, lakin nə, Mən müəyyən mənada bir dəfə bu səhv. İllər əvvəl, Mən keçirərkən edildi Gmail Microsoft Outlook, və Outlook ixrac bir yolu var Excel faylı olaraq əlaqələrin bütün, dəyərlər faylı ayrılmış vergül bir CSV faylı. Mən, səhvə yol ikiqat tıklayarak, hesab edirəm ki, Mən ixrac, nazil dəfə əmin olun mən gözlənildiyi kimi baxdı. Mən Saxla və ya imkan hit olmalıdır da zərbə və ya bir şey avtomatik saxlamaq. Mən sonra idxal Çünki Gmail daxil bütün işləmişdir. Amma ildir, bu gün və Mən 10 il əvvəl bu beş idi Mən hələ dost tapmaq alıram bu kimi görünür ünvanları. Niyə? Auditoriya: [işitilemez] DAVID MALAN: Bu aldı 0, yaxşı, daha doğrusu, onu kimi bütün poçt kodu etdi bir sıra və buna görə də bu deməkdir aparıcı 0 Bu, heç bir mənası yoxdur. Və 2138 mənim poçt indeksi görünür. Bu, səmimi, bir annoying Excel edir Mən default hesab vasitəsi xüsusiyyət, yalnız üçün nəzərdə olsa da ola mətn, Microsoft Excel Mənə faydalı olsun qərar, və oh, mən yalnız nömrələri görmək. nin ədəd bu müalicə edək. Bu aparıcı adet sıfır truncates. Allaha and olsun, hər bir neçə ay mən bir ünvan tapmaq, və OKB bir növ həyata, Mən geri getmək və 0 əlavə hətta heç I baxmayaraq insanlar harf və ya bir şey göndərmək. Amma yenə də bu qalıqları tapmaq alıram. Belə ki, bu, demək bu yaxşı bir fikirdir? Xeyr, OK, çünki hər kəs Massachusetts, bu sahədə onları aparıcı bir o gedir. Belə ki, kimi ilə gedək char, yəqin ki, beş. Və burada, biz həyata bir enum və biz istifadə edə bilər 10.000 sadalamaq bilər mümkün zip kodları, Bu yəqin ki, kimi ancaq ki, hiss faydaları kimi, xətti keçid. Siz daxil varsa ki, Sizin bazasında çox data bir şey qarşı qorumaq üçün. Belə ki, char siz yazın bilər həyata poçt kodu kimi H-E-L-L-O, olmayan, açıq-aydın, rəqəmli edir. Belə ki, heç bir şəkildə var tipik verilənlər bazası, yalnız Elektron müəyyən etmək və uzun yalnız beş simvol, belə ki, biz olacaq kodu bunu. Biz PHP bunu olacaq və ya Java və ya hər hansı dil biz istəyirik server istifadə edərək həyata sıxıntı belə. Whoo! belə hər hansı bir sualınız, yalnız hələ Bütün hüquqlar? Başqa bir dizayn qərar qəbul edək. Bu çıxır ki, də seçmək almaq, Bir SQL verilənlər bazası dizayn zaman və ya tipik relational bazasında bir harada yenə relational yalnız satır ve sütun deməkdir ki, sizin veri təşkil necə və bu nə deməkdir ki, həyata Mən yanlış olduğunuz Mən bu drawing-- edirəm ki, şeması deyirlər nə bir verilənlər bazası masa üçün. Bu kimi Masa üçün spesifikasiyalar lakin bu vaxt gəldiyi zaman həqiqətən veri, və biz burada yalnız məsələn bunu edəcəyik. Çünki, Excel açmaq üçün gedirəm Excel mənə satır və sütun verəcək. Və dəqiq nə Oracle və MySQL və digər alətlər mənə verəcək. Mən yalnız istifadə gedirəm müzakirəsi xatirinə. Mənə davam edək və açmaq Burada nümayəndəsi sənəd bir az zoom. məsələn Belə ki, mövzular indi ilk adı, soyadı, gender, ID, e-poçt, küçə nömrə, street, whoops. Street, şəhər, dövlət, yalnız haqqında ekranda uyğun. Belə ki, nə bu o deməkdir ki, bir istifadəçi ilk mənim haqqinda üçün qeydiyyatdan Bu kimi bir şey olacaq David, Malan, m,-nin 1 deyək malan@harvard.edu, küçə nömrə olacaq 1 Brattle Square, Cambridge, MA kimi, 02138, sonra irəli belə. Mən deyəndə ki, bir relational verilənlər bazası və ya SQL verilənlər bazası satır və sütun var, Mən bu demək. Bu faktiki data saxlanılır satır və sütun. Bu yalnız bir təsadüf deyil biz söhbət ki, Mən yalnız onu rəsm edildi satır ve sütun həyata. Bu, yalnız şeması edir mühüm müəyyən. Burada bu sahələrdə Belə ki, və ya equivalently var, siz hesab sahələri Mən bir istifadəçi deyiləm, axtarış ehtimal edirəm və ya verilənlər bazası administrator deyiləm əgər? Like nə sahələri I am həqiqətən axtarış gedir? Auditoriya: [işitilemez] DAVID MALAN: adı, yeah belə Mən yeah that-- faktı kimi email olduqca ümumi ola bilər. Üzr istəyirik, adı bildirib. Belə ki, maybe-- və yenə biz istəyirik cür mücərrəd söhbət. Mən niyə istədiyiniz bilmirəm bir ad üçün axtarış etmək, lakin əgər ağlabatan hiss Bir istifadəçi üçün axtarış edirik. Bəlkə əmin, ID, dövlətlər. Və bir sürüşkən var yamac, mən ola bilər, çünki bir ssenari olduğu tədbir bəlkə mənim boss soruşdu ki, necə bir çox kişi bizim saytda var? Necə bir çox qadın bizim saytda var? Və o nöqtədə, istədiyiniz bilər də gender sahəsində axtarış, Başqa heç bir şey. Belə ki, bir ticarət-off burada var. Yenə, heç doğru cavab, lakin ən SQL məlumat bazaları bir xüsusiyyət endeksleme, vasitəsi kimi tanınan Siz dizayner, verilənlər bazası administrator, əvvəlcədən qərar almaq Verilənlər bazası optimize olmalıdır sahələrdə barədə axtarışlar üçün. Siz çox naively optimize, demək olar Bu, ki, bu optimize optimize və bu optimize və verilənlər bazası olacaq altında bir sehrli şey başlıq və belə bir şəkildə bir şey ki, axtarış növbəti dəfə Bu sahələrdə hər hansı bir, Bu, əslində, daha sürətli olacaq. Bu mümkün deyil. Bu özü ləğv etmir. Amma ödənilən qiymət olmalıdır. Siz naively, və ya artıq-coşğuyla demək, index bu sahələrdə bütün belə ki, danışmaq onlara bütün səmərəli axtarış, Siz yəqin ki, nə qiymət ödəyir? Auditoriya: [işitilemez] DAVID MALAN: Performance. Nəyi nəzərdə tutursan? Yaxşı performans, ən azı Mən müzakirə edirəm kontekstində, indi yaxşıdır. Bu endeksleme müəyyən edir. Bu sürətli axtarış edəcək. Belə ki, zaman belə danışmaq, azalır. Auditoriya: [işitilemez] DAVID MALAN: Space. Belə ki, yenə, bu ortaq ticarət var. Mən sizin axtarış sürətləndirmək bilər, lakin bu Əgər yer daha bayt başa gedir. Niyə? Yaxşı, ismarıcları, əgər biz heç biri var Bu qırmızı ulduz, bu göstəricilər heç biri Mən deyirəm ki, necə axtara bilərəm Bu bazasında bir ad? Belə ki, cəlb edək bizim Bu misalda diqqət. Biz Davuda və Scully və Kareem varsa bu satır Arwa və başqaları Məsələn. Belə ki, məhz bunu edək. Scully burada, sonra biz Kareem və arwa var və başqa hər kəs, siz əgər Bir index belə danışmaq, müəyyən var siz edə bilərsiniz ən yaxşı xətti axtarış edir. Siz arwa üçün axtarış, biz deyilik hüququ jump edə olacaq onun tez. Biz üst başlamaq olacaq və alt bütün yol getmək, bizim orijinal fərqli Mike Smith nümunəsidir. Lakin, mən demək olarsa, hey, verilənlər bazası, index adı sahəsində, o, bir şey olacaq meraklısı və bir şey dəstək ikili axtarış kimi. Bu yəqin ki, se başına ikili axtarış deyil. Verilənlər bazası başqa istifadə edirlər b ağacları adlı data strukturu, ikili ağacları ilə səhv etmək deyil, yalnız daha sürətli axtarış etmək təbiət loqarifmik bir şey. Amma qiymət ki, qurmaq ödəmək xüsusiyyət yaddaş ki data strukturu, daha bytes edir. Belə ki, bəzi megabayt bilər, bir qiqabayt, kim bilir? Bu data asılıdır. bir nöqtədə Belə ki, qərar qəbul etmək, Bu yəqin ki, bir ümumi hal deyil. Belə ki, faktiki ümumi nə var hallarda, həqiqətən seçmək olsaydı, Sevimli sahələri nə ola bilər? Email. Mən e-poçt, çünki e-poçt kimi nəzəri, unikal olmalıdır. Və adətən siz izlə Əvvəlcədən sizin sahələrdən biri olduğunu ki, və ya unikal olacaq yaxşı sahə olmağa çalışır , Axtarış yol çünki, zaman bir şey üçün axtarış geri almaq olacaq və ya cavab sıfır və sonra siz tamamlayın. Siz saxlamaq yoxdur Hələ başqaları üçün axtarır. Və belə ki, burada bu halda, e-poçt, iki dəfə qeydiyyatdan bilməz kimi uzun eyni e-poçt ilə yaxşı biridir. da müəyyən ID, informatika dünya, Bir bəhs edirsinizsə daha unikal idi ID. Bu connotation sort Şəxsiyyət vəsiqəsinin və ya identifikator. Bu qalan ola bilər Nin haves onları gözəl zəng edək lakin həqiqətən lazım deyil. Və belə bir verilənlər bazası, Siz göstəriciləri müəyyən lakin daha dəqiq ola bilər. Siz hey, verilənlər bazası, əmin olun, demək olar Bu cədvəldə hər ID unikaldır. hətta proqramçı imkan verməyin təsadüfən bir cüt e-poçt qoymaq və ya TC şəxsiyyət nömrəsi dublikat. enums kimi Belə ki, çox , Eyni siz bizi qorumaq o aşağı səviyyəli müdafiə ola bilər. Və belə verilənlər bazası dizayn, in bir mənada əyləncə növüdür, Siz müdafiə bunu, çünki. Siz sort iş güman dəhşətli, dəhşətli proqramçılar ilə və bir çox müdafiə qoymaq istəyirəm , Sizin data qorumaq üçün bilərsiniz kimi lakin eyni zamanda istədiyiniz daha yaxşı yerinə yetirmək kömək etmək hansı seçerek sahələri üçün optimize. Amma mütləq bunu edə bilməz biz kimi bir vakuum cür burada. Siz nə bilmək var bu ümumi hallarda olan. developers varsa ünvanı kitab həyata keçirilməsi, Siz çox yaxşı etmək istəyirəm bilər demək olar ki, hər bir sahədə axtarış, yalnız proqram xarakteri ilə. Belə ki, bəlkə sizə sərf əlavə space. Sağ, hər hansı bir sualınız? Bəli. Auditoriya: [işitilemez] DAVID MALAN: Xeyr Auditoriya: [işitilemez] DAVID MALAN: OK. Auditoriya: [işitilemez] DAVID MALAN: Oh, biz belə bir şəkildə gedir İndi tamamilə dil aqnostik var. Belə ki, biz indi söhbət ümumiyyətlə relational verilənlər bazası, və ya SQL ümumiyyətlə verilənlər bazaları. Auditoriya: [işitilemez] DAVID MALAN: daha yaxşı bir söz istifadə etmək , Hər hansı bir dil ilə istifadə edilə bilər. Mən, C JavaScript kodu yaza bilərsiniz indeksi, C ++ kodu, Java kodu, Ruby indeksi, olan bütün danışmaq bazası və icra sorğu. Əslində, bir pis deyil nümunə sorğu segue. Və yenə, biz getmək fikrində deyilik Java və ya C ++ və ya artıq hər hansı lakin SQL, dil mən saxlamaq Query Language Yapılandırılmış, istinad, Bu özü bir proqramlaşdırma dilidir, lakin heç bir, istifadə etmək üçün nəzərdə surprise, sorğu sorğu strukturlaşdırılmış. Ki, mən bu demək. data seçin yol MySQL verilənlər bazası siz sözün proqram yazın ki, istifadəçilər seçin ulduz kimi bir şey. Bu cədvəldə fərz etsək edirəm, bundan sonra istifadəçilər adlanır. Mən istəyirik bir şey zəng edə bilər lakin bu cür əhəmiyyət kəsb edir. Və seçin çox deyil ümumi fel, əgər olacaq, SQL, sözün ki, yoxdur. Siz star nə düşünürsünüz bu çərçivədə deməkdir? Auditoriya: [işitilemez] DAVID MALAN: Mən təəssüf edirəm? Auditoriya: [işitilemez] DAVID MALAN: lazım deyil, bu daha çox daxil, həqiqətən. Bu vəhşi kart xarakter var. heç bir şey deməkdir həmişə Star, belə ki, bu, bu halda, o deməkdir verilənlər bazası hər şeyi seçin. Mən bu deyəndə ki, mən demək hər sütun, mənə geri vermək Mənim masa istifadəçilər çağırıb. Bu deyilən kimi Belə ki, mənə bir nəticə set verir. Başqa sözlə, mənə bir kopyasını vermək elektron tablo, Mən alıram budur. Amma söylədi istifadəçilər seçin star ID 1 bərabərdir harada, necə böyük olmalıdır Mənim nəticə set sonra olacaq? Və ya equivalently neçə satır olmalıdır Mən bazası geri qaytarılacaq? Yəqin ki, yalnız bir, Mən, həqiqətən, varsa unikal identifikator kimi ID müalicə, və David unikal ID var, mən bir və yalnız bir sıra geri almaq lazımdır Davudun məlumat bütün olan. Dediyim bu harada ID 99 bərabərdir, mən geri almaq lazımdır bu çərçivədə, sıfır satır, Ən azı bu an. Lakin, həqiqətən, qayğı yoxdur, əgər bütün informasiya haqqında, Mən burada David yaşayır, deyə bilər? seçin poçt indeksi ID 1 istifadəçi. Bu mənə yalnız Davudun poçt üçün seçin code ki, üst-üstə deyil bütövlükdə. Niyə əvəzinə bunu bilər star sorğu, vəhşi kart? Auditoriya: [işitilemez] DAVID MALAN: Bəli, mən yalnız lazımdır. Belə ki, icra yenə burada cavab. Niyə daha çox üçün xahiş məlumat sizə lazım çox , Doğru birlikdə bütün belə çünki Siz hələ ki, məlumat surəti var Bu verilənlər bazası, görünür birtəhər proqram, ki, əgər yalnız silly var yalnız rəqəm beş lazımdır, sıra deyil bütövlükdə. Belə ki, necə bir istifadəçi daxil edə bilərəm? bir istifadəçi yalnız var Güman ilk dəfə qeydə alınıb. sintaksis adətən bu kimi görünür. istifadəçilər daxil edin və sonra biz dəyərlər demək olardı sonra biz dəyərlər demək olardı kimi, demək Lauren Scully imkan burada bizim videographer. Və növbəti sahəsində gender edir. Beləliklə, biz quote, dırnağı bağlamaq demək lazımdır "F", sonra biz bir ID Mən edək demək gedirəm , O, burada həqiqətən deyil iddia belə ki, biz hekayə geri olacaq. Belə ki, 2 ay ID olacaq. Və sonra növbəti sahəsində burada onun e-poçt. Belə ki, kimi olacaq s Lauren Scully və və biz yalnız dot dot lazımdır burada uzaq nöqtə. İndi bir az olacaq yorucu, lakin insert sorğu nəticədə kimi görünür. Mən xilas olmaq istəyirsinizsə, Scully, uh-oh, bu Sil edək onun o hesab silir, ID 2 bərabərdir istifadəçilər silmək, Scully xilas olacaq. Yoxsa mən yeniləmə users müəyyən demək olar, biz nə dəyişə bilər, deyək? o hərəkət düşünək. Set poçt bərabərdir 021-- Xeyr, ki, onun cari zip var. 90210. yalnız başqa poçt indeksi Mən dünyanın bilirəm. Belə ki, dəyişiklik olacaq onun zip, həqiqətən kod ki, onun poçt kodu dəyişə bilməz. Mən nə idi? Baxmayaraq syntax yəqin ki, yeni. Auditoriya: [işitilemez] DAVID MALAN: Bəli, mən hər kəs köçüb Beverly Hills, California. Mən, həqiqətən, lazım ID 2 bərabərdir demək. Və sairə. Belə ki, SQL bu barədə bütün təlimat növləri. , Yeniləmə, seçin daxil silmək Sonda bu predikatların ilə Bu harada müddəaları, belə danışmaq. Və çox daha çox edə bilərsiniz var , lakin bu, həqiqətən, yalnız aşağı sonunda sadəcə, əgər arcanely ifadə nə bazası etmək istəyirəm. Və sonra bazası anlamaq edəcək, zaman Siz daxil Lauren Scully daxil verilənlər bazası, burada yaddaş onun qoymaq biz çox tez əldə edə bilərsiniz ki onun e-mail əsaslanır və ya onun şəxsiyyət nömrəsi və ya kimi əsaslanır. Bəli, Dan. Auditoriya: [işitilemez] DAVID MALAN: Həqiqətən, yaxşı sual. Bu scripts dəyişdirmək edəcək Oracle Microsoft Access MySQL üçün PostgreSQL üçün necə? Qısa cavab Bu asılıdır. Nəzəri olaraq, bir çox var SQL əhəmiyyətli ortaq alt bütün arasında paylaşılan Bu tətbiq. Lakin, müxtəlif istehsalçıları əlavə funksiyalar var öz verilənlər bazası müəyyən şeyə Bu xüsusiyyətləri çərçivəsindən kənara, ki, əslində, qıra bilər. yol developers So Bu qarşı hedcinq, ki, daha xam yazılı daha SQL kodu Mən burada yazıram kimi Onlar əvəzinə kitabxana istifadə, ümumi kitabxana özü sort yüksək səviyyəli və özet üz istifadə etdiyiniz hansı məhsul. Və verir funksiyaları və prosedurlar Belə ki, heç vaxt zəng etmək üçün həqiqətən xam SQL yazın. Nəzəri olaraq, sonra dəyişə bilərsiniz Oracle Microsoft məhsulları və ya əksinə və ya bir şey başqa, siz sözün Sizin kodu haqqında heç bir şey dəyişir. reallıq, baxmayaraq ki, bəzən deyil nəticəsində xüsusiyyətləri verir. Siz bir məhsul, çünki seçilmiş ola bilər bu əlavə dəyər xüsusiyyətləri var, və indi yalnız deyilik şüurlu onlardan istifadə. Və anecdotally, çox şirkətlər edirlər onların bazası hərəkət etmək heç vaxt. Bu gözəl isə So xüsusiyyət var, reallıq Siz əldən əgər, var verilənlər bazası, sen yəqin ki, digər dəyişikliklər dəstələri edilməsi Hər halda, siz mütləq deyil ki, ki, tahmin lazımdır. Belə ki, arguably var over-mühəndislik problemi, lakin bu, həqiqətən kontekstində asılıdır. Amma nəzəri, SQL paylaşılan bu müxtəlif məhsullar üzrə. Həqiqətən, yaxşı suallar. Bəli. Auditoriya: [işitilemez] DAVID MALAN: Bəli, belə bir verilənlər bazası hesab edə bilər yalnız bir server sonunda edir Ki, server daxilində gün bütün dəstə edir masalar, satır ve sütun. Və bu kimi bir sorğu göndərmək zaman Sizin proqram, Sizin veb, Java yazılmış, Ruby, Python, nə olursa olsun, server bu əmri qəbul və onu şərh sanki eyni şəkildə biz əvvəllər müzakirə şərh dillər, və sonra sıfır bəzi fəaliyyət həyata sıfır və ya daha çox masalar və ya daha çox satır. Auditoriya: [işitilemez] DAVID MALAN: Məhz, dəqiq. bir şey üçün pseudocode So kimi bu ola bilər. Sizin PHP fayl və ya Sizin Python fayl və ya sizin Java fayl, Siz pseudocode kodu, və ya ki, Scratch kimi blokları kimi, istifadəçi səfərlər əgər ilk dəfə acme.com/register~~V, sonra istifadəçilər daxil və s daxil edin. Və biz bu tərcümə edirəm sonunda daha konkret kodu. Lakin, həqiqətən, biz bütün var Burada tikinti blokları, bəzi atlama olmalarına baxmayaraq həyata keçirilməsi addımlar. Mənə nə ilə günah tapmaq imkan biz gözəl, yalnız bir an əvvəl idi. Siz olduqca yaratmışdır istifadəçilər üçün tam masa. Etiraf, biz həyata bilər bir neçə müxtəlif yollarla, lakin həqiqətən, bizi gətirib və path-- aşağı Mən sizə demək lakin bu kifayət qədər yəqin ki, mənim fault-- var səmərəsiz bazası həyata keçirilməsi. Bu normallaşıb deyil. Və normalized mən demək var gedir, zamanla əhəmiyyətli redundancy, və buna görə də təsirsizlik, ki, kosmik israfıdır. Burada görmək yalnız nə ola bilər əsasən Əgər yer bu tullantıların nəzərdə tutur Zamanla, gəlib gedir, daha çox istifadəçi qeydiyyatdan kimi Sizin veb üçün? Nə data lazımsız ola bilər? Auditoriya: [işitilemez] DAVID MALAN: Niyə ki, demək olar? Auditoriya: [işitilemez] DAVID MALAN: Bəli. Və məqsədləri üçün fərz edək bu gün ki, doğrudur ki,. Çıxır, və biz bu öyrəndim ağır yol ki, doğru deyil. Elə çox şəhərlər var elə eyni poçt indeksi, olan bu gözəl intuisiya pozur. Lakin, ki, doğrudur güman edək demək olar ki, həmişə doğru, çünki. Belə ki, bir zip kodu Güman həmişə eyni şəhəri ilə bağlı növüdür və dövlət, ağlabatan fərziyyə, lakin səhv çıxır. Amma ağlabatan ehtimal bugünkü məqsədləri üçün. Sonra Cambridge yaşamaq güman, MA, bu istifadəçi cədvələ görə, və güman Lauren Scully, Cambridge, MA yaşayır və güman Kareem Cambridge, MA yaşayır, və Arwa Cambridge yaşayır MA, hamımız 02138-da. Niyə biz, Cambridge xatırlayaraq MA, hamımız dörd 02138? Nə yadda kifayət olmalıdır? Auditoriya: [işitilemez] DAVID MALAN: Just saxlayın kodu. 02138 mövcud Just ki, çünki Biz nə edə bilər nə bilirik? Biz burada bir az xülya ala bilər və burada başqa bir masa müəyyən bu olacaq harada adı, bu, növü olacaq bu olacaq uzunluğu və bundan sonra, mən Mənim şəhərlər masa zəng gedir. Bu, çağırıldı Təbii ki, mənim users masa. Və mən burada nə üzərində qoymaq lazımdır Mənim şəhərlər masa, sizcə? Auditoriya: [işitilemez] DAVID MALAN: Bəli. Belə ki, dövlət və şəhər və zip. Və belə ki, burada növü, biz demək lazımdır Bu, yenə bir char 5 olacaq əvvəllər müzakirə mövzusu. Bu, bəlkə də kimi, enum olacaq əvvəl və şəhər VARCHAR 50 olacaq. Və indi mən nə əldə edirsiniz Bu masa silmək üçün ki təsirsizlik aradan qaldırılması üçün? Auditoriya: [işitilemez] DAVID MALAN: Nice. Dövlət və şəhər getmək, belə ki, indi var potensial təsirsizlik aradan üçün redundantly, Cambridge xatırlayaraq MA, Cambridge, MA, Cambridge, MA, Cambridge, MA, inşallah ki, heç dəyişdirmək üçün gedir. Bunu hətta əgər, bu minorly annoying, indi Mən dəyişdirmək lazımdır ki, Bir çox satır, Burada isə, yalnız ola bilər Bir yerdə dəyişir. İndi ticarət-off bəlkə nə var? Bu super rahat idi. qəşəng birlikdə bütün məlumatları Oldu. Amma indi hal aydın nə var? Auditoriya: [işitilemez] DAVID MALAN: Məhz, və mən şad siz söz qoşulmaq istifadə , Həqiqətən söz çünki relational verilənlər bazası dünyada SQL, bu, faktiki söz siz yazın və ya ən azı çatdırmaq bilər. Və əslində, biz indi nə etmək lazımdır Davudun tam məlumat seçin seçin ulduz kimi bir şey istifadəçilər Us və indi şəhərlərdə qoşulmaq Mən yalnız bir ikinci xətti hərəkət gedirəm Bu fits-- users.zip bərabərdir ki, users.ID 1 bərabərdir cities.zip. Belə ki, nə olub? Bu axtarır çirkin, lakin siz cür bilərsiniz Bu alt sağ, üst sol oxuyun. istifadəçilər seçin star Əvvəl eyni lakin bu özlüyündə istifadəçilər gələn deyil. users şəhərlərdə qoşulmaq olan bu. Mən o iki masalar qoşulması edirəm? Bəli, yəqin, istifadəçi masalar sahəsində, ünvan, və bu müddət yalnız xüsusi syntax fikri ifadə etmək, və bu şəhərlərdə masalar sahəsində Saxlayın edir. Mən bu iki bərabər olmaq istəyirəm amma nəticədə seçin istəyirəm yalnız satır harada users masa ID mina oldu ki, 1 bərabərdir. Və yalnız aydın olmaq, bir proqramçı, adətən zaman sayı kimi bir şey hardcode 1, çünki əks halda veb yalnız David və ya dəstəkləyir ilk user, siz əvəzinə edəcəyini ID, kimi bir şey Bu təmsil dəyişən, bir şey ki, zamanla dəyişə bilərsiniz, oxşar Mən əvvəllər dediklərini ruhu placeholders bu cür. Amma indi biz yalnız 1 kimi hardcode lazımdır. Və bu nə deməkdir? Bəli, bu görüntüləmək üçün gözəl yoludur Bu əl users masa ki, bu əl zips edir masa, biz finding-- sort istəyirik və barmaqlarının ipuçlarını poçt var burada və mənim barmaqlarının tips burada istəyirik, poçt var bu interlocking cür Siz nəticəsində geri almaq ki, həqiqətən qatılaraq orijinal masa, ümumi sahəsində iki masalar. Bu zip olmaq deyil. Bu başqa bir ən şey ola bilər, lakin bilər zip, bu qısa, çünki gözəl iki, həmişə var eyni uzunluğu, belə ki, var bir real effektiv nə Olivier burada təklif zip həyata faktorinq, və [Işitilemez] biz xilas ki, təklif şəhər və dövlətlərin. Belə ki, bu proses normallaşma kimi tanınır. ki, hər hansı suallar? Yaxşı mənə qeyd edək bu məhsulları növüdür bu, kifayət qədər aşağı səviyyədə olsa da, Siz hesab edirəm ki, bu müzakirə, Siz sort alırıq alaq otları məğlub Bu geniş bir təzahürüdür geliştiriciler üçün imkan pis olacaq. Və əslində, hətta biz da biz yaşadığınız zaman kursları mən tədris etdik, məsələn, təcrübəsiz lisenziya proqramçılar ilk baxışda, web qurmaq, Veb səhifə dəhşətli ola bilər. Onlar bütün var funksionallıq biz tələb developers yaxşı bir iş idi. Lakin onlar mütləq bilmirdim verilənlər bazası dizayn haqqında kifayət qədər və ya onlar çətin hesab etməyib məlumatların növləri haqqında kifayət qədər və istifadəçilər növləri veb var gedirdi və biz sonra, tapmaq, altı ay sonra, onlar məzun və ya köçüb sonra, ki, lənət olsun, bizim web həqiqətən, həqiqətən yavaş. Mən hətta olmaması haqqında söhbət deyiləm milyonlarla və ya istifadəçilər minlərlə. Mən kampus bir neçə yüz istifadəçilər demək kimə bütün kimi, məsələn, kursları üçün mağaza Eyni zamanda, onlar ki, kurs, kataloqdan istifadə etməklə proqram Qeyd və bir şey həqiqətən olur heç bir göstəriciləri var idi, çünki yavaş. Heç bir qırmızı ulduz idi belə danışmaq, ya da yox idi, mütləq ümumi məlumatların factored kosmik bəzi qənaət almaq. Və belə bir geliştirici Təftiş zaman və ya verilənlər bazası şəxs və ya kimi, vasitəsilə düşünmək suallar növləri hətta, kiminsə kodu incelerken, mütləq baxmaq deyil, demək Onların kodu bütün, lakin demək vasitəsilə verilənlər bazası masalar vasitəsilə baxaq. Nə saxlanılması olunur? Və sonra demək, yaxşı, bir gözləyin dəqiqə, niyə tam istifadə olunur? Biz 4 milyard varsa bu satır 1? Və bu cür Suallar bir fürsətdir cür geri itələmək və Burada bir mənada almaq bunu rahat değilseniz Bu olan kimsə daha çox texniki Bu sual, xahiş və ya şəxs həqiqətən onların məhsulları bilir. Və bu cür stuff, çox, insanların internet kim bəlkə, self-tədris olunur Tez-tez az öyrənmək çünki mütləq rast gəlmək yoxdur Siz əldə edə bilərsiniz, çünki çox verilənlər bazası və çalışan, ancaq oxumaq etdik halda Dərsliklər və ya olmuşdur up verilənlər bazası normallaşması barədə və endeksleme və performans, bunlar növ ki, zərər edir. Və hesab edirəm ki, və ya pis bir mühəndis bilər oh, yaxşı, daha yaxşı pay, demək olar ki, böyük bazası və ya daha sürətli məlumat bazası və ya yalnız bu pul atmaq şaquli miqyaslı, mütləq belə. Siz in-- getmək və siz getmək edə bilərsiniz fact-- və əlavə göstəriciləri sonra, və bunun üçün bir neçə saat bilər ki, yeni məlumatlar qurmaq bazası Mən əvvəllər alluded strukturu, Siz hələ, fakt sonra bu düzeltmek Bu harada ki, ayırmaq başlamaq pis olan yaxşı dizaynerlər dizaynerlər, yalnız estetik, lakin performans müdrik həmçinin. Hər hansı sual? Yox? digər növü NoSQL üçün So verilənlər bazası olan mən əvvəllər alluded üçün Siz satır və sütun yoxdur. Əksinə, bir şey var ki, bu kimi bir az daha görünür. Mən ümumi sintaksis istifadə gedirəm. Curly aşırma başına Burada bir çox istifadə edilə bilər. Siz bir şey ola bilər adı David kimi, son ola bilər adı, quotes Malan deyil, Siz ID ola bilər is-- Pardon, whoops-- ID, 1 E-poçt malan@harvard.edu və mən deyil sonra qalan yazaraq narahat, və bəzi başqa şeylər. Başqa sözlə, bu bir mətn nümayəndəliyi biz ümumiyyətlə zəng nə bir kompüter proqramı bir obyekt. Və bir obyekt yalnız ümumiyyətlə əsas dəyər cüt bir toplusu. Belə ki, yenə, bu təkrarlanan theme. Biz HTML əsas dəyər cüt gördüm biz indi əsas dəyər cüt gördüm verilənlər bazası kontekstində və biz kontekstində əsas dəyər cüt gördüm , mən bir dil əvvəllər bu gün düşünürəm. gələn saxlayır. And olsun ki, həqiqətən nə data sonunda aşağı, məlumat və metadata, və ya dəyərlər müvafiq olaraq və düymələri. Belə ki, qeyri-relational verilənlər bazası, bir şey əsaslanır Yalnız yığın obyektlərin, on birlikdə hər şey və qoymaq yaddaş, ümumiyyətlə olacaq kimi təsvir və ya bu kimi düşündüm. Mən kimi indi tərk edəcəyik alternativ yanaşma sort. Və bir mütləq deyil digər daha yaxşı. Əslində, çox dəbdə bu gün bazası sistemi MongoDB və Redis və bir neçə kimi sərbəst mövcud digər alətlər, lakin onlar dəbdə en getdikcə var. Qismən onlar əlavə təklif çünki Bu cədvəlli yanaşmalar üzərində xüsusiyyətləri, həm də istəyirik, çünki istifadə etmək üçün bir az daha asan, Siz kimi ağır düşünmək yoxdur, çünki Bu dizayn qərarları bir çox haqqında. müsbət və mənfi cəhətləri So. Belə ki, seçim var dərk kənarda, biz yalnız vaxt sərf nə. Belə ki, bunu edək. Bir az keçid edək geri indi web proqramlaşdırma, belə ki, biz cür bağlamaq ki, bir şey bu gün ki doldurulması, bir az hands-on var dünən bəzi boşluqları. Mənə bu ilk gedək. Belə ki, dünən geri bəzi canonical HTML idi ilkin idi pages, yalnız HTML, və sonra ikinci, CSS idi Cascading Style Sheets. Bu etmədik yeni tag edir dünən görmək, və ya dayanmaq, script tag sözdə. Siz, həqiqətən, bir bütünləşdirmək bilər çıxır dil web JavaScript adlı səhifə və web etmək pages bir şey yoxdur. Belə ki, nə deməkdir? Yaxşı, mənə irəli və yalnız gedək bir an bu kodu borc. Mən Cloud9 getmək üçün gedirəm, heç bir ehtiyac yalnız hələ orada özünüzü getmək, və mən bu alert.HTML zəng etmək üçün gedirəm. Mən burada mənim fayl yapışdırıb gedirəm. Və yalnız mən etdiyiniz nə aydınlaşdırmaq üçün imkan Məni bu ünvana getmək və xəbərdarlıq getmək və Hello World görürük. Amma bu underwhelming növüdür. Mən bir şey etmək istəyirəm bir az fərqli. Mən, həqiqətən, bunu gedirəm. Mən burada e getmək üçün gedirəm və script tags arasında, (Salam, dünya ') alert deyirlər belə bildiriş bir az sloppy var, amma HTML var, içərisində olan bir deyil JavaScript adlı dil, və bu deyirlər nə funksiyası zəng və ya proseduru zəng. Bu, bu halda, sanki, bir verb edir Mən code funksionallığı invoking edirəm başqası olduğunu yazdı. Belə ki, funksionallıq bir deyil alert, belə ki, bu səhifəyə gedək və indi indi yenidən basın və interaktiv bir az oldu. Bu köhnə məktəb və çirkin növü var. Bu cür sizə xatırladır pop-up, bəlkə, yesteryear lakin bu bir şey nə idi daha proqramlı az. daha Belə ki, daha, bu nə edək daha maraqlı bir şey. mənə burada getmək və bu xilas edək. Mən irəli getmək üçün gedirəm və Biz dünən olduğu kimi bir forma yaradır. Əslində, siz nə bilirik? Mən getmək üçün gedirəm google.html olan biz kimi baxdı ki, dünən başladı Bu, hansı vasitəsilə biz pişik üçün axtarış Amma cür bir var hiss cari versiyasını bug. Bu pişik üçün çalışır, lakin güman Mən əməkdaşlıq yoxdur və mən heç bir şey yazın, Mən sadəcə təqdim basın. Bu qəribə davranış növü var. , Real Google apardı mənə bir səhv baş beledir vermədi. Mən istifadəçi demək istərdim Bizə bir dəyər vermək lazımdır. Beləliklə, biz bu necə ola bilər? Yaxşı mənə Cloud9 və geri gidelim mənim səhifənin üst getmək imkan və bu kimi bir script tag əlavə, burada Mən bəzi JavaScript kodu yazın gedirəm. Mən aşağıdakı gedirəm. (Document.getelementByID-- və geri varsa biz ki, əvvəllər haqqında danışdı ki, ki, fəaliyyət göstərir. Nə ID Mən almaq istəyirəm? Mən Q almaq istəyirəm və mən gedirəm demək bu kimi heç bir şey bərabərdir həqiqətən mənə ikiqat quotes istifadə edək yalnız consistency-- üçün heç bir şey bərabərdir sonra alert burada ( "bir sorğu yazın"). Mən görünür nə var bir şərt kimi bir şey. Biz Not bu ümumi bir fikir gördüm. O puzzle biri kimi bu kimi baxdı ədəd. Və mən nə deyirəm? Yaxşı, aşağı burada, mən hiss aşağıdakı edəcəyimiz. Bu forma vermək gedirəm q sahəsində bir ad deyil, yalnız olan Google keçdi olur, amma mən nə bir yerli tanıdan verəcəyəm, də q çağırıb. Amma bu bir şey zəng edə bilər I istəyirəm, yalnız sadə saxlamaq üçün gedirəm və həmçinin yalnız sadəlik üçün, q zəng. İndi mən gedirəm bir az daha bir şey. burada forma sahələri üzrə, mən gedirəm bir hadisə handler deyirlər nə əlavə edin. təqdim, mən zəng etmək istəyirəm tesdiq adlı funksiyası. Bu, hələ bu mövcud deyil söz, və ya bu verb tesdiq, Mən gedirəm çünki burada artıq bir kod əlavə edir. Mən funksiyası Doğrula'yı demək gedirəm. Mən bu indent və başqa əlavə etmək üçün gedirəm buruq burada brace və başqa bir. bu artıq nə düşünün. Mən yaratdığı kimi hesab now-- var mənim əvvəllər yox idi öz puzzle parça mövcud və bu puzzle adlı etdik tesdiq puzzle parça parça. həyat Onun məqsədi icra edir Bunun içərisində kodu dörd xətləri. document.getElementByID varsa belə konseptual, ki, element daxil etmək niyyətindədir Onun unikal HTML element fikir olsa da sonra yalnız q və sintaksis, bir az qəribə görünür ki, bərabər yalnız bərabər deməkdir bərabərdir. Belə ki, deməkdir əgər ilə element q unikal identifikator, kazanılmış zaman, heç bir dəyəri var, yalnız bərabərdir dırnağı bağlamaq quote, heç bir şey yoxdur, sonra mən nə istəyirəm? Mən istifadəçi fəğan istəyirəm. Və biz burada böyük detal getmək olmaz. Mən yalan qayıtmaq üçün gedirəm. Bu bir səhv deyil. Else, mən doğru qayıtmaq üçün gedirəm. Belə ki, ya işləyib və ya olmadı. False və ya doğru. Mən hər hansı bir səhv etmədiyini indi əgər, oxşar saxlamaq və bu yenidən bildirin. Və mənə yalnız ikiqat çek edək ki Mən, əslində, hər hansı bir hatası etməyib, mən özümü xəcalətli deyil. bu işləri əgər in nəzər salaq. Belə ki, indi pişik yazın gedirəm. Bu hələ də işləyir, və ya ən azı yarım işləri. İndi mənə yenidən, indi edək Mənə yazaraq olmadan təqdim edin anything-- lənət olsun, bu qırdı. Bir dəqiqə. Mənə konsol açaq, [Işitilemez], daxil səhifəni yenidən. Bir daha bu cəhd edək. Oh, lənət olsun. Mən unutdum. Mən typo etdi. Mən nə xatırlayıram. .Dəyər. Mən dəyər əgər demək üçün nəzərdə element kimin ID q edir , Sonra istifadəçi fəğan ki, bərabərdir. Belə ki, indi mənə daha nəfəs edək. Burada getmək. biz var gedin. bir sorğu daxil edin. Belə ki, mənə vasitəsilə imkan deyil. Mən bu cür oynaq ola bilər əvəzinə heç bir dəyəri yoxlanılması, Mən kimi bir şey demək olar heç bir daha çox pişiklər üçün axtarış, və indi biz daha çox playfully imkan bilər itlər üçün istifadəçi axtarış əgər o istəyir, ya mən burada getmək əgər indi bilməz, pişiklər üçün axtarış. Belə ki, paket, burada nə var? Belə ki, bir, biz daxil olduğunuz HTML və CSS bizim dünya, proqramlaşdırma funksionallıq. İndi həqiqətən bilərsiniz kodu qərarlar qəbul etmək. Əvvəllər mən nə edə bütün qeyd edir mətn content və ya qrafik content və nə baxmaq demək kimi və harada keçirmək üçün. İndi mən, həqiqətən, xahiş edə bilər web page suallar və əsaslı qərarlar qəbul bu və istifadəçi təklif Mən ona fəğan lazımdır. Belə ki, bir şey edək bu ilə öz. Durmayın, mənə növbəti slayd açmaq bildirin Burada, və yalnız bir şey qeyd. Just CSS ilə kimi, biz amil ola bilər ayrı bir fayl bizim JavaScript kodu, Siz eyni şey edə bilərsiniz CSS ilə JavaScript. Və bir mənbə istifadə istifadə script tag bağlayırlar. Amma biz indi şeyi çətinləşdirir deyil. Əksinə, əgər bilər bu səhifə getmək, ancaq mənə order-- bu ətrafında hərəkət edək Siz ola bilər, əgər burada, bu səhifəni gedin. Burada Bu URL. Bu gün slaydlar var. Siz, çünki yeniden ola bilər Mən şey bir neçə əlavə etdik. Bəzi bulmacalar gözləyir Amma orada getmək. Bu bizə imkan verəcək, bir az daha çox əyləncə kontekstində, bəzi JavaScript dabble. Və orada almaq zaman, Mən gözləyir nə izah edəcəyik. yaşıl alın. blue seçin. yaşıl, qırmızı edir Sets. Oops. Sorry. Bu dərəcədə bizim Bu problem üçün sənədlər. Bu aşağıdakı kimi iş gedir. Belə ki, bu barədə nə səhifə bütün dəstə edir Bir dost ilə image bulmacalar Stanford Universitetində. Belə ki, burada gördükdə nə demək olar ki, o sehrli göz bulmacalar bir növü, lakin yalnız ona nəzər əgər, heç bir şey həyata pop olacaq. Əksinə, bir şey deyil Bu şəkil gizli. Və bu şəkildə gizli. Şəkillər, bildiyiniz kimi, ola bilər yalnız üç rəng ibarətdir. Bəzi qırmızı, bəzi mavi və bəzi yaşıl. Və biz bütün edə bilərsiniz göy qurşağı rəngləri elə bu üç rəng qarışdırmaqla. Belə ki, bu, əsasən yaşıl görünür və mavi, lakin Nick burada dediyi kimi, Bu dəmir puzzle image bir puzzle edir. Bu bir resim var məşhur bir şey, lakin, image təhrif edilmişdir. məşhur obyekt qırmızı dəyərlər var. Lakin, red dəyərlər bütün 10 bölünür edilmişdir. Belə ki, onlar 10 bir amil çox kiçik. Belə ki, başqa sözlə, Nick orijinal image etdi, və o, bütün desaturated bu qırmızı, qırmızı məbləği azaltmaq mürəkkəb, Siz, bu. mavi və yaşıl dəyərlər , Yalnız mənasız təsadüfi dəyərlər, aka səs-küy nəzərdə real image gizli. Belə ki, nə Nick etdi o sonra qırmızı və aşağı tonluk o, yalnız təsadüfi atdı mavi və yaşıl məbləğləri qaranlıq cür image hələ də həqiqətən nə. Bu təhrif geri olmalıdır image aşkar etmək üçün. Birincisi, bütün mavi və yaşıl dəyərlər müəyyən sıfır yolu onları almaq üçün, və nəticə baxmaq. sonra 10 hər red dəyər çoxaltmaq, geri scaling təxminən son dəyəri. məşhur object nədir? Belə ki, bütün bu düzbucaqlı var İndi brauzerinizin. Və bəzi olduğunu qeyd starter indeksi, belə danışmaq. Bu JavaScript kodu edir ki, Nick sizin üçün yazmışdır. Və var ki, qeyd ortasında bir xətt ki, ki, bir çizgi çizgi ilə başlayır nə ümumiyyətlə comment deyirlər. Bu proqramçı bir söz deməkdir ki, heç bir funksional mənası var. Bu insan üçün bir vizual replika var. Belə ki, davam edə bilərsiniz yalnız ki, xətt silmək, və super ehtiyatlı olun silmək və ya başqa bir şey dəyişir. Və mənə yalnız vasitəsilə gəzmək edək Bu kodu edir və mən onu tərk edəcəyik nə sizə gizli image anlamaq üçün. Mən yalnız var burada Bu ilk line Qeyd aşağıdakı verir. sol tərəfində, Siz deyirlər nə var Nick özbaşına var ki, dəyişən, lakin əsaslı image im çağırıb. sağ tərəfində ki, bərabər işarəsi, o mənə yeni vermək deyən var quote, dırnağı bağlamaq "sadə image". bu çərçivədə Simple image, , Yaxşı, bir sinif deyirlər nə bir sinif kimi növ var texniki prototype lakin həqiqətən, Bu, mənə yeni obyekt verir fayl olan məzmunu, dəmir-puzzle.png. Başqa sözlə, Nick yaratdı sadə image bu anlayışı biz pedaqoji üçün edə bilərsiniz, belə ki, məqsədləri, image ilə oynamaq və onun qırmızı dəyişir yaşıl və mavi dəyərlər. Və necə ki, edirik? Burada Bu qədər sirli sintaksis cür təkrar blok kimi bəzi əvvəllər Not gördüm ki, 10 dəfə təkrar edə bilərsiniz, bu gün. Bu halda, Nick yoxdur 10 kimi bir sıra hardcoded. Bunun əvəzinə o, başlamaq deyib 0 x adlı dəyişən, x az olub olmadığını kontrol image eni. Və belə ki, daha düzgün olmaq, şəkil dəyişən, dot onun daxilində getmək deməkdir və onun eni almaq və sonra açıq paren, qapalı paren yalnız bir proqramçı yoldur Bu bir funksiyası var deyərək. Bu bir prosedurdur. Bu işlevsellik edir başqası yazdı. istifadə edin və bir cavab mənə geri verir. Və sonra x ++ bir xülya yoludur Bir dəfə bunu sonra söyləyərək, 1-x arttırmayı. Başqa sözlə, bu bir proqramçı yoldur of bir loop fahişəliyə cəlb edilməsi maddələri üzərində təkrarlamaq gedir bir resim bütün sütunları. Bir image yalnız bir grid edir nöqtələr, satır və nöqtələr sütun. Bu iterating bir yoldur o sütun bütün. Və daxili, Eyni zamanda, biz iterating edirik Heights, burada və burada və burada. Belə ki, bu dolaşmışlar yalnız bir yoldur, demək olar ki, köhnə məktəb makina kimi, yalnız getmək iteratively bütün image. Hətta kifayət qədər tam deyil aydın, indi üçün iman götürmək, o üç xətləri ki, kodu birlikdə Siz iteratively baxmaq üçün imkan gedir hər pixel at, hər image nöqtə. bir pixel nədir? biz baxmaq əgər Bəli, aydın olmaq orijinal və zoom, Siz, həqiqətən, sizin gözləri qoymaq kompüter ekran, ki nöqtələr yalnız bütün dəstə bir neçə min nöqtələr birlikdə qablaşdırılır. Və belə ki, nə haqqında nə var? o nöqtələr hər biri, son definition, ümumiyyətlə nə nəticəsidir Qırmızı, yaşıl, mavi adlı RGB, olan yenə birləşdirilə bilər Siz rəng hər hansı bir sayı verir. Əslində, siz yadda əgər , Illər əvvəl bir çox bunlar kimi proyektor ekranlar heç bir lens amma üç üçün istifadə olunur. Onlardan biri biri qırmızı işıq tüpürmək onlara biri yaşıl işıq tüpürmək mavi işıq tüpürmək. Və bir orta məktəb olsaydı Onlar heç olduğu kimi mən düzgün aligned idi həmişə tarixi film seyr ki, az təhrif idi üç rəng deyil, çünki Düzgün birləşən. Amma hər çıxır ki, Qırmızı, yaşıl və mavi bu dəyərlər, onlarla bağlı bir sıra ola bilər. Məsələn, qırmızı 0 Xeyr qırmızı, yaşıl 0 heç bir yaşıl deməkdir ki, və mavi 0 heç bir mavi deməkdir. Belə ki, heç bir qırmızı, yaşıl varsa, və mavi Xeyr, siz nə rəng var? Auditoriya: [işitilemez] DAVID MALAN: Siz ki Belə ki, ağ ümid edirik. Təəssüf ki, bu üzr operates--? Auditoriya: [işitilemez] DAVID MALAN: Belə ki, həqiqətən bu halda, qara var. Belə ki, bu heç varsa rəng qara var çevirdi. Lakin, varsa, bir çox deyək Onlardan, qırmızı bir çox kimi, bu 255, yaşıl bir çox və bir çox mavi, ağ var. Belə ki, bu iki ifrata var. Mən çox bu məntiq Belə ki, əgər qırmızı və yaşıl və mavi, nə rəng olar? Auditoriya: [işitilemez] DAVID MALAN: sağ, açıq-aydın. Və sonra qırmızı, çox Yaşıl heç bir mavi, və sonra Yaxşı yaxşıdır, biz yalnız bitirmək lazımdır Bu, yalnız çünki, lakin bu, əlbəttə, indi mavi. İndi bu rəng birləşdirə bilər. İndi bir kənara, siz hər hansı kimi Heç bir faktiki web dizayn edildiyini Siz, həqiqətən, güc oxşar rəmzləri görürük. FFF-- və həqiqətən, bu yəqin ki, hətta. Bu FFFFFF var. Hər kəs heç F və E-nin görüldü və A through-- bu çıxır ki, Biz ondalık haqqında dünən danışıb və bu gün, mehriban decimal haqqında. Bu gün biz ikili danışıb. Çıxır, hexadecimal çox deyil ümumi baza sistemi kompüter istifadə etmək. Binary iki decimal 10, hex 16. Və necə çıxır Siz hexadecimal saymaq? Zero, bir, iki, üç, dörd, beş, altı, yeddi, səkkiz, doqquz, doqquz sonra nə istifadə edirsiniz? növbəti sayı nedir? Biz artıq sıfır istifadə olunur. Mən bu 16 lazımdır. Zero, bir, iki, üç, dörd, beş, altı, yeddi, səkkiz, doqquz, Bəzi ixtiyari konvensiya lazımdır. Və nə insanlar bəzi vaxt qərar bundan doqquz məktub ki, gəlir sonra A və Beləliklə B və sonra C. yol hexadecimal saymaq sıfır, bir, iki, üç, dörd, beş, altı, yeddi, səkkiz, doqquz, A, B, C, D, E, F, və saymaq Siz bütün yol, bu 15 çıxır. Belə ki, 15 sıfır sıfır vasitəsilə F. İndi niyə ki vacibdir? Bəli, iki F-nin zaman, Siz 255 ifadə necə ki, var. hekayə qısa, belə uzun Photoshop dünya, ki, qrafik dizayn proqram, web inkişaf dünyada, Siz rəng çox olduğu, əlbəttə, ilə oynamaq, tez-tez proqramçılar olacaq , Hexadecimal həmin ifadə yalnız çalışır, çünki bir az sadə olmalıdır. Hətta ilk baxışda olsa daha kompleks var. hər halda ki, bu vacibdir Stanford Nick çünki Bizə funksionallığı altı ədəd verdi Siz ki, qönçələnmə proqramçılar, indi istifadə etmək imkanı olacaq. bu web daxil inşa səhifə altı funksiyaları, Nick yazdı altı prosedurları. Onlardan üçü bir sıra olacaq, qırmızı, yaşıl və ya mavi dəyər. Onlardan üçü ki, dəyəri müəyyən edəcək. Bu vurğulayır yalnız placeholders var, belə ki, o nə bilmək lazımdır. Bu üç funksiyaları ilə Belə ki, bunlar ilk bir x-koordinasiya olacaq, və bunlar ikinci bir y-əlaqələndirmək olacaq. dot Başqa sözlə, hansı pixel Siz yaşıl almaq istəyirəm, Ki, mavi almaq qırmızı almaq. Və sonra burada, bu olacaq x, bu y dəyər olacaq, bu bir sıra olacaq. Belə ki, ilk nə edək Bu xətt birlikdə və sonra mən sizə onu tərk edəcəyik istirahət anlamak üçün cəhd. talimatları So Bu səhifədə, biz lazım bir amil qırmızı artırmaq 10, və yaşıl aradan qaldırılması lazımdır və mavi aradan qaldırılması. nin sonuncu ssenariləri ilə başlamaq edək. Mən istəyirəm, mən gedirəm Belə ki bəzi boşluq istifadə edərək indent, Mən qırmızı təyin etmək istəyirsinizsə, yaşıl və ya mavi dəyəri, Mən aşağıdakı gedirəm. Image, im.setBlue, sonra Burada göstərişi əsasında nə üç şey I olmalıdır İndi daxili parantez növü? Mən x dəyər lazımdır nə sayı y dəyəri və Mən xilas olmaq istəyirsinizsə, burada qoymalıdır mavi, burada bu hekayə əsasında? Just sıfır. Mən heç bir mavi istəyirsinizsə, mən yalnız deyiləm sıfır dəyişdirmək üçün gedir. İndi yalnız bu nə recap edək. Mən bu üst burada var ikinci və üçüncü xətləri, Mən iki loops iddia nested loops, əgər Ki, təsir üçün gedir ki, sağ soldan irəliləyir, X bütün alt üst dəyərlər və y dəyərlərin bütün. yenə Çünki bir şəkil satır ve sütun yalnız bir grid. Belə ki, bu almaq üçün gedir bütün mavi xilas. Sizə növbəti xətti tərk edək. Mən bütün yaşıl xilas olar? Auditoriya: [işitilemez] DAVID MALAN: Nice. Auditoriya: [işitilemez] DAVID MALAN: Nice. Mən kiçiltmək gedir və yalnız almaq alıram Əgər hər hansı bir hatası həyata etdik ki, qayğı. Və rahat edirsinizsə Siz etdiyiniz nə ilə irəli getmək və düyməsini basın / Run edin və siz almaq nə görmək. Və yenə, biz etdik yalnız üç dəyişikliklər. Biz ilk silindi şərh və əvəz kodu bu iki xətləri ilə. Siz hit lazımdır, əgər OK Run / Save düyməsini bir neçə dəfə bir şey düzeltmek üçün. Və mənə də zoom imkan my kod kopya edə bilərsiniz. Yaxşı. Mən Andrew nə var bax bir səhv görünür. O, yalnız böyük döşlər var Onun ekranda düzbucaqlı. hər kəsdən varmı böyük döşlər düzbucaqlı? Auditoriya: Bəli. DAVID MALAN: Big black düzbucaqlı? OK, belə ki, hesab edək Bu nə deməkdir haqqında. Biz sıfır ki, sıfır, sıfır olduğunu ifadə edərək, belə ki, heç yaşıl, qırmızı, heç bir mavi, Siz qara vermək niyyətindədir. Və bu çıxır ki, Bizim noutbuk ən yalnız kifayət qədər sədaqət yoxdur. Siz kifayət qədər deyə bilməz həqiqətən var bir şeydir. Və cür bəlkə yağsız əgər irəli və geri ekran, bəlkə bir görürsünüz orada az bir şey? Bəlkə, mehriban, sort? Bu mükəmməl qara deyil. Auditoriya: [işitilemez] DAVID MALAN: Spoyler! bəzi qırmızı, orada ancaq spesifikasiyası yadda problemin, Nick aşağı tonluk. O, bir qədər onu desaturated lakin sıfır bütün yol. Beləliklə, biz məbləği böyütmək istəyirsinizsə qırmızı, mənə bu oyun təklif edək. mənim ekranda zoom edək. Və mənə irəli getmək və deyək məbləği im.getRed (x, y) bərabərdir. Kodu Bu xətt mənə verir bir şey dəyişən çağırıb. Mən arguably, özbaşına, lakin əsaslı mənim dəyişən nə adlanır yəqin? Məbləğ. Just məbləği. Mən bunu adlı etdik bilər bir şey istəyirəm, amma mən Bu digər funksiyası istifadə Mən əvvəllər təsvir x vergül y qırmızı məbləği almaq üçün. Niyə bunu etdiniz? Nə burada etmək istəyirsiniz? Siz add-- lazımdır Auditoriya: [işitilemez] DAVID MALAN: Bəli, bəlkə 10 ilə çoxaltmaq. Bu bilmirsinizsə, mən deyiləm irəli getmək və bunu edəcəyik. Mən irəli getmək üçün gedirəm və demək, mən qırmızı məbləği istəyirəm Mən hər hansı olmaq istəyirəm , Qırmızı olan, 10 dəfə və ulduz haqqında ulduz sizin klaviatura the-- x istifadə etməyin. ulduz istifadə edin. Bu şeyi çoxaltmaq necə ən proqramlaşdırma dilləri. Belə ki, Kareem nin intuisiya görə, məbləği adlanan bu dəyişən saxlanılır, Mən yer XY istədiyiniz nə qədər qırmızı. Necə, indi, mən edə bilərəm ki sayı var pixel? Siz artıq əvvəl bu etdik. Siz yaşıl və müəyyən sıfır, heç bir dəyəri mavi. Auditoriya: [işitilemez] DAVID MALAN: Bəli, bəli Siz 10 istəmirəm. Siz artıq burada riyaziyyat etdi. Belə ki, biz, qırmızı dəyərini alır olan ehtimalla, aşağı sayı. 10 tərəfindən vurulması edirik. Siz etmək istəyirəm nə indi dəyişən məbləği? Auditoriya: [işitilemez] DAVID MALAN: Nice. Belə ki, nə im.set--? Auditoriya: setRed. DAVID MALAN: yer XY da setRed. Bəli. Və yalnız məbləği. Başqa sözlə, bir dəyişən müvəqqəti tutucu ki, siz istədiyiniz bir şey qoya bilər. Biz qoyulması üçün baş hazırda bu sayı. Biz onu vurulur etdik 10 bu böyük etmək. İndi ki, dəyişən əvəz alıram üçüncü dəlil, və ya giriş kimi qırmızı təyin etmək üçün. Və belə ki, bir dəfə ki bitirmək və qeyd etmək yarı colons və parantez. Durmayın və basın / Run yenidən saxlamaq və siz görmək lazımdır, magically, həqiqətən nə idi var. [? Arwa?] Var nə var? tam hüquqlu Eyfel qülləsi qırmızı, olduqca qaranlıq deyil. bəli, indi daha aydın olmalıdır? TAMAM. Və Andrew, çox qara qutu? Auditoriya: [işitilemez] DAVID MALAN: Bütün hüququ. Mən ekranda bu davam edəcəyik. Bu ilə oynamaq istəyirsinizsə sonra, mən sizin üçün bu yeniden lazımdır. Amma bu code burada məhz etdi. Niyə biz digər bir yoxdur. Mənə bir az aşağı diyirləyin edək. bu halda, proyektor So həqiqətən ədalət etmir. Lakin ekranlarında, yəqin ki, Bir çox qırmızı və çox qara qutusu var. Bu da, bir puzzle edir ki, məşhur bir şey göstərir. Lakin, image təhrif edilmişdir. doğru image, bu dəfə edir mavi və yaşıl dəyərlər. Lakin, onlar bütün bölünür etdik 20 belə dəyərlər çox kiçik. qırmızı dəyərlər yalnız var təsadüfi nömrələri, səs-küy. Bu təhrif qaytar doğru image aşkar etmək üçün. Belə ki, Nick sonra nə deyir. sıfıra qırmızı dəyərlər seçin və sonra nə korlamaq deyil. Sonra mavi çoxaltmaq və 20 yaşıl dəyərlər. Belə demək olar ki, var Eyni proqram əvvəl, lakin proses geri edirik. Mən Məcəlləsindən qoyacaq əvvəl halda ekranda Siz onu geri müraciət etmək istəyirəm və ya ki, bir daha oynamaq. Mənə zoom edək. Amma mis image həll puzzle, sayı iki. Auditoriya: [işitilemez] DAVID MALAN: OK, belə ki, mən bu bir kimi bir çox göstərişlər vermək niyyətində deyil. Mən oh, edək would-- Burada bir typo var, baxın. Belə ki, burada, unutmayın həqiqətən orada getmək lazımdır. Əgər istəyirsinizsə Mən təklif nə bu bir diqqət, cavab var. ki, ki, kopya etmək istəyirsinizsə ilk bir iş almaq lazımdır. Və sonra kimi istifadə edə bilərsiniz ikinci bir ilham. Nice. Yaxşı. Və maraqlı üçün, bu sadə nümunə elm və ya sənət steganography adlanır images informasiya gizlətmək sənəti. Tipik olaraq, images ola bilər çox açıq-aşkar watermarked alt bir logo ilə künc, lakin aydın, siz daha çox inkişaf etmiş ola bilər bu barədə və həqiqətən Şəkillər digər images saxla elə bu texnika ilə. 30 saniyə edin, və sonra biz will ən azı görmək nə elan edir. Mən üçüncü tərk edəcəyik bir at-ev həyata kimi bir Bir daha istəyirsinizsə bu həftə sonu çağırış. Mən Andrew bilər edirəm ilk kazanılmış var. ikinci image, Andrew nədir? Auditoriya: Azadlıq heykəli. DAVID MALAN: Azadlıq Heykəli cavab bu dəfə olacaq. Belə ki, yenə, yalnız bir neçə sadə misal, məqsədi siz necə hissi vermək biz şəkilli Not tərcümə etdik daha annoying və daha çox blokları mürəkkəb indeksi, lakin fikir bütün tam hələ eyni, tətbiqi ilə də olsa indi dəyişən anlayışı olan müvəqqəti bir şey saxlamaq üçün qadirdir. , Daha bir hands-on edək yalnız indi nöqtələr qoşulmaq üçün bir şey bir az daha real-dünya. Hazır olduğunuzda, əgər bilər ekranda bu URL gedin. Bu sizin surəti də var slaydlar, developers.google.com/maps~~V. Nin həqiqətən bir şey edək real, belə ki, internet üzrə danışmaq Google Maps API istifadə edərək, və ya tətbiqi proqram interfeysi, bu şəkildə. Google, bir çox şirkətlər kimi, pulsuz funksionallıq bir çox təmin edir Siz qurmaq üçün istifadə edə bilərsiniz ki, sizin öz maraqlı applications. Əslində, siz heç istifadə etdiyiniz əgər Uber bir kabin və ya bir avtomobil almaq üçün, Siz yəqin ki, Uber var bilirik ki, bir xəritə və bu avtomobil göstərir. Yəni, mən kimi yaxşı kimi , Google Maps API demək. Onlar, həqiqətən, Google xəritələri istifadə olunur lakin Uber bir mapping şirkət deyil, nə də ki, bir olacaq xüsusilə maraqlı problem üst həll etmək üçün avtomobil xidmət problem. Və onlar dayanırıq, yenə çiyinlərində digər, bu halda Google. Belə ki, onlar Google xəritələri ancaq öz istifadə avtomobil xidmətləri və digər bu kimi xüsusiyyətləri. Beləliklə, biz istifadə etmək olacaq Bu aşağıdakı etmək. Mən, çox sürətli getdi sonra əgər yalnız bir anda mənə artıq zəng. image məhsullarının bəzi recap xoşbəxt. Siz özünüz görməlisiniz oxşar səhifə. Belə ki, Google gözəl və onlar yaxşı arasında istəyirik yalnız API təmin, lakin pulsuz API ki, ilə oynamaq və ya kommersiya istifadə edə bilərsiniz. Onlar istifadə əgər doldurulması başlamaq yoxdur yüksək, lakin mən əvvəlcədən önə keçdi və bir pulsuz hesab üçün bizə imzalanmış Ümid edirəm ki, 10 kompüter, ki, birdən-birə bizə yetkisini elinden deyil. Belə ki, inşallah, bu nümayiş işləyəcək. Onlar üçün API olduğunu fark Android, iOS, web, və web services, nə edir. web diqqət edək. Belə çəhrayı qutusu, web basın ki, bir səhifə üçün ümid edirəm ki, sizə rəhbərlik edəcək burada. Onlar API bütün dəstə var. Və bu bir az ola bilər ilk böyük, amma biz istədiyiniz nə vasitəsilə bizə sükan arxasında oturmaq lazımdır. sol üst Google Maps JavaScript API, JavaScript API. Belə ki, davam və bir basın. Və indi sizə rəhbərlik edəcək səhifə, demoları və nümunə kodu aşağıdakı. Mənə burada kiçiltmək edək. Və bizə aşağıya fırladın to-- me almaq imkan tez start addımlar deyir harada. Sizin ekran mina kimi baxmaq lazımdır. Və iki addımlar var almaq əsas və inkişaf başlayın. Mən artıq addım bir etdi ABŞ, bir qondarma əsas əldə. Bu ümumi bir fikirdir. Bir API açarı yalnız ümumiyyətlə böyük təsadüfi sayı və ya string Siz ehtimal ki, Sizin kodu daxil yapışdırıb, Google bilir ki, zaman olan Siz onların API onların xidmətindən istifadə edirik. biz olduğunuz demək deyil bir şey ittiham olunur. İndi basın, yerinə bir inkişaf başlamaq basın. Siz yalnız mənə dalğa bilər artıq biz harada əmin əgər. Belə ki, biz yalnız danışıq olacaq yerüstü, burada ancaq Mən məcburedici olacağını düşündüm həqiqətən hamımız var, bir pəncərə Cloud9 istifadə və başqa pəncərə bu tutorial, həqiqətən öz almaq imkan verir Ərizə və çalışan ki, xüsusi Google embeds öz web xəritəsi, və sonra bir və ya iki funksiyalar əlavə edir. Amma biz yalnız danışıq olacaq Biz nə edə yerüstü. Belə ki, yalnız bir sürətli ağlı başında olma çek. hər kəs bu səhifədə deyil Google Maps JavaScript API? başlamaq demək lazımdır. Biz vasitəsilə getmək fikrində deyilik hər hansı bir vasitə ilə bütün şey. OK, başqa nişanı, yoxsa Cloud9 getmək yoxdur, açıq var və özünüzü yalnız almaq yeni nişanı, nəticədə. Belə ki, yenə, dünən c9.io, c9.io və yeni bir fayl yaratmaq. Və irəli və zəng getmək bu nə istəyirəm. Mən mina map.html çağırıb. Html bitən bir şey edin. Və təxminən olmalıdır Mən bu prosesdə am harada boş yalnız bir yanıb-sönən tez tab map.html kimi bir şey çağırıb. Və ya fayl, yeni fayl bu dəfə. İndi artıq Google Maps JavaScript API, biz oxu keçmək lazımdır Bu mətn bütün vasitəsilə. Amma salam dünya qeyd həqiqətən hər yerdə, indi görürəm. Salam dünya rəngli bu böyük var HTML bütün dəstə nümunəsidir. Durmayın və surəti və yalnız bu yapışdırıb HTML, üst doc növü belə yaxın HTML tag bütün yol getmək irəli və yenidən that-- bütün surəti, ki, salam dünya altında misal və sizin Cloud9 nişanı yapışdırıb belə ki, indi ekran təxminən mina kimi baxmaq lazımdır. Və saxlamaq, lakin yalnız hələ yük deyil. at edək ilk göz kodu və görmək əgər biz çıxarmaq və ya öyrənmək bilməz Google nə olan Bizə kor-koranə surəti və yapışdırıb var. Onlar yalnız kömək etmək istəyirik, sanki, bizə başlamaq, lakin çox yoxdur həqiqətən orada mürəkkəbliyi. Hər hansı bir sualınız yalnız hələ? Biz irəliləmək üçün təhlükəsiz mi? TAMAM. Belə ki, tez, yalnız nə edək bəzi tez ağlı başında olma çek. Line bir nə , Görmək, və ümid Ki, DOCTYPE HTML nə deməkdir görmək? Kareem, geri? Auditoriya: [işitilemez] DAVID MALAN: Bəli. Burada HTML 5 gəlir. Eyni zamanda, iki xətti ekran burada hey brauzer deməkdir Burada faktiki HTML gəlir. Line üç hey browser edir, Burada baş gəlir. Line dörd hey, əlbəttə, browser, burada adı gəlir. line beş nə edir? Əslində, bu deyil həqiqətən bizim üçün bir şey yoxdur. Bu halda, yalnız boyutlandırır bir default səhifə. Line altı, biz danışdıq, lakin bu deyil character encoding göstərir. faylları kodlar üçün müxtəlif yolları var, xüsusilə xarici dillər üçün. UTF-8 yalnız default olmağa çalışır. Belə ki, indi biz line görəcəksiniz 16 vasitəsilə yeddi bəzi CSS. Və biz görmədim etdik, hətta əvvəl bu şeyi, biz növ nəticə çıxarmaq olar. Belə browser hey tətbiq səkkiz vasitə xətti aşağıdakı iki tags bütün yəqin? HTML və bədən mətn. Belə ki, vergül orada yeni bir şey deyil. Və yalnız bir yolu var Eyni anda birdən çox tags ifadə. Sonra qıvrım aşırma var. Belə ki, yəqin, bu brauzer deyir, səhifə 100% hündürlüyü edir. Belə ki, çox az var, hətta content, bütün səhifə etmək, şey səhifə doldurmaq etmək. Xəritə nəticədə səhifə doldurmaq olun. Margin ki, nə deməkdir? Bu ixtiyari kimi adətən var kənarları ətrafında ağ kosmik bəzi browser dizayner yalnız , Olmalıdır qərara çünki cür şeylər təmiz baxmaq edir. Amma biz istəmirik. Biz xəritəsi gedir istəyirik kənarları bütün yol. Padding, qaydalarından ruhu oxşar. Qaydalarından xaricində, padding deməkdir daxili, lakin bu müqavilə eyni növü var. Bu bufer bir az var Siz və kənarları arasında. Və sonra line 13 yaxşı tez baxılması üçün şans. Nə kəskin işarə xəritəsi edir demək, və ya hashtag xəritə deməkdir? ki, prinsipcə, nə müraciət edir? Auditoriya: [işitilemez] DAVID MALAN: Məhz. Bu əmlak bu CSS mülkiyyət Yalnız bir şey tətbiq, HTML tag ki, dırnağı bağlamaq "xəritəsi" quote bir ID var. İndi edək sürətli irəli, gedin fayl alt aşağı olan çox uzaq deyil, line bildiriş 19 Mən kimi dəqiq yapışdırıb əgər, line 19 olan yalnız bir div var səhifə, dünən mən bölgüsü düzbucaqlı bölgə çağırıb. Bu, heç bir şey var. Bu açıq tag yaxın tag var. Amma unikal ID yoxdur. Belə ki, nə görünür burada baş verən Google Bizim web page readying olunur tam 100% boyu var, və heç bir padding, heç qaydalarından, çünki biz daxili qoymaq olacaq Onun unikal ID edir bu div, bu xəritə, faktiki əlaqədar xəritəsi edir. Və biz doldurmaq istəyirəm səhifə və yalnız ortada bəzi kiçik düzbucaqlı ola bilər. Belə ki, line 14 Eynilə, vurğulayır 100% hündürlüyü olmalıdır özünü xəritəsi. Belə ki, indi xətləri 20 arasında fərq 28, bu JavaScript kodu. Və bu belə olsa, var Bir az qəribə syntactically bütün çox burada orada gedən deyil. line 21, bu elan edir bir şey dəyişən çağırıb. Bunun əvəzinə zəng biz əvvəl olduğu kimi, məbləğlər, biz daha dəqiq deyərək edirik yalnız dəyişən deməkdir var. Biz ki, istifadə edə bilər Nick indeksi, amma o yox idi, belə ki, mən Ya bunu narahat etmədi. Bu adlı bir dəyişən var xəritə, və sonra var bir funksiyası yəqin initMap çağırıb. Belə ki, bu, bizim öz xüsusi kimi Not puzzle parça. Biz bir parça yaratdıq initMap adlı funksionallığı, və siz cür nəticə çıxarmaq olar nə burada olacaq. sol tərəfində, biz bir dəyişən var, belə ki, biz aşağıdakı qoymaq olacaq ki, dəyişən daxili şey, sağdan sola. sağ tərəfdən hey deyir browser, mənə yeni Google map verir. Və google.maps.map yalnız bir funky yoldur Bu işlevselliği ifadə of Google Maps məxsusdur. parantez sonra, biz gördük əvvəl, browser hey almaq me səhifə elementləri, unikal ID səhifəyə tag is-- Auditoriya: [işitilemez] DAVID MALAN: --map. Və nə yaxşı, davam edir birlikdə bu xətt, line 23, mahiyyətcə deyib, browser hey məni almaq getmək səhifə haqqında boş div Onun unikal ID xəritə, Mən daxil etmək istəyirəm, çünki pseudocode onu yeritmək daxil Bu məzmun bütün dəstə will-- əgər web gələn olur, sonra. Və Google bizim üçün ki, bütün edir. Belə ki, yenə, günün çox sonunda, biz abstraksiya bu nümunə var. bir xəritə nə heç bir fikrim yoxdur və ya necə bir xəritə API həyata keçirilməsi. Biz ehtiyac yoxdur. Biz yalnız xəritəsi demək lazımdır harada özünü qoymaq və tərk o əsas həyata keçirilməsi Google ətraflı. İndi yəqin var məlumatların iki ədəd Bu nümunəsi olduğunu Google API təmin edir. Görünür xəritəsi mərkəzi, və zoom səviyyəsi, belə danışmaq. Və hər kəs bu tanımaq deyil əlaqələndirir, enlem ve boylam? Yəqin ki, ancaq geri getmək olar tutorial, sanki oldu. Amma biz yalnız bir anda görəcəksiniz. Zoom səviyyəsi arasında dəyəri mən deyil , Kimi 13 bir və ya bir şey bilirik. Bu, sadəcə etdiyiniz nə qədər ilə nə var və ya həyata zoomed və bu. İndi çox sonunda səhifə, bildiriş line 29-- çünki bir az çirkin var Bu kodu bu xətt wraps-- downloads nə browser Google faktiki API. kodu Bütün Google mühəndislər ki həyata yazılı embeddable xəritələr bu bütün xüsusiyyət. İndi bir şey dəyişdirmək deyil bildirin. Siz birlikdə aşağıdakı edirsinizsə, irəli getmək və Siz həqiqətən varsa, yalnız ki, fayl saxlamaq Mən nə. Onun URL gedin. Siz Run düyməsinə vurun üst qədər ki, demək olacaq Yeniden web server URL. Və bir yeni nişanı sizə rəhbərlik edəcək. Siz Open basın map.html və odds etdiyiniz var bir uyarı almaq üçün gedir, bir səhv baş beledir, bəli? Hata beledir, səhv mesaj? Belə ki, təəssüf ki, səhv mesaj maarifləndirmə deyil Siz, həqiqətən, açıq halda konsol, xüsusi nişanı biz dünən açılması saxlanılır və bir az əvvəl bu gün. Amma arasında stumbled Bu əvvəl, mən artıq həll edir nə fiqurlu. Bugünkü slaydlar, və ya Əksinə, Cloud9 da, bildiriş biz deyil ki, qəsdən bir şey. Qeyd edək ki, bu script tag ilə line 29, onun vasitəsilə oxumaq əgər, Bu maps.googleapis.com/~~pobj kimi bir şey, bir şey, bir şey, sonra, kimsə qeyd developers biri bütün paytaxt yazdı məktublar, API açarı. Biz orada bir şey yapışdırıb lazımdır. Bu addım oldu Mən əvvəl bizim üçün etdi və yenə qara siyahıya bilər Bizə birdən əgər 12 və ya bizə daha çox Eyni düyməsini istifadə başlamaq, Amma nə görmək edək. Siz bu gün getmək əgər Belə ki, slaydlar, bir slide sonra var mətn bu funky görünüşlü string. Durmayın və yalnız surəti və Sizin API açarı deyir harada yapışdırıb. Mən üçün imzalanmış biri. Və mütləq cəhd etməyin özünüz yazaraq, Bu dolu hiss çünki hatası ilə, potensial. Belə ki, yalnız surəti və yapışdırıb. Bu xətt etmək olacaq Artıq, lakin indi, yalnız aydın olmaq bir az daha baxmaq lazımdır əsas deyil bərabərdir bu kimi sizə böyle kapitallaşdırılır. Sizin səhifə edin geri digər nişanı, yenidən, və bir xəritə görmək ümid? Auditoriya: Avstraliya. DAVID MALAN: Avstraliya. Belə ki, yəqin olanlar GPS Avstraliya əlaqələndirir. Və mənə yalnız bir an üçün ətrafında gəzmək imkan və olduqca yoxdur hər kəs kömək lakin Google vasitəsilə tapmaq, mənə təklif edək GPS öz doğma koordinatları və ya öz ev ölkə. Və yəqin ki, Google bu bırakabilirsiniz up, və ya Wikipedia siz deyə bilərsiniz. Amma iki müxtəlif dəyərlər seçin enlem ve boylam üçün geri getmək və yapışdırın və sonra qənaət sonra səhifəni yenidən Bir ola bilər, əgər bax Öz doğma üçün xəritəsi. Və siz Bitirdiğinizde ki, təqib challenge-- və mən bir az daha az istiqamət vermək lazımdır qəsdən, siz belə qəsdən bir neçə mübarizə var sənədləri ilə dəqiqə, bu olmaq xəritəsini dəyişə cartoonish default, lakin peyk xəritəsi. Beləliklə, siz həqiqətən peyk görmək əvəzinə olduqca rəng görüntü. Və işarə Mən sizə verəcəyik Xəritənin növü dəyişdirmək deyil. ki, əldə etmək üçün geri dön ilham üçün səhifə başladı. Siz gleaned ola bilər kimi, Siz arıyorsanız, belə daha çox var Siz nə edə bilər şeylər. Əgər bəziləri artıq Xəritə növü dəyişdi. Amma mənə imkan, məsələn do-- bilər biz əlbəttə üçün nə bir şey getmək Mən maps.cs50.net teach--. Bizim undergrads biri bu idi. Biz Harvard Yard və üzərində xəritə mərkəzi Bu bina adları bütün overlay və biz ona bu əlavə idi. Mən axtarmaq istəyirsinizsə Belə ki, məsələn, Matthews Hall, biz bir az açılan menyu var. Mən o Bootstrap istifadə edirəm kitabxana biz bu müzakirə. Və Matthews basın əgər Hall, dərhal müəyyən xəritəsi jumps yeri, və bu göstərir Bu kiçik pop-up bir şəkil. Lakin hətta bu kiçik pop-up, biz həyata etməyib. Mən bizim əldə aşağı diyirləyin varsa , Səhifə başladı və info Windows üçün baxmaq Siz ki, bəzi görürsünüz funksionallığı Özünüz Əlavə ilə də olsa bilər bir az daha mürəkkəbliyi, bir info pəncərə deyilən bir şey var. Mən nümunə basın burada və bu əyləncə var nə, Siz bu kimi şeylər edə bilərsiniz voiture sonra marker tıklayarak və məlumat pops. Belə ki, biz kifayət qədər təqdim deyil JavaScript kifayət qədər xüsusiyyətləri siz necə dəqiq bir şəkil çəkmək üçün birlikdə bu məhsulları bütün tel bilər, lakin biz cür səthi cızıqlanmış etdik. Əslində, mən yalnız zaman nə etdi Hesab edirəm ki, marker tıklayan bir hadisə, bir tetiklemesini edildi klik hadisə qondarma. Və biz, həqiqətən gördüm Tədbirdə əvvəl bu gün, hadisə təqdim sözdə, biz qarşısını pişiklər üçün axtarış user. Beləliklə, biz növ seçilmiş və choosed sonra Bütün bu müxtəlif xüsusiyyətləri arasında, Ümid edirəm ki, hissi vermək, nə həqiqətən, bilərsiniz bir az daha ilə proqramlaşdırma rahatlıq, və tamamilə pulsuz resursları. Hər hansı sual? Yox? Bu son şansdır, ən azı bu gün, cümə günü, sinə off bir şey almaq üçün ki, burada çıxmaq inamlı və rahat hiss. Bəli. Auditoriya: Niyə yox Bir şey daha əlavə? DAVID MALAN: yaxşılıq mənim Oh. Mən hesab edirəm ki, bu həftə sonu istirahət etmək lazımdır. Digər suallar? Auditoriya: [işitilemez] DAVID MALAN: Siz can-- Internet Explorer, sülh istirahət, Siz VB qoymaq edə olmaq üçün istifadə script, virtual əsas script, lakin həqiqətən tutulan heç vaxt. Belə ki, qısa cavab yalnız JavaScript edir. Digər suallar? Bütün hüquqlar, yaxşı, mənə bunu bildirin. Mənə xaricində həmkarları işğalçı edək. Onlar bir neçə qiymətləndirilməsi var onlar hər kəs istəyirəm formaları doldurulması bir neçə dəqiqə sərf etmək. Onlar forma toplamaq istəyirəm və hər hansı bir Əgər kənarda ola bilər waivers. Onlar həmçinin sertifikatlar lazımdır. Mən var təxmin edirəm xaricində hələ də bəzi qəlyanaltılar. Mənə bu həyata keçir edək və əgər Bu vaxt hər hansı bir sualınız Mən daha çox fərdi ətrafında gəzmək lazımdır və biz başlaya bilərsiniz. Əlbəttə. Auditoriya: [işitilemez] DAVID MALAN: var bu gün adətən doğru. Əlbəttə web ilə Bu proqram, siz meyl digər ya etdiyiniz estetik şeyi istifadə Bootstrap kimi, belə ki, yoxdur aşağı səviyyədə həyata keçirilməsi üçün var menyular məlumat və düymələri və bütün. Siz kimsə meyl edirik Google kimi belə ki, bir über qurmaq yoxdur biznes və Xəritəçəkmə biznes, və bənzəri hər hansı bir sayı həmçinin applications. Əslində, giriş də populyardır. Siz Spotify və ya istifadə varsa web hər hansı bir sayı, Bəzi daxil olacaq Facebook istifadə saytları. Belə ki, nə gözəl var giriş üçün API var Hal-hazırda, siz deyil ki, Öz istifadəçi masa var və öz bazası bütün mütləq eyni dərəcədə. Siz Facebook bütün edə bildirin bilər sizin üçün mürəkkəb. Belə ki, bir maraqlı vaxt, vicdanla, proqramlaşdırma, bir çox üçüncü tərəf var, çünki Siz üst inşa edə bilərsiniz xidmətləri. Və yenə, payment qiymət maliyyə və ya kesintiler bilərsiniz. Google aşağı gedərsə, belə Uber yoxdur, arguably, lakin bəlkə də bir ağlabatan ticarət-off. Və yenə, ki, mövzulardan biri idi, ümid edirəm ki, gün keçmiş neçə, Bu ticarət-off edir. Və nadir hallarda var gedir Bir düzgün cavab olacaq. Bu, həqiqətən yaxşıdır iki və ya daha cavab. ətrafında bu keçir. Bu Cloud9 hesabları davam edəcək əbədi olaraq, nəzəri iş. Bir neçə gün gözləmək əgər tapa bilərsiniz və ya bir həftə və ya daha çox, onların geri daxil Bu bir və ya kimi bilər beş dəqiqə, geri açmaq lakin onlar qoymaq yalnız, çünki Bu resursları saxlamaq üçün yatmaq.