[Powered by Google Translate] [Aste 7] [David J. Malan - Harvard Unibertsitatea] [Hau CS50 da. - CS50.TV] Guztiak eskubidea. Ongi etorri berriro. Hau CS50 da, eta hau da 7 aste hasieran. Iragarkiak txiki pare bat: Pset5 egiten ari da gaur egun, edo laster izango da, eta utzi me esan, nahiko zintzotasunez, hau ez challenging artean gehiago izan ohi Ikastaro arazo multzo, eta, beraz, let me aipatu orain beraz, aste honetan inoiz baino gehiago, ez duzu itxaron, esan, asteazken gauean edo osteguna gaueko sartu murgiltze Hau da, behin betiko interesgarri bat pset bat. Dibertigarria dela uste dugu. Benetan lortu bada zuzena guztiz eta ondoren deiturikoak Big Kontseiluko erronka, aukera izango duzu bat AZKARTASUNAK dator ikastaroa langile batzuk eta zure ikaskideen batzuk. Zer da Big Kontseiluak behin zure spell-checker lan egiten duzu, joan cs50.net komando bat exekutatzen ari ondoren ahal izango duzu, guztiz aukera, eta, ondoren, zenbatekoa eta RAM zenbatekoa eta gehiago zure ezartzeko erabili duzu hemen ikusgai izango da ikastaroaren hasiera-orrian. Folks horiek hemen sorta oso bat nabarituko diren langile bezala zerrendatuta duzu asteburuan zehar aurrera, langileak uste fun bata bestearen outdo saiatuko litzateke. Beraz, konturatu helburua hemen hori ez da langileen outdo. Nahiz eta soilik hemen nago 13. Hutsa aukera, baina aukera bat da zein gutxi RAM eta nola batzuk CPU segundotan vis-a-vis zure ikaskideen batzuk erabili ahal izango dituzu. Eta hori Kevin Michael Schmid onartzen dut, Une honetan 1 zenbakia TFS, posizioa, hau da inplementazio bat deitzen dugun ez da posible eman zuela ia 0 RAM eta ia 0 seconds loading. Beraz, Kevin offline zaindu dugu. [Barreak] Badira zenbait trebetasun Kevin proba hori hemen jarriz. Ez genuke pentsatu genuen gauza bat ere orain CS50x egiten ari da aste bat, eta you guys askoz esperimentu honetan parte hartzen duten ikasleentzat dira. Eskatu dugu euren pset0 zati gisa, hain zuzen, era berean, Scratch proiektu bat aurkeztu horiek interes joko bat, artearen pieza interaktibo bat, animazio bat, edo antzeko - 1 - 2 minutuko bideoa, nahi izanez gero, kaixo esaten munduko eta nor dira benetan. Nuke zurekin partekatu bideoak pare bat besterik ez dira aurkeztu, beraz, orain arte pentsatu nuen Gurekin, langileek ere, gutxienez, du benetan da zirraragarria eta inspiratzailea Folks horiek ikusi ahal izateko, mundu osoan zehar, mundu osoko herrialde findu, gauza guztiak, informatika Internet ikastaroa, ote den, nahi dute beren ikasketak jarraitu nahi duelako, euren ibilbidean norabide berri bat hartu nahi dute, beren ezagutza hutsuneak bete nahi dute, arrazoi bera duzu guys agian, hemen izan dira batzuk. Beraz, ematen dizut hemen bat adibidez ikaslea. Goratzeko bolumena izan besterik ez duzu pixka bat. Hemen eta da gure ikasle 1 minutu bidalketak bat. Kaixo, mundua. Ingeniaritza industrial hemen Malaga, Espainia ikaslea naiz. Ikastaro hau online hunkituta nago I love informatika delako, egin dut, eta benetan eskertzen dut lortu dut esploratzeko. Izan ere, bera duzu guys egin dut ikas daiteke baina Harvard Malaga nago izatearen ordez, nola awesome da hori? Beno, Fernando naiz, eta hau da CS50. Ikusi duzu guys. [Barreak] clip beste bereziki gustuko dugu, gentleman hau ez da hain sendoa English duzu. Zuen itzulitako makina da dirudienez, itzulpen beraiek pixka bat Inperfektua dira, beraz, baina hori gure gogokoenetako bat izan zen, beraz, urrun baita. [♪ ♪] Kaixo, mundua. [Japoniako hitz egiten] [I Japoniako agurtu nire ingelesa oso ezinda delako.] [I entregatu mezu Gifu hiria, Japonia. [I lehen aldiz ikaslea izan daiteke azken 20 urteetan, ikusi ahal izango da.] [Harvard Unibertsitateko oso eskertzen duten aukera eman dit hau eta edX naiz. [Golf gitarra bat da, eta nire gogoko gauza exekutatzen ari.] [Barreak] [♪ ♪] [Zergatik cs50x joateko nintzen saiatzen ari dela uste duzu.] [Harvard Unibertsitatea, nire irrika da.] [Bereziki naiz urrutiko presentzia Japonian bizi izan zen.] [Berehala edX adibidez. Existentziaren jakitun saiatu nahi nuen] [Ez Baietz uste duzu I. ikasteko adina ez] [Cs50 nire irrika da. Nire izena Kazu da, eta, hau da cs50. [♪ ♪] [txaloak eta txaloak] Gure gogoko Another aurkezteko hemen norbait izan da. [♪ ♪] [Malan] Google da Oraindik baduzu meme honekin ezezagunetan. Eta gero, azkenik, beste batzuk got posted beharbada saria irabazi adorable pare bat. [Ikasle] Aww! >> [Malan] entzun izan dugu. Hau laburra da, eta, beraz, entzun estuki. [Emakumezkoak hizlari] Zein da zure izena? >> Louie. [Emakumezkoak hizlari] Zer da hau? >> [Giggles] CS50. [Barreak] [Malan] bi zuen hartzen du, nahiz eta. Hemen, joan gara azken. Nire izena Louie da, eta hau da CS50. [Barreak] CS50x ondoren da. Eskerrik asko duten bitartean jarraituz batera etxean izan diren, beraz, orain arte partaking. Gaur egun, gure datu-egituren eztabaida amaituko dugu, gutxienez, oinarrizko batzuk, eta, ondoren, gure HTML eta web programazio buruzko elkarrizketa jarraituko dugu. Izan ere, zazpi aste batzuk gastatu dugu iraganeko programazioaren oinarriak begira algoritmoak, datu-egiturak, eta antzeko eta C, bizi duzu, beraz, orain arte, ez du zertan hizkuntza eskuratzeko ideia horietako batzuk martxan jarri ahal izateko. Eta, beraz, aste honetan eta datorren astean hasita, eta, ondoren, honako hau, azkenik trantsizioa egiteko gai gara C, oro har, nahiko behe-mailako hizkuntza gisa ezagutzen den, maila handiagoa, horiek PHP, JavaScript artean, eta antzeko gauzak, den marraztu dugu azken asteetan zehar ikasi dugun ikasgai berean gainean ikusiko dugu, baina aurkituko dituzu gauzak geratuko array eta hash taulak bezala eta bilaketa eta ordenatzeko bihurtu da beraz, askoz errazagoa da hizkuntza beraiek hasteko erabiltzen dugu indartsuagoa izango da. Baina, lehenik eta behin, zuhaitz-aplikazio bat. Oso ohikoa da egun hauetan, informazioa konprimitu behar. Zein testuinguruan informazio digital mota batzuk konprimitzeko nahi duzu? Bai. >> [Ikasleen] Web gainetik bidali behar duzu. Bai, Web gainean zerbait bidaltzeko nahi duzun. Big fitxategi berri bat deskargatu nahi duzun bada, norbaitek ezin hobea da, beste muturrean zip formatua edo horrelako zerbait konprimituta fitxategi hori erabiliz beraz, baliteke baino bestela transmititzen bit gutxiago ari bidaltzea. Beraz, nola ez informazioa konprimitu duzu? It guztiak irakiten behera dira baino default eskatzen bit gutxiago erabiliz. Baina hori gauza bitxi bat mota dela uste weeks 0 eta 1 itzuli delako. denean hitz egin dugu ASCII eta bitarra eta, bereziki, ASCII buruz hitz egin dugu 8 bit erabiliz alfabetoaren letra irudikatzeko beraz, gutun A 65 by irudikatzen minuskula kopurua 97 da, eta, hala ere, 65 edo 97 ordezkatzen duzun, 7 edo 8 bit erabiltzen ari zarela. Baina harrapatzen ingeles alfabeto hizkiak batzuk daudela ez diren beste herri. Z ez da herri hori guztia, Q ez da herri hori guztia, baina A eta E super popular dira. Eta, hala ere, hizki hauek guztiak, berez mundu bit kopuru berdina erabiltzen du, 8. Beraz, ez luke izan smarter ordez letra bakoitzeko 8 bit erabiliz, nahiz eta gutxitan Q eta Z, adibidez, zer A eta E eta S eta letrak gehien erabiltzen dugu gutxiago bit eta gehiago erabiltzen da bit gutxiago popular letrak, ideia let komun kasuan optimizatzeko, informatika gaia zer gehien gertatuko optimizatzeko saiatzen da eta igarotzeko denbora gehiago pixka bat, pixka bat gehiago espazioa gauza, bai, agian gertatuko baina ez du zertan maiz. Beraz, dezagun adibide bat. Demagun nahi dugun informazioa kodetzeko nahiko modu eraginkorrean. Hazi dezakezu Morse kodea buruz zerbait apur bat jakitea, odds ez zenekien benetako kodea, baina gogoratzen da gutxienez puntuak eta marrak serie dezake. Adibidez, E - kodetze nahiko eraginkorra, eta iragarki gehien gutun erabiltzen soinua atera laburrena. Morse kodea bip-bip-bip-bip-bip-bip eta tonu eusten bai denbora edo denbora luzez epeak laburrak. E, puntua karakterearen bidez adierazten da, super labur beep, beep da, eta E. litzateke Aitzitik, T soinu bat luzeagoa izango litzateke, beep bezala [luzatzen soinu] eta hori T. litzateke Baina hori, oraindik ere nahiko laburra, ordea, izan ere, Z begiratzen baduzu, Z adierazteko beep, beep [longer soinu], beep, beep [laburragoa soinua] joan nahi duzun. Beraz, jada ez da hain arruntak delako. Baina Gotcha hemen, Morse kodea duten apur bat flawed ez da berehala decodable. Esate baterako, demagun alanbre beep amaieran batzuk entzuten duzula [laburrak], beep [luzera]. Zer mezua jaso dut? Puntu eta marratxo bat. Zer esan nahi du ordezkatzen dituzten? [Ikasleen] A. >> [Malan] Agian. Litekeena da ere E T. ondoren Beste era batera esanda, Morse kodea, leverages izkinan kasuan optimizatzeko printzipioa arren, ez du uzten bera berehalako decodability. Hau da, giza edo entzumen puntu horiek eta marratxorik jaso nolabait irudikatu non olatuen hizkien arteko ezagutzen ez baduzu, non-jauziak dira, nahastu delako A dakizukeela ET, edo alderantziz. Beraz, zer egin dezakezu? Morse kodea bakarrik ezin duzu letrak bakoitzaren artean eteten. Baina gelditzea gauzak bizkortzeko sortu osoa counter mota da. Beraz, zer ordez sortu ginen kode bat, non ez zen egoera hau txarra E aurrizki bat da, esate baterako, A beste era batera esanda, ziurtatu ereduak direla oraindik popular letrak labur genezake bada gutxiago popular letrak luzea da, baina ez da posible nahasmena? Huffman izena Gizon bat urte duela asmatu Huffman kodeketa izeneko eskema hau benetan leverages datu-egitura bat gastatu dugu, denbora pixka bat buruz hitz egiten iragan aste honetan, zuhaitzak, zuhaitz bitar zehazki - bitar zuhaitzaren esanahia du ez duela ez da 2 haur baino gehiago. Agian du ezker ume bat, agian, haur baten eskubidea, eta hori da. Beraz, eztabaida mesedetan demagun norbaitek mezu bat bidali nahi du itxura hau. Erabateko zentzugabekeria da, baina bezala osatzen da, Bs, Cs, Ds, eta Es. Eta benetan zenbatzen badituzu bezala, Bs, Cs, Ds, eta Es eta, ondoren, gutun kopuruaren arabera zatitzeko, txiki honetan taula hemen dio letrak% 45 Es dira,% 20 dira honela, % 10 Bs, eta abar. Beraz, beste era batera esanda, geure Aipatutako katea ez dagoela besterik ez da, batzuk bidali nahi duzun mezua. Zentzugabekeria izan gertatzen da, beraz, ahalik eta letra batzuk gisa erabili ahal izango dugu, baina, egia esan, kasu E geratzen gehien, eta B eta C dira popular, gutxienez, gutxienez alfabetoaren hizkiak 5 horiek-. Beraz, nola egin dezaket kodeketa bat datozen gara, kodeketa bitarra, 0 s eta 1s eredua gutun horietako bakoitzean E eredu bat laburra da, eta, agian, B eta C dira apur bat luzeagoa ereduak modu bat, hala nola, berriro ere, ideia gutxiago bit erabili nahi dugun denbora gehiena eta gehiago bit pixka bat behin bakarrik. Huffman kodeketa arabera, zuhaitz-baso bat sor dezakezu. Istorioa line bat sort hemen lan egiten duten zuhaitz eta baita horiek eraikitzeko prozesuan. Dezagun hasteko. Baso honekin hasteko, eta, beraz, hitz egiteko 5 zuhaitz proposatzen dut, eta horietako bakoitzak nahiko ergelak zuhaitz bat da. Zuhaitza da Nodo bakar bat, hemen gisa irudikatzen zirkulu batek osatzen dute. Beraz, gauza horietako bakoitzean C eta egitura bat izan daiteke eta C eta egitura barruan maiztasuna Aldaketa mugikor bat izan daiteke eta, ondoren, agian char letra ordezkatzen. Beraz, nodo horiek uste edozein C antzinako egitura gisa, baina, gaur egun, goi maila. 5 zuhaitzak, soilik nodo bat bakarra bakoitzean baso bat da. Zer da Huffman proposatutako hasten dugu zuhaitz horiek konbinatu txikienaren maiztasuna zenbatzen zuhaitzak pixka bat handiagoak dituzten root berri nodo lotu. Beraz, letrak hemen artean, nabarituko erosotasunerako ordenatuko ditut ezkerretik eskuinera, hori ez da, nahiz eta erabat beharrezkoa da, eta aldez aurretik abisatu nodo txikiena Gaur egun,% 10 eta% 10. Beraz, Huffman proposatu duten 2 txikiena nodoak zuhaitz berri bat batu dugun guraso nodo berri bat sartzea, eta, ondoren, eman guraso hori ezker haur eta eskuineko ume bat non B arbitrarioan ezkerrera eta C arbitrarioki eskubidea. Eta gero Huffman gehiago proposatu dezagun hori orain ezker haurraren uste zuhaitz horietako bat, beti bezala ari 0 irudikatzen eta eskuineko seme-beti bezala 1. kopurua irudikatzen ari. Ez du axola irauli badituzu hainbeste denbora Oraindik duzun bezala koherentea. Beraz, gaur egun, lau baso honetan zuhaitz ditugu. Eta esango dizut, lau gaur egun delako, ezkerreko zuhaitza - eta ez da hainbeste hazten dela, modu honetan zentzua zuhaitz bat, familia zuhaitz bat non gaur egun 0,2 bi seme-alaben guraso sort bezala gehiago da nabarituko guraso horretan 0,2 marraztuko dugu. Gehitu dugu maiztasuna, bi seme-alaba ditu, eta guztira batura nodo berria eman. Beraz, gaur egun, errepikatu besterik ez dugu prozesu honetan. Bi nodo txikiena bilatu eta gero, zuhaitz berri bat sartu eta ondoren, errepikatu prozesua gehiago. Oraintxe gutxi hautagaiak,% 20,% 15, eta beste% 20 dugu. Kasu honetan, gorbata apurtu behar dugu. Egin ahal izango dugu arbitrarioki. Trinkoan besterik ez egin behar dugu. Kasu honetan, arbitrarioki dut ezkerreko batekin joan, eta batu, gaur egun,% 20 eta% 15,% 35 izeneko guraso berri bat emateko, horren ezkerreko seme-alabak 0, bere seme-alabak 1, eskuineko eta orain hiru basoko zuhaitzak dugu. Agian ikus dezakezu non honetan egingo da. Errepikatu dugu hau bada, pare bat aldiz, bakar bat zuhaitz handiagoa izan dugu, guztien horren ertz 0 s eta 1s etiketa. Egin dezagun berriro. % 35 zuhaitz horrek root da. % 20 eta% 45, eta, beraz,% 35 eta% 20 batu behar dugu. Orain Zuhaitz hau dugu hemen. Horiek gehitzen dugu elkarrekin,% 55 behar dugu. Gaur egun, bi basoko zuhaitzak besterik ez da. Hau azken aldiz bat egiten dugu, eta zorionez, matematikoki, maiztasun guztiak gehitu igo beharko dute geroztik dugulako kalkulatzen horiek lortzeko igo gehitzeko% 100. Eta zuhaitz bat behar dugu. Beraz, hau Huffman kodeketa zuhaitz bat da. Pixka bat hartu mota iritsi hitzez, baina errealitate bat da loop edo funtzioa errekurtsiboa, gauza hau eraiki ahal izango duzu up pretty azkar. Beraz, gaur egun berri bat nodo dugu, eta horiek barne nodo guztiak dira malloc'd ustez, bidean. Beraz, gaur egun% 100 zuhaitz honen goialdean dugu, baina orain konturatu bide bat dugu berri honen handi-handi-handi-aitona handi-handi-handi-biloba guztiak beheko aldean jarritako modu, hostoak. Zer da gaur egun ez dugu proposatzen gutun-E irudikatzeko, kopurua 1, besterik gabe, erabili egingo dugu. Zergatik? Zeharkatuko dugu zuhaitz hau root behin betiko E bezala ezagutzen hosto delako, bakar bat ertzean, eskuineko ertzetik jarraituko dugu, eta noski etiketatu goiko eskuineko 1. Beraz, inplikazioa hemen Huffman E binary kodeketa izango besterik ez da 1. Eta hori da pretty maldita eraginkorra. Ezin da benetan hori baino txikiagoa edozein. Por el contrario, A irudikatzen da, jarraitzen logika izanez gero, zer eredua bit ordez? 01. Beraz, A, erro hasiko dugu, eta utzi joaten gara, eta, ondoren, eskuinera joaten gara, horrek esan nahi du 0 jarraitu dugu, eta, ondoren, 1. Beraz, letra irudikatzeko izango dugu, A ereduarekin 0 eta 1. Eta orain konturatu dagoeneko badugu decodability berehalako propietate bat Morse kodea ez garela dute. Nahiz eta bi ereduak hauek nahiko laburrak dira - E 1 bit, 2 bit nabarituko dute ezin dela nahasi bat edo beste, ikusiko duzu 1 bada delako got E bat izan nahi du, ikusten baduzu, 0, 1 A. bat izan nahi du, jakina, lortu Era berean, zer da D? 001. Zer da C? 0001. Eta zer da B? 0000. Eta berriro ere, letrak buruz zaintzen dugu hostoak daudelako eta horietako bat ere ez middlemen mota root etatik hosto bidea, 2 hizki kodeketen conflating arriskua ez da bit Zaindari hauek guztiak ez dira deterministak delako. 0000 beti izango da B. izango Nodorik nonbait artean, beste gutun bat nahastu dezakezu. Beraz, zer inplikazio hemen? Gehien gutun - Kasu E hau - kodeketa laburrena ahaztuak, Du ahaztuak hurrengo laburrena kodeketa, eta B eta C, eta hori lortzeko-gutxienez popular joan ziren mota dagoeneko badugu bazekien maiztasuna% 10 bakoitzean, ahaztuak dute kodeketa luzeena. Nahi duzun, eta, beraz, horrek esan nahi du gaur egun den konprimituta mezu bat bidali nahi izanez gero Internet bidez edo posta elektroniko bat edo antzeko estandarra ASCII erabiliz ordez, Huffman kodetuak mezu bat bidali ahal izango duzu Horren bidez, nahi duzun hizkia E bidali nahi izanez gero, bakarra pixka bat bidaltzen duzu. A bidaltzeko nahi duzun bada, 2 bit, 01, 8 bit bidaltzeko beharrean bidaltzen dituzunean beste bat 8 ​​bit eta abarren ondoren, beste 8 bit jarraian. Baina ez Gotcha da hemen. Zuhaitz hau besterik ez eraikitzeko eta, ondoren, Alice etatik Bob bidaltzen hasteko ez da nahikoa laburragoa bit eredua, ASCII kate, Alice ere duelako Bob zer Bob da gai bere compressed mezua irakurri nahi izanez gero? [Inaudible ikaslearen erantzuna] >> Zer da hori? [Inaudible ikaslearen erantzuna] zer da zuhaitza Of >>. Edo are zehatzago esanda, zer kodeketen dira, batez ere, istorio horretan epaia dei bat egin dugu, puntu bat. Gogoan izan dugun arbitrarioki hautatzeko 2 20% nodoen artean? Beraz, ez da kasua, Bob, hartzaileak, besterik berreraikitzeko bere zuhaitz agian zuhaitza sortu du inoiz beraz, apur bat ezberdina izan Alice. Gainera, Bob ez dakite zer da jatorrizko mezua gauza bakarra, Alice zion bidaliz, jakina delako, compressed mezua da. Hau atsegin konpresio harrapatzen da, beraz, bai, Alice bit asko gorde dezake E 1 eta 01 bidaliz A, eta abar, baina ere Bob jakinarazten mapaketaren letrak eta bit arteko ahal izango dute, ez delako argi eta garbi fidatu on besterik ez ASCII gehiago ari gara ez bada ASCII erabiliz. Beraz, bi aukera zituen bidali zion zuhaitza nolabait idazteko, gorde bitar datuak edo horrelako zerbait edo, besterik gabe, bidali zion apur bat Cheat orria, Excel fitxategi bat, mapaketa erakusten dituen. Beraz, konpresio eraginkortasuna benetan bere gain hartzen ari zaren mezuak bidaltzeko nahiko handiak dira, gutxienez, ertainak, ari zaren super mezu labur bat bada bidaliz delako, besterik ez duzu nahi izanez gero, bidali mezua BAD, ortografia dugu hemen gertatzen da hitz bat, B-A-D, ziurrenik zaren bit gutxiago erabili behar da, baina harrapaketa ere baduzu Bob jakinarazten zer da zuhaitza edo zer diren kodeketen,, ziurrenik outweigh aurrezki guztiak ari zaren compressed gauza izatea hasteko. Beraz, benetan kasu saiatu baduzu konprimitzea zip edo fitxategi-formatu antzeko zerbait ere ezagutzen duzu agian pretty fitxategi txikiak, nahiz eta hutsik fitxategiak - batzuetan fitxategi horiek handiagoak eta ez txikiagoa izatea. Baina errealistan, bakarrik fitxategia txiki tamainak gertatzen den bezala, beraz, ez da gigabyte 2 gigabyte fitxategi bat egiteko; bytes edo, besterik gabe, bikote kilobyteko benetan ari gara hitz egiten. Zip bezalako programak batzuk dira smart nahikoa konturatzen, "Bit gehiago konprimitzeko pasatzeko ari zara." "Let traba ez dit konprimitzea guztietan". Beraz, hori guztia, modu batean, ondoren, testu formatuan konprimitzea da. Honen antzeko zerbait ezartzeko izan dugu C. Esate baterako, hona hemen nola nodo bat irudikatu genuke Zuhaitz hau non sinboloa char, frekuentzia balio mugikorreko dugu, dugu eta gure datuak beste egiturak, 2 erakusle gisa ikusten, Haurra, ezkerretik eskuinera 1 1, bai eta horietatik NULL izan daiteke, baina hala ez bada, aipatzen ezker haur eta eskuineko ume bat. Beraz, honen ondoren Huffman kodeketa da, eta modu bat da informazioa konprimitzeko buruz joan ahal izango duzu, eta, zalantzarik gabe, inplementatzeko erraza da bat , adibidez, azken astean datuen egitura testuinguruan, are gehiago algoritmo sofistikatuak arren existitzen are sofistikatuagoa zure datuak mutazio egin dezake. Edozein galdera ondoren, zuhaitzak, zuhaitz bitarrak, edo testu konpresio? [Ikasleak] anbiguotasun batzuk, 01 [inaudible] split bada bezala sartu, ondoren, 011 anbiguoa, eskubidea izango litzateke? [Inaudible] >> Ona galdera. Anbiguotasuna. Utzidazu laburtzeko hemen argazki hau aipatuz. Pertsonaiak konprimitzea ari zara, irudikapena delako, algoritmo honen definizioa beti hostoak geldituko dira, ez duzu nahi gabe erabili bit eredua bera letra Hainbat aurrizkia. Beraz, beste era batera esanda, kezkatuta buruz bazaude, soinuak, hala nola, anbiguotasun bat sortutako Horren bidez, 001, B edo C edo horrelako zerbait Irteeran Irteeran izan daiteke. Baina hori ez da kasua oharra delako alfabetoaren hizkiak guztiak kodetzean ari gara hostoak dira. Anbiguotasuna bakarrik sor daiteke, Morse kodea kasuan bezala, izanez gero, esate baterako, C zen nonbait erro B. bidetik [Ikasleak] Eskuin. Beraz, kasu horretan, diotenez, A 2 hostoak ditu. >> Esan A - Esan berriro. [Ikasleak] Say A 2 hostoak, F eta G, eta, ondoren, G - >> Ongi ditu. Baina ezin du. A ezin bera izan hosto F eta G letrak horiek delako F eta G uzten nonbait B ezkerrera edo E. eskubidea izango bere burua Beraz, definizioz, hostoak izan behar dute. Bestela, zehazki eskubidea bazaude, ez dugu konponduko arazoa Morse kodea duten aurpegiak. Ona galdera. Beste galdera? Guztiak eskubidea. Bit ideia hau dugu, izan out botere bihurtzen da guztiak batera ez dugu benetan erabiltzen 0 s eta 1s horiek manipulatzeko zen. Honi buruz galdetu dugu arazo goiztiarrena multzo bat: hain zuzen ere, nola joan maiuskula edo minuskula alderantziz bihurtzeko duzu? Edo, zehazkiago, duten lehen psets bat eskatu zenbat bit ez dute benetan A vice bat edo alderantziz aldatzeko minuskula irauli? Hona hemen zer 65 eta 97 bitar en itxura berreskuratu azkar bat da. Eta nahiz eta galdera horrek sort zure memorian lausotuta berriro ere hemen ikusi ahal izango duzu, zenbat bit behar duten iraultzen dira hiriburua aldatzeko minuskula? Just bat. Kokapen bat, ezker bit hirugarren baino ez dituzte desberdinak. Batek 010, berriz, apur bat 011. Beraz, nolabait, egin ahal izango bit hori irauli behar dugu, eta, ondoren, kapitalizatu ahal izango dugu, eta letrak minuskula. Hau egin dugu, iraganean benetan erabiliz baldintza bada eta letra, kapitala eta kapital Z arteko bada egiaztatzen, ondoren, irteera bat bezala - a + 26 edo horrelako zerbait. Alfabetoaren hizkiak aritmetika aldaketa bat egin duzu ziurrenik. Baina, zer izan dugu besterik ez bada irauli duten single bit? Nola joan 01000001 eta 01100001 atsegin bat byte bit, eta, beraz, 8 bit merezi hartu al duzu? Izan duzu eredu horiek bit bada, nola joan daiteke horietako bat aldatzen ari gara? Zer horia aurkeztu badugu hemen, beste bit eredu hau? Egin dut kate hori osoa 0 s bada bat bit izan ezik aldatu nahi dut eta, ondoren, bitekin operadore gisa ezagutzen operadore berria aurkezteko I - Zentzu bit banakako funtzionatzen bitekin, ez byte bat osoa edo lau byte guztiak aldi berean. Barra bertikala han horia iradokitzen du zer kapitalaren ordezkaritza hartzen badugu eta bitekin OR bit sekuentzia horia? Beste era batera esanda, uste gure Scratch adierazpen boolearrak eztabaida eta gero C. Boolean bat egitea edo egia esan nahi izatea, bai Lehenik eta behin, egia izan edo bigarren gauza egia izan edo biek egia izan, eta ondoren irteerako emaitza bera ez da egia. Hemen kasu honetan, zer hartuko dugu 0 bada lortuko dugu "edo" ed 0? Gezurra edo gezurra? Oraindik da faltsua, eta, beraz, beraz, minuskulaz izaten jarraitzen du espero bezala. Zer da 1 edo 0 ordez egiten badugu? Honek orain 1 gelditzen da, baina zer da hemen gertatuko nabarituko. Kapital-A dugu eta jarraituko dugu "edo" bere banakako bit ari gara hemen egiten, 0 edo horia bat ematen digu zer behera hemen? Honek ematen digu 1. Izan ere, demagun ez genekien zer gutxi bertsio maiuskulaz bat izan zen benetan. Goazen egin. Atzera mugitu me hemen. Egin dezagun berriro. 0 edo 0 ematen dit 0. 1 edo 0 ematen dit 1. 0 edo 1 ematen dit 1. 0 edo 0 ematen dit 0. Hurrengoa da, hurrengo 0 0, hurrengo 0 da. 1 edo 0 ematen dit 1. Eta, beraz, nahiz eta ez dugu aldez aurretik jakin zer minuskula bat izan zen, besterik ez "edo" A ing ditudan dugu hemen aurkezten horiz bit patroi hau, kapital minuskula dezakezu A bit hori iraultzeko. Hau erabili dugu adierazpen weeks ago: pixka bat biratu. Nola egin duzu benetan programazioaren dela? Zer ari den, oro har, maskara bat, bit-sekuentzia bat erabiltzen duzu, kasu honetan bakarrik, beraz, zenbaki hau itxura hemen gertatzen da, eta gero "edo" berri honetan C operadorea elkarrekin erabiliz, ez | |, bakar bat erabili behar dituzu | eta benetan nahi duzun erantzuna jasoko hemen zergatik delako? Hau da, leku, 1s, 2s leku, 4S, 8s, 16s, 32s. Beraz, izarrekin bihurtzen da kapital-gutun bat hartu duzu gero A eta bitekin OR osoko 32, osoko 32 delako, itxura bit gisa, itxura, horrek esan nahi du benetan nahi duzun bit irauli ahal izango duzu. Eta, era berean, eta kodea bilatuko dugu une bat besterik ez - demagun beste norabidean joan nahi dugu. Nola bat minuskulaz kapital A duzu? Zein bit aldatu behar da? Berdina da. Hirugarren bit aldatzen 1 eta 0 bat nahi dugu. Eta nola liteke hau egiten dugu? Nola desaktibatzeko dugu pixka bat? Zer bit eredua da off apur bat egingo dugu? Zer maskara invert ordenatzeko badugu? Aurretik, berriz, maskara hori osoa 0 s egin genuen bat bit izan ezik piztu nahi izan dugu, Une honetan bada, maskara 1s osoa egiten dugu nahi dugun bit izan ezik desaktibatzeko eta, ondoren, zer operadorea erabili? Zer dugu "eta" gauzak bada? Ikus dezagun begirada bat. Dugu hau bada irauli, demagun berriro 1s guztiak maskara bat sortzeko I bat bit desaktibatzeko nahi dut izan ezik eta, ondoren, baino "edo" goiko zenbakiak zenbakiak horia behera hemen zuri, I horren ordez "eta" gero elkarrekin? Bitekin bat deitzen da. Logikoa denez, Boolean bat gauza bera da. Honek ematen dit 0 & 1 0. Beraz, faltsuak eta egia faltsua da. True, eta egia da, egia da. Eta hemen da magikoa: Egia eta faltsua da gaur egun gezurra, beraz aktibatuta dugu off bit hori. Eta orain, gainerako istorioa samarra da erraza. Maskara gainerako 1s denez, ez du axola zer zenbakiak zuria dira. When you "eta" benetako zerbait, ez ari zaren bere balioa aldatu egingo da. Egia da, bada, jarraituko egia izango da. Faltsua bada, jarraituko faltsua izango da. Baina magia gertatzen da zerbait egia zen eta gero "eta" Faltsua. Bit hori desaktibatuz eragina dauka. Beraz, apur bat críptica dago. Dezagun benetan kodea batzuk begiratu, eta horrek are gehiago críptica agian benetan begiratu, baina dezagun begirada bat hemen tolower. Tolower at I begiratuz gero, kapital bat minuskula joan, ikus dezagun nola programa hau ezartzeko genuke-en. Hemen nagusia da, eta ez da komando-lerroko argumentu edozein hartzeko. Pertsonaia c deklaratzen dut, letra hori sartu idatzi Erabili ondoren I do ezagutzen loop besterik ez, berriz, ziurtatu erabiltzaileak behin betiko ematen dit kapital A edo B edo C. .. Z, eta, beraz, me ematen dute A eta Z. arteko zerbait Eta orain zer am egiten dut hemen? Naiz "edo" ing hau 0x20, baina hori benetan bera eta itzuli dugu honen une batean - 32. Beraz, berriro ere, 32 bit Hemen patroi hau. Zergatik ezagutzen dugu? Just uste astea: 0. 1s leku, 2s leku, 4S, 8s, 16s, 32s leku da. Beraz, i zenbaki hau gertatzen da 32 izan behar du. Karakterra bezala gutun bat hartu ahal izango dut hemen, literalki kopurua 32 bitekin "edo" eta zer itzuli dut? Char horren bertsio minuskulaz. Duela une bat, nahiz eta, hau adierazi dut oinarrizko hainbat notazioan. Zer egin irudikatzeko? >> [Ikasleak] hamaseitarra. [Malan] hau gertatzen hamaseitarrean irudikatzeko. Ez hamaseitarra askoz guztiak buruz hitz egin dugu, baina benetan, komenigarria Horrelako kasuetan. Nahiz eta konplexuagoa begiratzen du, eta, nahiz eta 20 eta 32 bezala, itxura bihurtzen da hamaseitarra da, benetan super erosoa notazioa hamaseitarrean behin 0x ondoren digitu delako, eta hau ez du ezer esan nahi; hau besterik ez dio hemen, zenbaki hamaseitar bat dator giza konbentzio digituak horietako bakoitzean, 2 eta 0, bere burua irudikatzen daiteke zehazki 4 bit. Beraz, ez dugu hori izanez gero, utzi testu-editore bat ireki me hemen bitxi automatikoki osatu ' testu-editore apur bat egiten dugu hemen, zenbaki 0x20 esan nahi du, hemen da, 4 bit, hemen beste 4 bit. Egin dezagun eskuineneko 4 bit lehen. 0 4 bit irudikatzen zer da? Super erraza da. Just 0 s guztiak. Beraz, 4 bit 0 s gisa. Nola 2 ordezkatzen duzu? Pixka bat izan genuen baita, baina 0100 da. Leku hau 1s da, beraz, hau 2s lekua da, eta, ondoren, ez du axola zer beste lekuak dira. Beste era batera esanda, hamaseitarrean esan 0x20 dezake, baina gero 2 zer da pentsatzen, eta nola irudikatzen binary 0 da eta nola irudikatzen binary galdera horiei erantzun hau eta hau dira, hurrenez hurren. Beraz, 0x20 gertatzen 8 bit patroi hau irudikatzeko, hau da, hain zuzen ere, nahi dugun maskara. Oraingoz, beraz, hau da, ariketa bat besterik ez intelektuala, baina errealitatea kodea normalean da hau atsegin konstanteak idazteko hamaseitarrean ondoren, programatzailea nahiko erraz delako, nahiz eta, papera eta arkatza batzuk eskatzen du, irudikatu zer bit eredua dela ezin delako, besterik gabe adierazteko 0 s eta 1s normalean kodea. Ezin duzu joan 00010 eta abar. Hamartar edo hamaseitarra edo notazio zortzitarrean edo beste jaso behar duzu. Jende gehienak joera hamaseitarrean hautatzeko, besterik gabe, beraz, digitu bakoitzak 4 bit adierazten du eta azkar math hau egin ahal izango duzu. Eta, nire eskua olatuen dut toupper, hau da, ia-ia berdinak; ia berdina ikusten da. Toupper gertatzen ez edo operadorearen baizik guy hau eta df erabili. Zer esan nahi du df irudikatzeko? df? Edonork? >> [Ikasleak] 255. 255? Ez 255. Hori ff izango litzateke. Ariketa gisa apur bat utziko dugu. Baina 0-tik joan, 1, 2, 3, 4, 5, 6, 7, 8, 9 eta, ondoren, 9 ondoren dator? Mota digituak hamartar out gaude, baina zer 9 ondoren dator hamaseitarrean? [Ikasleak] a. >> Beraz, a, b, c, d. Ez dago zer bit d benetan adierazten eredua irudikatu ahal izango duzu. Eta egiten dugu math, ikus azkenean atzera lortzean maskara hau berdina dugu. Hau,, f, 1s guztiak da, eta hau da d. Beraz, df maskara hori adierazten du. Guztiak eskubidea. Eta, azkenik, ez da gauza soinu super, super teknikoa egiteko, baina demagun ez du programa bat idatzi nahi izan dugu. Dezagun aurrera eta bitarra deitzen binary.c fitxategi batean programa bat da. Eta orain utzi bitarra exekutatu me eta me osoko zenbaki ez-negatiboa. Dezagun hasteko, erraza da, eta mota 0. Zenbaki oso bat bistaratzen du bere binary ordezkaritza duten programa bat da. Beraz, play Joko hau berriro idatzi besterik ez 1, 1 ordezkaritza 32-pixka bat behar dut. Ez dut hau berriro 2, lortu behar dut. Egin behar dut 7 bada, gutxi 1s behar dut amaieran, eta abar. Aipatu dut hau, bitekin operazioak bihurtzen da benetan egin dezakezu beste gauza baita. Maskarak horiek dinamikoki sor ditzakezu. Hartu adibide bat final bitekin operazioak parte begirada bat. Hona hemen, kodea lehen zatia da, eskatu erabiltzaileari zenbaki bat, eman eta, nire ez-negatiboak zenbaki oso bat behin eta berriro. Beraz, eskola zaharra stuff sort. Baina hemen, zerbait interesgarria mota da. Nola joan binary zenbaki bat inprimatzeko buruz I? Zer etatik zer I batetik bestera joateko? Int bat normalean tamaina, tresna gutxienez? >> [Ikasleak] 4. 4 da. Beraz, 4 * 8 32 - 1 31 da. Beraz, bada 31 tik hasita zenbatu dut, adierazten, izarrekin bihurtzen da, besterik ez kontzeptualki, 31 bit edo altuena ordena apur bat, hemen tipo hau da, hau da, bit 0 izango da berriz. Beraz, hau da bit 01 ... bit 31. Beraz, kode hau zer egiten ari da? Iragarki hau loop, nahiz eta críptica badirudi, 31 behera 0 bit besterik ez da. Dela. Beraz, parte interesgarria gaur egun 5 lerro hauek hemen egon behar. Iragarki Ildo honetan izeneko maskara aldakorra naiz geratuko gure horia zenbakiak hauen istorioa koherentea izan. Eta gero, zer egiten ari da hau? Hau ez dugu ikusi aurretik, ziurrenik beste bitekin operadorea da. Ezkerreko shift operadorea da. Operadore honek. 1 zenbakia da, eta egiten baduzu, shift, ezkerreko shift utzi i, zer, banakako 1 egiten du eraginik duela uste duzu? Literalki aldatzearen baino gehiago. Beraz, bada, 1 zenbakia da ezker eta hasten i hasieratzean 31, zer da hori egin? 1 zenbaki hau hartu eta filmea 31 lekuak hemen. Eta, jakina, ez da atzean digituak beste ez delako, horiek egingo lehenespenez 0 s ordeztuko da. Beraz, hasteko duzu kopurua 1, ikastaro honen itxura eta utzi marraztu me hemen erdian. Eta gero, mugitzeko gauzak ezkerrean, lasaia hau funtsean, modu honetan doa. Baina egiten duzun bezala hori bezain laster, 0 betetakoan sartu Filmea baduzu bigarren aldiz, horrela jartzen da, eta 0 beste betetakoan sartu Mugitzeko duzu berriro, eta, ondoren, beste betetakoan sartu 0 Beraz, ez duzu gauza hau 1 << leku 31 i, azkenean maskara bat eskuratzerakoan 32 karaktere luzea da, ezkerreko den 1. gainerako guztiak 0 dira. Eta bihurtzen da, bat alde batera utzita, zenbaki bat aldatzearen hau atsegin dute ezker baita coincidentally ere, eta, batzuetan, eroso, zer egiten zenbaki hori du eraginik? >> [Ikasleak] bikoiztea. Bikoiztuz zutabeak bakoitzean delako - leku 1s, 2s lekua, leku 4S, 8s leku, 16s leku - they're bikoizketaren guztiak ezkerrera joan ahala. Edo, hobeto esanda, 1s filmea amaitzeko zenbakiaren balioa bikoiztu egingo duzun. Azkenean dezakezu digituak eraldaketa interesgarria egiten guztia modu honetan aldatzearen baino gehiago 2 eskumenak. Beraz, nola ez du lan? Hau maskara bat ematen dit, ondoren, 0 s guztiak, nahi dut, hain zuzen, leku 1 izan ezik, eta, ondoren, adierazpen hau, hau da, toupper.c lapurtutako, besterik ez da esaten zenbakia n erabiltzaileak idatzi, "Eta", maskara duten eta zer ari zaren iritsi? 1 bat lortzeko 1 mozorro kokapena horretan ari zara, edo 0 bat lortu du, eta ez da ez bada ari zaren. Ez du, eta, beraz, programa honen eraginkortasunez begizta bat du, eta maskara bat sortzen da 1 baino gehiago, ondoren 1 hemen, eta hemen 1 eta bitekin ETA trikimailu erabiltzen da erabiltzailearen sarrera hemen bit 1 esan nahi? Ba al dago erabiltzailearen sarrera hemen bit 1 bat? Eta, hala bada, literalki inprimatu 1, bestela inprimatu 0. Ari gara ints besterik ez delako 32 bits horregatik ari gara egiten ordez 8, baina zer sartu dugu gero bitekin honetan ETA, bitekin honetan OR da, eta hau ezkerreko shift operadorea, askotan ez dira oso lagungarria, baina ezin dira izarrekin bihurtzen da. Izan ere, baduzu Booleans array bat antzeko zerbait adierazteko egiazkoa edo faltsua irudikatzeko, demagun pista gorde nahi duzun ala ez 300 ikasle betetako gela bat da, gaur egun, tamaina 300 motako array boolearra deklaratu ahal izango duzu, beraz, 300 bools lortuko duzu, eta bakoitzak ezar dezakezu norbaitek egia da hemen eta false bestela. Zergatik datuak egitura horretan ordezkaritza hori eraginkorra da? Zer da txarra buruzko diseinu horretan datu-egitura, 300 bools array? Zer boolearra da, hain zuzen ere, kanpaia azpian? Hau ere, zerbait ezagutzen ez izatea da. Bool ez dago out bihurtzen da. Gogoratu sortu sort dugu cs50.h fitxategia berez estandarra boolearra. C da mota muda, nahiz eta, orduan boolearra. 8 bit erabiltzen ditu boolearra bakoitza irudikatzeko, erabat wasteful da jakina, zenbat bit delako boolearra irudikatu behar duzu? Just 1. Beraz, izarrekin bihurtzen da gaur egun bitekin operadore gaitasuna baduzu banakako nahiz char batean bit, bakar bat ere byte manipulatzeko, zerbait ergelak irudikatzeko memoria murriztu out bihurtzen da 8 faktore datuak asistentzia hori styled egitura bezala. Zortzi bit erabiltzen egia edo gezurra irudikatzeko ordez, literalki bat erabili ahal izango duzu. klasean zortzi ikasle bakoitzeko byte bakar bat erabiliz 0 eta 1 bit banakako behe-mailako trikimailuak mota hauek erabiliz desegiteko. Benetan energia amaiera bat jarri. Ba al dago bitekin eragiketak buruzko edozein galdera? Bai. >> [Ikasleak] esklusiboa edo operadorearen Ba al dago? Bai. Esklusibo edo operadore honen itxura, ^, azenarioa sinboloa da, den lehenengo gauza bakarra edo bigarren gauza bat 1 izan daiteke irteera 1 esan nahi du. Ez dago bat ere ez, ~, 1 edo alderantziz baita 0 inbertsiorako aukera emango dizu. Eta han ere shift operadorea izateko eskubidea, >> bat dugu ikusi kontrakoa da. Guztiak eskubidea. Dezagun gauzak orain goi mailako. Testu buruz hitz egiten hasi ginen, eta, ondoren, konprimitzeko eta bit gutxiago zenbakiak testua adierazten du; nola hasi ahal izango dugu gauzak manipulatzeko bitekin maila apur bat hitz egin dugu. Dezagun mapan handiago atzera 10.000 oinak ordezkaritza grafikoak bezalako gauza konplexuak. Hemen, Alemaniako Ez dugu, hemen, Frantzia bat behar dugu. Horiek ezagutu dezakezu fitxategi-formatu liteke irudikatzen - GIFs, adibidez. Duzun inoiz bada. Gif bueltarik, Web, irudi bat ikusi grafiko bat trukatzeko formatua. Hauek bi banderak hemen sort uzten dute konpresio zer arrazoia, agian, begi bistakoak? >> [Inaudible ikaslearen erantzuna] Errepikapenaren asko, ezta? Alemaniako Ez bidaltzeko, hau uste irudi bat pantailan kopiak zure Scratch egunetan. Gogoratzen ez dagoela irudi bat osatzen duten banakako pixel edo puntuak dezakezu. Puntu beltzez eta puntu beltzez errenkada osoa beste errenkada oso bat. Puntu beltzez ilara benetan dugu bada, handitutako ikus zezakeen sorta bat da, askoz hastean handitutako Rob aurpegia Photoshop. Sakonago eta sakonago eta sakonago irudi sartu bezain laster lortu dugu, pixelation ikusita, kasu horretan, bere begi konposatu lauki guztiak hasi duzu. Same aurre hemen. Apur bat nahiko dugu handitutako bada, banakako puntu ikusi nahi duzu. Beno, hau da, bit hondakin mota da. Ez da hirugarren bat beltza da bada, eta hirugarren bandera horia da eta abar, zergatik ezin dugu nolabait konprimitu Ez hau? Eta are gehiago, Frantziako bandera konprimituta patroia izan du, nahiz eta pixka bat desberdina da. Bihurtzen da GIF fitxategi-formatua galerarik gabeko konpresio-formatua da, horrek esan nahi du, Alemaniako Ez bezala irudi bat hartu ahal izango duzu hemen. bota dezake bere bit asko kalitate uko egin gabe. JPEGs antzeko zerbait kontrastea da, gurekin gehienak ziur aski ezagunak. Facebook argazkiak eta Flickr argazkiak eta antzekoak dira ia beti JPEGs gisa gorde kargatutako direnean galeradun - formatua, horren bidez bota nahi duzu bit JPEGs baina galeradun baina bota ere zuri kalitatea. Eta beraz konprimitzea argazkiak Photoshop edo horiek igo Facebook edo benetan crappy telefonoa hartu, argazki hasten oso splotchy eta pixelated lortu badakizu, eta hori ari baita ordenagailua edo telefono bidez konprimituta literalki informazioa bota. Baina harrigarria da GIF bit gutxiago erabili ahal izango da, lehenespenez might baino Informazio edozein galdu gabe. Eta ez, funtsean, beraz, honela. Beharrean BMP bat bezala fitxategi batean denda baino ez litzateke izango, beltza, beltza, beltza, beltza triple RGB, beltza, beltza, beltza, beltza, beltza, beltza, beltza, beltza eta abar, baizik eta, GIF formatua, esan du "Black" eta, ondoren, "100 aldiz errepikatu", edo horrelako zerbait. "Black, errepikatu hau 100 aldiz, beltza, 100 aldiz errepikatu ..." "Yellow, hau 100 aldiz errepikatu." Eta, beraz, gogoratzen da, funtsean, ezkerreko pixel eta, ondoren, kodetzen nolabait pixel hori behin eta berriro errepikatzen den ideia. Beraz GIFs ondoren konprimitu dira edozein informazioren galdu gabe. Baina, asmatzen algoritmoa GIFs erabiltzen bada, banderak horiek, nahiz eta tamaina berdin-berdina begiratzen dute, txikiagoa izango da, disko gogorrean gordetzen GIF gisa? >> [Ikasleen] Alemanian. Alemania da txikiagoa izan behar du? Zergatik? [Ikasleak] errepikatu duzulako asko, aldiz horizontalki eta, ondoren, beste errepikatu duzu. >> Zehazki. Asmatu duten pertsonen GIF mota horretako zerbait arbitrarioki erabaki delako errepikapen leveraged egingo da, horizontalki eta ez labaintzen. Asko errepikapen gehiago labaintzen hemen Alemaniako bandera, Frantziako bandera baino. Beraz, bada benetan ireki dugu, nire disko gogorrean karpeta GIFs hauek ditu, benetan ikus dezakezu German Ez hemen 2 kilobyteko dela, eta frantziar bat da, 4 kilobyteko. Gertatzen da kasualitatea bat izan da bi aldiz beste, baina, hain zuzen ere Frantziako bandera kasuan askoz handiagoa da. Nahiz eta hemen grafikoak buruz ari gara hitz egiten, ideia berdinak aplikatzen banderak, baina apur bat konplexuagoak dira irudiak ez bezalako gauzak. Sagar bat hartu duzun irudi bat bada, segur aski ez bikoizketa asko dago, beraz, nolabait izan dugu gogoratu default background urdina da eta ez, eskuineko irudi gisa iradokitzen du, argazki hau bakar pixel bakoitzaren kolorea gogoratzeko. Beraz, bit bota ahal izango dugu kanpoan, informazioa galdu gabe. Sagar oraindik itxura besterik ez bera. Hemen adibide honetan, ikus movie batean gertatzen denaren beharko duzu. Hauek ordezkatzen zahar-eskola film kopuru horren bidez hor goiko irudia etxe bat iraganeko gidatzeko Itsasondo eta zuhaitz bat behar duzu. Eta van gidatzen iragana da ezkerretik eskuinera, zer, jakina, ez da aldatzen? La casa ez dago inora, eta zuhaitza ez dago inora. Gauza bakarra mugitzen kasu honetan van da. Beraz, Aldaketarik ez Aurrekariak iradokitzen du, zer filmak egin dezakezu da, era berean, bakarrik bota fotogramen arteko aldatzen ez duten informazioa. Hau da, oro har, interframe konpresio bezala ezagutzen Horren bidez, fotograma honetan itxura ia berdina bada, hau da, dezagun ez traba diskoan berdina informazioa edozein gordetzeko fotograma horiek tarteko, utzi bakarrik erabili gako markoak noizbehinka benetan little behatu informazio hori redundantly bezala egiaztatu gorde. Por el contrario, konprimitzeko bideo hurbilketa beste Adibide honetan bigarren eta txikiagoa da, baizik eta denda baino 30 markoak, zergatik ez gorde besterik ez duzu 15 fotograma bigarren ordez? Beharrean, primeran, primeran nagusiak mota movie baino, begiratu du pixka bat, pixka bat zaharra eskola bezala stuttering izan daiteke, baina eragina garbia urrun gutxiago bit baliteke baino bestela beharrezkoa izango da erabili ahal izango dute. Beraz, non ez gero utzi digute? Hori izan zen pixka bat alde batera utzita, non bestela konpresio joan zaitezke. Horri buruzko informazio gehiago nahi izanez gero, klase baten CS175 hemen bezala. Hona hemen video barruan beste adibide bat da. Bee mugitzen gauza bakarra bada, benetan bota dezakezu informazio horiek erdiko fotograma lore eta zerua eta hostoak ez dira aldatzen ari delako. Baina gaur egun kontuan hartu azken gauza bakarra. C hurrengo 5 minutu utziko dugu betirako atzean hitzaldia? Bai. Ez en psets, nahiz eta. Azken C buruzko istorioa, eta, ondoren, oso sexy stuff dugu HTML eta Web eta woo-Hoo parte hartuko dute. Guztiak eskubidea. Hemen goaz. Hori motibazioa. Bihurtzen da denbora hau izan dugu programa Clang exekutatu dugu idazteko. Eta Clang, esan dugu lehen astean nahiko askoz geroztik, iturburu-kodea hartu bihurtzen du eta objektu-kode sartu. C hartzen du eta 0 s eta 1s bihurtzen. Mota horretako dut izan duzu aste batzuk etzanda nahiko bezain erraza ez delako. Ez dago askoz gehiago kanpaia azpian Clang bezalako programa bat exekutatzen baduzu. Izan ere, programa bat konpilatzeko prozesua benetan laburbildu Rob Konpilatzaileak bideo gogoratzen dezakezu gisa, 4 urrats hauek ditu: pre-prozesatzeko, berez konpilatzean, muntaia, eta lotzen ditu. Baina klasea dugu, eta munduko pertsona normalean urrats hauek guztiak laburbiltzen bezala ". konpilatzean" Baina, iturri hau atsegin kodea badugu hasten, gogoratzen, hau da, agian, errazena C programa idatzi dugu, beraz, orain arte, gogoratzen denean konpilatu hau atsegin bilatzen bueltarik. Baina ez da benetan tarteko urrats bat, eta urrats horiek honela daude. Lehenengo gauza hau da hau, eta gure programa gehienak oso goian, # Include Zer esan nahi du # Gurekin besteak beste, ez? Pretty askoz kopiak eta pastak stdio.h edukiak nire fitxategi beraz, zergatik? Zergatik zaintzeko stdio.h edukiak dut? Zer dago interesa? Printf adierazpena, bere prototipoa, beraz, konpilatzailea eta, ondoren, badaki zer esan nahi dut Funtzio hau aipatu dut printf. Beraz, urratsa 1 konpilatzean da pre-prozesatzeko, zeinaren Clang bezalako programa bat edo helper-programa Clang duten dator zure kodea top irakurtzen behean, Ezkerretik eskuinera, eta edozein unetan # sinbolo bat ikusten include bezalako gako-hitza eta ondoren, eragiketa egiten da, zure fitxategi stdio.h kasu honetan kopiatzeko eta itsasteko. Urratsa 1. Ondoren kopia erraldoia, lan itsatsi gertatu delako C fitxategia askoz handiagoa behar duzu. Step 2 konpilatzen da. Baina bihurtzen da konpilatzean iturri kodea duten itxura hau hartzen du bihurtzen da, zerbait itxura hau, ezagutzen dutenentzat deitzen da? >> [Ikasleak] Batzar Nagusia. >> Batzar hizkuntza. Hau da, benetan zerbait hartzen baduzu CS61 murgiltzea duzu xehetasun gehiago. Hau besterik ez da itxi ahal duzun bezala 0 s eta 1s zeure burua idatziz baina oraindik modu bat, gutxienez, zentzu pixka bat egiten du, hala nola, gauzak idatziz. Hauek makina argibideak dira, eta joan behera bada funtzio nagusia hemen nabarituko ez dagoela push Instrukzio hau da, mugitu instrukzioa, agindua kendu Instrukzio deitu, eta abar. Ordenagailua Intel barruan entzuten baduzu, duzu zure Mac edo PC Intel CPU bat, zer esan nahi du horrek? CPU A Intel zenbait argibideak ulertzeko bezalako enpresen eraiki dator. Ez daki zer swap bezala funtzio edo nagusiak per se dute, baina ez dakit zer Oso baxua-maila argibideak bezala gehitu dute ez, kendu, bultza, mugitzeko, deitu, eta abar dira. C kodea konpilatu muntaia hizkuntza zure oso lagungarri begira kodea itxura zerbait bihurtu da, literalki mugitzen byte edo 4 byte PUZaren unitate txikiak, hala nola inguruan. Baina, azkenik, Clang da, zure programa ordezkaritza hori hartzeko prest 0 s eta, 1s, orduan, urrats izeneko muntaia gertatzen sartu, eta hau guztia berriro begi baten keinu gertatzen da Clang exekutatzen ari da. Hemen hasiko gara, hau bezalako fitxategi bat irteerak, eta, ondoren, 0 s eta 1s horiek bihurtzen du. Eta atzera uneren batean, eta egia esan, ekintza hau ikusteko nahi duzun bada, - hello1.c-hau da, programak oso lehen begiratu dugu I joan bada normalean hau konpilatu genuke Clang hello1.c eta gurekin luke a.out. Kontrastea bada eman ordez-S Ez, zer lortuko da hello1.s eta benetan ikusiko dituzu muntaketa hizkuntza. Joan beharko duzu, hau oso labur programa egiten ari naiz, baina itzuli bada Scramble edo Berreskuratu edo idatzi duzun edozein programa eta jakin-mina besterik ez out nahi, zer itxura da benetan, hala nola zer, benetan ari PUZaren elikatzen ikusteko dela-S Ez erabili ahal izango duzu Clang. Baina orduan, azkenik, ez da oraindik Gotcha bat. Hona hemen, 0 s eta 1s ordezkatzen dituzten nire kaixo, mundu ezartzeko. Baina beste norbaitek nire programa funtzioa erabiltzen dut. Beraz, nahiz eta prozesua izan hello.c hartzen dut, muntaia kodea konpilatuta du, eta, ondoren, 0 s eta 1s sartu muntatu du, bakarra 0 s eta 1s diren une honetan outputted direnak nire kodea emaitza dira. Baina nork idatzi printf pertsona, bere kodea konpilatu dute, duela 20 urte eta instalatu nonbait tresnaren beraz, nolabait, bere 0 s eta nire 0 s eta 1s 1s batu, eta hori konpilatzean 4. urratsa eta behin betiko estekatzeko gisa ezaguna, dizkigu. Beraz, ezkerraldean zehatza irudi bera dugu, orain arte bezala: hello.c bihurtzen muntaia kodea 0 s bihurtzen da eta 1s. Baina gogoratzen I / O liburutegi estandarrak erabiltzen dut nire kodea, eta horrek esan nahi du nonbait ordenagailuan izeneko fitxategi bat stdio.c edo, gutxienez, konpilatu haren delako norbait duela urte batzuk konpilatu stdio.c muntaia kodea sartu eta gero, 0 s eta 1s sorta osoa. Hau da, zer estatiko bat edo liburutegi dinamiko bat bezala ezagutzen. Fitxategi batzuk nonbait eserita aparatuaren da. Baina, azkenik, nire 0 s eta 1s hartu behar dut eta pertsona 0 s eta 1s eta, nolabait, lotu elkarrekin, literalki 0 s horiek konbinatzeko eta 1s a.out edo hello1 edo edozein izeneko fitxategi bakar bat sartu nire programa izeneko I beraz, azken emaitza 1s eta 0 s nire programa konposatzen. Une honetan seihilekoan hori guztia daramat Clang erabiliz Beraz eta, are gehiago duela gutxi egin exekutatzen ordena Clang exekutatu, urrats hauek guztiak dira sort gertatzen ari den eta berehala-, baina oso nahita. Eta horrela jarraitu informatika, hain zuzen CS61 honetan egingo jarraituko back zuritu ez off geruza da eraginkortasun, segurtasun inplikazio, eta horiek maila txikiagoa xehetasunak bezala buruz hitz egiten. Baina hori, C eta atzean utzi dugu. Dezagun aurrera eta 5 minutuko gure break hartu gaur egun, eta noiz itzuli gara: Internet. Guztiak eskubidea. Itzuli gara. Orain hasiko gara gure itxura ez bakarrik HTML, izan ere, ikusiko duzu gisa, HTML bera da, benetan pretty simple baina benetan web programazioa, oro har, gehiago, oro har, sarean, eta nola teknologia hauek guztiak confluyen Internet askoz ere sofistikatuagoa programak sortzeko atop ahal izateko beraz, orain arte baino izan gara gai horiek zuri-beltza eta leihoak. Izan ere, puntu hau seihilekoan, nahiz eta nahiko denbora gutxiago pasatzeko egingo dugu PHP, HTML, CSS, JavaScript, SQL eta gehiago, ikasle gehienek do amaieran sortu diren web-oinarritutako proiektuak behin betiko egiten ikusiko dituzu, hondoa delako C duzu oso goi-mailako hizkuntza horietan dagokio. Eta hasten zara pentsatzen zure proiektua behin betiko, Izan ere, askoz Arazoa Ezarri 0 bezala, non zinen animatu gehienak interes ezer egin behar duzu Scratch, azken proiektua da zure aukera zure newfound ezagutza eta adituentzat C edo PHP edo JavaScript edo spin bat nahi eta zure munduko software pieza sortu. Eta hazia, ideiak, badakigu hemen duzu buru daiteke, projects.cs50.net. Urtero, irakasle eta langileen ideiak eta ikasle talde solicit dugu campus besterik gabe, gauza interesgarri ordenagailuak erabiliz konpondu behar da, bere ideiak aurkeztu webgune, software erabiliz. Beraz, bada, zeure ideia bat etortzen ari zaren borrokan, baliabide guztiak ideiak mugitzeko dago aurten eta azken. Primeran ados que ha sido aurre egin baino lehen proiektu bat aurre egiteko da. Garbitegia egoera ikusteko campus apps asko ikusi dugu, jantokia menu nabigatzeko apps asko, ikastaro-katalogoa eta bezala nabigatzeko apps asko. Eta, hain zuzen ere, etorkizuneko hitzaldi eta mintegiak, etorkizunean, aurkezten izango dugu, publikoki eskuragarri APIak batzuk, bai eta merkatuan eskuragarri dauden eta hemen eskuragarri CS50 campusean beraz, datuak sartu behar duzu eta ondoren egin daiteke interesgarria gauzak. Beraz, proiektu azken egun batzuk zehaztapena askatzen dugu, baina orain, jakin bakarkako lan egin daiteke edo bat edo bi lagunekin zuretzat edozein proiektu. Internet. Aurrera duzu eta zure ordenagailu eramangarria tira, joan facebook.com lehenengo aldiz, Duela gutxi ez balitz sartu eta sakatu Sartu. Zer gertatzen da zehazki? Sartu hit duzu zure ordenagailuan, urrats sorta oso bat magikoki gertatzen sort hasteko. Beraz, hemen duzu, ezkerrean Facebook bezalako web zerbitzari hemen eskuineko eta, nolabait, HTTP, Hypertext Transfer Protocol izeneko hizkuntza hau erabiltzen ari zara. HTTP ez da programazio-lengoaia bat. Protokolo bat baino gehiago da. Web nabigatzaile eta web zerbitzariak erabiltzen duten intercommunicating konbentzio multzo bat da. Eta zer esan nahi hau honela da. Much mundu errealean bezala, konbentzio hauek ditugu non lehen aldiz giza batzuk betetzen bada, axola ez baduzu me humoring hemen, Etorri liteke, esan, "Kaixo, nire izena da David." >> Hi, David. Nire izena Sammy da. "Hi, David. Nire izena Sammy da." Beraz, gaur egun besterik ez dugu giza silly protokoloaren sort honetan diharduten protokoloa abian dut, Sammy erantzun du, astintzea dugu eskuak, eta transakzio osoa da. HTTP izpiritua oso antzekoa da. Zure web nabigatzailearen eskaerak www.facebook.com zer zure nabigatzailean benetan egiten ari da bere eskua zabalduz, eta, beraz, hitz egiten, zerbitzariak eta mezu bat bidaltzeko. Eta mezu hori da normalean get antzeko zerbait zer lortu nahi duzu? get me home page, URL baten amaieran single barra bidez adierazten da normalean. Eta besterik ez, beraz, badakizu zer hizkuntza hitz egiten dut, nire nabigatzailea am esango I HTTP 1.1 bertsioa naiz hitz egiten, Eta, gainera, neurri ona, esango dut joan ostalari home page nahi dut facebook.com da. Normalean, web nabigatzailea, duzu unbeknownst, giza Mezu hau bidaltzen Internet zehar www.facebook.com idatzi besterik ez duzu, Sartu, eta zure nabigatzailean. Eta zer ez Facebook erantzuteko? Erantzuten batzuk begira antzeko xehetasunak críptica baina askoz ere gehiago da. Dezagun aurrera me Facebook etxeko orria hemen. Pantaila gurekin gehienak seguruenik inoiz egonaldia denbora guztia hasi baduzu, da, baina hau, hain zuzen ere, bere etxeko orria. Egiten dugu hau bada Chrome, nabarituko duzula tira testuinguru menuak txiki horiek. Chrome erabiliz, Mac OS, Windows, Linux, edo antzeko ala ez, kontrola egin klik edo klik egin saguaren ezkerreko botoiarekin bada, normalean dezakezu tira menua honen itxura non aukera batzuk zain, eta horietatik bat View Page Source da. Ere egin dezakezu gauza horiek normalean View menu joan eta inguruan poking. Esate baterako, hemen ikusi pean, Garatzaile gauza bera da. Aurretik joan eta begiratu View Page Source noa. Zer ikusiko duzu HTML Mark idatzi du facebook.com irudikatu nahi da. Gaizki osoa da hemen, baina hori apur bat gehiago zentzuzkoa luzea aurretik dugu. Baina hemen eredu batzuk daude. Behera joan me hau atsegin stuff. Gogor hau da, giza-, irakurri, baina konturatu ez dagoela da parentesi artean angeluarekin patroi hau aukera, keywords balio bezala, zenbait quoted kateak bezala, gako-hitzak. Hau da, non, sinatu zuten denbora oso lehen, zehaztu zein den zure jaiotza urtea da. Hemen jaiotza urte menua goitibeherako hori nolabait kodetuta HTML, Hipertestua Markatzeko Lengoaia izeneko hizkuntza honetan. Beste era batera esanda, zure nabigatzailean web-orri bat eskatzen denean, HTTP izeneko hitzarmen hau hitz egiten da. Baina, zer ez facebook.com eskaera horri erantzuteko? Erantzuten batzuk mezuak críptica horiek, une batean ikusi dugu. Baina bere erantzuna HTML, Hipertestua Markatzeko Lengoaia da. Hori da benetako hizkuntza, web orri bat idatzi. Eta zer da web nabigatzaile baten benetan ez gero, hau da, zerbait itxura hau jaso ondoren. irakurtzen du, goitik behera, ezkerretik eskuinera, eta edonoiz angeluarekin parentesi artean horietako bat ikusten da aukera bezala keyword ondoren, hizkuntza modu egokian markup hori erakusten du. Kasu honetan, urte goitibeherako menu erakutsi litzateke. Baina, berriro ere, hau begiratzen osoa nahaspila da. Hau ez da Facebook garatzaileei adierazten 5 0 delako estiloa, esaterako. Kodea idazten duten gehienek delako hori, hain zuzen ere, idatzizko beautifully ondo, nicely koska, eta antzekoak, baina ikastaro makinak, ordenagailuak, nabigatzaile benetan ez eman maldita Zure kodea ez da ongi-styled. Eta, hain zuzen ere, guztiz wasteful tab tekla garai horiek guztiak eta iruzkinak jarri guztietan zure kodea zehar eta benetan aldakorra izen deskriptibo aukeratzeko nabigatzailea bada, ez du axola, egunaren amaieran guztiak egiten ari zarenean bytes alferrik galtzen da. Beraz, izarrekin bihurtzen da zer gehienak webgune egin da, nahiz eta iturburu kodea: facebook.com, cs50.net eta beste webgune horiek guztiak Interneten ohi dira ongi idatzi eta ongi iruzkindu eta nicely koska eta atsegin, normalean web Internet gainean jarri aurretik, kodea minified Horren bidez, HTML eta CSS zerbait laster ikusi dugu - JavaScript kodea laster ikusi dugu konprimiturik dago, Horren bidez, izen luze aldakorra bihurtu X eta Y eta Z, eta zuriuneak hori guztia begiratu beraz irakurgarria que hace guztiak bota Modu honetan uste baduzu, Facebook milioi orri bat lortzen delako egun bat hits horrelako zerbait crazy - beraz, zer programatzailea anal izan nahi izanez gero sakatu zuriune-barra extra denbora bat, besterik gabe, kode lerro bat koskatzeko inoiz beraz, askoz gehiago? Zer inplikazioa Facebook bada mantentzen zuriunez Byte guztiak atzera bidaltzen dute jendea Interneten? Zuriune-barra sakatuz behin ematen dizu zure koadernoan byte extra bat. Eta milioi pertsonak ez bada, ondoren, jarraitu hasierako orria deskargatzeko egun horretan, zenbat datu gehiago transmititzen dute Internet bidez? Pisuzko arrazoirik gabe gigabyte. Eta eman, webgune asko ez da eskalagarria gai bat, hala nola, baina, Facebook, Google, gehien webgune batzuk pizgarri handia da ekonomikoki zure kodea gaizki itxura beraz, ahalik eta bytes batzuk gisa ari zara gero konprimitzea gain erabiliz zip antzeko zerbait erabiliz, izeneko algoritmo bat gzip, nabigatzailea ez automatikoki. Baina hori awful. Ez dugu inoiz ezer beste pertsona webgune buruz ikasten eta nola, web orriak diseinatzeko dugu begiratu hau atsegin dute. Beraz, zorionez, Chrome eta IE eta Firefox bezalako nabigatzaile egun hauetan normalean-in eraikitako developer tresnak dakartzate. Izan ere, joan I behera hemen Inspect Element edo Ikusi Garatzailearen joaten naiz, eta garapen tresnak esplizituki, nire pantailaren behealdeko leiho hau azalduko da. Pixka bat beldurra da lehenengo fitxak ezezagunetan asko direlako, hemen, baina Elements klik eginez gero bidea beheko ezkerreko Chrome da, jakina, pretty smart. Kode hau guztia interpretatzen daki. Eta beraz, zer Chrome ez da garbitzen Facebook HTML guztiak. Nahiz eta ez zuriuneak ez dago, ez dago ez dago koska, gaur egun nabarituko web orrian nabigatzeko gehiago hierarkikoki has daiteke. Bihurtzen da HTML5 izeneko hizkuntza batean idatzitako web orrialde bakoitzean behar duen honekin hasteko, DOCTYPE deklarazio hori, eta, beraz, hitz egiten: Argi eta gris, ez dago mota da, baina kode-lerro oso fitxategi honetako lehen, eta nabigatzailea kontatzen du, "Hey, hemen HTML5 batzuk dator. Hona hemen web orri bat dator." Haratago irekita lehen parentesia gertatzen da hori, parentesia HTML tag irekia izango da, eta, ondoren, sakonago I murgiltze - geziak hauek guztiz zentzugabeak dira; dira aurkezpen-en mesedetan, haiek ez dira benetan fitxategia nabarituko dela Facebook HTML etiketa barruan, irekia parentesirik batekin hasten da ezer eta, ondoren, hitz bat izeneko etiketa bat. Beraz, HTML etiketa baten barruan itxuraz Burua tag tag eta gorputz. Burua tag Inside Facebook nahaspila osoa dute marketing eta publizitate metadatuak eta beste gauza asko bat delako. Baina joan gara behera, behera, behera, behera, ikus dezagun non dagoen. Hemen da. Hau da, gutxienez, zertxobait ezagutzen. Facebook etxeko orria izenburua, fitxa al duzu inoiz bada, begiratu zure titulu-barra, Welcome to Facebook - saioa, Erregistratu edo gehiago ikasi. Hori da, zer ikusi nahi duzun Chrome titulu-barra, eta hori nola kode irudikatzen. Alde batetara utzi dugu beste guztia buruan bada, web orri bat ausartuko gorputza dira, eta bihurtzen da, Facebook-en kodea duten itxura konplexuagoa gauza gehienak baino, hasieran idazten dugu besterik ez delako eraiki dira urteetan zehar, baina ez dago script tags asko, JavaScript kodea, horri esker, web oso interaktiboa: berehala JavaScript bezalako hizkuntza egoera-eguneratzeak ikusteko. Bada zerbait izeneko div bat, orri baten banaketa bat da. Baina zehatz-mehatz hori baino lehen iritsi, utzi zooma saiatu en eta Facebook 1.0 bertsio bat errazagoa begiratu, eta, beraz, hitz egiten. Hona hemen web orrialdeak, kaixo mundua da. DOCTYPE deklarazioa dela uste du, oso goian hau da, pixka bat beste guztia. Besterik ez, web orri bat idatzi dugu lodia. Berriz ere, istorioa berbera da: kaixo, koma, hau bold egiten hasi, ondoren, mundu lortzen bold inprimatuta, eta horrek esan nahi du gelditzeko hau inprimatzeko letra lodiz. Dezagun aurrera me eta nire fitxategia gorde, itzuli Chrome, ikusi hobe dezakegu dut handiagotzeko, eta berritu, eta hori da gaur egun mundu letra lodiz ikusiko duzu. Web hiperestekak buruz da, eta, beraz dezagun aurrera, eta hau egin: my favorite web da, demagun, youtube.com. Save, birkargatu. Ongi da. Ez da gaur egun, web hideousness gain arazo pare bat. 1, nahiko ziur Sartu hit dut hemen nago. Eta egin nuen. Hit ez bakarrik I Sartu, koska ere dut, zer egin dugu estiloa buruz predikatzen praktikatzeko, baina nire da eskubidea mundu hurrengo. Beraz, zergatik da hau? Nabigatzaileak bakarrik zer egin horiek kontatzeko. Ez dut kontatu nabigatzailea, "Break lerroak hona. Txertatu paragrafo apurtu hemen." Nabigatzaile Beraz, ez du axola hit I Return 30 aldiz, Oraindik nire eskubidea jarri ondoan munduko joan. Zer da hemen egin behar izan dut antzeko zerbait esan
line break bat txertatzeko. Eta, benetan, line break gauza bitxi bat antzeko zerbait da ezin delako benetan beste lerro mugitzen hasi, eta, ondoren, zerbait eta, ondoren, linea berri bat mugitzen uzteko. Eragiketa atomiko mota da. Egin duzu, bai edo ez. Sartu hit duzu, edo ez duzu. Beraz br etiketa desberdin bat pixka bat da, eta, beraz, irekia bi ordenatzeko eta ixteko behar dut guztiak aldi berean. Horretarako sintaxia da. Teknikoki, honen antzeko zerbait egin ahal izango duzu HTML bertsio batzuk, baina hau besterik ez da ergela, ez dago arrazoirik hasteko eta gelditzeko zerbait delako dezakezu izanez gero dena aldi berean. Konturatzen HTML5 hori ez da zorrozki behar barrarik hau, beraz, testuliburuak eta online baliabide ez duten da ikusi ahal izango duzu, baina neurri ona dezagun simetria dut horrela ikusten dugu orain arte landu. Horrek esan nahi du, tag dela ireki eta itxi. Beraz, gaur egun utzi nire fitxategia gorde nazazu, itzuli hemen. Ongi da, eta, beraz, hobeto begiratzeko, badakit Web ezik, hasten da mota klik eta, oraindik, youtube hemen ez dirudi ezer eramaten. Hau da, nahiz eta itxura esteka bat bezalakoa delako, nabigatzailea ez daki hori per se, beraz nabigatzailea kontatu nahi izan dut, hau lotura bat da. Horretarako anchor etiketa bat erabili: eta utzi hau mugitzeko linea berri bat besterik ez, beraz, apur bat gehiago irakurgarria da, eta letra tamaina txikitu dut. Am oraindik egin dut? N º dikotomia hau izango da. Etiketa honek, aingura tag, atributu bat hartu du, hain zuzen ere, bere portaera aldatzen du, eta atributu horren balioa da itxuraz YouTube URL-a. Baina konturatu dikotomia baizik URL ari zaren, horrek ez du esan nahi hitza azpimarratuz zarela eta lotura bat egiten du. Izan ere, honen antzeko zerbait izan daiteke. Beraz gelditzeko hitz hau itxi aingura tag erabiliz hiperesteka bat egiteko esan behar dut. Ohartu ez dut egiten. 1, hau litzateke guztion denbora galtze bat izan eta ez da beharrezkoa. Etiketa bat ixteko, aipatu besterik ez duzu etiketaren izena berriro. Ez duzu aipatu atributuak edozein. Hargatik gorde, atzera bueltatu. Ados, voila, orain urdin eta hiperestekak da. Sakatu dut bada, benetan ez dut YouTube joan. Beraz, nahiz eta nire web orria ez da Internet bidez, gutxienez, HTML da, eta utzi Internet harrapatzeko bada, benetan genuke, azkenean, hemen youtube.com at. Eta joan naiz eta hemen nire web orrian. Baina jakinarazteko. Phishing eraso bat spam edo ahaztuak duzun inoiz bada, gaur egun, bost minutu besterik ez da gauza bera egiteko gaitasuna duzu. Hemen joan gara eta zer www.badguy.com antzeko zerbait edo dena delakoa sketchy webgunea da, eta, ondoren, esan zure PayPal kontuan egiaztatu dezakezu. [Barreak] Eta orain, hau da badguy.com, ez dut egin klik joan ez daukat ideia non doan delako. [Barreak] Baina orain, benetan, azkenean, han gaitasuna. Beraz, benetan ari gara azalera urratu hasita. Ez gara berez programazioa markup language idazten ari gara. Baina ahalik eta azkarren biribildu dugu gure hiztegia HTML, PHP, benetako programazio hizkuntza bat aurkezten dugu. HTML automatikoki sortzeko aukera emango du, sortzeko CSS automatikoki, Asteazkena dezakegu hasteko ezartzea, esan, gure bilatzailea eta gehiago. Baina egun pare bat gehiago. Ikusiko dugu orduan. [CS50.TV]