[Powered by Google Translate] [Həftə 7] [David J. Malan - Harvard Universiteti] [Bu CS50 edir. - CS50.TV] Bütün hüquqlar. Geri gəlmisiniz. Bu CS50, bu həftə 7 başlanğıc. Az elanlar Bir neçə: Pset5, tərəqqi indi, və ya tezliklə olmalıdır və kifayət qədər vicdanla, mənə deyək, bu, daha çətin arasında olur deyil zamanı problem dəstləri, bu artıq mənim qeyd edək Bu həftə çox heç gözləmək yoxdur ki, çərşənbə gecə, demək və ya Cümə axşamı gecə daxil dalış Bu mütləq bir maraqlı pset edir. Biz bunu əyləncə hesab edirəm. Həqiqətən tam doğru almaq və sonra qondarma Big Board meydan bilər, Siz əlbəttə heyəti bəzi fikir uyğun bir imkan olacaq və sinif yoldaşları bəzi. Nə Böyük heyəti deyil, bir dəfə sizin yazım checker iş var Bir komanda çalışan sonra cs50.net getmək üçün bilərsiniz sırf məbləği zaman və RAM miqdarı və daha sonra üstünlük və Sizin həyata istifadə edən kurs ana səhifə burada sərgilənəcək. Siz burada bu insanlar bütün dəstə kadr kimi listelenen görəcəksiniz həftə sonu bəri heyət hər bir digər geçmek üçün cəhd əyləncə olacağını düşündüm. Belə ki, burada məqsəd heyəti geçmek deyil bilirik. Hətta sayı 13 yalnız buradayam. Purely katılmayı, lakin görmək imkanı yalnız nə qədər az RAM və necə bir neçə CPU saniyə sizin sinif yoldaşları ilə qarşı-qarşıya bəzi istifadə edə bilərsiniz. Mən ki, Kevin Michael Schmid, qəbul edəcəyik Hal-hazırda TFS biri kimi sayı 1 mövqeyi, bu mümkün deyil zəng bir təzahürüdür o loading üçün demək olar ki 0 RAM və demək olar ki 0 seconds istifadə ki verilir. Beləliklə, biz Kevin offline qayğı lazımdır. [Gülüş] Kevin burada test qoyulması edir ki, müəyyən bacarıqları var. Biz istədiyiniz fikir şeylərdən biri də CS50x tərəqqi bir həftə artıq və uşaqlar kimi çox o tələbə kimi bu təcrübə bir hissəsidir. Biz Not layihə təqdim eyni idi, onların pset0 hissəsi kimi onlara xahiş etdik onlara maraq - bir oyun, sənət interaktiv parça, bir animasiya, və ya kimi - 1 - onlar dünyaya merhaba deyən və kim istəyirsinizsə 2 dəqiqəlik video, onlar həqiqətən var. Mən sizə bu günə qədər təqdim olunmuş video bir neçə bölüşmək istədiyiniz fikir bizim üçün, heyət ən azı, həqiqətən maraqlı olmuşdur, çünki və bütün dünyada bu insanlar görmək üçün ruhlandırıcı - bütün dünyada ölkələr - İnternet bir kompüter kursu, hər şeyi də tuning, onlar öz tədqiqatları davam etdirmək istəyirik Çünki, istər onlar, yeni bir istiqamətdə öz karyeralarını etmək istəyirəm Onlar öz bilik boşluqları doldurmaq istəyirəm uşaqlar bəlkə burada olmuşdur ki, eyni səbəblərdən bəzi belə. Mən burada belə bir tələbə verir. Siz həcmi yalnız bir az qaldırmaq bilər. Burada tələbə 1-dəqiqə təqdim biridir. Salam, dünya. Mən Malaga, İspaniya burada sənaye engineering tələbə edirəm. Mən kompüter sevgi, çünki mən həqiqətən bu online kurs heyecan edirəm və mən həqiqətən mən bunu araşdırmaq almaq üçün təşəkkür edirik. Mən sizə uşaqlar hər şeyi eyni öyrənə bilərsiniz ki, ancaq mən Malaga am Harvard olan ki, necə zəhmli edir? Bəli, mən Fernando am, və bu CS50 edir. Uşaqlar baxın. [Gülüş] xüsusən kimi digər clip, bu centlmen ingilis qədər güclü deyil ki, tapa bilərsiniz. O maşın tərcümə idi kimi görünür, tərcümələr özlərini bir az qüsurlu belə lakin bu günə qədər həm bizim favoritlərindən biri idi. [♪ ♪] Salam, dünya. [Yapon danışan] [Mənim English çox etibarsız çünki Yapon salamlamaq lazımdır.] [I Gifu şəhəri, Yaponiya sizə mesajı çatdırılıb.] [I göründüyü kimi, 20 il ərzində ilk dəfə tələbə ola bilər.] [Mənə bu imkan və edX verən Harvard Universiteti çox minnətdaram.] [Golf bir gitara və mənim sevimli şey çalışır.] [Gülüş] [♪ ♪] [Niyə Mən cs50x iştirak etmək üçün çalışır düşünürsünüz.] [Harvard Universiteti, mənim arzu edir.] [Xüsusilə uzaq olması Yaponiya yaşayan am əgər.] [Mən belə edX zaman. Mövcudluğu dərhal xəbərdar cəhd istəyirdilər] [Siz I. öyrənmək yaş bağlı olmayan belə düşünmürəm] [Cs50 mənim arzu edir. My name Kazu və bu cs50 edir.] [♪ ♪] [alqış və təzahürat] Bizim bir sevimli kimsə burada bu təqdim edib. [♪ ♪] [Malan] Google bu meme ilə tanış edirsinizsə. Və sonra nəhayət, bəlkə sitayişə layiq alın ki olunub oldu ki, digər bir neçə. [Tələbələri] Aww! >> [Malan] Biz qulaq asmaq lazımdır. Bu qısa, belə yaxından qulaq asmaq. [Qadın natiq] adınız nədir? >> Louie. [Qadın natiq] Bu nədir? >> [Giggles] CS50. [Gülüş] [Malan] O, baxmayaraq ki, edir iki idi. Burada biz, son gedin. My name Louie və bu CS50 edir. [Gülüş] Bu sonra CS50x edir. Evdə birlikdə aşağıdakı isə sizin bütün təşəkkür edirik İndiyədək kim iştirak edilmişdir. Bu gün biz, data strukturlarının bizim müzakirə bağlamaq ən fundamental bəzi ən azı, və sonra HTML və web proqramlaşdırma haqqında söhbət davam edir. Həqiqətən, biz yeddi həftə proqramlaşdırma əsasları baxaraq son sərf etdik - alqoritmlər data strukturları və kimi - və indiyədək yaşamış bilər C, mütləq dillərinin ən əlçatan deyil olan bu fikir bir həyata keçirmək. Belə ki, bu həftə və gələcək həftə başlayan və sonra aşağıdakı nəhayət, biz adətən kifayət qədər aşağı səviyyədə dil kimi tanınan C, keçid edə bilərsiniz şeyi ali onlara PHP, JavaScript arasında səviyyəsi, və kimi, Biz son bir neçə həftə ərzində öyrəndim ki, eyni dərsləri yararlana göreceksiniz amma siz tapa bilərsiniz ki, seriallarda və hash masalar kimi şeylər elan və axtarış və çeşidlənməsi dillər özləri biz istifadə edəcəyik, çünki bu qədər asan ola daha güclü olacaq. Lakin ilk, ağacları bir proqram. Bu məlumat kompres lazımdır bu gün çox ümumi edir. Nə kontekstində digital informasiya bir növ kompres istəyirsiniz? Bəli. >> [Tələbə] Web üzərində göndərmək üçün lazım olduqda. Bəli, Web üzərində bir şey göndərmək istədiyiniz zaman. Bir böyük fayl yüklemek istəyirsinizsə, bu, digər sonunda kimsə əgər ideal deyil zip format və ya kimi bir şey istifadə edərək fayl sıxılmış edib yoxsa ötürülən bilər az bit gönderiyorsanız ki. Belə ki, necə məlumat kompres edirsiniz? Default tələb az bit istifadə edərək, bütün sonunda aşağı. Həftə 0 və 1 geri edirəm, çünki Lakin bu maraqlı şey növ Biz ASCII və ikili danışıb və biz xüsusən haqqında ASCII söhbət zaman əlifbası məktubları təmsil 8 bit istifadə məktub A 65 ilə təmsil olunur ki, bir sıra 97 edir kiçik və lakin siz 7 və ya 8 bit istifadə edirsinizsə, 65 və ya 97 təmsil edir. Amma tutmaq ingilis əlifbası ilə bəzi məktublar var ki başqaları kimi məşhur deyil. Z, bütün populyar deyil Q ki, bütün populyar deyil, A və E məşhur super edir. Və hələ bu məktubları bütün, default tərəfindən dünya yalnız 8 bit eyni sayda istifadə edir. Belə ki, asan əgər əvəzinə hər hərf üçün 8 bit istifadə, olmazdı hətta ən seyrek, Q və Z kimi istifadə nə biz A və E və S və ən məşhur məktublar üçün az bit istifadə əgər və daha az populyar məktublar üçün daha bit istifadə ümumi halda edək optimize olan fikir, ən baş neler optimize üçün çalışan kompüter bir mövzu deyil və, evet, baş verə bilər ki, hər şeyi bir az daha çox vaxt, bir az daha çox yer sərf lakin mütləq tez-tez kimi. Belə nin nümunə götürək. Biz kifayət qədər səmərəli məlumat kodlar istəyirəm ki, düşünək. Siz, Morze əlifbası haqqında bir az bir şey bilmədən yetişdi bilər və Oran, siz faktiki kodu bilmirdim var ancaq nöqtə və tire ən azı bu seriyası ki, xatırlayıram bilər. Məsələn, E - Bu kifayət qədər səmərəli coding, və bildiriş ən məşhur məktub - beeps ən qısa edir. Morze əlifbası bütün beep-beep-beep-beep-beep-beep və ton təşkil edir ya vaxtında və ya uzun müddət qısa dövrlər üçün. Kimi dot ilə qeydi E, super qısa beep, yalnız beep deyil ki, E. təmsil edəcək Əksinə, T beep kimi, artıq beep olmaq [səs uzadır] ki, və T. təmsil edəcək Siz Z baxsaq, əksinə, çünki Lakin, hələ də olduqca qısa Z bildirmək siz beep, beep [artıq səs], beep, beep [qısa səs] getmək olardı. Az ümumi, çünki Belə ki, artıq var. Amma burada gotcha Morze əlifbası bir az flawed ki, ki, dərhal decodable deyil. Məsələn, tel beep bəzi sonunda eşitmək güman [qısa] beep [uzun]. Mən nə mesaj alıram? A nöqtə və tire. Nə təmsil edir? [Tələbə] A. >> [Malan] Bəlkə. Bu da T. izlədi E ola bilər Başqa sözlə, Morze əlifbası, bu künc halda optimize bu prinsipi, içki olsa o, dərhal decodability özünü borc deyil. Yəni bu nöqtə və tire eşitmə və ya qəbul edən insan fasilələri məktubları arasında olduğu birtəhər, anlamaq üçün var bu fasilələri olduğu siz bilmirsinizsə, siz ET ya əksinə üçün çaşdırmaq bilər çünki. Beləliklə, siz nə ola bilər? Morze əlifbası Siz yalnız məktubları hər arasında duraklattıktan bilər. Amma duraklatarak şeyi sürətləndirmək bütün point counter növüdür. Bu pis vəziyyət yox idi biz bir kod ilə gəlib nə əvəzinə əgər Ü E A Məsələn, bir prefiks deyil - başqa sözlə, biz nümunələri məşhur məktublar üçün hələ qısa əmin olun bilər az populyar məktublar üçün uzun, lakin mümkün qarışıqlıq var? Huffman adı ilə bir adam il əvvəl Huffman coding adlanan bu sxem icad əslində söhbət zaman bir az sərf etdiyiniz data strukturlarının bir içki Bu ötən həftə xüsusi ağac, ikili ağac ki, - 2 uşaq çox olan ikili ağac mənası. Bu bəlkə, bəlkə bir sağ uşaq sol uşaq var ki, bu. Belə ki, kimsə bir mesaj göndərmək istəyir ki, yalnız müzakirə naminə güman Bu kimi görünür. Bu tam cəfəngiyatdır, lakin bu kimi ibarət olub, BS, Cs, Ds və Es. Və faktiki olaraq bütün qədər saymaq olarsa, BS, Cs, Ds və Es və sonra, məktublar ümumi sayı bölmək burada bu kiçik chart məktubları 45%-Es var 20% kimi olduğunu deyir 10% pansiyonlar, və s. Belə ki, başqa sözlə, güman ki, orada sitat string göndərmək istədiyiniz ki, bəzi göndərmək kifayətdir. Bu, biz mümkün kimi bir neçə hərflərini kimi istifadə edə bilərsiniz, yalnız belə cəfəngiyyat olmaq olur amma həqiqətən E ən populyar olaraq qalır halda, var və B və C olan ən populyar, əlifba bu 5 məktublar ən azı. Belə ki, necə ki, biz bir kodlama ilə gələn barədə gedə bilər ikili encoding, bu məktubları hər 0s və 1s bir model E qısa bir model və bəlkə B və C qədər uzun nümunələri var ki, belə bir şəkildə, yenə fikir az bit, çox vaxt istifadə etmək istədiyiniz olan və yalnız bir dəfə isə daha çox bit. Huffman coding ki, ağacların meşə yarada bilərsiniz. Bir hekayə line növ ağac və həmçinin onları tikinti prosesi daxildir ki, burada var. Nin başlasın. Mən sizə belə 5 ağacları, danışmaq, bu meşə ilə başlamaq ki, təklif olan hər bir sevimli axmaq ağac. Ağac kimi bir daire ilə burada təmsil yalnız bir node ibarətdir. Belə ki, bu şeylər hər bir C struct ola bilər və daxili C struct tezliyi sayı təmsil float ola bilər və sonra bəlkə məktubu təmsil karakter. Belə ki, indi, yüksək səviyyədə hər hansı bir köhnə C struct bu qovşaqlarının edirəm amma. Bu 5 ağacları, yalnız bir node olan hər bir meşə var. Huffman təklif biz o ağac birləşdirməyə başlayacaq ki, nə qədər böyük ağac içinə kiçik tezlikli sayılır ki, yeni kök node ilə birləşdirən. Belə ki, burada məktubları arasında, rahatlığı üçün mən soldan sağa onlara sıralanır etdik ki, görürsünüz ki, ciddi zəruri və bildiriş deyil, baxmayaraq ki, kiçik qovşaqlarının Hal-hazırda 10% və 10% təşkil edir. Belə Huffman yeni bir ağac o 2 kiçik qovşaqlarının daxil təklif sonra yeni bir valideyn node tətbiqi və həmin valideyn sol uşaq və hüququ uşaq vermək B özbaşına sol və C özbaşına hüququ yerləşir. Və sonra Huffman daha edək indi yalnız sol uşaq hesab edirəm ki, təklif Bu ağacların biri həmişə 0 təmsil olunur və sağ uşaq həmişə sayı 1 ilə təmsil olunur. Siz uzun sizin ardıcıl etdiyiniz kimi onlara çevirmek, əgər məsələ deyil. Belə ki, indi biz bu meşə dörd ağacları var. Mən demək sol dörd indi çünki ağac - və bu qədər bu şəkildə artır mənada ki, bir ağac deyil indi 0,2 iki uşaq valideyn növ olduğu bir ailə ağac kimi daha çox - ki, valideyn, biz 0,2 tərtib etdik ki, görürsünüz. Biz iki uşaq tezliyi sayar əlavə və yeni node ümumi məbləği təqdim etdik. Belə ki, indi biz bu prosesi təkrar. Iki kiçik qovşaqlarının tap və sonra yeni bir ağac onları qoşulmaq və sonra da prosesi təkrar. Hal-hazırda biz bir neçə namizəd, 20%, 15%, digər 20%-i var. Bu halda, biz tie qırmaq lazımdır. Biz bunu özbaşına edə bilərsiniz. Biz yalnız ardıcıl etməlidir. Bu halda, mən özbaşına, sol bir ilə gedəcəyəm və indi, mənə 35% adlanan yeni müəssisənin vermək 20% və 15% daxil kimin doğru uşaq 1 və indi meşə yalnız üç ağac var 0, onun sol uşaq. Siz bəlkə bu hara getdiyini görürük. Biz bu bir neçə dəfə təkrar edin, biz yalnız bir böyük ağac var olacaq onun kənarları 0s və 1s ilə etiketlenmiş bütün. Yenə bunu edək. 35% ki, ağacın kökü. 20% və 45%, belə ki, biz 35% və 20% daxil olacaq. İndi biz burada bu ağac var. Biz birlikdə o əlavə biz 55% var. İndi meşə yalnız iki ağac var. Bu bir son vaxt və ümid edirəm riyazi bütün tezliklərin qədər əlavə edin onlar ildən biz onları hesablanır, çünki 100% əlavə almaq-gedin. İndi biz bir ağac var. Belə ki, bu Huffman coding ağac. Bu cür şifahi orada almaq üçün bir müddət etdi, amma reallıq loop üçün ilə və ya bir recursive funksiyası ilə, siz olduqca sürətli bu şey qurmaq bilər. Belə ki, indi biz yeni bir node var və bu daxili qovşaqlarının bütün malloc'd edilmişdir ehtimalla, yol boyunca. Biz bir yol var Belə ki, indi bu ağac üst biz 100% var, amma artıq qeyd Bu yeni böyük ulu grandparent olan böyük ulu nəvəsi bütün yarpaqları bütün altındakı bütün yolu. Biz indi nə olacaq, məktubda E təmsil etmək məqsədilə təklif edir biz sadəcə 1 saylı istifadə edəcək. Niyə? Biz E kimi tanınan yarpaq aşağı yekun kök Bu ağac axır əgər Çünki, biz bir kənarında, sağ kənar edin və sağ 1 əlbəttə etiketli ki. Belə Huffman üçün burada dolayısı ikili E kodlama yalnız 1 olmalıdır idi. Və olduqca lənətləmək səmərəli deyil. Həqiqətən daha kiçik almaq bilməz. Əksinə, A siz məntiqi edin əgər, təmsil edir əvəzinə bit nə model tərəfindən? 01. Belə ki, bir olmaq üçün, biz kök başlamaq və biz tərk getmək, sonra doğru getmək hansı bir 0 təqib və sonra 1 deməkdir. Beləliklə, biz bir model 0 və 1 ilə məktub təmsil edir. İndi biz artıq dərhal decodability bir xüsusiyyəti qeyd biz Morse kodu olmadığını. Bu nümunələri də olduqca qısa baxmayaraq - E 1 bit, A 2 bit deyil - onlar bir və ya bir başqa səhv ola bilməz ki, görürsünüz Bir 1 görmək əgər siz görürsünüzsə, E olmaq lazımdır, çünki bir 0 sonra açıq-aydın bir A. olmaq üçün var 1 Eynilə, D var? 001. C nədir? 0001. Və B nədir? 0000. Və yenə biz qayğı məktublar bütün yarpaqları var, çünki və onlardan heç biri, kök yarpaq yolu middlemen növü var 2 məktub "müxtəlif kodlamalar conflating heç bir risk var Bu bit nümunələri bütün deterministic çünki. 0000 həmişə B. olacaq Siz digər bir məktub çaşdırmaq bilər ki, haradasa arasında heç bir node var. Belə ki, burada dolayısı nə var? Ən məşhur məktubu - bu halda E - qısa encoding əldə edib A, növbəti qısa encoding əldə edib biz ən məşhur almaq-getmək idi cür bilirdi olan və B, C, 10% tezlik hər, onlar uzun encoding kazanılmış. Və nə bu artıq o deməkdir ki, siz sıxılmış olan bir mesaj göndərmək istəyirsinizsə, İnternet üzərində və ya bir e-poçt və ya analoji olaraq, çox standart ASCII istifadə daha bir Huffman kodlu mesaj göndərə bilərsiniz Siz məktubu E göndərmək istəyirsinizsə vasitəsi, yalnız bir bit göndərin. Bir A göndərmək istəyirsinizsə, siz 2 bit, 01, əvəzinə 8 bit göndərilməsi göndərmək s başqa 8 bit və sonra başqa 8 bit izlədi. Amma gotcha burada var. Bu yalnız Alice olan Bob göndərilməsi başlamaq sonra bu ağac tikintisi və kifayət qədər deyil qısa bit model, ASCII dən simli, Alice də nə Bob məlumatlandırmaq, çünki Bob onun sıxılmış oxumaq etmək üçün gedir? [Işitilemez tələbə cavab] >> ki, nə var? [Işitilemez tələbə cavab] ağac nə >>. Və ya daha dəqiq desək, bu kodlamalar nə, Bu hekayə ərzində biz bir nöqtəsində bir qərar zəng etmişdir xüsusilə ildən. Biz 2 müxtəlif 20% qovşaqlarının arasında özbaşına seçin ki saxla? Belə ki, Bob, alıcı, yalnız onun öz ağac yenidən qurulması bilər ki, işin deyil bəlkə o heç belə az fərqli Alice olan ağac yaratmaq olacaq. Bundan əlavə, Bob hətta orijinal mesajı nə deyil Alice ona göndərir tək şey, əlbəttə, sıxılmış mesaj çünki. Bu kimi sıxılma ilə catch ki, Belə ki, bəli, Alice bit bütün çox saxlaya bilərsiniz s A E 1 və 01 göndərilməsi və, lakin o da birdən məktubları və bit arasında nə Bob məlumat var biz ASCII kullanmıyorsanız onlar aydın yalnız ASCII artıq etibar bilməz. Belə ki, o da elə ona ağac göndərə bilərsiniz - kimi ikili məlumatın və ya bir şey kimi saxlamaq, onu yazmaq - və ya yalnız ona mappings göstərir ki, bir az istifadə etmək hesabatı, bir Excel fayl göndərə bilərsiniz. Belə ki, sıxılma səmərəliliyini həqiqətən tutur ki göndərilməsi etdiyiniz mesajlar , orta ən azı, olduqca böyük bir super qısa mesaj göndərmək istəyirsinizsə, çünki Siz yalnız mesaj BAD göndərmək istəyirsinizsə, ki, biz burada oxumaq olar bir söz olur B-A-D, yəqin ki, az bit istifadə etmək olacaq, siz də ağac nə Bob məlumat üçün ancaq tutmaq deyil və ya bu kodlamalar nə, yəqin ki, qənaət bütün üstün olacaq ilə başlamaq sıxılmış şeylər olan. Belə ki, həqiqətən cəhd əgər kompressor ki, işin ola bilər hətta zip və ya fayl formatları kimi bir şey ilə tanış ola bilər - olduqca kiçik faylları, hətta boş fayllar - bəzən bu faylları böyük və kiçik deyil əldə edə bilər. Lakin real ki, yalnız kiçik fayl ölçüləri üçün baş belə bir gigabyte fayl 2 gigabaytlık olmaq etmək niyyətində deyil; biz həqiqətən bayt və ya bir neçə kilobayttan söhbət edirik. Zip kimi bir sıra proqramları ki, həyata keçirilməsi üçün kifayət qədər ağıllı olur "Bu kompressor daha bit sərf olacaq." "Mənə bütün sizin üçün kompressor narahat edək." Belə ki, bu mətn format kompressor sonra yalnız bir yoludur. Biz C. bu kimi bir şey həyata bilər Məsələn, burada biz bu ağac bir node təmsil bilər necə biz rəmzi üçün char, tezlik üçün üzən dəyəri var və biz digər strukturları, 2 göstəricilər ilə gördüm kimi NULL ola bilər və ya olan sol uşaq, sağa 1-1, lakin əgər, bir sol uşaq və sağ uşaq aiddir. Belə ki, bu sonra Huffman coding və bu məlumat kompressor haqqında bilərsiniz ki, bir yol və bu, əlbəttə həyata keçirilməsi üçün ən asan biri keçən həftə data strukturları, demək, bu çərçivədə, daha inkişaf etmiş alqoritmlər mövcud olsa Sizin data daha təcrübəli mutasiyalar edə bilərsiniz. Hər ağac, ikili ağacları, və ya mətn sıxılma sonra suallar? [Tələbə] bəzi qeyri [işitilemez] split əgər kimi 01 dilinə, var, sonra 011 birmənalı sağ olardı? [Işitilemez] >> Yaxşı sual. Qeyri. Burada bu şəkil istinad mənə yekunlaşdırmaq edək. Çünki kompressor olunur simvol nümayəndələri, Bu alqoritm müəyyənləşdirilməsinin həmişə yarpaqları qalır siz təsadüfən bir çox məktublar prefiks üçün bit eyni model istifadə heç vaxt lazımdır. Belə ki, başqa sözlə, siz narahat edirik ki, yaranan bir qeyri kimi səslənir qovuşdurmağımız 001 B başlanğıc və ya C və ya kimi bir şey başlanğıc ola bilər. Amma bu əlifbasının hərflərinin bütün biz kodlama edirik ki bildiriş işi ola bilməz yarpaqları var. Bu qeyri-müəyyənlik yalnız Morse kodu olduğu kimi, yarana bilər əgər, məsələn, C kök B. yolu boyunca bir yerdə idi [Tələbə] Sağ. Belə ki, bu halda, A 2 yarpaqları var deyirlər. >> A var De - daha söyləyin. [Tələbə] A 2 yarpaq, F və G, və sonra G var De - >> OK. Amma bu mümkün deyil. A özü bu məktubları çünki yarpaqları F və G ola bilməz F və G özləri B sol və ya E. hüququna haradasa yarpağı olacaq Belə ki, definition, onlar yarpaqları olmalıdır. Əks halda, tam doğru danışırsınızsa, biz Morse kodu üzləşdiyi problem həll etdik. Sual Yaxşı. Digər suallar? Bütün hüquqlar. Biz enerji yaşadığınız həyata bit Bu anlayış, biz, həqiqətən, istifadə etdiyiniz bütün boyunca çevrilir bu 0s və 1s manipulyasiya gələndə. Biz erkən problem dəstdən birini bu barədə soruşdu: yəni, siz böyük kiçik və ya əksinə çevrilməsi barədə necə getmək yoxdur? Və ya, daha konkret, bu ilk psets biri xahiş neçə bit həqiqətən bir və ya əksinə kiçik bir dəyişdirmək üçün çevirmek var? Burada 65 və 97 ikili kimi baxmaq nə sürətli bir öyüd-nəsihət var. Və hətta əgər bu suala növ, sizin yaddaş solğun edib siz neçə bit Çevrilmiş lazımdır ki, burada yenə bilərsiniz kapital dəyişdirmək üçün bir kiçik üçün? Yalnız bir. Onlar yalnız bir yeri, sol üçüncü bit fərqlənir. A 010, az var Halbuki bir 011 var. Belə ki, elə-belə, biz yalnız ki, bit çevirmek lazımdır və biz sonra kapitallaşdırmaq və ya məktublar kiçik bilər. Biz həqiqətən istifadə edərək keçmiş bu etdik şərait əgər və məktub kapital A və kapital Z arasında əgər yoxlanılması, sonra A kimi çıxış - a + 26 və ya kimi bir şey. Siz yəqin ki, əlifbası hərflərinin üçün hesab dəyişiklik etdi. Amma biz yalnız bir bit nə flip bilər? Necə 01000001 və 01100001 kimi belə bit, 8 bit bir bayt yetmeyecek alaraq haqqında getmək olar? Siz bit bu nümunələri olsaydı, biz onlara yalnız bir dəyişən barədə necə getmək olar? Burada sarı bit bu digər model təqdim ne? Mən dəyişmək istədiyiniz bir bit istisna olmaqla bütün sarı sim 0s etsəniz və sonra mən bir bitwise operator kimi tanınan yeni operator təqdim - bu fərdi bit fəaliyyət mənada ki bitwise, deyil, bütün bayt və ya dörd bayt bütün bir dəfə haqqında. Sarı var Bu şaquli bar biz kapital nümayəndəliyinin A nə alsaq ki, və bit sarı ardıcıllıqla bitwise ya bu? Başqa sözlə, Not-ci Boolean ifadələr bizim müzakirə geri edirəm və sonra C. Bir Boolean Doing ya doğru o deməkdir ki, ya ilk şey doğru olmalıdır və ya, ikinci şey doğru və ya onların hər ikisi doğru olmalıdır və sonra yaranan çıxış əsl özü edir. Burada Bu halda, biz 0 ed nə 0 alsaq almaq "və ya" yoxdur? Saxta və ya yalan? Bu hələ yalan var ki, kiçik bir gözlənildiyi kimi qalır belə. Nə əvəzinə biz 1 və ya 0 əgər? Bu indi 1 qalır, lakin burada baş haqqında nə görürsünüz. Biz kapital A başlamaq və biz burada yapýyorsun kimi biz onun fərdi bit davam "və ya" varsa, 0 və ya sarı bir nə aşağı burada bizə verir? Bu, bizim 1 verir. Əslində, biz kiçik və böyük versiyası həqiqətən nə bilmirdim güman edirlər. Bu nə getmək edək. Mənə burada bu geri hərəkət edək. Yenə bunu edək. 0 və ya 0 mənə 0 verir. 1 və ya 0 mənə 1 verir. 0 və ya 1 mənə 1 verir. 0 və ya 0 mənə 0 verir. Növbəti bir 0 ki, növbəti bir 0 ki, növbəti bir 0-dir. 1 və ya 0 mənə 1 verir. Biz əvvəlcədən bilmirdim, hətta əgər, belə bir idi kiçik nə sadəcə ing ilə "və ya" A biz sarı burada təqdim etdiyiniz bit bu model ilə Əgər bit Flipping tərəfindən kapital kiçik bilər. Biz ifadə həftə öncə bu istifadə: bir az Flipping. Həqiqətən, necə program etməliyəm? Siz ümumiyyətlə maskası bit bir ardıcıllıqla, deyirlər nə istifadə ki, bu halda yalnız, belə ki, burada bu rəqəm kimi baxmaq olur və sonra "və ya" birlikdə bu yeni C operator istifadə edərək, deyil | |, bir istifadə | və çünki nə həqiqətən burada bu cavab almaq olar? Bu 1s yeri, 2s yer, 8, 4s 16, 32s edir. Belə ki, bir paytaxt məktubu əgər A və tam 32 bitwise ya bu çıxır olan tam 32, çünki siz bit kimi baxdığımız zaman, bu kimi görünür siz həqiqətən istədiyiniz qədər flip bilər deməkdir. Və eyni - və biz yalnız bir anda kodu baxmaq lazımdır - biz digər istiqamətdə getmək istəyirəm güman edirlər. Siz kiçik bir kapital necə getmək yoxdur? Hansı bit dəyişdirmək lazımdır? Eyni biri. Biz 0, 1 ki, üçüncü bit dəyişdirmək istəyirik. Və biz bunu edə bilər? Necə bir az kapatabilirim? Bit nə model ilə biz bir az söndürmək olar? Biz maskası invert növ əgər? Əvvəl isə, biz bütün sarı maska ​​0s etdi bir az istisna olmaqla, biz yandırmaq istədi nə bu dəfə əgər, biz söndürmək istədiyiniz bit istisna olmaqla bütün maska ​​1s etmək və sonra nə operator istifadə? Biz "və" şey varsa? Bir nəzər salaq. İndi bu flip varsa, daha bütün 1s ki, maska ​​yaratmaq güman mən bağlamaq istəyirəm ki, bir az başqa və sonra daha çox "və ya" Burada sarı aşağı nömrələri ilə üst qədər ağ nömrələri, nə birlikdə mən əvəzinə "və" onlara əgər? Bu bitwise zəng edir. Məntiqi, bir Boolean eyni şey var və. Bu 0 & 1 0 mənə verir. Belə ki, yalan və doğru yalan. True və əsl həqiqətdir. Və burada sehrli: True və yalan artıq yalan deyil, belə ki, az söndürüldükdə etdik. İndi hekayə qalan qədər sadə deyil. Maskası qalan 1s Çünki, bu ədəd ağ nə əhəmiyyətli deyil. Siz "və" doğru bir şey, onun dəyəri dəyişmək fikrində deyilik zaman. Doğru deyil, bu, doğru olacaq. Bu yalan idi, bu, yalan olacaq. Əgər doğru idi ki, bir şey almaq Lakin sehrli olur saxta və sonra "və" bu. Bu bit off dönüş təsiri var. Orada belə bir az sirli. Həqiqətən daha sirli ola bilər, hansı nin əslində bir kodu baxaq, amma nin tolower burada bir nəzər salaq. Mən tolower baxsaq, A, bir kiçik kapital gedən biz bu proqramı həyata bilər necə edək. Burada əsas var, və hər hansı bir komanda-line arguments qəbul deyil. Mən istifadəçi kimi daxil yazın edir ki, məktub üçün xarakter c elan edirəm Loop yalnız istifadəçi mütləq A mənə kapital verir ki, əmin zamanı sonra tanış do istifadə və ya B və ya C. .. Z, onlar mənə A və Z. arasında bir şey vermək İndi burada nə edirəm? Ben "və ya" 0x20 ilə ing bu, ancaq faktiki olaraq eyni - və biz bir anda bu qayıda bilərsiniz - 32. Belə ki, yenə, 32 burada bit bu nümunəsidir. Niyə biz bu bilirik? Just həftə 0 geri edirəm. Bu 1s yeri, 2s yeri, 4s, 8, 16, 32s yerdir. Belə ki, bu sarı sayı 32 olur. Mən, sözün sayı 32, burada bitwise "və ya" bu char kimi bir məktub ala bilər və nə geri alıram? Ki, char ən kiçik versiyası. Bir an əvvəl, baxmayaraq ki, mən müxtəlif baza notation bu bildirdi. Bu nə təmsil idi? >> [Tələbə] hexadecimal. [Malan] Bu hexadecimal təmsil olur. Biz bütün çox hexadecimal danışdı deyil lakin bu kimi hallarda həqiqətən rahat edir. Daha mürəkkəb görünür və olsa da, 20 və 32, kimi görünür baxmayaraq bu hexadecimal həqiqətən super rahat notation edir çıxır ki, hexadecimal ildə hər 0x sonra rəqəmli çünki - və bu heç bir şey deməkdir; burada bir hexadecimal sayı gəlir deyir ki, yalnız insan konvensiya deyil - Bu rəqəm hər, 2 və sonra 0, özlərini təmsil edə bilər tam 4 bit ilə. Bunu Belə ki, mənə burada bir mətn redaktoru açmaq qoy - qəribə AutoComplete - biz burada bir az mətn redaktoru əgər, sayı 0x20 4 bits burada deməkdir, burada başqa 4 bit var. Ilk rightmost 4 bits nə edək. 4 bit ilə təmsil zaman 0 nədir? Super asan. Məhz bütün 0s. Belə 0s 4 bit. Necə 2 təmsil edirsiniz? Biz bunu ildən isə idi, lakin 0100-nin oldu. Bu 1s yer Belə ki, bu 2s yer, və sonra başqa yerlərdə nə əhəmiyyətli deyil. Başqa sözlə, hexadecimal, siz, 0x20 deyə bilər lakin sonra 2-nə haqqında düşünmək və necə ikili təmsil olunduğu halda, nə 0 və necə ikili təmsil olunur, bu suallara cavab olaraq, bu və bu var. Belə ki, 0x20, 8 bit bu model təmsil olur hansı dəqiq biz istəyirdik ki, maska ​​edir. Belə ki, bu an üçün yalnız bir intellektual həyata edir amma reallıq kodu bu kimi sabitləri yazmaq üçün adətən daha çox ümumi edir hexadecimal sonra proqramçı bilərsiniz nisbətən asanlıqla, çünki bəzi kağız və qələm tələb olsa da, bit ki, model nə anlamaq yalnız kodu adətən 0s və 1s ifadə bilməz. Siz 00010 getmək və s bilməz. Siz decimal ya hexadecimal və ya octal və ya digər notlari seçin var. Çoxu sadəcə hər rəqəmli 4 bits təmsil hexadecimal seçin edirlər və bu sürətli math edə bilərsiniz. Mən demək olar ki, eyni olan toupper, mənim əl dalğa bilərsiniz demək olar ki, eyni görünür. Toupper deyil və ya operator deyil, bu oğlan və df istifadə olur. Df nə təmsil edir? df? Hər kəs? >> [Tələbə] 255. 255? Deyil 255. Bu ff olardı. Biz bir az həyata kimi bu tərk edəcəyik. Siz 0-dan getmək Lakin əgər, sonra 1, 2, 3, 4, 5, 6, 7, 8, 9 və nə 9 sonra gəlir? Biz decimal rəqəm həyata cür istəyirik, ancaq hexadecimal nə 9 sonra gəlir? [Tələbə] a. >> Beləliklə a, b, c, d. Siz d həqiqətən təmsil bit nə model həyata rəqəm bilər. Biz riyaziyyat nə varsa, biz sizə geri alınması başa maskası bu eyni olduğunu görəcəksiniz. Bu f, bütün 1s və bu d edir. Belə df ki, maska ​​təmsil edir. Bütün hüquqlar. Və nəhayət, hər şeyi səs super, super texniki, etmək deyil lakin biz bunu bir proqram yazmaq istədim güman edirlər. Mənə davam və binary.c adlı fayl bir proqram olan ikili, etmək edək. İndi mənə ikili run və mənə qeyri-mənfi tam verək. Gəlin 0 asan və növü başlayın. Bu indi onun ikili təmsil bir tam həyata yazdıran bir proqramdır. Mən bu oyunu oynamaq və yalnız 1 yazın Belə ki, mən 1-32-bit təmsil lazımdır. I 2 ilə yenidən bu halda, mən almaq lazımdır. Mən 7 varsa, mən s sonunda bir neçə 1s almaq və olmalıdır. Çünki bitwise əməliyyatları ilə bu qeyd həyata çevirir həqiqətən, həmçinin başqa bir şey edə bilərsiniz. Siz dinamik Bu maska ​​yarada bilərsiniz. Bitwise əməliyyatları olan bu bir final Məsələn bir göz atın. Burada kodu ilk hissəsi, bir çox istifadəçi təklif və siz məni bir qeyri-mənfi tam verir ki, təkid. Belə ki, köhnə məktəb heyəti növ var. Amma burada maraqlı cür ki, bir şey. Mən ikili bir sıra çap edə bilərəm? Mən ilk nə nə təkrarlamaq? Ən azı cihaz da, adətən, bir int həcmi nedir? >> [Tələbə] 4. 4 deyil. Belə ki, 4 * 8 32 - 1 31. Mən 31-dən saymaq başlayan alıram Beləliklə, əgər ki, olur, təmsil yalnız konseptual, buraya bu oğlan olan 31 bit və ya yüksək üçün bit, Bu bit 0 olacaq halbuki. Beləliklə, bu bit 01 bit deyil ... 31. Belə ki, bu kodu nə edir? Bu sirli görünür baxmayaraq, yalnız aşağı 31 0 iterating olunur, loop üçün bildirək. Vəssalam. Belə ki, maraqlı hissəsi indi burada bu 5 xətt olmalıdır. Bu istiqamətdə bir dəyişən adlı maska ​​bəyan edirəm edək ki, Bu sarı ədəd bizim hekayə uyğun olmalıdır. Və bu nə edir? Bu, əvvəl çox güman görmədim sonra başqa bitwise operatorudur. Bu sol shift operator var. Bu operator bu yoxdur. Burada 1 nömrəli, və əgər i shift, sol shift sol Əgər fərdi 1 etdiyini təsiri var ki, nə düşünürsünüz? Sanki artıq dəyişir. Sayı 1 sol var nə və 31-i başlatılıyor ilə başlamaq əgər ki, nə olacaq? Bu sayı 1 almaq və burada 31 yerlərdən keçmək olacaq. Və bunun arxasında açıq-aydın başqa heç bir rəqəm var, çünki o ismarıcları 0s ilə əvəz olunacaq. Belə ki, əlbəttə, bu kimi görünür hansı sayı 1, həyata başlamaq lazımdır - və mənə mərkəzində burada artıq cəlb edək. Siz sol şeyi keçmək kimi, sonra bu oğlan mahiyyətcə bu yolla gedir. Amma tezliklə Bunu kimi, 0 doldurulması olur Siz onu ikinci dəfə keçmək varsa, bu yol gedir və başqa 0 doldurulması olur Siz daha keçmək və sonra başqa bir 0 doldurulması olur Siz 1 << i 31 yerlərdən bu şey Belə ki, bir maska ​​əldə sona ki, uzun bir 1 olduğu leftmost bir 32 karakterden qalan bütün bir 0 yerləşirsiniz. Və bu kimi sola bir sıra keçid, bir kənara kimi, çıxır də təsadüfən, bəzən rahat, ki sayı nə təsiri var? >> [Tələbə] bu katlama. Bu katlama çünki sütun hər bir - Bu 1s yeri, 2s yeri, 4s yeri, 8 yer, 16 yer - Siz sol getmək kimi bütün misli they're. Daha doğrusu, siz 1s keçmək zaman sayını dəyəri misli qədər olacaq. Siz rəqəm maraqlı dəyişikliklər etdiyini başa bilər 2 səlahiyyətləri bu şəkildə hər şey üzərində keçid ilə. Belə ki, necə bu iş? Bu, sonra mənə istədiyiniz dəqiq yerdə 1 olmaqla bütün 0s ki, maska ​​verir toupper.c oğurlanmış olan və bu ifadə, sadəcə istifadəçi yazdığınız n sayı almaq deyib, "Və" bu maska ​​ilə, və nə üçün gedir? Siz maskalı yeri bir 1 olduqda 1 almaq olacaq, ya yoxdur, əgər 0 almaq olacaq. Və bütün bu proqram səmərəli, bir loop var deyil və o, burada bir 1, sonra buraya, sonra burada 1 ilə 1 maska ​​yaradır və burada istifadəçi daxil a 1 bit var demək üçün bu bitwise VƏ oyun istifadə edir? Burada istifadəçinin daxil 1 bit var? Və əgər, sözün 0 çap başqa, 1 çap. Yerine 8-32 bit edirik səbəbdən yalnız, çünki ints Bu edirik lakin biz sonra təqdim etdik bu bitwise VƏ, bu bitwise OR, deyil tez-tez olduqca faydalı olmayan və bu sol shift operator, onlar ola bilər həyata lakin bu çevrilir. Əslində, əgər Booleans bir sıra kimi bir şey təmsil idi yalnız doğru və ya yalan təmsil etmək üçün, və ya track saxlamaq istəyirdi Güman 300 tələbə tam bir oda, mövcud siz 300 bools almaq, belə ki, bool tipli həcmi 300 bir sıra bəyan edə bilər kimsə burada yalan başqa varsa, və siz doğru hər bir bilərsiniz. Niyə data structure ki, təmsil səmərəsiz edir? Nə data strukturu, 300 bools bir sıra layihə haqqında pis? Başlıq altında, əslində, bir bool nədir? Bu da tanış ola bilər bir şeydir. Heç bir bool var həyata çevirir. Biz növ yaradılmış saxla ki cs50.h fayl ilə, olan özü standart bool daxildir. Bu bool gəldikdə C, baxmayaraq ki, mehriban lal edir. Bu, hər bool təmsil 8 bit istifadə edir, hansı tamamilə israfçı edir Aydındır ki, siz bir bool təmsil neçə bit lazımdır çünki? Yalnız 1. Belə ki, həyata çevirir ki, indi bitwise operatorları ilə qabiliyyəti varsa, hətta bir byte hətta char fərdi bit manipulyasiya, Əgər axmaq bir şey təmsil tələb olunan yaddaş azaltmaq bilər həyata çevrilir 8 amil tərəfindən daxil olmayıb səpkili data strukturu kimi. Əvəzində doğru və ya yalan təmsil səkkiz bit istifadə, siz sözün bir istifadə edə bilər sinfində hər səkkiz tələbələr üçün bir byte istifadə və aşağı səviyyəli tövsiyələr bu cür istifadə edərək 0 1 fərdi bit-dən toggling. Bu, həqiqətən, enerji son qoydu. Bitwise əməliyyatları haqqında suallarınız var mı? Bəli. >> [Tələbə] orada xüsusi və ya operator mı? Bəli. Bu kimi görünür ki, xüsusi və ya operator, ^, kök simvol var yalnız ilk şey və ya ikinci şey 1 olmaq çıxış üçün 1 ola bilər deməkdir. Siz həmçinin 1 və ya əksinə bir 0 ters imkan verəcək ~, var da bir deyil. Və biz gördüm bir əks olan sağ shift operator, >> də var. Bütün hüquqlar. Üzrə yüksək səviyyədə artıq şeylər edək. Biz mətn söhbət tərəfindən açılmış və o, kompressor və bit az nömrələri ilə mətn təmsil olunması; biz indi bitwise səviyyədə şeyi manipulyasiya başlaya bilərsiniz haqqında bir az danışdıq. Gəlin indi təmsil qədər 10,000 fut geri zoom qrafik kimi daha mürəkkəb şeyi. Burada Almaniya bir bayrağı vardır, biz burada Fransa biri var. Məsələn gifs - Bu Bildiyiniz fayl formatları təmsil bilər. Heç. Gif başa ki, Web bir şəkil gördüm varsa, Bu qrafik mübadiləsi format edir. Növ burada Bu iki bayraqları sıxılma özlərini borc bəlkə Aşkar nə səbəbdən? >> [Işitilemez tələbə cavab] Təkrar bir çox hüququ var? Almaniya bayrağı göndərmək üçün, ekranda bir şəkil kimi bu hesab Sizin Not gün geri. Siz bir şəkil tərtib ki, fərdi piksel və ya nöqtələr olduğunu xatırlayıram bilər. Qara nöqtələr və qara nöqtələr başqa bütün cərgə bütün sıra var. Biz, həqiqətən də zoomed əgər biz görürük ki, qara nöqtələr sıralarında bir dəstə var biz Photoshop Rob üzünü üzrə zoomed zaman çox istəyirəm. Biz daha dərin və şəkil daxil dərin və daha dərin var, kimi siz bu halda onun göz ibarətdir ki, meydanların bütün bu pixelation görən başladı. Burada eyni iş. Biz kifayət qədər bit zoomed, siz fərdi nöqtələr görmək olardı. Bəli, bu bit bir tullantıların növüdür. Bayrağı üçüncü bir qara və bayrağı üçüncü sarı və s varsa, niyə biz elə bu bayraq kompres edə bilər? Model bir az fərqli olsa və hətta Fransa bayrağı sıxılmış bilər. Bu, GIF formatında bir itkisiz sıxılma formatı edir çıxır siz burada alman bayrağı kimi bir şəkil bilər deməkdir siz keyfiyyət ödün olmadan onun bit bir çox tullamaq olar. Bu, JPEGs kimi bir şey fərqli edir Bizi ən çox yəqin ki, daha çox tanış olan. Facebook şəkillər və Flickr photos və kimi onlar qəbul etdiyiniz zaman demək olar ki, həmişə JPEGs kimi qeyd olunur, kayıplı - - Siz bit tullamaq etməyin vasitəsi format lakin JPEGs bir kayıplı edir lakin siz də keyfiyyət tullamaq. Və belə Photoshop ilə photos kompres və ya Facebook onları bərpa əgər və ya, həqiqətən, pis gündə telefon onları almaq Siz şəkil çox splotchy və pixelated almaq başlayır bilirik ki, bu kompüter və ya telefon ilə sıxılmış olunur, çünki və ki ilə sanki üz məlumat atma. Amma GIF bu ismarıcları bilər daha az bit istifadə edə bilərsiniz ki, gözəl hər hansı bir məlumat itirmədən. Və əsasən aşağıdakı kimi belə yoxdur. Əksinə bir BMP kimi bir fayl mağaza çox qara, qara, qara, qara üçün RGB üçqat ki, qara, qara, qara, qara, qara, qara, qara və s, Əksinə, GIF formatında, "Qara", deyə davam edir və sonra, "bu 100 dəfə təkrarlayın" və ya kimi bir şey. "Qara deyil, bu 100 dəfə deyirəm, qara Bu 100 dəfə təkrar ..." "Sarı, bu 100 dəfə təkrar edin." Və bu leftmost pixel, mahiyyətcə, xatırlayır və sonra birtəhər təkrar ki, pixel təkrar anlayışı kodlar. Belə gifs sonra hər hansı bir məlumat itirmədən özləri kompres bilər. Amma siz istifadə gifs ki, alqoritm, əgər tahmin olsaydı, onlar ölçüsü eyni baxmaq baxmayaraq bu bayraqları olan, bir GIF kimi disk saxlanan zaman kiçik olacaq? >> [Tələbə] Almaniya. Almaniya kiçik olacaq? Niyə? [Tələbə] Siz təkrar Çünki bir çox dəfə yatay və sonra bir dəfə təkrar edin. Məhz >>. GIF icad edən insanlar yalnız cür özbaşına qərar Çünki təkrar yatay və yan leveraged olunacaq. Fransız bayrağı çox alman bayrağı yana burada daha çox təkrar var. Biz, həqiqətən, bu gifs var ki, sabit bir qovluq açmaq əgər, həqiqətən burada Almaniya bayrağı 2 kilobayt və Fransız bir 4 kilobayttan olduğunu görə bilərsiniz. O, bir-iki dəfə başqa bir təsadüf ola olur lakin əslində Fransız bayrağı daha böyük olduğu halda var. Biz qrafik haqqında burada söhbət edirik baxmayaraq, eyni ideyalar müraciət edə bilər bir az daha kompleks olduğunu bayraqları lakin images kimi deyil şeylər. Bir alma bir şəkil alsaq, şübhəsiz ki, təkrarlanması bir çox orada var belə ki, biz birtəhər default fonunda mavi olduğunu unutmayın bilər və sağ şəkil, təklif kimi Bu şəkil hər pixel rəngini yadda var. Beləliklə, biz məlumat itirmədən oraya bit atmaq olar. Apple yenə də yalnız həmin görünür. Burada Məsələn, bir film nə görə bilərsiniz. Bu köhnə məktəb film makaraları vasitəsi orada üst image təmsil bir ev, son bir RV sürücülük və bir ağac var. Ki van soldan sağa keçmiş sürücüler kimi, nə açıq-aydın dəyişən deyil? Ev yerdə niyyətində deyil və ağac yerdə niyyətində deyil. Hərəkət ki, yalnız bu halda van edir. Dəyişməz Background təklif etdiyim kimi, siz kino nə edə eyni yalnız çərçivələri arasında dəyişmir məlumat tullamaq edir. Bu adətən interframe sıxılma kimi tanınır elə bu çərçivəsində bu demək olar ki, eyni görünür, əgər Gəlin disk haqqında eyni məlumat hər hansı saxlanılması narahat deyil Bu aralıq çərçivəsində də, yalnız bir müddət bir əsas çərçivəsində istifadə edək əslində bir az ağlı başında olma kontrol redundantly kimi məlumat saxlamaq. Əksinə, kompressor video üçün başqa bir yanaşma, burada bu ikinci və aşağı Məsələn edir çox mağaza daha 30 kare, niyə yalnız əvəzinə 15 çərçivəsində ikinci saxlamayın harada? Əksinə gözəl, mükəmməl axan film cür çox, bir az bir az köhnə məktəb, kekemelik edir kimi görünə bilər lakin xalis təsiri başqa zəruri ola bilər çox daha az bit istifadə etmək olacaq. Belə ki, bu sonra bizi tərk edir? Bu, sıxılma ilə getmək bilər başqa bir kənara bir az idi. Ki, daha çox üçün, burada CS175 kimi bir sinif edir. Burada video başqa bir misal var. Arı hərəkət yalnız bir şey varsa, həqiqətən o orta çərçivəsində informasiya tullamaq olar gül və göy və yarpaqları dəyişən, çünki. Amma indi son bir şey hesab edək. Növbəti 5 dəqiqə biz mühazirə əbədi arxasında C tərk edirsiniz? Bəli. Deyil psets də olsa. Son C haqqında hekayə və sonra biz çox sexy stuff almaq HTML və Web və woo-hoo cəlb. Bütün hüquqlar. Burada getmək. Yəni motivasiya var. Bu biz cingilti run proqramları yazılı edilmişdir zaman bütün bu dəfə çıxır. Və cingilti, biz olduqca çox ilk həftədən etibarən deyib sonra, mənbə kodu edir və obyekt kodu dönüştürür. Bu C alır və 0s və 1s dönüştürür. Bu kimi çox kimi sadə deyil çünki cür bir neçə həftə üçün sizə yalançı etdik. Siz cingilti kimi bir proqram çalıştırdığınızda başlıq altında gedən daha çox var. Əslində, bir proqram tərtib prosesi həqiqətən ümumiləşdirmək olar, siz derleyiciler haqqında Rob-nin video xatırlayıram bilər, bu 4 addımlar daxil: pre-emal, özü tərtib quraşdırma və əlaqələndirilməsi. Amma sinif biz və dünyada ən insanlar adətən bu addımlar bütün ümumiləşdirmək kimi yalnız "tərtib". Amma bu kimi mənbə kodu ilə başlamaq, bu, bəlkə də sadə C proqram geri biz tərtib zaman bu kimi axtarır başa Xatırladaq ki, bu günə qədər yazdıq. Lakin aralıq addım həqiqətən var və bu addımlar aşağıdakılardır. Birinci bu şey, bu və proqramlarının ən çox üst var # Daxildir # Bizim üçün nə daxil deyil? Mənim fayla Bu olduqca çox nüsxə və pastalar stdio.h məzmunu ki, niyə? Niyə stdio.h məzmunu haqqında qayğı yoxdur? Maraq var nə var? Derleyiciyi sonra nə demək bilir ki Printf bəyannaməsi, onun prototipi, Mən printf bu funksiyanı qeyd edir. Belə ki, tərtib 1-addım əvvəlcədən emal vasitəsi cingilti kimi bir proqram və ya cingilti ilə gəlir ki, bəzi köməkçi proqramı, alt üçün üst kodu oxuyur sağ və bu # rəmzi görür istənilən vaxt, include kimi bir söz sonra o çıxarmaq və fayl bu halda stdio.h ilə sovuşdurmaq ki, əməliyyat həyata keçirir. Bu addım 1 var. Sonra çünki böyük surəti oldu ki yapışdırıb iş daha böyük C fayl var. Addım 2 indi tərtib edilir. Amma tərtib belə görünür ki, mənbə kodu edir çıxır və bu kimi görünür ki, bir şey daxil çevrilir olan tanış üçün adlanır? >> [Tələbə] Məclisi. >> Assambleyasının dili. Bu, həqiqətən, daha çox ətraflı daxil dalış lazımdır siz CS61 əgər bir şeydir. Bu yalnız 0s və 1s özünüzü yazılı əldə edə bilərsiniz kimi haqqında kimi yaxın lakin hələ mənada ən azı bir az edir ki, belə bir şəkildə şeylər yazmaq. Bu maşın təlimatlar, biz burada əsas funksiyası aşağı diyirləyin əgər bu push göstərişi olduğunu qeyd, təlimat hərəkət təlimatı çıxmaq, təlimat zəng və s. Siz kompüter Intel daxilində var ki, eşidəndə sizin Mac və ya PC bir Intel CPU var ki, nə deməkdir? A CPU Intel müəyyən təlimat anlaşma kimi şirkətlər tərəfindən inşa minir. Onlar heç bir svop kimi funksiyaları nə fikir və ya əsas olunur özlüyündə var amma onlar kimi çox aşağı səviyyədə göstəriş əlavə nə çıxmaq, təkan yoxdur hərəkət, zəng və s var. Belə ki, sərbəst toplaşmaq dilinə C kodu tərtib edərkən, çox istifadəçi dostu görünüşlü kodu, bu kimi görünür ki, bir şey çevrilir ki, sözün və CPU həyata belə kiçik ədəd ətrafında bayt və ya 4 bayt hərəkət edir. Amma nəhayət, zaman cingilti proqram bu təmsil etmək üçün hazır 0s və 1s, sonra montaj adlı addım olur daxil, zınqıltı çalışan zaman bu daha bütün bir göz blink baş verir. Biz burada başlamaq, bu kimi bir fayl çıxışlar, sonra bu 0s və 1s onu çevirir. Və bir anda geri getmək və faktiki fəaliyyət görmək istəyirsinizsə, - Mən daxil hello1.c-biz baxdı ilk proqramları biridir getmək əgər adətən biz cingilti hello1.c bu tərtib edəcək və bu, bizə a.out verəcək. Yerine bu-S bayrağı vermək əksinə varsa, nə almaq lazımdır hello1.s edir və həqiqətən montaj dil görəcəksiniz. Mən çox qısa bir proqram üçün bunu, amma alıram siz Scramble geri getmək əgər və ya bərpa və ya yazılı sonra hər hansı bir proqram və yalnız həyata maraq , əslində CPU daxil qidalanır olunur nə kimi faktiki görünür nə görmək istəyirəm siz cingilti ilə-S bayrağı istifadə edə bilərsiniz. Amma sonra nəhayət, bir gotcha hələ var. Burada hello, dünya mənim həyata təmsil edən 0s və 1s var. Amma mənim proqram başqasının funksiyası istifadə olunur. Belə ki, proses olmuşdur baxmayaraq, mən hello.c almaq o toplaşmaq kodu daxil tərtib edilir, sonra o, 0s və 1s daxil yığılmış olur vaxt bu nöqtədə outputted ki 0s yalnız və 1s olanları mənim kodu ki nəticəsidir. Amma printf yazan şəxs, onlar 20 il əvvəl onların kodu tərtib və indi, cihaz haqqında haradasa yüklü belə ki, biz birtəhər, mənim 0s və 1s ilə onun 0s və 1s daxil etmək və keçid kimi tanınan tərtib 4-cü və son addım bizə gətirir. Belə ki, sol tərəfdən biz əvvəlki kimi tam olaraq eyni şəkil var: hello.c toplaşmaq kodu 0s və 1s olur olur. Amma, mən kodu standart I / O kitabxana istifadə geri və stdio.c adlı bir fayl var haradasa kompüter deməkdir və ya ən azı tərtib version onların çünki bir neçə il əvvəl kimsə toplaşmaq kodu daxil stdio.c tərtib və sonra 0s və 1s bütün dəstə. Bu statik və ya dinamik kitabxana kimi tanınan nə edir. Bu cihaz yerə oturan bir fayl var. Amma nəhayət, mən 0s və 1s etmək və şəxsin 0s və 1s və birtəhər, onlara birlikdə link sözün birləşdirmək o 0s və 1s a.out ya hello1 və ya hər hansı adlı bir fayl Mən proqram çağırıb Sonda nəticə 1s və proqram tərtib ki 0s bütün var ki. Siz cingilti istifadə etdiyiniz zaman bütün bu vaxt bu dövr Beləliklə və daha yaxınlarda cingilti çalıştırmak üçün etmək çalışan bu addımlar bütün dərhal növ olur, lakin çox şüurlu edilmişdir. Və belə ki, məhz CS61, kompüter elm davam əgər Bu peel geri off davam edəcəyik ki, lay səmərəlilik, təhlükəsizlik nəticələri və bu aşağı detallarını kimi söhbət. Amma ki, biz geridə C tərk etmək haqqında istəyirik. Nin davam və indi 5 dəqiqə fasilə edək, və biz geri gəldikləri zaman: İnternet. Bütün hüquqlar. Biz geri. Gördüyünüz kimi, çünki biz, HTML deyil yalnız bizim göz başlamaq HTML özü əslində olduqca sadə amma həqiqətən web proqramlaşdırma daha çox, ümumiyyətlə, daha ümumi şəbəkə, və bu texnologiyaların birlikdə necə gəlib bizə Internet üstün daha çox inkişaf etmiş proqramları yaratmaq üçün imkan İndiyədək daha bu qara və ağ Windows edə bilərsiniz. Həqiqətən, semestr bu nöqtədə biz nisbətən az vaxt sərf edəcək, baxmayaraq ki, PHP, HTML, CSS, JavaScript, SQL və daha çox, ən tələbələr web-based ki, son layihələr bunu sonuna qədər nə görürsünüz kimi, fon İndi C, çünki Bu yüksək səviyyəli dillər tətbiq çox deyil. Və, son layihə haqqında düşünür başlamaq kimi ki, çox Problem Set 0 kimi, təşviq edildi Not sizə maraq çox şey etmək, yekun layihə C ilə newfound bilik və fərasət etmək üçün imkan və ya PHP və ya JavaScript və ya bir spin üçün istəyirəm və görmək üçün dünya üçün proqram öz parça yaradın. Və ideyaları ilə toxum sizin üçün, siz burada rəhbərlik edə bilər ki, projects.cs50.net bilirik. Hər il biz kampus fakültə və heyət ideyaları və tələbə qrupları iddiasını yalnız kompüter istifadə edərək həll edilə bilər ki, maraqlı şeylər üçün öz ideyalarını təqdim , internet istifadə proqram istifadə edərək. Siz, öz fikri ilə gəlmək üçün mübarizə edirik əgər bütün vasitələrlə bu il və son oradan ideyaları vasitəsilə hərəkət edir. Bu əvvəl həll edilmişdir ki, layihə həlli üçün mükəmməl tamam. Biz kampus camaşırxana statusu görən bir çox apps gördük yemək zalı menyu naviqasiya üçün bir çox apps, Kursun kataloq və kimi gezinmek üçün çox apps. Və həqiqətən, gələcək mühazirə və gələcək seminarlarda, biz kommersiya mövcud, həm də bəzi açıq API ilə tanış edəcək Məlumat əldə etmək imkanı, eləcə də burada mövcud kampus CS50 ki, belə və sonra bu maraqlı şeylər edə bilərsiniz. Biz dəqiqləşdirilməsi azad bir neçə gün yekun layihələr üzrə daha çox, indi üçün, bir-iki dostları ilə solo iş və ya bilir siz maraq ən istənilən layihənin üzərində. İnternet. Siz irəli getmək və dizüstü çıxarmaq, siz ilk dəfə facebook.com getmək son daxil və hit daxil olan deyil. Dəqiq nə olur? Addımlar bilgisayarınızda daxil edin hit zaman, bütün dəstə magically baş növ başlamaq. Belə ki, Facebook kimi sol, web server burada, sagdaki burada və elə siz HTTP, Hypertext Transfer Protocol adlanan bu dil istifadə edirik. HTTP bir proqramlaşdırma dili deyil. Bu protokol çoxdur. Bu intercommunicating zaman web browser və web server istifadə edən konvensiyalar müəyyən edilir. Və nə deməkdir belədir. Çox real dünya kimi, biz bu konvensiyalar var yerləşir, burada mənə humoring ağla deyil, əgər, ilk dəfə bir insan cavab əgər, Mən sizə gəlib, demək olar ki "Salam, mənim ad David edir." >> Salam, David. My name Sammy edir. "Salam, David. My name Sammy edir." Belə ki, indi biz yalnız silly insan protokol bu cür məşğul ola Mən protokol təşəbbüsü olduğu, Sammy, cavab verdi biz əlində sarsılmış sonra, və əməliyyatı tamamlandı. HTTP ruhunda çox oxşardır. Web browser sorğu www.facebook.com zaman, nə brauzerinizin həqiqətən edir, belə ki, danışmaq, onun əl genişləndirir server və bu mesaj var. Sizin üçün nə istəyirsiniz - Və Mesaj adətən almaq kimi bir şeydir? - Mənə adətən URL sonunda bir çizgi tərəfindən qeydi olan ev səhifə almaq. Və yalnız belə mən danışan deyiləm nə dil bilir, mən browser sizə gedirəm Mən, HTTP versiyası 1.1 danışan edirəm ki, Həmçinin yaxşı tədbir üçün, mən sizə demək gedirəm ki, mən ev səhifə istəyirəm ki, ev sahibi facebook.com edir. Adətən, sizə unbeknownst bir web browser,, insan, sadəcə, www.facebook.com yazın zaman İnternet vasitəsilə bu mesaj göndərir Brauzerinizin daxil edin. Nə Facebook ilə cavab verir? Bəzi oxşar görünüşlü sirli ətraflı həm də çox daha çox cavab verir. Mənə burada Facebook-un ana səhifəsinə davam edək. Bu, her zaman daxil qalmaq əgər bizim ən yəqin görmək heç də ekran lakin bu, həqiqətən onların ev səhifə. Biz Chrome bunu etsəniz, bu kiçik çərçivədə menyular qoparmaq bilər ki, qeyd. Chrome istifadə edərək, Mac OS, Windows, Linux, və ya kimi üzərində olub, klik və ya sol klik nəzarət varsa, adətən, bu kimi görünür ki, menyu qoparmaq bilər bir neçə variantları gözləyir yerləşir, hansı biri View Page Source edir. Siz həmçinin adətən View menyusundan və ətrafında poking bu şeylər əldə edə bilərsiniz. Məsələn, burada View altında Developer eyni şeydir. Mən irəli getmək və View Page Source baxmaq gedirəm. Nə görürsünüz Mark facebook.com təmsil yazılı ki, HTML. Burada tam mess, lakin biz uzun əvvəl bu bir az daha anlamlı görəcəksiniz. Amma burada bəzi nümunələri var. Bu kimi məhsulları aşağı diyirləyin edək. Bir insan bucaqlı mötərizə bu model oxumaq, lakin olduğunu qeyd etmək üçün çətindir seçim dəyər kimi açar sözlər, bəzi sitat strings kimi açar. Bu harada, siz doğum il nə ifadə ilk dəfə bağlayıb zaman. Dəğum il açılan menudan elə burada kodlanmış edir HTML, Hypertext Markup Language adlanan bu dildə. Başqa sözlə, brauzerinizin bir web səhifə xahiş zaman, bu HTTP adlanan bu Konvensiyanın danışır. Amma facebook.com ilə tələb nə cavab verir? Biz bir anda görəcəksiniz ki, bu sirli mesaj bəzi cavab verir. Amma onun cavabı ən HTML, Hypertext Markup Language şəklində deyil. Bu web page yazılı olan faktiki dil var. Və bir web browser həqiqətən, sonra bu kimi görünür ki, bir şey alınandan sonra nə deyil o sağ, aşağı üst oxuyur və istənilən vaxt bu bucaqlı mötərizə biri görür seçim kimi bir söz sonra, o, müvafiq şəkildə biçimlendirme dili gösterir. Bu halda, bu il açılan menyu göstərmək olar. Ancaq yenə də, bu baxmaq üçün tam bir mess edir. Facebook developers Məsələn, stil üçün 5 0 büruzə çünki bu deyil. Onlar yazmaq ki kodu ən çünki bu, əslində, gözəl yazılıb , yaxşı, şərh qəşəng indented və kimi ancaq maşın, kompüter, tarayıcılar həqiqətən bir lənətləmək vermir kodunuzu yaxşı səpkili olub. Və əslində, bu nişanı əsas bütün bu dəfə hit tamamilə israfçı var və kodu bütün şərh qoymaq və həqiqətən təsviri dəyişən adları seçmək Brauzer qayğı olmadıqda, çünki günün sonunda edirik bütün bayt israf edilir. Belə ki, baxmayaraq facebook.com üçün kodu mənbəyi nə ən saytları nə edir çıxır İnternet cs50.net və digər saytları bütün adətən yaxşı yazılı və şərh və qəşəng indented və kimi edilir, veb İnternet üzərində qoyulur adətən əvvəl, kodu minified ki, vasitəsi HTML və CSS - biz tezliklə görəcəksiniz başqa bir şey - biz tezliklə görəcəksiniz JavaScript kodu sıxdı, uzun dəyişən adları olmaq vasitəsi X və Y və Z, və hər şey belə oxunaqlı baxmaq edir ki, ağ bütün bütün üz atılır - Siz bu yolu hesab, Facebook bir milyard səhifə gün xit olur, çünki kimi dəli bir şey - belə nə bir proqramçı yalnız anal əgər yalnız heç belə daha kodu bir line indent üçün yer bar bir əlavə vaxt edib? Facebook qoruyur əgər dolayısı hansı ki, ağ bu bytes bütün onlar İnternet insanların geri göndərmək? Yer bar çarpan bir dəfə sizin fayl əlavə byte verir. Və əgər bir milyard insanın, sonra o gün ev səhifə yükləmək üçün davam İnternet üzərində nə qədər çox data ötürülən var? Heç bir yaxşı səbəb üçün gigabyte. Və verilmiş, web sites bir çox bu, belə bir ölçeklenebilir məsələ deyil lakin Facebook, Google üçün ən populyar saytları bəzi böyük stimul sizin kodu mess kimi baxmaq üçün maliyyə var Əgər o kompressor əlavə mümkün qədər az bytes kimi istifadə edirsinizsə ki, zip kimi bir şey istifadə edərək, alqoritm, gzip adlı brauzer sizin üçün avtomatik olaraq ki. Amma bu dəhşətli deyil. Biz digər insanların saytları haqqında bir şey öyrənmək heç vaxt lazımdır və web pages dizayn necə biz bu kimi baxmaq var. Belə ki, xoşbəxtlikdən, Chrome və IE və Firefox kimi brauzerlərdə bu gün adətən daxili geliştirici alətləri ilə gəlmək. Mən Element ya Inspect burada enmək əgər Əslində, mən, Developer bax getmək və aydın Developer Tools getmək mənim ekranın altındakı bu pəncərə indi açılır. Tanımadığı Nişanlar çox burada var, çünki ilk bir az qorxuducu deyil amma alt sol elementləri bütün yol basın varsa, Chrome açıq-aydın olduqca ağıllı deyil. Bu bütün kodu şərh bilir. Və Chrome nə o Facebook HTML bütün up təmizləyir edir. Ağ orada deyil baxmayaraq, abzas, orada deyil İndi bütün daha hiyerarşik bu web page getmək başlaya bilər ki, görürsünüz. Bu HTML5 adlı dilində yazılmış hər web page, bu ilə başlamaq lazımdır çıxır ki, bu DOCTYPE bəyanat, belə ki, danışmaq üçün: Bu yüngül və boz orada növü var, ancaq bu fayl kodu ilk xətt var və yalnız "Hey, burada HTML5 gəlir. Burada bir web page gəlir.", brauzerinizin deyir Ki, kənarda ilk açıq bracket bu şey, açıq bracket HTML tag, olmaq olur Mən dərin dalış əgər, sonra - bu oxlar tamamilə mənasız edir; yalnız təqdimat xatirinə, onlar fayl həqiqətən deyildir - Facebook HTML tag ki, daxili, açıq bracket ilə başlayır ki, bir şey qeyd və sonra bir söz tag adlanır etmişdir. Belə ki, HTML tag daxilində baş tag və bədən tag yəqin edir. Baş tag Inside indi Facebook üçün bütün mess edir onlar marketinq və reklam üçün metadata və digər çox şey var. Biz aşağı diyirləyin Lakin, aşağı, aşağı, aşağı, olduğu nin görək. Burada deyil. Bu, bir azı qədər tanış deyil. Facebook ana səhifə adı, heç title bar nişanı baxmaq əgər, Facebook xoş gəlmisiniz - Up ol və ya daha çox məlumat, Giriş. Ki, Chrome adı bar görmək nə var və bu kodu təmsil ne var. Biz baş başqa hər şey ignore varsa, veb səhifə içalat ən çox orqan var və Facebook kodu daha kompleks baxmaq gedir çıxır ki, çox şey çox biz, bu il ərzində inşa edilmişdir yalnız ilkin yazacaq lakin script tags bütün çox, JavaScript kodu, var ki, web çox interaktiv edir: dərhal JavaScript kimi dillərindən istifadə statusu yenilikləri görüb. Bir səhifə bir bölmə olan div deyilən bir şey var. Ancaq biz ətraflı almaq əvvəl, kiçiltmək üçün cəhd edək və belə danışmaq, Facebook 1.0 sadə versiyası oldu. Burada web pages hello, dünya. Bu çox üst ki, DOCTYPE bəyannamə var hansı başqa hər şey bir az fərqlidir. Biz bir web page yazmaq başqa bir şey deyək. Yenə hekayə eyni: hello, vergül, bu qalın edilməsi başlamaq sonra dünya qalın çap, bu qalın, bu çap dayandırmaq deməkdir olur. Mənə davam və mənim fayl saxlamaq, Chrome geri edək, yalnız belə ki, biz daha yaxşı görə bilərsiniz zoom olacaq və yenidən, və dünyanın qalın indi görürsünüz. Web bütün hiperlink haqqında, belə ki, in irəli getmək və bunu edək: mənim sevimli haqqinda, youtube.com, deyək. Yeniden Saxla. Okay. İndi web iğrençlik yanaşı bir neçə problemlər var. 1, mən burada Enter olduqca əminəm. Mən etdim. Ki, biz stil haqqında vəz olduğunuz nə təcrübə, mən də indented, Enter yalnız lakin mənim dünya hüququ yanında. Belə ki, niyə bu? Reytinqdə yalnız onlara nə demək nə. Mən "burada Break satır. Daxil paraqraf burada qırmaq". Brauzer bildirib deyil Mən qayıt 30 dəfə hit əgər brauzer Belə ki, bu, vacib deyil hələ də dünyaya gələn mənim sağ qoymaq olacaq. Mən, həqiqətən, burada nə var,
bir şey kimi demək xətti fasilə daxil edilir. Və həqiqətən, bir xətt fasilə bir qəribə şey növ Əgər həqiqətən bir xətt hərəkət başlamaq bilməz, çünki, sonra bir şey və sonra yeni bir xətt hərəkət dayandırmaq. Bu atom əməliyyat növü var. Ya bunu ya yox. Siz Enter və ya deyil. Belə br müxtəlif tag bir az, və mən də açıq sort və yaxın lazımdır bütün bir dəfə. Ki üçün sintaksis bu. Texniki, siz HTML bəzi versiyalarında bu kimi bir şey edə bir şey başlamaq və dayandırmaq üçün heç bir səbəb yoxdur, çünki bu yalnız axmaq deyil yerine bir dəfə bütün edə bilər. Ki, HTML5 ciddi, bu çizgi tələb etmir həyata belə ki, bu, yoxdur ki, dərslik və online qaynaqları görəcəksiniz lakin yaxşı tədbir üçün biz belə uzaq gördüm ki, simmetriya təcrübə imkan verir. Bu tag həm açdı və qapalı deməkdir. İndi məni buraya geri getmək, mənim faylı bildirin. OK, belə ki, mən bilirəm, Web istisna olmaqla, yaxşı baxmaq başlayan, mehriban tıklanabilir edir və hələ burada youtube bir şey səbəb görünmür. Bir link kimi görünür olsa da, çünki ki, brauzer ki, özlüyündə bilmir Mən bu bir link ki browser demək lazımdır. Bu yol bir anker tag istifadə edir: və bir az daha oxunaqlı deyil mənə yalnız bir yeni xətt bu hərəkət imkan Mən font ölçüsü shrink olacaq. Mən hələ həyata Am? No bu dichotomy olmalıdır olacaq. Bu tag, lövbəri tag, həqiqətən, bir özellik sürer onun davranış düzəliş və atribut dəyəri yəqin YouTube URL deyil. Amma dichotomy qeyd edir ki, siz davam olduğunuz URL görə ki, ki, siz qeyd və bir link edirik ki, söz olmalıdır ki, demək deyil. Əksinə, bu kimi bir şey ola bilər. Mən bu söz yaxın lövbər tag istifadə edərək, bir köprü edilməsi dayandırmaq demək lazımdır. Mən bunu deyiləm edək. 1, bu, yalnız hər kəsin bir zaman tullantıları olacaq və lazım deyil. Bir tag bağlamaq, yalnız daha tag adını. Siz atributları heç bir qeyd yoxdur. Belə ki, geri ki, saxlamaq imkan verir. OK, voiture, indi mavi və köprü var. Mən bunu basın, Mən, həqiqətən, YouTube getmək yoxdur. Web səhifə İnternet deyil, baxmayaraq Belə ki, ən azı HTML biz İnternet tutmaq imkan və biz, həqiqətən, youtube.com burada sona olardı. Mən geri gedə bilər və burada mənim web page var. Amma bu bildiriş. Əgər spam və ya bir phishing kazanılmış varsa, İndi eyni şeyi yalnız beş dəqiqə sonra imkanı var. Biz www.badguy.com kimi bir şey burada getmək və nə edə bilər və ya hər hansı yarım yamalak veb, sonra sizin PayPal hesabı doğrulamak demək olar. [Gülüş] İndi bu mən basın gitmiyorum olan badguy.com, getmək gedir Hesab edirəm ki, səbəb olduğu heç bir fikrim yoxdur, çünki. [Gülüş] Ancaq biz indi, həqiqətən, orada sonuna qədər imkanı var. Belə ki, biz, həqiqətən, yalnız səthi danışıq başlayaraq edirik. Biz özlüyündə proqramlaşdırma deyilik, biz biçimlendirme dili yazıyoruz. Amma tezliklə biz, HTML bizim lüğət top kimi biz PHP, faktiki proqramlaşdırma dili ilə tanış olacaq ki, avtomatik CSS yaratmaq, bizim avtomatik HTML yaratmaq imkan verir biz ki, həyata keçirilməsi üçün çərşənbə günü başlaya bilər ki, öz axtarışı və daha çox. Bir neçə gün ki, lakin daha çox. Biz sonra görəcəksiniz. [CS50.TV]