[Musika jotzen] DAVID MALAN: Hau CS50 da, eta hau astean zortzi hasiera da. Eta, beraz, ilusioa ongietorria gaude Atzera, sorpresa, CS50 Ramon Galvan, goranzko senior que ha sido azken hilabeteetan hainbat gastua geroztik uztailaren LA ere, Hollywooden, literalki marka TV berriak lantzen Ikuskizuna Kolonia izenekoa, sortzailea Benetan Harvard alum bat bere burua. Eta beraz, oso hunkituta hau ikusteko gaude debuta USA sare urtarrilaren honetan. Beraz, egonaldia sintonizatuta, eta for asteetan Ramon gehiago etorri. Badakizu orain amaiera gertu dagoela. Eta horrek esan nahi du ez dagoela ez Hori guztia askoz CS50 geldituak, triste esan. Besterik gabe, hiru arazo daukagu multzo ezker aldean ez dago Arazoa ezarri six-- eta bertan dago Zure eskuak orain edo laster izango da, ondorioz geroago honetan Aste ekarri zuen zubi Gure komando lerroa, non munduak pasa dugu gure denbora gehien erabiliz C, eta web programazioa munduan. Beno, ideia asko ikusiko duzu Komando-lerroan lan maileguan, baina, aldi berean berri asko eta ideia interesgarria direla, halaber, germane izango da aplikazio mugikorrak eta teknologia erabiliz, orokorrago, zein duzu mutilak dira guztiak ezagutzen gaur egun eramangarriak eta telefonoak eta antzekoak. Beraz, ez da martxan jarri ahal izango duzu Web orri bat, edo web orri batean per se, baina uneko web zerbitzaria da. Web zerbitzari bat gainerako idatzi beharko duzu C, horren helburua bizitzan ere idatzita da HTTP eskaerak, horiek jasotzeko Gutun-azal birtual salatzen jarraituko dugu buruz, eta, egia esan, erantzun bai content-- estatiko batzuk dot HTML bat bezalakoa fitxategia, edo puntu bat JPEG edo artxiboen beste edozein zenbaki, edo are PHP fitxategi bat, zeinaren bidez zure web zerbitzaria da PHP dela interpretatu joan kodea eta txu emaitzekin. Orain, zuk emandako dugu zurekin esparru pixka bat nahiko it hain zuzen ere, alde banaketa arazoa kodea ezarri sei da lerro 1.000 luze, a horietatik asko iruzkinak, fair-- izan behar da baina hau benetan da, ondorioz, aukera bat izan nahi du zure eskuak zikin urpean Proiektu handi samar batean Oso zehazki ditudan dugu landutako zuretzat piezak, beraz, benetan denean CS50 irtenez eta Sar programazio mundu erreala eta nahi dabble nahi Edozein proiektu kopurua, askoz ere handiagoa izan dituzu nonbaitetik deskargatzea erosotasuna kodea, kode irekiko batzuk Web orrian proiektatzeko, eta urpekaritza eta egiteko ikusten dituzu aldaketak. Arazoa zazpi landuko joan Zure web bidezko propioak aplikazio egiteko sarrera dinamikoa hartzen eta irteera dinamikoa ekoizten formularioa etrade.com-bezalako webgune baten. Eta arazoa ezarri oraindik zortzi berrikuntza izango beste hizkuntza JavaScript izenaz ezagutzen da. Bien bitartean, finalean Proiektu horizonte da. Pre-proposamena deiturikoan Gaurtik aurrera, astean zor zaio. Pre-proposal-- zehaztapen bakoitzeko, bertan CS50 website-- abian da Ba nahiko ustekabeko aukera dago Nahiko laburra email bat bidali behar duzu zure irakaskuntza fellow besterik ez zion baduela izateko edo zer pentsatzen ari zaren, bere berari erabili Fonetiker taula gisa. Eta izan Zurea check pentsatzen ari zaren ala ez off too ziztada buruz Askoz edo agian gehiegi gutxi, edo, agian ez daki ezgaitasunaren eta nahi den elkarrizketa bat burutzeko. Ordutik proposamena da eta egoera txostena, deiturikoak CS50 Hackathon hemen Cambridge Harvard eta Yale ikasleentzat berdin. Amaierako proiektuaren inplementazioa da orduan ondorioz. Eta gero, CS50 azoka bat hemen, Cambridge, baita New Haven beste. Beraz, proposamena, hartu begirada bat ohar horien webgunean. Baina gehiago excitingly, ere, da aukera zure eskuak zikin, eta zure adimenak oso bat irekita gaiak eta tresnak sorta teknika eta laguntzaileak dira Ikastaro horrek core curriculumaren den, baina, hala ere, lotuta. Eta, gainera, urrats wonderful harriak Benetan cool karrera amaierako proiektuak egiteko duten go ondo Nik material haratago estaltzen dugu formalki arazo multzo edo hitzaldian. Beraz, joan CS50 webgunera for jardunaldi zerrendari osoan. Ez duzu erregistratu oraindik bada, hori da isuna. Anima zaitez eta izena eman oraindik eta izango dugu jarraipena zuzeneko lotura zuzenak izan daitezke, eguna eta ordua webgunean dago. Eta gauza guztiak izan grabatu eta online jarri ezin baduzu egin du egun eta orduetan bereziki. Zer datza aurretik thereafter-- bai, aldiz, beste jakina, ez CS50 Hackathon da. Argazki hau, oroitzapen, aste zero hartu 4 arratsaldean inguruan AM bat urte iragan. The CS50 azoka, bertan berriro ospatuko da bi hiriburuetan. Eta gero, besterik landatu hazia, nahiz eta oraindik Hilabete bat dute plus seihilekoa utzi, bada CS50 irakaskuntza batu nahi duzuna langileak, eta hasi nahi duzun CA bat bihurtu da pentsatzen, edo irakaskuntza fellow, hori jakin dugu horri buruz gehiago hitz egiten hasiko geroago seihileko honetan. Baina hemen irudian Aurtengo taldean gehienak. Eta beraz, PHP eta I zen hain triste azken astean, [? Allyse?] Atseginez lortzeko ahalegina joan gurekin atrezzoa zoragarri hauek baina ez dut azkenean erabiliz, hain Benetan, besterik ergelak mota begiratu pala guztiak hemen eserita izan dugun Egun joan den asteazkenean, eta koilara apur bat. Baina hau da nire metaforikoa pintatzen saiatzen modu zergatik kliken dugun marrazkia C-tik PHP bezalako hizkuntza bat da. Eta gauza bera gertatzen dela edozein esan liteke languages-- Java, Python, Ruby kopurua edo others-- of baina, berriz sortak C, esate baterako, C programa bat idaztea Baliteke normalean bezalakoa izan Hau atsegin koilara hartu eta zulo bat Jaurlaritzak Lurrean, harea edo zikinkeria. PHP askoz hartzeko aukera ematen du ziztadak handiagoa arazoa daudelarik, kodea gutxiago idazten tresna askoz txikiago bat erabiliz, ez da hainbeste gehiago delako funtzionalitatea pieced. Orain, benetan dramatikoa bagenitu, litzaidake zerbait pala daukagu hemen, baina hala izan da. Bien bitartean, bestea Metafora sortu ginen elkarrekin da, jakina, ezin izan duzu giltza bat antzeko zerbait erabili iltze baten antzeko zerbait mailua. Baina noski, eskubidea erabilera tresna va ez hainbeste izan da Hizkuntza izeneko C eta orain haserretu besterik ez dut [? Sanders,?] Ziurrenik, beraz konpondu dugu geroago askotan erabili eskuineko tresna nahi izan, ez da joan Maila tresna txikiena honetan. Eta hain zuzen ere, C ez da hizkuntza bat duzun gehienak inoiz erabili joan, edo nahitaez erabili beharko da berriro. Eta hain zuzen ere, apur bat sekretu lehenengoa Erabili nuen C neure burua da, nahiko askoz arteko Iraila eta abendua jaitsiera bakoitzaren seihilekoan. Eta hori delako dugu aukera gisa erabili oinarriak irakastea programazioari, eta ordenagailu batekin zientzia oinarriak, datuak egiturak, algoritmoak eta antzekoak, baina oso azkar izango duzu ikus orain sintaxia eta ideiak C azpiko dira, beraz, oso modernoago transferitzeko hizkuntza maila altuagoa, atsegin PHP eta Python eta Perl eta Java eta Objective-C benetan, ez hainbeste Objective-C baina Swift, horiek berriagoak Hizkuntza Asko izango ondoren, azken proiektua duzu dabble. Beraz ADO gehiagorik gabe, dezagun benetan PHP erabili arazo batzuk konpondu ahal izateko. Gogoratu goiz, azken astean, erabili besterik ez dugu CS50 IDE, Programa txikia dinky bat idatzi dugu Hori besterik esan, "Kaixo mundua". Eta, ondoren, gorde dut ere fitxategi batean izeneko hello.php. Eta gero, komando hau exekutatu dut. Eta zergatik? Ingelesez, zer gertatzen da hemen? Zer egiten ari zen I denean Komando hau ran I? Bai? Ikusleak: Ez dago funtzio PHP batzuk irakurtzen zer ari in-- ulertzen duela. DAVID MALAN: Ongi, ez funtzio batzuk PHP eta utzi zehatza egin zidan, Han PHP izeneko programa bat da, a.k.a. Interprete baten, ulertzen duela hello.php edukia, eta goi interpretatzen da behean, ezkerretik eskuinera, eta ez, zer komandoak esateko. Hello.php komandoek, noski, da arlo bakarrean funtzio kode eta aldagai eta loops eta antzekoak, ez dugu geure burua PHP idazten hasi dira. Baina C ez bezala, hau da, konpilatu hizkuntza bat, PHP duzu idatzi besterik ez da, eta exekutatu. Middleman pauso hori burutzen ez bihurtzeko zero eta bai, eta orduan korrika. Eta orain zer horren goitik da? Zergatik ari urratsa saltatu egingo dugu? Zergatik egin hizkuntzetan modernoago joera urrats hau albo batera? Zein izan da prestazioa? Edo intuizioz? Ez dut Nahiz dugu aurretik idatzitako askoz PHP, Zer da, ez buruz onuragarria Zure kodea biltzeko iruditzen zaizu? No? Ez egiteagatik? Zure burua hazka? Bai. Ikusleak: dinamikoagoa. DAVID MALAN: dinamikoagoa? Zer esan nahi duzu? Ikusleak: [INAUDIBLE] DAVID MALAN: Ados, ona da, beraz, sarrerako arabera, ez duzu konpilatu behar den bakoitzean. Eta hori benetan bezala da -bere bezain erraza zer Etengabeko puntua da Zure kodea konpilatu den? Hau da, besterik gabe, urrats bat da hori da making-- hau eskatuko da, Hainbat du asteetan, urrats birritan adina bezala besterik ez zure programa martxan. Izan da erabilgarria duzula ikustea ikusi zenbait akats mezuak eta abar, baina oraindik gogaikarriak urrats bat besterik ez da. Eta beraz, programatzaileak konturatu denborak aurrera egin ahala, zergatik ez dugu ez duten hizkuntzetan idazten hasteko Urrats nahiko mekanikoa behar, beraz, hori besterik idatzi daiteke Zure kodea eta exekutatu. Baina zer zen prezioa ordaintzen dugu ikusi dugun azken astean, adibide zehatz batekin? Bai? Abiadura. Beraz, [? Zer da?] interprete apur bat motelagoa, horretan zeroen eta bai dira Polita eta ordenagailu baten azkarra ulertzen, egin delako Intel CPU, edo dena delakoa da, besterik ulertzen zer ari joan bit ereduak horiekin orrian. Interprete baten Berriz programa bat da hori benetan Ascii iturburu irakurri behar ditu duzula idatzi kodea, eta bihurtzeko, nolabait esateko, edo irudikatu nola, azken finean bihurtzen du zero eta bai. Beraz, besterik gabe hartzen du apur bat performance hit bat pixka. Beraz, merkataritza-off bat pixka bat da. Horretarako Orain bada, hemen baino gehiago dugu, let me Aurretik joan eta adibide bat honako hau egin. Joaten naiz hemen ere bada, fitxategi berria, noa hau berriro gordetzeko hello.php da. Eta orain aurrera joan joan eta esan, "inprimatu kaixo mundua" - eta gogora ekarri du inprimatu erabili ahal izango dut, baina nik ez dut inprimatu-F erabili dute. Eta orain, hemen behera, hello.php of PHP egiten badut, huh-- dut ez dirudi interpretatu behar da. Zer oker egin dut? Ikusleak: angeluarekin eskumuturrekoak The. DAVID MALAN: Bai, behar duzun xebroi goiko sortu dela. Hain gogaikarriak mota da, baina hartzen da, azkar. PHP kodea idatzi behar badut, Oro har, behar programa kontatzeko, edo esango interpretea, beno PHP, hemen PHP kodea batzuk dator. Eta gero, neurri ona, nuke itxi honek ez honekin, baizik Galdera besterik marka angelu tarte, orain behera hemen, beraz, exekutatu dut hau berriro, orain Duzun emaitza lortu dut. Orain egin optimizazioa apur bat utzi, Hori besterik ez ikusi duzu aurretik, beraz. Hau da, mota gogaikarriak dut PHP espazio hello.php exekutatu behar, izan ere, iragan dut Besterik ezin idatzi dot barra programaren izena, hau da, mota polita. Erabiltzaile-esperientzia hobea mota da. Eta gertatu da hau egin dezakezu honako hau dut PHP hau nahiko críptica erabil daiteke hemen goian enkantamenduari, eta oro har shebang bat deitu, Horren bidez, hau sinbolo zorrotz bat da, nolabait esateko, hau bang bat da edo harridura puntu bat. Eta hau orain programa bat bidea da Linux sistema batek gainean ingurumena, edo ENV deritzo. Eta honek istorio luze lerroan short-- lerro bat besterik ez dio, hey ordenagailua, aurkitu PHP du me interprete ingurunean, aurkitu zure oroimenez, nolabait esateko. Eta zer polita, ez dago behera joan badut hemen, Dot barra egin ahal dut kaixo dot php, or-- hmm. Baimena ukatu. Beno, nahiz eta hau gehiago ikusiko duzu Arazoa zazpi ezarri, baduzu izan ez dagoeneko, baimenak. Bihurtzen da behar dudala komando hau exekutatzeko izeneko [? chamod?] aldaketarako mode-- plus x hello.php bat. Behar dut [INAUDIBLE] hau egiteko gehigarria Urrats horrek nire ordenagailua kontatzea, hello.php exekutagarria egiteko. Eta orain ikusi zer gerta dot barra hello.php, exekutatzen besterik ez da. Ez dut behar den zehaztu interpretearen jada. Eta are politagoa egin ahal izango dut, Oraindik ere, gauza hau izenez badut. Besterik hello.php mugitu nuen bada Kaixo, orain goiko ezkerreko nabarituko, programaren izena da Hain zuzen ere, gaur egun besterik Hello. Orain egin ahal izango dut begiratu C programa bat bezalakoa da, Honez PHP idatzita nahiz edo Egia zenbakia duen beste hizkuntza. Beraz, hobekuntza marjinala, Ezberdintasun funtzionalak ez. Baina jakin-mina apur bat besterik ez da orain, beraz, programak idatzi ditzakezu Edozein hizkuntzatan, eta erabiltzaileak ez ezagutu edo zaintzeko zer dira horiek. Beno, dezagun gehiago batean sinesgarria adibidez orain harrotzen dudala aldez aurretik. Eta hori da deitu quote.php. Eta online eskuragarri. Eta konturatu nahiko short-- dela baina komando lerroa programa hori da stock prezioak gora begiratzera joan Niretzat, hau da, benetan joan germane izan behar den arazo multzo zazpi. Beraz, ikus dezagun zer egiten ari naiz. Oso goian Dut du irekita tarte galdera ikurra PHP. Gero Nik lerro hau, zeinaren I am izeneko functions.php-- fitxategi bat eskatzen ikusi goaz Informazio gehiago nahi izanez pixka batean, baina hori C-ren antzekoa da zorrotz bertsio besteak beste, nora joan nahi duzun Beste fitxategi bat, besteak beste. PHP deitzen da eskatzen, arren Gainera, besteak beste, funtzio ditu. Eta bihurtzen da function.php dela besterik gabe, zerbait idatzi nuen klase aurretik. Jarri dut direktorio berean, delako Faktore kode batzuk nahi dut garençát beste nonbait erabili nahi. Bien bitartean, seguruenik dezakezu infer zer gertatzen da hemen. Hau da, apur C baina ezberdina zer egiten ari naiz erabilera egokia bermatzeko? Itzulpen hau teknikoki. Zer Inolaz naiz Programaren irtetea, edo irteteeko? Bai? Ikusleak: When ez duzu bi komando lerroko argumentuak. DAVID MALAN: Noiz ez daukat lerroko argumentuak dituenean. Eta gogoratu, horietako bat argumentuak programaren izena bera da. Eta bigarrena izango da Hitz beste gonbitan ostean dut. Beraz, besterik C bezala, honetan Nire egiaztapena modu bat da, ba erabiltzaileak lankidetzan aritzea eta programa abiatzean asmoa nuen bezala? Orain, ez dago zerbait desberdinak pixka bat C lehenik eta behin egiten dugu dolarraren ikur hori dute, eta zer dolar bat egiten du sinatzera PHP adierazteko? Just aldagai bat. Hori all-- besterik aldagai bat, eta jarraian benetan deitu nahi duzuna. Iragarki zerbait Nire PHP programa falta, besterik gabe, azken falta zen bezala astean, versus C, hau da, zer? Mota bat, baina, aldi berean, beste zerbait. Bada zerbait ez dago Funtzio nagusia funtzio. Ez dago funtzio nagusia da. Hasten zara idazten besterik Zure kodea beharrik gabe nahiko arbitrarioa bat kezkatu lehenetsi batzuk izendatzeko konbentzio funtzio nagusia. Beraz arg C besterik ez da benetan aldagai global bat interpreteak ez dela eskura niretzat. Orain, hau interesgarria da. Beraz, gauzak itxura eman. Dolarraren ikurra salda da utzi, nire aldakorra da. Eskuinean On, ez da itxuraz PHP funtzioaren bilatu deitzen duten Nire komando azken lerroan pasatzen ari naiz Argumentu edozein dela zaie hitza. Eta ikusiko dugu nola hau Une batean lan egiten du. Eta gero, azkenik prezioa erreportaje ari naiz. Egindako naiz inprimatzeko bat hala nola, eta besteak beste, kuota. Eta gogoratu, hau da in PHP PHP modu bat modu non ez duzu egin du dolarraren ikurra S jada. Besterik kizkur giltza erabil dezakezu eta aldagai batzuk konektatu. Ez daukazu kezkatu printf erabiliz modu berean. Eta alde batera, gisa aldagai bat jarri hau bezalako komatxo barruan, fancy teknika bat erabiltzen ari zarenean interpolazio aldakorra izeneko. Besterik ez du esan aldakorra plug hemen. Eta alde batera, zenbait zuetako etortzen diren bezala programazio beste jatorri, Agian ez duzu Komatxo erabili kateak inguruan hori egin ahal izateko. Ba komatxo erabili behar duzu interpolazio aldakorra da lanera. Bestela, hitzez hitz egingo duzu Ikusten horiek kizkur giltza. Beraz, azkenik, dezagun aurrera, eta hau exekutatu. Demagun nire terminal apur bat handiagoa egin zidan. Dezagun aurrera me eta exekutatu Nire aurrekontua zerbitzuaren barruan. [? CDsource?] [? AM?] [? aurrekontua?] PHP aurrekontua dot PHP, eta naiz zerbait bilatzeko noa GOOG, eta horrek bere ticker sinbolo bezala, eta bere izen berria kuota bat, Alphabet Inc, kostua $ 717, gaurtik aurrera. Ondo da, nahi badugu exekutatu berriro, edonork stock ticker aztertuz Beste gora begira jarri nahi dute? Microsoft uste dut hau, MSFT-- $ 53. Uste dut Yahoo da agian hori. Eta Facebook dela. Beraz, zer programa hau egiten ari da? Magia kapsulatutako dagoela dirudi bilatu funtzio hori ere. Beraz, dezagun begirada bat. Bihurtzen da, ez da etorriko PHP batera, da functions.php da. Eta ez dugu pasatzen honek zehaztasun handiz, baina konturatu operatibo hitza hemen da hori on line sei functions.php-- of Literalki esan dut funtzioa. Nire funtzioaren izena zehaztu dut. Eta zehaztu dut inolako argumentuak, edo parametroak, Funtzio hori mota no take-- nahi dut. Eta, ondoren, martxan jarri nuen. Eta nire eskua olatuen dut ezartzeko at, eskubidea samar geroztik orain, baina berriro ikusi benetan Aste batean, arazo girotuta zazpi. Baina hau garbitu ahal izango dut, gehiegi. Sartuta ere I Gaur egungo bertsioa a kodea aurrekontua, eta horrek ez du dot PHP fitxategia gabekoak. Zer da zentzuzkoa delako izeneko besterik aipatu programaren goialdean? Hori deiturikoak shebang-- nahiko críptica enkantamenduari esaten duen PHP aurkitu eta gero korrika nire kodea da hemen. Ondo da, beraz dakarkigun non utzi dugu gurekin azken aldiz izan arren Adibide gehiago aurreratu batzuk. Edozein zalantza horrela, orain arte PHP edo zer egiten ari garen? No-- eskubidea. Bai? Ikusleak: Inside HTML fitxategiak, ez zu [? egiten duzu?] [? deitu besterik ez da?] a [INAUDIBLE] PHP fitxategia? DAVID MALAN: Galdera ona. Web testuinguru batean, bertan ari garen literalki buruz trantsizioa, Erabiltzen ez dituzun deiturikoak goian shebang, Web zerbitzari sarritan bat delako Apache edo Microsoft izeneko programa IIS, Internet Information Server, edo beste web zerbitzari software-kopurua, daki ikusten duten dot PHP fitxategi bat, dela Gainean interpretearen exekutatu behar. Ez du lehen lerroan hori begiratu. Beraz, lehen lerroan trikimailu hau da bakarrik zaudenean Komando-lerroan idazten programak ez dugu egin super askotan, baina gure zubiak eraikitzeko bidean da Gure C orain gure PHP adibide. Hargatik mundu honetan hain zuzen ere, zubi en Komando-lerroan webean mundutik Honako eginez. Dezagun aurrera me eta marraztu Hemen une bat besterik ez baino gehiago. Beraz, web zerbitzaria ez badugu, edo, hobeto esanda, Nire eramangarria dugun baino gehiago bada hemen, bertan dizut Horrela marraztu. Eta hemen daukagu inprimaki batzuk internet. Eta gero, hemen, ez dugu building-- batean zerbitzari bat hau nola internet da works-- eta hemen ere argi batzuk, agian zerbitzari bat da. Zer da benetan gertatzen ari Bi konexioak horien artean? Beraz, eraikin honetan, web zerbitzaria ez da. Hori ordenagailu bat besterik ez hori eragilea exekutatzen sistema erabiliz, agian izeneko software librearen Apache, horrek CS50 IDE martxan dago. Beraz, benetan ahal duzun Eraikin honen uste eraikina izanik bertan CSt0 IDE gordetzen da. Hori da, non duzun guztia dute kontuak, non duzun guztia Zeure web zerbitzaria dute , exekutatzen duzun guztia Zeure URLak berezia dute, eztabaidatzeko hasi ginenean bezala, eta gehiago ikusiko duzu P. ezarri sei. Hona hemen nire laptop nonbait Interneten beste. Eta beraz, URL ikusten dudanean duten pertenece niri, Interneteko trafikoa hori joan zerbitzaria zerbitzari baino gehiago jasotzeko baten HTTP request-- bat bezala lortu index.html eta hori da Web orri hori erantzunez. Beraz, hori paradigma orokorraren da. Guztia eman Berriz orain, gaur egun, dena arte bakarrik gertatzen ari zen batean Eraikin honen mugarik. Nire eramangarria erabiltzen ari nintzen, baina CS50 IDE nahi dut egon zen, beraz, programa horiek guztiak exekutatzen ari nintzen zerbitzari hori, beraren barruan zegoen. Baina orain, has gaitezen PHP berrerabiliz Benetako programa batzuk idatzi nahi duten zerbitzatzen web zerbitzari batek. Eta hori egin ahal izateko, naiz joan nintzen adibide-sorta oso bat sartu hori aurkeztu ideia hori hemen. Beraz, hau da, modu dotore bat mota programazio paradigma bat deskribatzeko. Eta hain zuzen ere, CS50 irtetean bezala edo final proiektuetan lan, edo hartu batzuk jarraitu Klase on, hasi zara to world-- dela ikusi batez ere, ondoren, hazi C bezalako hizkuntza batera Hori level-- super gutxikoak dira konturatzen ez da hobea idatziz software moduak. Badira zenbait ereduak jarraitu dezakezu, zure fitxategiak antolatzeko modu jakin eta zure funtzio izendatzeko moduak, Beraz, istorio laburrak, Mundu heldu da sigla osoa sorta batekin eta programazio moduak izenak. Hauek teknikak besterik ez zitekeen erabili zauden. Eta horietako bat da izeneko MVC, Model View Controller da. Eta hori besterik ez da, zeren orain, bat oso gogorrak nola egon beharko duzu egindako esaten modu PHP-oinarritutako webgune bat, gure kasuan. Nola zure fitxategiak antolatzen, nola ez zure logika antolatzen, modu bat egiten errazagoa da ere Webgune zailagoa idatzi? Eta, hain zuzen, azkar egingo dugu iritsi p-set zazpi urtez. Beraz MVC munduan, bazoazela ikusi gure kode ahal oro har eredu kode bai, alegia, edo controller kodea, edo ikuspegi kodea. Eta noa oversimplify da follows-- gisa kontroladorea da Zure programa garunak, da non guztia logika interesgarria gertatzen. Beraz, dena izan gara beraz, orain arte klasean idaztea, motatako kontroladore bezalakoa da kode Honez kontrolatzea da Zure programan, zure loops, zure baldintza da, zure funtzio eta aldagai eta hori guztia. Irakurketak, orain, apur bat izango da gehiago web-munduan ere nabaritu. Ikuspegi estetika da Zure web. It zer erabiltzaileak sees-- irudien da, HTML mahaiak, HTML tags eta guztiak hori, fluffy estetikoaren guztiak gauza hori ez da horren gogorra, idazteko baina besterik ez da, zer sortzen ari zaren, Ikuspegi deiturikoak, estetika da. Eta eredu, azken finean, da joan database stuff-- izan zein hasteko urpean zaitugu guztiak sartu asteazken honetan gehiago. Beraz kontroladore logika da, ikuspegi gauza estetikoa da, eta eredua da non izango da gure benetako datuak gordetzen ditugu. Hargatik begiratu honetan zehazkiago Ondorengo adibidez batera. Hemen nire direktorioa sartu naiz Gaur egungo iturburaren kode horietatik guztiak online eskuragarri dago. Eta ez dut nahi zero bertsioa sartzen joan. Eta hemen is-- en bertan deitu utzi zero bertsioa CS50 webgunea. Ez dago askoz hemen batere. Da hori da web orri bat oso erraza da ziurrenik erabiliz zer HTML tags-- besterik Iraganeko adibide asmatzen? Zer da hori? H1-- ziurrenik lodia handiaren bila izenburua, logo hori gora, CS50. Eta zer gehiago play at da? Bai? Ikusleak: Ordenatu gabeko zerrenda. DAVID MALAN: Ordenatu gabeko list-- hain UL etiketa eta agian LI etiketa pare bat. Eta ez baduzu gogoratzen horiek, zintzotasunez ez du axola. Hauek fluffy moduko daude ezartzeko HTML xehetasunak duzula azkar begiratu sortu eta egin behar duzu zure bidean. Gehiago zentratu dugu programazio on duten juicier piezak dira ideia. Hargatik hartu nahiko luke azkar bat HTML begiratu eta, hain zuzen ere Ireki nuen ikuspegi iturburu bada hemen, yup, Hori da zehazki zer gertatzen da hemen. Ez dago UL etiketa bat. Horren barruan habiaratuta LI etiketa da. Eta gero URL maileguan dut Benetako curriculumaren hemen. Eta gero ere etorri lectures.php da itxuraz beste dinamikoki sortutako orria hori, izan dezagun see-- ah joan, Hitzaldiaren lehenengo hamabostaldian. Beraz, aste zero eta astebete, dezagun Halako begiratzen ikusteko I orriaren iturburua bada, halaber, super simple. Hauek dira bi orrialde liderra week0.php deitzen, eta week1.php. Beraz, kontuan hartu orain zer gertatzen. When I sakatu week0.php on, nire laptop week0.php eskaera bat egiten ari da. Web zerbitzariak, a.k.a., CS50 IDE, gutun-azal birtual hori jasotzeko. Honez mezu bat ikusten ditu bezala, lortu week0.php. Ondoren fitxategia interpretatuz, goi behera, ezkerrera fitxategia eskuinera week0.php-- eta deitzen emaitzak tu. Beraz, fitxategi honen barruan, week0.php, izan behar du kontroladore logika hori sortuz HTML hau, eta egingo dugu laster ikusiko duten. Baina, oraingoz, utzi egin klik aste zero on me, eta orain, asteazkenean eta ostiralean izango dugu, eta orain diapositibak daukagu astiro aste zero. Eta agian duzula gogoratzen Bide horretatik itzuli denean. Beraz, webgune honetan egiten ari den guztia. Beraz, kontuan hartu dezagun Hori nola egiten da. Atzera joan sartu noa iturburu-kodea hemen, CS50 IDE ere, eta naiz ireki index.php joan nintzen. Fitxategi honen goialdean iruzkinak sorta bat da. Eta gero, fitxategi honen erdian, da bihurtzen, PHP kodea ez da inolako. Izan ere, ez duzu edozein tarte irekia galdera ikurra PHP etiketa, free besterik jarri HTML zaudenean. Zeren eta zer PHP du interpreter suposatzen da egin, denean, fitxategi hau irakurtzen goitik behera, ezkerrera eskuinera bakarrik interpretatzen artean ikusten kodea angelu parentesi horiek galdera ikurra. Eta, beste ezer ez dela PHP bezala ezagutzen, besterik tu egiten du. Eta HTML stuff artean dago aski izango da txu. Beraz, fitxategi hau izan liteke index.html izeneko dira, baina dena izendatzen naiz dot PHP zubia da gisa. Lectures.php-- antzera underwhelming, HTML batzuk besterik ez da. Week0.php, era berean HTML batzuk besterik ez. Baina orain dezagun jarri du! proverbial ingeniaritza hat, eta kontuan hartu hau nola hobetu ahal izango dugu. Ez da zaila hori egin ahal izateko, baina, I mota kopia eta itsatsi sartu transferituta. Eta hain zuzen ere, bi aste egin badut, zuk Badakizu zer Ziurrenik dut egin? To week1.php joan noa, naiz dena nabarmendu behar da. Kopiatzeko noa, itsatsi izeneko week2.php fitxategi berri batean, URL batzuk pentsatzen, eta nire bidean. Beraz oinarritutako zer dugun on C ikusi denez, honek ez du sentitzen eskubidea, zorionez. Kopiatu, itsatsi gutxitan eskuineko irtenbidea. Beraz, zer egin dezaket hasiko dugu hau hobetzeko egin? Non daude aukerak diseinua hobeto? Ordua iritsi nintzen arabera Aste zortzi, joan da benetan gogaikarriak izan aldatu nahi badut bakoitzetik bat letra-tipoa Nire orrietan nahi dut, edo bada Diseinuaren egitura aldatzeko. Beraz, non da aukera diseinua hobeto? Beno, ikus dezagun zer da fitxategi horien guztien zehar partekatu. Hona hemen aste bat, hona hemen aste zero, hona hemen lectures.php, hemen zer berdina da index.php-- eta zer da desberdina, oro har, fitxategiak horietako bakoitzean? Bai? Ikusleak: [INAUDIBLE] DAVID MALAN: Ados, ona. Beraz, ez da eredu bat da, ziur aski, zeinaren aldi bakoitzean zein I hitzaldia I, Den bat sortuz behar dut oso antzeko bat bilatzen orria. Eta beraz, agian leverage dut Izan ere, benetan, nahita zenbakiz dugu indexatuta gure lectures-- I, are gehiago jarri ahal bada Zure erantzuna hitz. Eta zer gauza bakarra da, benetan, hori aste artean aldatzen one-- eta utzi korrituko me down da, beraz, gutxi gorabehera place-- berean beraz, hemen aste zero da, Gutxi gorabehera goialdean. Hemen astebete, astea da zero, aste bat, aste zero. Ados, literalki badakizu programa inolako, hau da, gaur egun, besterik gabe, bat bezala ereduarekin bat datorren jokoa. Beraz, zer da desberdina? Bai? Ikusleak: [INAUDIBLE] DAVID MALAN: Ongi, orain titulua aldatzen ari da, inoiz, beraz, apur bat. Zero da, joan jakina, bat. Gauza bera gertatzen H1 etiketa gertatzen. Eta ez dugu ikusi nahiko du hain erraz, URL apur bat luzea delako. Baina URLtan zertxobait aldatzen ari dira. Baina, zer ez da aldatzen, ausartzen naiz esan, orri batean agertzen diren edukien gehienak HTML etiketa berdina da, burua da bera, izenburua bera da ia, gorputza bera da, eta ia beste guztia bera izan ezik Tweaks txiki horiek. Beraz, nola joan gara hau batzuk factoring out? Beno utzi zehazki proposatu zidan hurrengo bertsioan hori. Beraz, hemen inork bertsioan, zehatza daukat fitxategiak bera, gehi beste pare bat. Hemen da index.php-- eta nahiz eta Nik inoiz ikusi PHP aurretik, zer naiz ziurrenik hau konpondu ahal izateko egiten dut arazoaren oinarrituta hemen zer ikusten duzu? Bai, konpromisoa arin bat dela? No? Bai, segi. Ikusleak: [INAUDIBLE] DAVID MALAN: Bai. Ikusleak: [INAUDIBLE] DAVID MALAN: zuk behar dut hitz egin ozenago txiki bat besterik ez. Ikusleak: [INAUDIBLE] DAVID MALAN: Ados, ona. Eta hori izan zen uste dut Gogor Baduzu baina entzuten dut nahi Uste duzuna at ari da komunean goiko sortu ziren, etiketetan, eta berdinak zirela tags behean, orain da factored out, edo zein fitxategi at? Header.php eta footer.php-- eta goazen Tweaks batzuk egiteko aukera jorratuko kezka duzula besterik zenbakiak aldakor buruz planteatu, for Esate baterako, behar bezala entzun nuen gero. Baina dirudienez, ideia nagusi izan nahi du. Ez du kopuru handi bat izan zen bada orriaren goialdean erredundantzia, eta kopuru handi bat behealdean erredundantzia, dezagun hitzez hitz besterik nabarmendua eta eduki hori moztu, ipini fitxategi bereizi batean besterik ez bezalako CSS, ideia non, factored dugu oso antzeko estetika, jarri Aparteko dot PHP fitxategi batean, erabiltzea eskatzen mekanismo bertan C include-- zorrotz bezalakoa da bertan funtsean joan esatea bezala header.php edukiak har, eta kopiatu eta itsatsi hemen. Baina zer esan nahi du hau da, gaur egun ere hori index.php, bi lerro horiek daukat. Lectures.php ere, nik ere bi lerro horiek. Week0.php ere, nik ere bi lerro horiek. Beraz, gaur egun, baina aldatu nahi badut Nire orri guztietan titulua, edo aldatu nahi dut oinarrizko egitura, Dut orain alda dezakezu leku bakar batean, edo bi places-- goiburua eta orri-oina hurrenez hurren. Orain kodea hasierako itxura apur bat gehiago críptica, ezta? Baina pentsatzen baduzu zer orrialdetan week0.php I eskatzeko naiz bada doing-- da, besterik on gainean marrazten bezalako hemen denean week0.php eskatzen da, zer esan nahi du horrek? Literalki, lan honen egileak, nabigatzaileak eskatu. Web The zerbitzari a.k.a. CS50 ID-- ase honetan fitxategia, week0.php, eta irakurketak hura goitik behera, ezkerretik eskuinera. On line bat, berehala topatzen tarte irekia galdera ikurra PHP, eskatzen goiburua dot PHP, eta beraz, zer PHP interpretea honek, hori web txertatua zerbitzari, aurrez dugulako Baduzu automatikoki jartzen da hura header.php sartu, kopiak edukiak, Hemen itsasten horiek. Baina orduan interpreter topaketak Galdera-ikur tarte estuan, beraz, hori guztia egin pentsatzen. Orain besterik blindly tu egiten ildo bi zazpi bidez, besterik HTML delako. Lortzen zortzi lerro, eta ez du hori magia bera espedientea irekitzea, berriro, edukiak helduz, eta horiek behar duten edo horiek itsasteko ondoren, eskuinera edo ez. Baina I bug bat aipatu besterik ez. Urrats partziala atzeratua, begiratzen dugu header.php bada delako, Nik mota txoko bat moztu. Zer Ezaugarri zuen amore ematen dut ordena eztabaidagarria hobeto diseinu hau irabazteko? Bai? Ikusleak: [INAUDIBLE] DAVID MALAN: Bai, I mota ren nontrivial txoko bat moztu. Adierazi duzu zer aldatzen ari zela izenburua izan zen, izenburuan kopurua, eta H1 zenbakiaren. Beraz, nire irtenbide zen, OK, utzi orria izenez aldatu nahiko luke, eta ez hori aurre Arazoa inolako. Beraz, hori da partziala urratsa atzeraka ziur. Baina zer da nabarmentzekoa hemen hau da, zer egin ote dut Besterik faktorizazioa gauza komun guztiak atera. Eta footer.php, konturatu nintzen factored hori guztia atera, neurri txikiagoan bada ere, gauza komun. Beraz, nolabait, orain egoteko gai behar dut beste pauso bat aurrera, eta konpondu titulua duten gaiak. Beraz, utzi egin dutela. Goazen nire bigarren bertsioa sartu Hemen, bertan, berriro, fitxategi berdina dauka Horrez berria, bat izan ezik. Eta apur bat gehiago da Luze, baina utzi ikusten baduzu, en dugu aurre egiten ahal izateaz gain, zer gertatzen da hemen. Beraz ordez eskatzen header.php eta footer.php, Den bat bakarrik eskatzen dirudi I fitxategi deitzen, jakina, helpers.php. Eta utzi orain zeintzuk me, Zer da helpers.php barrutik besterik funtzio sorta bat da , idatzi dudala bezala aurretik. Baina, deitzen dut helpers.php. Orain, antza denez, in Hiru lerro eta 10 naiz bi funtzio deituz goiburua errendatu, render footer. Horiek ez etortzen PHP, horiek idatzi nuen neure burua. Eta ipintzen helpers.php ere. Orain, besterik ez dugu sintaxia hau ikusi behin, eta super laburra izan zen. Baina hori da, antza denez, argudio bat goiburua, funtzio errendatzeko. Zergatik ez dela ezagutzen dut? Beno hemen itxi paren bat, Hemen paren bat da. Eta, jakina, besterik C bezala, Parentesi horiek artean ezer da input-- bat edo funtzioa argumentu. Zein datu argudio horren mota da, oinarritutako zer nabarmendu dut on? Zer egin karratu parentesi horiek adieraziko da, aurreko astean? Bai, array bat da zehazki, elkarte-sorta bat. Eta sintaxia hau admittedly funky txiki bat da, baina hori pasatzen bat gako bikotea ere. Gakoa da, aurrekontua unquote izenburua, eta balio du CS50. Egin beharko bagenu honetan C ordez zitekeen gehiago itxura hau, besterik aurrekontua unquote CS50 edo benetan kizkur litzatekeela giltza, edo C horrelako zerbait, non gakoa zero da, eta balioa CS50. Baina, berriro ere, PHP, nahiz eta sintaxia da, berriz ere, pixka bat arraroa, pasatzeko aukera ematen du hitz zenbakien ordez gakoak lotzeko balio. Beraz, zer esan nahi du honek guztiak? Go dut helpers.php sartu bada, ikus ditzagun funtzio honetan. renderHeader.php, baizik renderHeader nire funtzioa da, eta delako hori ikusten dut ezagutzen dut Funtzio hitzarekin hemen. Hau da, antza denez, C-tik berria izeneko data-- argumentu bat hartzen du baina ezin izan nuen deitu ezer, baina dena datuak deitu nuen, besterik clean-- apur bat izango da, eta Etxebizitza bat besterik ez hartu, batez ere, Nik beste batzuk ere programatu mailako hizkuntza handiagorik aurretik, zerbait C-tik gora, kontzeptualki. Zer berdinak tarte irekia egiten du kortxetea ziurrenik esan nahi? Edo zer esan daiteke? Ez dugu ikusi hau C. Bai? Array huts bat. Hain zuzen ere, horrek esan nahi du, bada erabiltzaileak ez renderHeader deitu argumentu batekin, oraindik noa Datu izeneko argumentu bat izatea, baina bere balio lehenetsia da array huts bat izango da. Beraz Erosoago polit bat besterik ez da. Nik ez dut nahi erabiltzaileak Yell, edo esan nire funtzioa oker erabili zenuen. Besterik ez dut eman dezake erabiltzaileak lehenetsi bat balio, bada, ez dut bereziki zaintzen. Orain funtzio hau, naiz nire esku olatu zoaz. Baina extract funtzio honek aukera ematen du Datu aldagai horiek gainditzeko gurekin honela header.php sartu. Eta honen azken pieza da, , Uste dut funky sintaxia. Hemen nire bertsio berria da ren header.php-- da erraitea, literalki erabili, open parentesi izenburua CS50, eta hori izan da. Eta H1 gauza bera. Orain, antza denez, esaten du Zerbait polita funky. Eta utzi hau errazteko me une batez, honela. Hau da, zer egin dut Nire izenburua izango da aldatu. Hala eta guztiz ere, pixka bat itsusi da lortzean PHP parentesi etengabe irekita, eta, ondoren, erabili inprimatzeko funtzioa. Bihurtzen da PHP horretan azkarra dauka horretarako notazioa, besterik ez da berdintasun-ikurra, hau da, teknikoki bat izeneko funtzio inprimatu ordez oihartzuna, baina gauza bera da, modu eraginkorrean. Duten itxura hobea. Besterik sintaktikorik azukrea, izango bada, egiten nire kodea itxura apur bat hobea. Dena dela, eta hau ikusiko dugu berriro luze baino lehen, hau deitu behar dugu annoyingly izeneko funtzio luzea HTML karaktere bereziak PHP, bihurtzen da delako Sarrerek badira zenbait erabiltzaileari digu eman liteke hori, edo erabiltzaile gaituen eman dezake, direla gure gune hautsi egingo da. Baina ikusiko dugu hurrengo dagoela Javascript astean. Baina, oraingoz, besterik ez ezagutu Ez dago fitxategi honetara, headers.php, besterik gabe, izenburua hartzen duten Ere gainditu nuen, izan dadin Ziur segurua da web bat sartu injektatu orria, eta bertan tu egiten du nire izenburu gisa eta nire H1 gisa. Beraz, joan nintzen bertsio hau hartuz gero, gaur egun, nabarituko hitzaldiak bere izenburua dauka atzera, Aste zero bere izenburua dauka atzera, eta hain zuzen ere, HTML sortzen ari naiz da nire lehen bertsio berdin-berdina was-- nire whitespace ezik, hasi naiz Nik formateatzen delako Nire kode apur bat ezberdina. Baina guztiak sortutako Nik Kodea zaintzen dut. Hargatik eteteko eman me Une batez, eta ikusi ez da edozein zalantza izanez gero, edo nahasmena sortu dut. Ondo da, beraz dezagun bihurritu pixka bat gogorragoa hemen Han bada bat ikusteko hobetzeko aukera. Helpers.php ere izan hau funtzioa, renderFooter deitzen. Eta zer da esanguratsuena renderHeader, eta renderFooter? Eta berriro ere, gaur egungo helburuetarako, jakin extract funtzioa besterik ez da hori Nire joana argumentuak modu header.php eta footer.php sartu. Sentitzen dugu? Ikusleak: [INAUDIBLE] DAVID MALAN: Bai, nik bakarrik aldatu lerro eskatzen. Beraz, literalki, sin konpromisoa Nik kopiatu eta itsatsi, eta, hala ere, berriro ere. Ez da kopuru handi bat It lerroak, baina etorriko on-- I kopiatzea eta dena itsasten, naiz bada besterik hitz bat aldatzeko, eta hitz bat dagoela Alan puntu kanpo dago hemen oina, versus goiburua hemen. Bestela, dena da berdin-berdina, izan ezik, jakina, funtzioa izenak. Beraz, zer hobeto egiten dugu? Beno utzi ireki me bertsio honetan Hemen, helpers.php Horren bidez, zergatik ez dute lortu besterik ez dut bat txiki honetan smarter? Idatzi apur bat zailagoa kodea, baina deitu bilakatzeko? Beraz, zer dute funtsean aldatu dut? Argumentu bat hartzen du da gaur egun Bi argumentu, datuak oraindik. Eta gero, zer da lehena izen seguruenik ari erabiltzen, oinarritutako hemen zer irakurtzen ari zaren? Sintaxia batzuk berria da oraindik bada ere. Zer da dolarraren ikurra template? Sentitzen dugu? Ikusleak: Goiburuko edo orri-oinean. DAVID MALAN: Goiburuko edo orri-oinean. Beraz, itxuraz, erabaki dut bada hori aldatzen ari da gauza bakarra da zer template nahi dut print-- eta txantiloiarekin Esan nahi dut hau plana da Outputa nahi dut kodea, baina batzuk konektatu nahi dut balioak, hala bada goiburua bakarra da edo footer, zergatik ez dut parametrizatzeko Hori eta argudio dolarraren ikurra deitu template? Eta gero, funky sintaxia hau ahalbidetzen me bide bat sortu hemen aldagai batean. Beraz, dolarraren ikurra bidea aldagai bat da. Zer sintaxia hau ez egin, Oraindik ezagutzen bada? Bai? Ikusleak: [INAUDIBLE] DAVID MALAN: Zehazki. Template badago, aurrekontu unquote goiburua, edota eredu bada, aurrekontua unquote, oina, lerro hori ez Hori nabarmendu dut, line zortzi, hau da, besterik gabe, izen hori hartu du, goiburu bezala, eta hura kateatuz dot PHP. Beraz, ez dugu operadorea honek dute C. in dot operadorea Hau da, PHP gauza harrigarri bat ez bazaude Ikusteko Javascript-a edo Java ezagutzen, plus erabil ditzakezu sinatzera lotuz egin. C, neck-- mina bat da eta Pena, in p-set sei, Egin behar joan zaren Halako lepoan mina da kateak kateatu. Zergatik? Beno, duzun got bada delako kate bat hori da, hau luzea, eta hori da, hau luze bestera katea, Ezin duzu besterik plug elkarrekin. Zer ordez duzu C egin? Bai? Ikusleak: [INAUDIBLE] DAVID MALAN: to malloc duzu memoria, edo erabili array bat pilan. Eta zuk benetan nahi dute Array hori big nahikoa egin hau egokitzeko honetan plus, plus backslash zero. Ondoren kateatu horiek elkarrekin erabiliz irabiatu katu edo eskuz begizta batera, edo edozein teknika. Eta zuk ere pare bat erakutsiko dugu p-set sei. Lepoan mina da. Eta hau da benetan zer esan nahi dut hau Halako C versus PHP bezalako versus. Beraz, askoz gehiago lortu besterik ez duzu doan funtzionalitate, Hori fokua dezakezu eta beraz, haien, dibertsioa kodetze zati da, Proiektu konpondu nahi, baizik eta maila baxuko minutiaeren baino. Beraz, hau da, besterik gabe sortzen header.php edo footer.php oinarritutako zein bat dut deitu gunean. Eta hain zuzen ere badut index.php sartu, aldez aurretik abisatu Hori guztia beharrean changed-- goiburua errendatu baliogabetu edo footer deituz, Deitzen naiz errendatu, eta jarraian Hori egin nahi dudan plantilaren izena. Eta hau ikusiko duzu, ere, arazo girotuta zazpi, Horren bidez, erabiltzeko aukera emango ditugu funtzio bera sortak egiteko eta web orri desberdinak sortak. Beraz, baizik eta habita too baino Askoz details-- horietan gehiago berriz ere ikusi beharko duzu Arazo multzo seven-- ditzagun utzi orain irtenbide baten hasieran Arazo gehiago interesgarria. Horrela, orain arte, ez da ezer dugu Egin gordetako datuak ditu. Izan ere, garai bakarra dugu inoiz salbatu Zerbait class honetan egin duguna denean demo oso simple bat izan genuen awhile Atzera, zeinaren erabiliko dugu fitxategi IO C, eta uste dut ondo idatzi dut nire izenean, eta Hannah izena, eta Maria zuen izena, edo, agian, Andy izena, eta Orduz CSV fitxategi bat gordeko dugu komaz bereizitako balioak fitxategia. Eta fopen-- erabiltzen dugun dut uste fprintf erabili dugu gogoratzen dudan bezala, eta fitxategi batean gordeko dugu. Orain, hori errazena da datu-baseko inprimaki. Web orri bat egin nahi baduzu Frosh Berehal programa, zeinaren bidez freshmen kirol bat egiteko haien izena eman daiteke, Datu horrekin zerbait egin nahi. Joan den astean, ezer egin dugu data-- batera esan besterik ez dugu, Izena emandakoan, ez da benetan. Edo agian bidaliko dut egin proctor, eta hori izan da. Baina polita izango litzateke izango banu proctor duten CSV fitxategi bat eman, Excel fitxategi bat bezala. Edo hobeto oraindik, horixe bai Polita izango banu erabiltzaile horien izenak jarri eta izenak gela eta hori guztia datu base batean sartu dela besterik bizi betiko, datuak ezabatzeko aukeratu nuen arte. Aukera ematen duen datu-basea informazioari buruz galde niri. Eta, hain zuzen, hori da datu-base bat da. Gaur aurkeztu dugu, eta hurrengo astean ere, teknologia bat izeneko SQL-- Query egituratuak bat Hizkuntza, beste hizkuntza da. Funtsean programazio bat hizkuntza, baina datu da. Eta orain, datu base bat, besterik ez uste super fancy bertsio gisa Microsoft Excel, edo Google-en Kalkulu orriak, edo Apple zenbakiak. Da, oro har, aukera ematen duen programa bat Datu-sorta oso bat gordeko dituzu errenkada eta zutabe, nahiko atsegin Excel dezakezu. Baina zer polita, batez ere, ez gara super Excel ezagutzen, zer SQL egiteko aukera ematen duena da kontsulta hau Kode lerro idazten dituen informazio non egin dezakezu, nahiz eta zure datu base bat milioi ilara ditu bertan, Gauza super azkar aurkitu ahal izango duzu. Izan ere, Excel da bereziki Datu multzo handietako txarra. Eta hain zuzen ere, gutxi batzuk, gehienez Duela urte, horrexegatik Excel gordetzeko duzu bakarrik ahalbidetuko luke gehienez 65.535 bertan data-- ilaraz asko bezala soinuak, baina hartu du denbora Grad ikaslea izan nuen, eta gehiagoko Gogoratzen dut tripping sortuz nintzelako honetan CSV nire ikerketa eta I fitxategiak horiek azkar aztertzeko nahi irekiaraztea Excel arabera. Jakina, nire ordenagailua besterik eskuratzea, 65.000 ilaretan izan dudalako. Baina non zuen 65.535 datoz? Zer Microsoft egiten ari zen, ustez? Zu zure bi eskumenak ona bada? Bai, 16-bit bat erabiltzen ari baitziren balio ilara zenbakia adierazten du. Eta bi 16ra da 65,536-- ken bat, duzu bada delako zero indizea esan izan zela lerroen kopurua gehien izan dut. Eta diseinua erabaki bat besterik ez zen. 16 bit aurreztea, me mugatua dute 16.000 ilaretan, ordez 4 milioi den, Horrek dut haien izan daiteke. Baina, oraingoz, ez gara joan honek web testuinguru batean gehiago aurkeztu. Eta zer polita SQL ingurukoa da, nahiz eta hori nahiko indartsua eta polita da, nahiz eta sofistikatua, benetan irakiten behera lau eragiketak gakoa, lau gakoa funtzioak, zuk Borondate hautatu bada, datuak eskuratzeko, bilaketak egiteko Datu egiteko; ezabatzeko edo datuen ezabatuz; datu-basera ilaratan gehituz idatzi; eta eguneratzea. Beraz duzu inoiz erabiltzen bada Google Spreadsheets, Apple zenbakiak, Microsoft Excel, fusilatu duzu, ziurrenik, guztiak Eragiketa horiek giza gisa arabera besterik gabe, zure teklatua eta mouse-- erabiliz Datu your eyes, sartzean erabiliz aukeratu edo bilatu datuetan, edo eguneratu datuak edo ezabatu datuak. Beraz, zer esan nahi du horrek? Beno, CS50 aurrez instalatutako IDE MySQL izeneko programa bat da. , Irekiko doan da database hori da super popular. Facebook, esate baterako, erabiltzen du honetarako Egun, erabiltzen dituzten beste tresnen artean. Eta oso ezaguna webgune asko erabili zati handi batean egiten azkarra da, zeren eta doakoa delako. Zalantzarik gabe, nahiz eta alternatibak existitzen. Eta batzuk dabble liteke azken proiektu alternatibak. Hau Pantaila-argazki bat da, bere aldetik, la web-oinarritutako tresna bat phpMyAdmin deitzen. Kasualitatea da, web-oinarritutako tresna hau ere hizkuntza batean idatzita, PHP, baina zer ekarri egin da ematen diguten web-oinarritutako bat datu-interfazea. Delako MySQL normalean da zerbait, historikoki, zuk soilik elkarreragin litzateke Komando-lerro batekin. Eta super litzatekeela gogaikarriak eta urrutira izan testu komandoak idatzi behar den hautatzeko datuak, txertatu datuak, eta datu guztiak ezabatu. Beraz, Interneten pertsona batzuek web-oinarritutako programa bat idatzi Hori besterik ez gaitezen kudeatu Gure datu-basean dauden datuak. Da Excel klik bikoitza bezalakoa da, eta Web-ean oinarritutako bertsio bat kontratuan martxan. Eta zer ari zaren hau erabili ahal izateko joan azken finean, datorren astean, ez in p-set sei, baina, zerbait eraikitzeko CS50 Ogasun, izeneko da datu basea joan erabiltzaile, erabiltzaile-izenak eta pasahitzak, dolarraren zenbatekoak dutela beren banku-kontuak izan. Ahal izango da joan gordetzeko erabiltzen duzun zerbait sinboloak eta kopuru izakinen duten erabiltzaile birtuala erabiliz erosi dolar horiek izango duzu eman. Eta nik erabiltzaileek aukera izan dezan zure webgunean izena eman, beraz, nahiz eta zure lagunek Ahal zure webgunean sintonizatu eta, egia esan, erregistratu, saioa hasi eta play inguruan eta saiatu faila aurkitu zure kodea, eta saiatu zure webgunean bugs aurkitzeko. Eta besterik ez dute egingo erregistratu arabera beraiek gehituz, eraginkortasunez, kode bidez idatzi zure basera duzu. Esate baterako, hau screenshot azkar bat da zer-base agian itxura. Hau bat izan zen Iazko solutions-- hau mini Excel bat bezalakoa da artxibatzen, gure datu-basean gordetzen da, MySQL izeneko software honetan gordeta. Ezkerreko aldean, itxuraz zerbait daukat Emandako erabiltzaile bakoitzak zenbaki bat. Bigarren zutabean, eman dut denek erabiltzaile batek izen neurea haien artean. Eta eskuinaldean, Eman dut horiek egiaztapen bat. Azken hau da, benetan pasahitza, baina ez da testu pasahitza lautada batean. Pasahitza enkriptatutako bat da, bada , izango edo hash pasahitza. Zein zaitugu itzuli luze baino lehen. Baina inoiz ez duzu irakurri nola buruzko artikulu bat Zure pasahitza banku batzuk edo batzuk Webgune arriskuan jarri duten, Oro har, esan daiteke bi gauza bat. Beraz, hau da, besterik gabe, sei erabiltzaileen zatia da. Duzun guztia orain irudikatu dezake erasotzea edo cracking bidez egindako zer gure sei pertsonen pasahitzak dira. Baina inoiz bada ahaztuak alerta bat edo apologia bat Enpresa edo webgunean esaten, Barkatu, hacker bat gure datu lehertu zen, ziurrenik aldatu behar duzu zure pasahitza, zer esan nahi du? Beno, bat, esan liteke enpresak gehiago moronic balitz, eta izan da zure pasahitza gordetzeko Hau bezalako zutabe batean, zifratu gabe. Zein arerioa esan nahi du, duten datu-basean lapurtu, literalki daki zure izena eta pasahitza. Hori da ahalik eta eszenatoki txarrena da. Eta p-set ere ikusi ahal izango duzu zazpi, hain erraz saihesteko. Ez da guztiz aitzakiarik ez da hori egiteko ergelkeria forma gaur egungo Interneten. Two-- eta artikulu batzuk aurkituko dugu Izan ere deklaratzera honek oraindik dagoela gertatzen, nonetheless-- bi, agian aurkariarekiko datu-basearen bertsio hau lapurtu. Zein motatako txarra da, oraindik ere, orain delako ezagutzen dute sei bezeroen behar dudala, Erabiltzaile izenak ezagutzen dut Sei bezeroei horiek, eta enkriptatutako ezagutu dut bertsioak, edo hash- bertsioak, horiek sei bezeroen pasahitzak. Baina zuk edozein nor agian Eginda [? Hacker 2?] non pasahitzak pitzatu duzu, edo artu a arazoa bertsio hori begiratu set, zergatik worrisome pixka bat da oraindik aurkariarekiko zure hash daki pasahitzak? Ikusleak: esango nuke delako sartu Parte hiztegi osoak Hash funtzioa. Eta pasahitza hiztegi bat bada hitza, [? besterik match-- ahal izango dute?] DAVID MALAN: Zehazki, aurkariarekiko Idazten daiteke kodea, batzuk bezala egin [? Hacker?] 2, Horren bidez, batetik bestera joateko, zuk hiztegia hitz guztiak, edo A konbinazio posible guztiak Z bidez eta nine-- bitartez horietatik asko bezala soinuak, eta hala da. Baina ordenagailu bat, pretty darn azkarra da. Eta hain zuzen ere, hori izan zen [puntua? Hacker 2?] Zen stuff hartu duten literalki, horrela agertzen, eta era bateko ingeniaritzaren benetan zer izan zen. Beraz, ikusiko dugu nola ahal dugun gordetzeko honetan eraginkortasunez. Kontua da, zorionez MySQL, ez dira datu-mota izango da. Eta buruz zatiak fun bat datu-basearen diseinua, egia esateko, benetan zuk zeuk erabakitzen nola behar datuen adierazten duzu? Beharko telefono zenbaki bat ordezkatzen duzun bezala int, zenbaki handi bat, edo luze bat bezala? Edo ez benetan egiten duzun karaktere-sekuentzia bat bezala? Eta ez dago oso izan daiteke honen eraginak ez hutsala. Izan ere, bat Lehena, fun germane istorioak denean, Mark Zuckerberg zen eraikitzen Facebook, jatorriz zegoen idatzia, eta oraindik ere, neurri handi batean idatzita PHP. Eta erronka handienetako bat goiz zen eskalatuz on aurrean dute. When ondoren eskola gehituz mantendu dute eskola eskola ondoren, nire ezagutza, Jatorrizko soluzio bat zen, funtsean, kopiatu eta itsatsi datu batzuk eta kode batzuk, Harvard zen, beraz, bere zerbitzari propioa martxan, eta MIT zen bere zerbitzari propioa exekutatzen. Eta honegatik, batzuentzat Zuetako nor gogoratzen baliteke, Ezin izan duzu lagun beste sareetan. Ziurrenik ez dute lagun at MIT edo Harvard duela 10 edo urte, baina zuk ezin sareak hartzen neurri batean horregatik da. Eta erronka handienetako bat Mark eta Facebook bezalako enpresentzat benetan ehunka manipulazioa eta milaka eta milioika segundoko eskaera. Beraz, gauzak hasiko dugu Aste honi buruz hitz egiten dira benetan oso lotuta daudenak izango da software ona idazten, eta jendeak Tresna arrakastatsua erabiltzaile asko kudea dezake. Beraz, gauzak buruz hitz egingo dugu indexatzeko eta bilaketak bezala, baina hori da gaur. Ikusiko dugu asteazkenean gehiagorako. [MUSIKA - "Seinfeld" gaia] DAVID MALAN: ahal duzun da, eta kenketa. Eta ez duzu nahi makila aurrez zehaztutako memoria kopuru batzuk. Beno, zer da hori deitzen zaie egingo? HIZLARIA 1: Beno, zer gertatzen da? HIZLARIA 2: Zer esan nahi duzu? He hitzaldia emango du. DAVID MALAN: Eta bat erabili ahal izango dugu malloc izeneko funtzioa den, memoria HIZLARIA 1: Zergatik ez dira bere besoak mugitzen? HIZLARIA 2: Ba that badakizu, hori normala da. Besterik bezala besterik ez ditu saltxitxak big dago zintzilik. HIZLARIA 1: Hori da normala? HIZLARIA 2: Bai, ez dugu uste dut suposatuko zuen ustekabean Bere superglue batera desodorantea ordezkatu.