[Musika jotzen] DAVID MALAN: Hau da, CS 50, eta aste honetan bederatzi hasiera da. Eta gaur egun egin genuen pentsatu genuen, ez da Azken astean kapitulu bakarra itxi material non zentratu zerbitzari dugu aldeko web programazio PHP eta SQL batera, database gauza batzuk. Egingo pixka bat buruz hitz egiten dugu segurtasun gaur eta gero bezero alboko programazio baten trantsizioa hizkuntza JavaScript izenaz ezagutzen da. Baina lehen, erredentzio batzuk. Horretan gogoratzen dezakezu Asteazkena, ezarri dut Web orri bat idazteko, Erabiltzaile sarrera hartu HTML batek osatzen duten orduan gordeta erabiltzailearen sarrera izenak, telefono duten zenbakiak, eta mugikorrean basean eramaile. Eta gero komando apur bat izan nuen lerroko script escrito en PHP izan zen ustezko batetik bestera joateko datu-baseko errenkaden gainean eta bidali testu-mezuak. Zenbait, hainbat saiakera egin arren, guk Ez zuen lan hori lortzeko amaieran. Beraz, aste osoa eman nituen lanean kodea duten gurekin lortzeko puntu iraganeko non utzi dugu, zeinaren guztiak Asteazkena amaierarako lortu nuen Testua mezu hau zen Margo borrokatu dudan bezala, beste mezu bat, eta jarraian ikaskide, Ohizko duzu David honetan. Ondorengoa hau da, wonderfully sustatuz. Joan mantendu, oso heartening. Ia lortu dut, orduan arte eta ohar amaitu genuen asteazkenean da. Eta gero, egia esan, agian nire gogokoena, Une bat geroago, hau izan zen. Malditos Live Stream. Gaur egun, beraz, hau konpondu dugu azkar bat geroztik, zer egin dut begiratu. Beraz, kode hori guztia eskuragarri dago online azken astean, asteko zortzi, iturburu-kodea. Eta ikusiko duzu bidez joan nadin, eta benetan garbitu dut gauzak pixka bat. Beste pare bat sartu dut SQL datu-base bat ezaugarri. Esate baterako, baino besterik egin var char garraiolari Uste dut, hala egin nuen hegan azken astean. Ordez bezala definitzen dut zer ari enum deitzen zaio. Eta batzuk ikusi ahal izan liteke hau aztertu dugu C. Enumeraketa da benetan C ezaugarri bat non egin dezakezu konstanteak sorta oso bat aipa eta balioen automatikoa esleitu zien: Bat, bi, hiru, lau bezalako Gogor kodearen zenbakiak beharrik gabe. Beraz, SQL bera onartzen du, baldin eta horren bidez datu-baseko eremu bat duzu zuk bakarrik to finitu bat hartu nahi balioak, literalki dezakezu zehaztu han egiten dut lau popular US mugikorrean eramaile. Beraz, hori egin nuen. Eta aldaketa kopuru bat egin nuen bai, horietatik garrantzitsuena zen ezagutu email abisuaren delako lanean, programa horrek, eta horrek bermea oro har, mezu elektroniko bat izeneko SMS pasabidea, hau da, besterik Verizon dagoela esaten modu fancy bat, eta AT & T, eta beste folks zerbitzari bat onartzen, Horren bidez, jasotzen bada email, bihurtzen SMS horri eta testu bat bidaltzen norbaiten telefonora mezua. Beraz, egin behar dut hau behar bezala, Hemen forma berri eta hobetu bat da hori hitz egiteko joan berritu eta hobetu kodea; you online jolasteko. Eta zorionez, izango da nire Telefono une bat besterik ez beep. Beraz, lehenengo, nik nire izena idazten dut. Bigarrenik, ez noa honek denbora horretarako. Ez Inspect Element noa. Eta hau da, besterik gabe, bat Gauza gutxi, beraz, ez dut post produkzioaren ordu sortu lan azken aldian egin dudan bezala. Orain nire telefono zenbakia. Verizon aukeratu dut. Eta hemen, dezagun piztu mikrofonoa honetan hemen, eta helburua nire telefono at hau hemen. Izena eman klik noa, zein espero beharko lukete jarri da datu-basean sartu. Orain ez dut nahi joan komando lerroko programa, gogoratzen dot barra deitzen zen testua, eta zure behatzak zeharkatu. Hemen gara. [TELEFONOA TALDIEN] [Txaloak] DAVID MALAN: Beraz, gehiago this-- baino fun dibertigarria da, jakina, lortu dut hartuz gero. Baina fun gehiago da, pentsatu nuen, badugu movie une horietako bat sortu non zerbait benetan txarra du mundu gertatu zen, eta guztiak NSA pertsonen bezalako cellphones beeping hasteko Testu mezuak dituen horiek ematen dien gertakari honen aurrean. Beraz litzateke saiatu ginen pentsatu nuen Hemen bera birsortzeko, Horren bidez, ez datu-base bat erabiliz, I ordez, aldez aurretik itxura hau programa bat idatzi. Hau index.php-- da eta kode hori jarri dut online well-- duten bezain itxuraz besterik errendatzen form.php, MVC estilo paradigma bat erabiliz dugun buruz hitz egin xehetasun gehiago arazoa multzoan zazpi. Formulario Hori nahiko erraza da. Honez bat aurkeztu joan fitxategia post bidez deitzen here.php. Eta hori itxuraz galdetu joan izen bat eta telefono-zenbaki bat, eta, ondoren, bidez deiturikoak Aukeratu menu, da emateko gutxienez lau joan popular US mugikorrean eramaile, eta, ondoren, baimendu eraginkortasunez duzu asistentzia hartuko hemen klik eginez. Eta hemen, bere aldetik, joan den maileguan kodea batzuk azken aldiz. Eta zuk gaingabetuak besterik ez bada hau, ikusiko duzu, ez dagoela error egiaztapena sorta osoa. Baina amaieran edertasuna dela ez gara datu-base batean idazten gaur. Erraza mantenduz ari gara eta besterik bidaltzea zorionez Testu-mezu bat funtzio I bidez Azken egunetan dei baino gehiago idatzi Idatzi, zein Functions dago. php, hau da, berriro ere eskuragarri online. Beraz, to hau partake nahi duzun. Ez ari gara ezer gordetzeko behar. Hemen URL honen joan, denbora errealean. Ez gorde besterik ez oraindik, baina dezagun ikusiko dugu movie horietako bat izan dezake uneak non guztion mugikorrean hasten da, beeping zorionez besterik aurten, behin 2011. urtean ez bezala non hau joan horribly awry. Eta behin helbide horretara joan zara, super inprimaki erraz bat ikusi beharko duzu izen bat baldin baduzu, telefono bat zenbakia, eta mugikorrean garraiolari bat zerrendan ez datorrenean, joan Animatu eta bete eskaria. Baina ez hit aurkeztu besterik ez oraindik. Inprimakia ari den honetan itxura. Anima zaitez eta idatzi zure izena, telefono zenbakia. Oop, norbaiten kurba aurretik egingo. OK da. Ados, denok bete formularioa. Horrek behar bat lan telefonoa, nahi ere, izanez gero. Guztiak eskubidea, zure notak Prest, gertu, joan. Asmatu Here. Zer? No. Zin Jainkoaren I, probatu dut gaur egun hainbat aldiz hau. Got duzu? [AHOTS INTERPOSING] DAVID MALAN: Ados, user error agian. Bi dimentsiokoa. Lan egin da, bi alde batetik irten batzuk ehun, hiru, lau. Ados, hori ona da. Lau bost kanpo zuzentasuna nola buruz. Beraz, zer gertatu da? Beraz, ustez, ikusi gabe, zure pantailak, zergatik errored liteke, ezta? Seguruenik hori besterik ez ginen gehiegi konexioak egin nahian Harvard-en posta-zerbitzari guztietan Behin IP bera from. Besterik ez naiz asmatzen ez nuen geroztik probak luxua zenbait kode hau Aldez aurretik, 300 pertsona baina orain konturatzen gutxienez hori behar duten Denbora horretan egindako lana ahaztuak. Ondo da, beraz, zergatik da hori guztia egin gehiago zer gertatzen den oso lotuta? Beno lehen, azkar bat iragarkiak pare. Bat, beraz, Chang batu nahi izanez gero, eta Nick, eta beste batzuk bazkaria ostiral honetan, Egin RSVP ohiko URL zen ekitaldian. Duzula uste baitute pentsatzen bada edo CS bigarren mailako bat egiten, Oraindik sophomore bat ala ez, edo freshman, edo baita junior edo puntu honetan senior eta oraindik ikastaroetan estutu, konturatzen ingeniaritza eskola hori free Ben biltzeko eta Jerry izozkia eta aholkularitza Asteazkena class gutxira hau at 4:00 CS eraikinean PM Maxwell Dworkin at. Hau da azkarregi bada pantailan, zoaz to bat cs50.harvard.edu Facebook gertaera lotura xehetasun gehiago ikusi ahal izango duzu. Bien bitartean, ez litzateke zuzentzeko pentsatu nuen beste gauza bat, asteazkenean goofed dut. Turns Markos ID hori Facebook-en, ez zen hiru. Laurak ziren. Turns proba gehiago izan zituen kontuak gogoratzen dudan baino. Baina zer gertatzen da hau aukera bat bezala sentitu egin da tira hau bezalako URL bat. Eta gertatu da Facebook dauka API, Application Programming Interface, hau da, mekanismo horren bidez duzun Datu programazioaren eska dezake Facebook eta itzultzeko makina irakurgarri informazioa, ez web orriak baina besterik gabe, testu gordinak, zerbait JavaScript izeneko. Eta hain zuzen ere, bisitatu behar dut URL, eta gerturatu, berez, hau da Markos publikoki Informazio iristerraza. Eta detaile interesgarri Hemen, besterik gabe, bere izena dela da, hain zuzen, lau zenbakia, I hau egin nuen bezain laster konturatu. Hau egin ahal izango duzu zeure burua ezagutzen baduzu zure Facebook erabiltzaile-izen bat behar duzu bada. Just idatzi goiko sortu han. Eta hau ere ez pribatua da. Besterik ez dut, nahiz eta egiten Incognito moduan. Beraz, ez dut ere oraindik sartu. Eta nik hori ikusten ari zaren itxuraz zen erabiltzaile 6.454 zenbakia Facebook, eta hori ez da on oso txarra da egun hauetan. Beraz, nolanahi ere, duzu ikusten duzu informazio gehigarri dauka han. Eta alderdi erabilgarria hori dela da software propioa idatzi izan duten nolabait integratzen honen datuak Zeure aplikazioan. Erabiltzaileei adoretzeko dezakezu Zure web sartu, ez beren username pertsonalizatuak erabiliz eta pasahitza baina agian beren Facebook login eta informazioa ere iritsi Euren lagunei buruz, esaterako, edo antzeko onestea badute. Beraz, kontuan izan CS50 hori ere, bere APIak propioa batzuk ditu, Jakina katalogoa datuak bata, Zenbait besarkadak jangela menuak egiteko areto, guztia eraikinak eta kokapenak campus API bat dugu baita duten antzera kontsulta daitezke, eta lortu Atzera textual datu horiek integra ditzakezu PHP edo JavaScript sartu, edo are gehiago, nahiz eta gutxiago normalean, bat C oinarritutako proiektua behin betiko. Izan ere, aurrera finalerako Proiektu mugarri batzuk. Beste egunean Mezu elektroniko bat jaso duzu gurekin. Konturatzen proposamena zor dute astelehenean. Ez du zertan loteslea, baina zuk behar ez zure irakaskuntza bekadun jasotzeko egiteko onartu aurretik hortik aurrera edozein aldaketa. Eta gero, aurretik bat beste mugarri kopurua. Beraz tease, gehiegi, posibilitate batzuekin, mordo bat dugu ñabardura bonbilla horiek. Eta you guys batzuk orain batzuk izan Zure gela gela horiek, baita. Eta gehiegi API bat ere badute. Beraz, binary bonbillak aste horietan gogoratzen Duela Dan Bradley eta Ansel Duff guretzat sortu. Irrati bat erabili behar dute bonbilla hau, une horretan bertan elektrizitatearen entxufatuta eta, ondoren, haririk bidez da gauza txiki batera konektatuta behera hemen Bridge izeneko, Apur bat router jabeduna bezala gailu jakin hau. Baina bihurtzen da ezagutzen dut nola bada HTTP mezuak bidaltzeko, baita orain denok, Hau bezalako mezu bat bidali ahal izango dut bonbilla hau piztu edo itzali piztu edo edozein zenbaki egin Gainean beste eragiketa. Iragarki hori ez lortu, ez da argitaratu. Han jarri izeneko beste bat da. Ez, egia esan, beste aditz horiek gutxi. Baina ez bide bat dago, barra API, barra sustatzailearen berri, barra argi, barra bat, barra egoera. Hori da, itxuraz besterik bidea duen enpresak, Philips, erabaki hit duzu HTTP eskaera bat egoera aldatu nahi badituzu bonbilla HTTP 1.1 erabiliz. Orduan nabarituko lerro hutsak. Eta gero, azkenik, zer itxura duen Nolabaiteko array-mota, hau berriro deritzo egingo da JavaScript edo Jason. Eta hemen zer ikusten duzun da Hiru gako bikote daude. Gako bat deitzen da on. Eta bere balioa itxuraz egia izango. Distira 128 da, eta horrek int mota batzuk. Eta gero, trantsizio garaia da zero, hau da, itxuraz zenbat denbora da joan Gauza hau buelta hartu. Beraz, oraintxe bertan bonbilla hau itzalita. Baina zehatz-mehatz ez dut bada this-- utzi joan apur bat Cheat fitxa me Dan duten programak eratu advance-- eta noa Aurrera joan eta kopiatu komando hau. Curl, batzuk bezala Baliteke CS50 on gleaned dute Eztabaidatu Telnet esaterako bezalako tresna bat da HTTP eskaerak simulatu ahal izango dituzu, zehazki jartzen. Datu horiek bidali ahal izango dut, zehazki dugu zer besterik Une batez ikusi duela zehazki hemen baino URL honetara. Eta gero Curl kudeatzeko joan baldintza goiburuak guztiak eta han prozesatzean. Beraz, hori guztia egin behar dut da kopiatu honetan sartu terminal-leihoa eta ondoren sakatu Sartu. Eta bonbilla doa. Eta hori guztia zeharkatu behar izan Nire ordenagailuan hari nolabait zubi, horrek behera da, ondoren, bonbilla hori hizketan. I beste zerbait egin dezake. Gauza hori egin ahal izango dut go adibidez gorria. Ezin dut adibidez egiteko Gauza hau joan berde. Blue joan egin ahal izango dut. Eta horietako bakoitzean nabarituko instantzia, hori aldatzen ari naizen guztiak ñabardura deiturikoak balioa da benetan ematen diote kolorea. Hargatik hau itsatsi me baita. Orain urdina da. Eta nahiz eta dotore egin dezakezu puntu berdea dezagun where--. Eta hau egin izan dut neurea kodea duen ikastaroa. Baina, nahiz eta API bera funky eragiketak onartzen Hau atsegin du, eta orain traba izango hurrengo 30 segundo digu. Beraz, zaporea, inork zer egin nahi lukeen API bat egin, hau inplikatuz ez bota. Kontuan hartu CS50 dela pare bat ditu Google Glass bikote dituzu, bada Zerbait batera aurre egiteko gustatzen lerro horiek, Arduino Unos, eta horrek Apur ordenagailuak txiki-txikiak dira, funtsean, gutxi zirkuitu taula bat konektatu ahal izango duzu, hariak eta beste gauza batzuk eta benetan kontrola Zure benetako munduko ingurumena. Eta gero, ez dira pare bat jostailuak berria dugula. Honek bat besterik ez literalki iritsi Beste egunean postaz, Myo Armband bat. Eta pentsatu dut modu bat da proiektu get buruzko ilusioa duzu Baliteke zurekin erabili hardware litzateke hau izan clip labur hau play Folks aurre egiteko erabiltzen dituzten ari gara orain, etorkizunean bizi. [Musika jotzen] DAVID MALAN: aste batzuk besterik Beraz, ere CS50 azokan cool izan daiteke. Beste gailu bat garela Oraindik dugu mordo bat zoriontsu Mailegua proiektuetarako motion controller izeneko. Hau gutxi USB gailu bat da ordenagailu batera konektatzen zaren ahalbidetzen elkarreragin duzu eramangarria, Mac edo PC, izan bagina bezala, Xbox Kinect bat nahi duzu eta benetan egiteko mozioak askoz fisiko bezala ikusten dugun honetan etorkizuneko ikuspegia. [Musika jotzen] DAVID MALAN: Beraz, nahiz ez daki nola horrelako zerbait ziurrenik asmatu ezin edo lan hardware mailan, berdin dio on. Nahiz CS50 hilabete gutxiren buruan ondoren, eta programazio berria ulertzea oro har, eta web programazioa, Duela gutxi, eta gero ere APIak, eta HTTP, sarbidea izango duzu bitartez software APIak baduzu nahi horietako bat maileguan gailuei benetan hitz egin eta ez dute kezkatu azpiko ezartzeko xehetasunak, hau da, erabat layering nozioa koherentea abstrakzio bat dela dugu seihilekoan zehar ikusi. Beraz, asteburuan zehar, pare bat albiste ikusi. Joan lehen, mintegiak joan bazara zerbait ikasi nahi Edozein gai kopuru gehiago. Ikusi URL han. Eta hau bidali zen Chang, nor badakizu by me, nor gure elefante armada inprimatzeko. Eta titular bat honako hau izan zen. Nire TV berria izututa nago. Zergatik beldur naiz hau pizteko Gauza eta duzu litzaidake gehiegi izan. Beraz, orain ez gara at seihilekoan seinalatu, ere, non baldin baduzu, are ulermen txikienak Nola web lan egiten du, eta HTTP, eta segurtasuna, hau bezalako gauzak zure begi harrapatzeko hasi behar. Baina, era berean, argi ikusiko duzu Gauza horiek dira edo ez dira ala benetako mehatxuak. Beraz, pasarte batzuk hartu ditut Artikulu honetan hemen. Eta istorioa honela da. Naiz orain jabea TV smart berri bat, streaming emateko konpromisoa eduki multimedia, jokoak, aplikazio, social media, eta internet nabigazio, oh eta telebista gehiegi. Arazo bakarra da gaur egun naiz I beldur da erabili, dio egileak. Izango duzu, ere, irakurri zure bitartez bada 46. ​​orrialdea pribatutasuna zure TV politika. Datu horren zenbatekoa Gauza biltzen harrigarria da. It erregistroak non, noiz, nola, eta zenbat denbora TV erabiltzean. Segimendua cookieak ezartzen ditu, eztabaidatu dugu, eta balizak diseinatu duzunean detektatzeko Bisita eduki jakin edo Mezu elektroniko jakin bat e-posta egiaztatzeko zure TV nahi baduzu. Apps jasotzen duzun erabili, bisitatzen dituzun webguneen, Nola eragiten edukiak egiten duzun, zure TV smart bidez hori guztia egiten ari. Halaber, yet-- creepier nire addition-- da du kamera eraikitako aurpegiko aitorpena batera. Helburua da eskaintzea Keinu TV kontrol eta saioa hasteko aukera ematen dute kontu zure aurpegia erabiliz pertsonalizatua. Buruz, On, irudiak dira TV gordeko kargatu ordez korporatiboa zerbitzari batean. Arazotxo da, Interneten konexioa TV osoa egiten du hackers zaurgarria dutenek dute gaitasuna frogatu makinaren kontrol osoa hartu. More troubling, balitz bezala, ez zela smart nahikoa, mikrofonoa da. TV ahots bat dauka ezagutzeko eginbideak duten kontrolatuko ikuslek ahots komandoak pantaila. Baina zerbitzua dator baizik eta kezkagarriak abisu bat. Kontuan izan bada Zure esandako hitzak, besteak pertsonala edo beste sentikorra informazioa, informazio izango harrapatu datuen artean izango eta hirugarren bati transmititzen. Lortu da hori? Ez esan pertsonala edo sentikorra Zure telebista aurrean gauzak. Beraz, hau da, benetan benetako. Eta zaila da ez baduzu ikusten Best Buy joan edo telebistetan antzekoak egun hauetan. Nolabait smart ari dira. Eta ari dira smarter eta creepier. Eta ari dira, besterik gabe datuak biltzeko Horri buruz hitz egin dugu modutara eta, ondoren, igotzen HTTP edo bidez zerbitzari batzuk, beste protokolo batzuk. Beraz, hau fun artikulu bat izan zen online webgune honetan hemen, eta horrek bat baino gehiago hitz bug partikular edo oker kodea dugu benetan lotu ahal Azken astean eztabaida batean. Beraz, titular hau bezala izan zen honela, istorioa doa hemen, Josh Breckman batean lan egin enpresarekin kontratu bat lehorreratu edukien kudeaketa bat garatzea sistema, edo CMS deitzen ari den bezala, gobernuaren webgune nahiko handi bat da. Hartzen duten proiektuaren zati handi edukiak kudeatzeko sistema bat garatzeko langile izango litzateke, beraz, eraikitzeko eta mantentzeko gai Inoiz aldatzen Beren gunearen edukia. Gauzak joan nahiko ongi egiteko egun batzuk zuzenean joan ondoren. Baina egun sei an, gauzak ez joan hain ondo. Buruzko eduki guztiak webgune erabat desagertu. Eta orri guztietan lehenetsia ekarri zuen, mesedez sartu edukiak web orria. Whoops. Josh izeneko zen ikertzeko eta nabaritu batez ere kezkaga batek kanpoko IP helbidea izan joan eta informazio guztia ezabatuko sistemari buruzko edukiak. IP helbidea ez zuen parterik atzerritik hacker tolestuta batzuk lagungarria suntsitu gobernu informazioa. To googlebot.com ebatzi du, Google oso propioa web arakatzeko armiarma. Whoops. Ikerketa eta scrambling egin ondoren Inguruan noncorrupt backup bat aurkitzeko, Josh arazoa aurkitu. Erabiltzaile bat kopiatzen zuen eta batetik, eduki batzuk itsatsi bestera orria, barne Editatu Hiperesteka batean orriko edukiak editatzeko. Normalean, ez litzateke bat kanpoko erabiltzaile bat geroztik alea litzateke izena eta pasahitza sartu behar, baina CMS autentifikazio-sistema, login sistema, ez zuen kontuan hartu hacking sofistikatua Google Spider-teknikak. Whoops. Antza denez, Google Spider erabiltzen ez cookies, horrek esan nahi du, ahal dela erraz txeke bat freskatu cookie set saioa faltsua izan. Era berean, ez du arreta jartzea JavaScript, zein izango litzateke normalean gonbita eta erabiltzaileak redirect nor Ez zara oraindik sartu. Hala ere, jarraitu behin Hiperesteka orrialde bakoitzean bertan aurkitzen du eta, dutenak barne Ezabatu Page izenburua. Whoops. Beraz, zer gehiago esan nahi du Termino teknikoak baina nahiko eskuragarria? Esan nahi du, besterik ez da bere web zehar, URLak izan zuten, batek ez bezala, ez dagoela Baliteke arazo multzo zazpi ikusten duzu. Arazoa in Berreskuratu multzo zazpi edo arazo jakin multzo zazpi duten desafioa ari zaren, besteak beste, erabiltzaileen izenean izakinen saltzen. Baina medio ezaugarri hori gauzatzeko zure erabiltzaile estekak darabiltzaten bidez eskuratu interface, ziurrenik ez da ideia smartest Zure webgune bada nolabait delako irisgarriak dira giza inguruan klikatzen edo erosi batek Google-ren edo Spider bat bezala bot deitzen ari dira, hori besterik web indize nahian arakatzea web bilaketa-motor gisa ere, Oso erraz izan dute hit bidez URL-mota hau lortzeko. Eta hori da, funtzionalki baliokidea da, kasu honetan, Google akzio guztiak saltzea. Orain Egia, erabat da asinine duten CMS Erabilitako JavaScript eta cookieak bere saio-sistema ezartzeko eta ez zerbitzari aldean egiten, gisa PSet do you guys eta borondatea, 7 ez login.php bat fitxategi beti, beti, Beti segurtasun behar izan zerbitzari aldean egin, ez bezeroaren aldean, izan ere, hori baita artikuluan dioen eta zeuk agian uneren batean ikusten bada, Erabiltzaile baten trivial, ona edo txarra, besterik itzali JavaScript Cookieak ez aipatzearren. Beraz, zure eguneroko WTF da. Ez dago beste bat gehiago, eta horrek besterik ez mota scary, beraz, azpimarratu behar badut bizitza ikasgai gisa soilik. Aplikazio bat erabiltzen dituzunean Snapchat edo antzekoak bezalako izeneko dioen argazki hauek bakarrik iraungo bost segundo, hamar segundo, edo whatnot. Iragankorrak Hau da, ari dira Ez da erabat horrela. Ez Like bidea ez da modu digitalean, Bideo inprimaki batzuk martxan jarri ahal izateko, edo irudi edo testu bidezkoa, besteak beste, partekatzea duten beste muturrean hartzaile bat ezin nolabait, datuak gordetzeko. Gehien inozoa modu batean, norbaitek beren telefono har lezake. Eta 10 bigarren leiho bat dute berriz atxikitzeko batzuk begira Telefonoaren beste batzuk besterik hartu eta argazkiak, jakina. Beraz zaintzeko dezakezu Zerbait digitalki horrela. Batzuk jakin nola hartu Zure telefonoaren pantaila. Izan ere, ez baduzu ezagutzen, konturatzen, gutxienez Snapchat duten, eta beste uste dut aplikazioen egun hauetan, gutxienez, esan duzu bada hartzaile ditu benetan hartu zure irudia argazkia egiten du. Baina okerrago oraindik, hau snappening izan zen, Norbaitek berri bat asmatu zuen bezala, non batzuk 100.000 snaps izan dira kaleratu zer ari den torrent fitxategia izeneko hainbat webgune, azken finean. Eta horiek sorta osoa jasotako mezu pribatuak eta mezu. Out horietako gehienak onberak bihurtzen da, beraz, ez da zer espero dezakezu. Baina jendea izan delako hirugarrenen web erabiltzen, saioa hasi euren Snapchat ekin izena eta pasahitza eta, ondoren, Beren snaps guztia aurreztea hirugarren web orri honetan. Eta hirugarren izan zen webgune zela hacked, besterik ekarri norbaitek hurrena nola guztiak 100.000 nazka plus lortzeko bere disko gogorrean kabuz sartu ondorengo partekatzea. Egia, hemen ere, sort da of asinine duten Snapchat da modu bat, inplementatu hirugarren batek atzematen ordenatzeko ahal Datuak eta hori ez da lotuta zure Zeure aplikazioa telefonoa exekutatzen. Baina hemen ere, horiek konturatzen gauzak behar ez harrapatzeko duzu harritu, edo, gutxienez, han egin beharko lukete bizitza hemen ikasgai bat izango da. Zuk teknikoen nahi baduzu xehetasunak, joan URL horretara ez gaur egungo diapositibak minutura. Guztiak eskubidea, edozein galdera Gaur egungo bizitza CS ikasgai? Piztu duten off. Guztietan ezer? Guztietan ezer? Nik jende asko egiaztapena Beren Snapchat edo zerbait orain. Ondo da, SQL beraz, Query egituratuak hizkuntza. Dezagun itzulbiratu hau. Eta, gainera, nahiz eta ari gara scratching honen azalera hizkuntza, ematen dizugu hizkuntzaren nahikoa 7 PSet formularioa beraz, batzuk aurre dezakezu funtzionalitatea nahiko ohikoa. Baina konturatzen han pare bat gauzak ez dugu eskatzen, baina ari izango da Garrantzitsua azken proiektu etortzen eta, zalantzarik gabe etorriko da benetako egiteko Benetako erabiltzaile batzuekin webguneak diseinua erabaki hau. Bihurtzen da ere MySQL datu-base bat, duzu bezalako aukera sortak datuak zutabeen motak eta beste gauza batzuk, baina, izan ere, biltegiratze deiturikoak bat aukeratu zure datu guztien motorra, fitxategi sistema sort, Oraindik ezagutzen bada, zure datu guztiak. Zer formatu dago, azken batean gordetzen? Eta ohikoena, agian, izan da MyISAM eta InnoDB, termino teknikoak Horri buruz bakarrik zaintzen zaitugu neurrian inork ez duela eta ez dago Ondorengo funtzioa. Demagun duzula apur gela hozkailua. Eta, zure ustez, eta zure gelakide, hozkailua hau duten, Benetan esan esnea gustuko. Eta hau da, hain zuzen ere, nola Istorioa niri esan zidaten modu back egunean izango da ikastaro bat hartu dut CS 161 Sistema eragileak, izeneko era berean, gai hau aztertzen du. Beraz, lortu duzun hozkailuan hau. Oraindik esnea atera duzu. Eta etxera, zure gelakide oraindik class edo edozein unetan, eta noa erabakitzen duzu joan eta esne pixka bat. Beraz, hozkailuan ixten duzunean, lockup gela gela du, kalean zehar joan CVS edo edozein lekutan, eta lortzeko lerro esne pixka bat erostera. Bien bitartean, zure gelakide lortzen home klase, gela gela sartzen da, hozkailua irekitzen du, halaber, konturatuko ooph, Oraindik esnea atera dugu. Beraz, berak ixten hozkailua eta ondoren gertatzen beste CVS joan, gertatzen den bezala bloke bat beste CVS kanpoan plazan, eta lerro lortzen ez esne batzuk lortzeko. Minutu Orain, noski gutxi, a geroago, atzera bai, eta guztiak ahalik eta txarrena emaitza gertatu da. Biak duzun esnea behar. Eta ez duzu benetan esnea bezala askoz. Beraz, horietako bat besterik ez da uneren batean gazi joan. Beraz, gaur egun gehiegizko kopuru bat behar duzu hozkailuan esne guztia zergatik delako? [INAUDIBLE] DAVID MALAN: Bai, ez duzu nolabait, elkarren artean komunikatzeko zituzten esnea lortzeko duzu. Beraz, errazena giza mundua modu, nola liteke silly hori saihesteko duzu hala nola gertatzen eszenatoki zuk bakarrik, azkenean batekin. Testua horiek, bai ona. Baina, nola bestela? Post-it oharrak. DAVID MALAN: Post-it ohar bat. Komunikazio edozein modutan duten zure gelakide kontatzen ez esnea hozkailuan sartu. Joan nire kabuz restock noa. Beraz, nolabait behar duzu baliabide hori blokeatzeko. Beraz this-- egin ahal izango dugu ahal dugun motatako Istorioa hondatu eta CS istorio bat bihurtuko Horren bidez, hau uste bat besterik ez bezala aldakorra, hau da, balio batzuk gordetzeko. Eta oraintxe bertan, esne balioa zero da, eta zuk ez jarri nahi gelakide aldagai hori aztertuko eta gero, erabaki bat bere burua oinarritutako aldakorra duten egoerari buruzko Oraindik prozesu batean bada aldagai hori egoera aldatu. Beraz, SQL-lerro bat garela emango dizu PSet 7 moduan zehaztu hau hemen da. Eta ez dugu pasatzeko handi bat Denbora kopuru horri buruz hitz egiten. Baina bihurtzen da, saiatzen ari bazara stock batzuk erosi CS50 finantzetan Dagoeneko baduzula , duzu akzio batzuk Zenbaki bat egiteko gai izan nahi gauzak berehala elkarrekin. Gai izan nahi duzu eraginkortasunez, maila altuko, egiaztatu eskubidea, nahi badut Free akzio gehiago erosi, Penny stock dugu buruz hitz zehaztapenean, Lehenengo kontrol-nahi dut zenbat akzio daukat. Eta suposatzen da bost. Eta demagun nahi dut 10 gehiago erosi, nik, azken finean, Nahi 15 stock akzioak izatea. Beraz, bi galdera eskatu behar dut. Zer da aldagaia egoera? Zer da errenkadan egoera? Zenbat akzioak ez gaur egun behar dut? Ondoren, aurrera eta eguneratu nahi duzun. Beraz, analogikoa izan behar esne horretan errenkadan egiaztatu, eta, ondoren, eguneratu nahi duzun 10 akzio erosi nahi izanez gero, ez aldatu nahi duzun 10 ilara, zuretzat hura aldatzeko 5 nahi plus 10 edo, jakina, 15. Kode-lerro Honek bermatuko du Bi ideia kontzeptual horiek gertatuko elkarrekin edo ez guztietan. Inor ez da, beste erabiltzaile batzuk barne nor Webgune horretan sartu, nolabait eten errenkadan egiaztapena eta errenkadan eguneratzea, the hautatu eta izango bada eguneratzea. Eta sintaxia ez da super bistako, baina bat lerro hau, luzea da da, duten bi eragiketa horiek bermatzen aldagai egiaztatzeko edo egiaztatu errenkadan eta eguneratzeko errenkadan gertatuko atomically. Oh Hemen berriro joan gara. Idatzi nire telefonoan mezua. Hargatik a esta zehatzagoak gutxi. Demagun Oraindik ez duzula hozkailu bat ezartzeko, eta zu ez gauzatzeko 7 PSet baina benetako banku bat, edo kutxazain bat, kutxazain Automated bat Makina, horren bidez, nolabait, adoretzeko gai izan nahi erabiltzaileei dirua transferitzeko kontu batetik bestera. OK, zintzilikatzeko. Ezkutatu orain noa, eskerrik asko. Beraz, dirua mugitu nahi dugu kontu zenbakia batetik beste kontu bat sartu zenbakia, zehazki, 100 dolar. Beraz, hau da arbitrarioa mota Adibidez, horren bidez, ATM, bi SQL exekutatu nahi izatea kontsultak, kontu batetik kendu, eta gehitu beste kontuan. Baina horiek bermatu nahi duzun Bi lerro bai gertatuko edo ez guztietan. Ez duzu zerbait nahi ohitu eten. Egiten duzu batzuk smart txarra lasaia ez nolabait, Bank of America zutik horietako bi aurrean kutxazainetan ekin zion eta, nolabait, Ordena idazten hasi aldi berean, komandoak, zorionez $ 200 ordez kendu nahian $ 100 eta soilik izatea $ 100 ordainduko da. Azken finean, hau, nahi duzun portaera espero duzun bezala. Eta lan egin honek SQL datu-basea da itzulbiratu duzu zer-en transakzio bat deitu. Literalki SQL, deitu ahal duzu CS50 aurrekontua unquote Irteeran kontsulta funtzioa transakzio. Orduan edozein zenbakia exekutatu dezakezu ondorengo SQL kontsulten, baina horietako bat ere hartu datu-basean eragina Kontsultaren aurrekontua unquote deitzen duzun arte konpromisoa, bada PHP berriro erabiliz. Eta modu horretan, hori bermatzeko dezakezu duzu izan bada ere, 1.000 erabiltzaile guztientzat Zure datu-basearen aurka talka aldi berean, SQL izango horiek agintzen bi kontsulta izango da inplementatu eskuineko bat bestearen atzetik. Beraz, ez duzu, azkenean, gehiegizko esnea edo okerreko zenbatekoa, azken batean, dirua. Beraz, mantendu kontuan, ez hain 7 pset askoz baina azken proiektu Oraindik benetan bada datuen inguruan mugitzen saiatzen mahaiak zehar hemen agian duzun bezala. Baina, agian, are errazagoa eta bistako adibide bat ulertzeko hau hemen da. Eta norbaitek epostan gutaz beste egun hau besterik zerbait ikusi zuen antzeko konektatuta. Beraz, nire ezagutza, pin-sisteman ez da eraso honen aurrean. Eta ideia ez dut bada erabilerak nahiz SQL datu-basea kanpaia azpian. Baina dezagun erabili eztabaidak eztabaida. Hemen da pantaila Harvard folks joera Erabiltzaile moduan alta batera ikusteko beren Harvard NAN zenbakia eta beraien pin. Eta eman dezagun pin sistema zirela PHP eta MySQL bat inplementatu datu-basea, kodea norbait Duela idatziko zukeen urte baliteke itxura hau. Lehenik eta behin, deklaratzen bat username izeneko aldagai. Eta besterik ez duten POST superglobal. Ondoren, lortu beste aldagai bat pasahitza deitu eta bera egiten. Eta gero, besterik exekutatu Kontsultaren luze honetan hemen, erabiltzaileei nondik hautatu star username berdin halako eta pasahitza berdinen halako. Iragarki kizkur dela giltza hemen erabili dut besterik ez PHP esan nahi, joan Animatu eta ordezko bi horien balioa aldagai bertan. Oraindik ez da erabat beharrezkoa dute, baina sotil sintaxia akatsak saihesteko joera dute. Beraz, hau erabat itxura Lehen begiratuan zuzena. Eta da. Ezartzeko, ezin duzu pin modu honetan sistema. Baina demagun super bat Ikasle Smart eta maltzurren sarrera hau bere pin gisa. Beraz, kendu ditut bala seinaleak hemen maketak sortu zen, eta benetan dut agerian zer zuen Idazteko izan daiteke. Eta apur bat arraroa da. Baina zer joango duzu potentzialki at erabiltzailearen sarrera buruz kezkagarria, ideia ez duzu, nahiz eta zer SQL injekzio eraso bat esan nahi du. Zergatik gutxi fishy bat itxura? Zer da hori? [INAUDIBLE] DAVID MALAN: edo da apur bat susmagarriak. Izan ere, SQL gako bat. Beraz, ez du Bode ondo. Izan ere, ez da komatxo bakar horiek guztiak han Izan ere, errazena bat hasi datu-base batzuk hautsi moduak O'Reilly bezalako izen bat idazten da dela apostrofoa ditu Giza nork idatzi bada delako atzealdean Kodea ez du kontuan hartzen ez Erabiltzaile bat komatxo bakar izan liteke sarrera, eta berak erabiltzen ari da bere kodea da single quotes, gauza txarrak gertatuko. Izan ere, okerrago oraindik, kontuan hartu hau. Hau izan zen berriz ere badu Kodea duten Harvard urteetan norbait Duela idatzi pin egiteko sistema, konturatu zer da buruz ordezkatu ahal izateko erabiltzaile-izena eta pasahitza Berriro ere erabiltzaile mota bada skroob beren erabiltzaile eta, ondoren, bat, bi, hiru, lau, bost, aurrekontua edo aurrekontu berdinen bat unquote aipatu da. Eta nabarituko zer da gakoa Hemen erabiltzailea da, ez du hasi zen bere pasahitza edo beren aurrekontua pin. Eta ez dute amaitu aurrekontua ez zuen suposatuz, hori bada programatzaile ez zen hain zorrotz, dute horiek izan dira joan bere kodea da komatxo bakar. Beraz, hemen kodearen da. Eta ordezkatzea orain gerta liteke hori. Eta azpimarratuta Nik zer erabiltzaileak idatzi du. Beraz, aurretik, ondoren. Eta nabarituko zer da mildly worrisome orain Eskuineko SQL kodea horren erdia buruz? Apur bat konplexuagoa da, admittedly, kontsultak baino ikusi dugu. Baina hau, ez, seguru asko, gauza ona izan bazaude hautatu star, zein da hautatu esaten erabiltzailearen taula guztia non erabiltzaile izen berdinen skroob eta pasahitza berdinen bat, bi, hiru, lau, bost edo bat berdin. Zer da logikoa inplikazioa azken klausula, zentzuzkoa da? Besterik beti egia. Eta zeren dugun ordenatzeko igarri edo hurrena trial eta akats duten programatzaile nor idatzi kode hau ez aurrea giza edo txarra pertsona bat komatxo bakar idazten baita, sintaktikoki dezakegu SQL kontsulta osatzeko Zerbait zentzugabeko batekin baina zerbait sintaktikoki okerra hori beti egia ebaluatzen. Beraz, kode hau erantzuteko erabiltzen bada galderari egia edo gezurra behar gainditu behar da, erabiltzaile hau onartuko erantzuna beti da itxuraz joan egia izan honetan beti dago delako joan basetik zerbait hautatzeko ikastaro bat beti berdin bat delako. Beraz, zein da irtenbidea? Beno 7 pset, benetan dugu hori saihesteko guztiak elkarrekin. Kontsultan funtzio bat emango dugu, eta dugu galdera ikurrak erabili bultzatuko zenuke leku-marka gisa, antzeko printf en% s espirituz, baina zer galdera ikurrak atal gako Hemen da Egia esan, irakurri bidez bada funtzioan, non gure kontsulta funtzioa inplementatu da, galdera ikurrak horiek ihes egin dira, Horren bidez, ezer potentzialki arriskutsua bezalakoak barra arrunta aktibatuta dago barra arrunta ihes batean. Beraz, hau da zer da Benetan bada gertatzen ari CS50 kontsulta funtzioa edo edozein zenbaki erabiltzea hirugarren batzuen liburutegiak librea duten bera egiten. Ez kasu honetan, axola, berdez, erabiltzaileak aipu bakar batean idatzitako bada kontsulta delako funtzioa da idatzi ikurrak gehitzeko aurretik joan halako aurrekontua arriskutsua. Beraz, hau ez da hasi Izan ere, egiaztatzeko izango da. Hau zoro bat bilatzen idaztea bezalakoa da Pasahitz hori da, noski, ez da joan skroob oraingo pasahitza izan. Beraz CS50 eramateko bat da, Erabat beti zerbait erabili CS50 kontsulta funtzioa bezala edo azpiko liburutegia, PDO deitu behar da hori gertatzen. Baina inoiz ez, inoiz ez, Inoiz egin kode hau bezalako ihes egitea edo scrubbing gabe Zure Sarrerek esan dute. Eta izango duzu uneren batean, seguruenik, hau bezalako webgune batzuk topo. Izan ere, horrela izan dela dirudi aireportuak eta hotelak lekuetan bezala Bertan izan dira, wifi- sarbidea duten sistema sartu behar duzu, webgune horiek dira beti horribly inplementatu. Eta, beraz, fun moduko bat etxeko ariketa at, Ez helburu maltzurren edo gehiago errepidean fun bat ariketa, da idatzi Komatxo bat, barra arrunta, webgune batzuk formulario bat sartu eta ikusi zer gertatzen den. Eta zerbitzariak hondatzen bada, edo ematen Errore mezua mota batzuk, baliteke oso ondo dagoela inork ez duelako aurreikusi honetarako. Eta gero, egoki hobekien behar duzu agintariek eta jarraitu gehiago ez. Beraz, gaur egun duzun guys zorionez beharko lukete geek umore pixka bat gehiago hemen ulertzen. [Barreak] DAVID MALAN: Badakizu zara geek bat. Hurrengo hainbat egiteko urte, gogoan izango duzu duten apur Bobby Mahaiak da marrazki honetan hemen ere. Beraz, kontuan izan hori bezalako dugu Testuinguru switch bat azken aldiz Ikusteko Javascript-a gaur egun. Gastatu dugu nahiko gutxi Denbora PHP sintaxia on benetan delako super C. antzekoa Eta nicely nahikoa, Javascript too super C sintaxia antzekoa da ikusiko dugu, baita Une batez, eta zaitugu gisa ikusi geroago aste honetan bereziki. Zer hizkuntza honekin egin dezakezu, nahiz eta, guztiak ahaltsuagoa, batez APIak. Baina lehen bira azkar bat. Bat, beraz, JavaScript, ez da, funtzio nagusia ez da, hau da polita. PHP gertatzen den bezala, besterik idatzi ditzakezu kodea. Baldintza itxura hau. Eta adierazpen boolearrak agian honen antzeko edo itxura hau. Konmutadoreak existitzen, eta dute baliteke itxura hau. Lau begiztak itxura hau. Loops itxura hau bitartean. Egin whiles itxura hau. Eta gero, array itxura hau da, oso PHP antzekoa. Baina konturatu, Javascript duzun hori aldagai bat deklaratzeko ez dolarraren batekin sinatu, ez da datu mota bat, baizik eta egiatan aldagaiaren var esaten aurretik. Too baziren idatzi da horretan mota ditu, baina ez esplizituki deklaratu dituzu. Eta, ondoren, kate bat, Esate baterako, begiratu daiteke Hau atsegin, katea Ari izeneko s kasu honetan. Eta gero, objektu bat. Eta luze baino gehiago ikusiko hauek ditugu. Eta objektu bat da, beharbada bat gehien ikusten datuen egitura Ikusteko Javascript-a oinarritzen programa aukera ematen du, arbitrarioak lotzeko duzu gako bikote besterik PHP elkartze-array bezala eta besterik gabe, zeure hash taula bezalako edo saiatu inplementatu dugu aste batzuk atzera. Hargatik ikusi benetan zer JavaScript egin ahal izango dugu. Eta, batez ere, hau da, garbitegia ezaugarri zerrenda bat nabigatzaileek behar duten baimendu JavaScript lotu gurekin honela webgune batean. Ikusteko Javascript-a da, sarritan gisa erabiltzen bezeroaren aldeko scripting hizkuntza. Ez da bildutako. Too interpretatuko da. Baina PHP ez bezala, eta hori izan da exekutatzen zerbitzaria, web zerbitzaria, edo, barrutik sakona bezeroak, JavaScript da desberdina normalean nabigatzailean exekutatzen. Beraz, edozein JavaScript kodea idazten hasi duzu PSet 8, edo zure proiektua behin betiko, edo mundu errealean, oro har, joan zerbitzarian gorde behar, erabat dot HTML edo dot in JavaScript fitxategiarentzat JS. Baina nabigatzailea joan deskargatzeko JavaScript dagoela Chrome instantzia propioa den kodea, edo IE edo Firefox, edo dena delakoa. Eta kode da benetan iritsi Zure nabigatzailea propioa barruan exekutatu. Just hau errealagoa izan dadin, ikus dezagun forma jakin batean. No zer kodea hau da ideia daukagu benetan irakurri gabe. Baina goazen Facebook.com me saioa hasi gabe. Joan Inspect Element eta joan, demagun, Sarea eta berriro orria. Eta see-- zaitugu utzi mugitzeko me birkargatu Page berrietara eskaera guztiak lortzeko. Eta oso lehen fitxategia ikusten dut CSS, CSS da. Hemen lehen Ikusteko Javascript-fitxategia, eta nik, no hau duenaren ideia, baina hemen JavaScript kodea batzuk gidatzen Facebook. Ez da, nahiz benetan handiagotzeko agerian utziz. Bezain zentzugabeko Oraindik da. Baina ikusiko duzu, nahiz eta behera azpian, ez dago nahiz eta Javascript fitxategi horiek gehiago. Whoops. Hori ping bat da. Goazen pixka bat gehiago, gehiago, gehiago. Dago. Dago. Dago. Beraz, nahiz eta Facebook nahiz eta, atzean eszenak, hau da PHP parte idatzitako eta Facebook-en egin bertsio kontratuan, ez Javascript-kopuru handi bat da. Izan ere, edozein Egin duzu Facebook txateatzen, inline timeline eguneratzeak edozein denbora errealean gertatuko, hori guztia JavaScript bultzatuta. Bai? Ikusleak: Ez nago ziur hau da, Facebook, baina hori Facebook garatu pentsatu nuen beren etxe-kodea hizkuntza? DAVID MALAN: Zuten. Beraz, horregatik bariantza diot PHP Hip Hop deitu dute benetan gehitu da, besteak beste, ezaugarri batzuk direla Mark lehen inplementatu Facebook, PHP urtean idatzi zen. Eta hori Ordena mantendu frontend hizkuntza moduko Askoz ere erabili dutela bere kodetze, baina ez du hori da hizkuntza bat izan da eskalak bereziki ondo bilioika pertsonen. Eta, beraz, beren gehitu dute atzealdean hobekuntzak. Eta edozein zenbaki erabiltzen dute beste hizkuntza batzuen hainbat pieza egiteko beren azpiegitura. Beraz, bai, bariantza da zer dakigu orain PHP bezala. Beraz, dezagun begirada bat adibide pare bat of nola liteke JavaScript hemen erabili dugu. Gaur egungo iturburu-kodea ere, dugun bat fitxategiak sorta, horietatik lehena, utzi DOM zero izeneko en. Beraz, DOM zero honela itxura. Dezagun joan direktorioa me honetan sartu eta ireki domzero.html, non goiko doc mota bat du adierazpena, hemen esaten HTML 5 dator. Eta orain, hemen HTML etiketa bat. Hemen burua tag. Eta hemen zer da gaur berria. Orain script etiketa daukagu orri-burua barruan. Eta hau, itxuraz, ez du oso gutxi, baina oharra definitu dut gidoia, Javascript bat. Eta alde batera, hau geroztik misconception komun bat da, Javascript ez du deus du Java, hizkuntza batera egin zuetako batzuk, agian Izan APCS ikasi. Marketing bat gehiago zen gauza ezer baino, Duela Java urte coattails zaldiz. Baina JavaScript, ezer egin Java, besterik gabe, era berean, eta annoyingly, confusingly izendatu. Beraz, hemen da funtzio bat nola aldarrikatu duzu JavaScript, esan literalki funtzioa, ondoren, funtzio baten izena, ondoren, edozein norabide hartuko duen argudioak, besterik ez PHP bezala. Turns JavaScript, gehien batean existitzen diren funtzioak gogaikarriak Alerta da. Honek leiho txiki bat da, agertuko da eta alarma Informazio zati batzuk. Honez oro har, frowned. Hala ere, erabili egingo dugu gure Lehenengo hemen ariketa. Iragarki JavaScript ezaugarri batzuk. Single quotes eta komatxo bikoitzak Egia esan, ez du axola jada. Komatxo bakun eta bikoitzak komatxo ahalbideratzen da, C, berriz, erabili behar duzu kateak komatxo, eta bi single duzu chars aipatzen. Ikusteko Javascript-munduan, jende askok, jende gehienak kateak inguruan komatxo bakar erabili gauza estilistiko bat delako. Baina zer da plus operadorea hemen, ez dugu ikusi aurretik? Ikusleak: Konkatenazioa. DAVID MALAN: Konkatenazioa. Beraz, C ere ez dute hau. PHP dot operadorea ditu, bertan egiten du hori. JavaScript plus operadorea ditu, bertan confusingly besterik ez da Java bezala. Orain zer gertatzen da hemen? Beraz, hemen non oinarrizko irudi hori ulertzeko gora bota genuen pare bat egun hauek sartzen da jokoan. Gogoratu simple bat izan genuen baten bertsio HTML page-- esan besterik ez da, kaixo mundua. Eta, ondoren, zuhaitz bat marraztu dugu eskubidea, zein laukizuzenak eta lerro sorta bat izan lotu familia zuhaitz bat bezala. Beraz, deiturikoak DOM edo Document Object Model. Eta bihurtzen da hori eskuratu ahal izango duzu zuhaitz hori sintaxia ere laukizuzenak Honako bezala. Hitzez hitz esan duzu dokumentu, hau da, a Ikusteko Javascript-a aldagai global berezia programa hori, funtzio bat dauka horri lotutako duten dezakezu sarbidea egitura bat antzekoa da, baina, besterik gabe, dot eta, ondoren, funtzio izena esan, lortu elementu ID arabera. Elementua eskuratu nahi dut itxuraz aipatu unquote izena. Eta gero, bere balioa lortu nahi dut. Orain aurretik gure ari gara. Ez naiz, nahiz eta ziur zer hau guztiei buruz. Dezagun HTML Aurreratu an orria, eta horrek super erraza da. Duten definitu dut Oharra bat osatzeko behera hemen. Ohartu Nik berezia eman NAN, dugu, nahiz eta ez erabili Atributu hori baino lehen. Baina hau HTML existitzen. You zatia batzuk bakarrean identifikatu ahal Hau atsegin identifikatzailea batekin HTML. Oharra orain this-- bihurtzen HTML onartzen ditu, garbitegia zerrenda horretan per une bat lehenago, bere osotasunean gertaera kudeatzaileen sorta. Eta gertaera kudeatzailea hau aurkeztu dio. Erabiltzaile honen aurkezteko On inprimaki, deitu ondoko kodea. Eta kode hori joan deitu behar da edo burutzea zerbait da, Greziako funtzioa bueltan faltsua ondoren. Beste guztia egin beharko lukete izan nahiko ezaguna. Hona hemen mota testuaren sarrera bat, zeinen NAN, kasu honetan, izena izango da. Ez dugu benetako izen atributua dute time-- hau eta bidali botoia. Beraz, ondorioz, orrian itxura hau. Eta ondoriozko portaera, ikusiko duzu, itxura hau. Orri tokiko ostalarien dio, kaixo David, ia bat estetikoki atsegina horrela, erabiltzaile bat agurtzeko. Baina zer benetan gertatzen ari da? Beno, pentsa zer den hori. Honek testu-eremu bat da. Eta arabera HTML hemen, ez dut eman identifikatzaile bakarra aurrekontua izeneko unquote izena. Bitartean, esan dut denean erabiltzaileak inprimaki hau aurkeztu Sartu sakatuz edo klik eginez Bidali botoia, deitu Greet izeneko funtzioa eta gero itzuli Gezurra. Dezagun kontuan alderantzizko horiek. Jakinarazten sakatu Bidali dut, Orrialde honen URL ez da aldatuko. Arakatzailearen ikonoa ez hasteko spinning. Nik ez nuen joan edonon, eta hori da, hitzez hitz itzultzeko Gezurra esan dudalako. Gezurra Zirkuitu labur edo geraleku aurkibidea lehenetsi inprimaki baten portaera. Beraz, ondoren uzten gurekin azken galdera hau. Zer egiten du Greet? Beno, agurtzeko itxuraz izeneko funtzio bat deitzen Alerta, bat igarotzen Eztabaida luze hori elkarrekin bat kateatuz emaitza azpikateak sorta, kaixo, koma espazioa, ondoren, edozein dela hau itzultzen. Beraz dokumentuaren global bat bezalakoa da zuhaitz horren erro hori aldakorra, funtzio berezi bat deitzen, bestela, gaur egun metodo gisa ezagutzen. Hori da funtzioa aldagai bat den barruan Metodo bat funtzio baten ordez deitu. Beraz, lortu elementu ID arabera. Zer elementu egin nahi duzu bere NAN-ek lortu nahi? Aipatu unquote izena eta orduan zehazki baloratzen. Beraz, beste era batera esanda, kode hori, besterik gabe, Testu-eremu horren ID izen hori aurkitzen du eta, ondoren, bere balioa lortzen. Beraz, bada, hori aldatzeko banintz eta esan Davin David ordez, eta sakatu Bidali, orain dugu Davin agurra izan. Ondo da, beraz, guztiak fina eta ona. Baina ikus dezagun badezakete hau txiki bat besterik ez geroztik garbitzailea idazteko kode hau bezalako oro har, frowned denean. Hau da scarier begiratu behar. Baina zer da lehena aldea hemen ohartu bertsio hau gain batean izendatzeko DOM batera aldatzen? Zer egituraz itxura ezberdinak hau bestea versus buruz? Bai? Ikusleak: laguntzaileen da gidoia orain goialdean? DAVID MALAN: Bai, inprimakia gainean da Arrazoia bitxi batengatik gidoia. Beraz, lehenengo gauza noiz joango me at, gehiegi. Eta zorionez, gutxienez, zati honen berdina da. Beraz, badirudi gauza bakarra ezberdina izan da hau. Hortaz, hona hemen zer neat JavaScript 2 inguru. Eta zaila egiten du hasiera batean ulertzen, batez ere, azken proiektu lagina kodea artean duzun online bilatzen ari zaren, baina behera irakiten batzuk etxean oinarrizko ezaugarri sintaktikoak. Hemen ere dela Dokumentu global aldagai. Hemen ere metodo edo funtzioa dioen ID arabera elementua lortzeko. Oraingoan, nahi dut demo izeneko ID lortzeko. Non dago hori? Hori da, itxuraz eskubidea Hemen, forma bera. Eta orain konturatu itxuraz badut zuhaitza nodo hori lortu atzera Formulario irudikatzen bera, ez testu-eremu bat, bihurtzen da inprimaki hori, eta, nodo edo laukizuzen zuhaitza, zer jabetza bat deitu dugu dauka, oso, oso, oso antzekoak C. egitura bat espirituz Besterik Datu kide bat laukizuzen honen barruan. Beraz Nik formularioa hemen, eta erantsiz ari naiz, edo, Dut esleitzeko bere On Bidali kudeatzailea edo On Bidali baizik jabetza hurrengo funtzioa. Eta hau da, alde handiz, craziest Gauza beraz, orain arte sintaktikoki. Bihurtzen JavaScript eta dago PHP, eta Egia C materia hori, Ez dugun arren egin, ahal duzun gehitu nameless, anonimoak, edo AKA lambda ez duten izen bat eduki funtzio baina, hala ere deitu daiteke. Beraz, hemen zer egiten ari naiz da Dut esleitzeko Honetan Bidali jabetza, eta horrek nire DOM zuhaitz nodo honen barruan da, funtzioa, funtzio erakuslea izango bada. Funtzio hori ez du izendatzeko, baina horrek ez du axola dugun ikusiko dugu delako une batean nola deitu. Funtzio hori deitzen da, Kode hau exekutatu, eta gero faltsua itzultzen bezala aurretik. Baina konturatu zer egin dut. Puntu honetan Istorioa, inprimaki bat daukat. Honez demo izeneko ID esklusibo bat lortu. Down hemen, script etiketa bat daukat duten kode hau exekutatzen da. Esanguratsua nodo horretan It bertara zuhaitza da On Bidali jabetza funtzio hau hemen. Eta besterik nabigatzaile nola lan izaeraren arabera, denean orain klik I Bidali edo sakatu Sartu, funtzioa deitzen da iritsi. Ez du nork izen bat behar demontre zer deitzen zaintzen. The nik inoiz iritsi soilik denbora deitzen da, inprimakia aurkeztu dut. Ez dago ni beharra, giza garapenerako, benetan deitu inon. Orain besterik ez esaldi bat, balitz bezala ziren ez axola nahikoa okertuz, nahiz eta ezin dugu egin hau itxura gehiago críptica erabiliz izeneko liburutegia jQuery super popular. Izan jQuery eta JavaScript askotan conflated. Eta zer asteazkenean dugu egin da hasieratik hizkuntza hau eta liburutegi hauek erabiliz Gero eta asinkronoak eraikitzeko eta aplikazio dinamiko Mapan bezala lortzean aplikazioak, aplikazioen duten errealean webgunearen eguneratzeko aldiz, askoz Facebook edo Gchat bezala egin du, eta jada confine geure burua sakatuz Bidali get edo post besterik arabera alone. Beraz, bada, asteazkenean ikusiko dut. [Musika jotzen]