[Seinm ceoil] DAVID MALAN: Is é seo CS 50, agus is é seo an tús na seachtaine naoi. Agus cad a cheap muid gur mhaith linn a dhéanamh lá atá inniu ann nach bhfuil ach dún an chaibidil ar an tseachtain seo caite ábhartha dhírigh muid ar an bhfreastalaí cláir gréasáin taobh le PHP agus SQL, roinnt rudaí bunachar sonraí. Beidh muid ag labhairt faoi le beagán de sa lá atá inniu slándála agus ansin aistriú go dtí cláir taobh cliant teanga ar a dtugtar JavaScript. Ach ar dtús, roinnt fhuascailt. Is féidir leat a thabhairt chun cuimhne go bhfuil ar Dé Céadaoin, leag mé amach a scríobh ar an suíomh gréasáin Ghlac i ionchur úsáideora ag HTML fhoirm go stóráilte ansin go ainmneacha ionchur úsáideora, fón uimhreacha, agus cellphone iompróirí sa bhunachar sonraí. Agus ansin bhí mé ordú beag script líne scríofa i PHP go raibh ceaptha a iterate thar na sraitheanna sa bhunachar sonraí agus a sheoladh amach teachtaireachtaí téacs. In ainneoin roinnt, iarrachtaí agus arís eile, ní mór dúinn ní raibh a fháil go obair faoi dheireadh. Mar sin, chaith mé an tseachtain seo ar fad ag obair ar an cód a fháil dúinn anuas ar an bpointe nuair a d'fhág muid amach, trína go léir Fuair ​​mé faoi dheireadh Dé Céadaoin bhí sé seo teachtaireacht téacs ó Margo mar a throid mé, ina dhiaidh sin teachtaireacht téacs ó eile classmate, Tá sé agat an David. Le leanúint ag an gceann seo, wonderfully spreagadh. Bail ar siúl, an-sásúil. Fuair ​​mé beagnach sé go dtí then-- agus go bhfuil an nóta dar críoch muid ar an gCéadaoin. Agus ansin i ndáiríre, b'fhéidir mo is fearr leat, nóiméad ina dhiaidh sin, tháinig i. Damn Beo Sruth. Mar sin lá atá inniu ann, a shocrú muid seo le mear breathnú ar an méid atá déanta agam ó shin. Dá bhrí sin tá gach ceann de na cód seo ar fáil ar líne ó na seachtaine seo caite, seachtain ocht, cód foinse. Agus beidh tú a fheiceáil go chuaigh mé tríd, agus glanadh mé i ndáiríre suas rudaí le beagán. Thug mé cúpla eile gnéithe den bunachar sonraí SQL. Mar shampla, seachas ach a dhéanamh ar iompróir de Char var is dóigh liom a rinne mé ar an eitilt an tseachtain seo caite. Sainmhínithe mé in ionad é mar cad atá ar a dtugtar enum. Agus d'fhéadfadh roinnt de agat le feiceáil seo mar a iniúchadh againn C. Enum iarbhír ina ghné de C nuair is féidir leat enumerate a bunch iomlán de tairisigh agus iad a luachanna uathoibríoch a shannadh, cosúil le ceann amháin, dhá, trí, ceithre gan a bheith a códuimhreacha crua. Mar sin, tacaíonn SQL mar an gcéanna, trína más tá tú réimse bunachar sonraí go bhfuil tú ach ag iarraidh a chur ar cheann de críochta luachanna, is féidir leat a shonrú literally é mar a rinne mé ann ar feadh ceithre tóir iompróirí cellphone Stát Aontaithe. Mar sin, rinne mé go. Agus rinne mé roinnt athruithe a go maith, an ceann is tábhachtaí díobh Bhí a fháil ar r-phost ag obair mar gheall ar cuimhne, gur bhraith an clár seo ar a ar a dtugtar de ghnáth ar ríomhphost chuig Gheata SMS, a bhfuil ach ar bhealach mhaisiúil de rá go Verizon, agus AT & T, agus folks eile tacaíocht freastalaí, trína má fhaigheann sé r-phost, athraíonn sé é go SMS agus cuireann amach téacs teachtaireacht le duine éigin ar an bhfón. Mar sin, má rinne mé seo i gceart, anseo tá foirm nua agus feabhsaithe go bhfuil dul chun labhairt nua agus feabhsaithe cód, a is féidir leat imirt le líne. Agus beidh sé a dhéanamh ar mo súil go dtosnódh bíp teileafóin i nóiméad ach. Mar an chéad, tá mé ag dul chun cineál i mo ainm. Dara, Níl mé ag dul chun é seo a dhéanamh an am seo. Tá mé ag dul go dtí a dhéanamh Inspect Element. Agus tá sé seo ach rud beag mar sin ní féidir liom uair an chloig de tháirgeadh iar chruthú ag obair mar a rinne mé uair dheireanach. Tá anois ar mo uimhir teileafóin. Feicfidh mé a roghnú Verizon. Agus anseo, a ligean ar dul ar an micreafón anseo, agus an aidhm seo ar mo ghuthán anseo. Tá mé ag dul a cliceáil Cláraigh, ar chóir súil againn é a chur isteach sa bhunachar sonraí. Anois, tá mé ag dul chun dul go dtí an Clár-orduithe, a Glaodh chun cuimhne ponc Slais téacs, agus tras do mhéara. Anseo théann muid. [Dings GHUTHÁIN] [Bualadh bos] DAVID MALAN: Mar sin, spraoi níos mó ná this-- tá sé spraoi, ar ndóigh, más rud é go rachaidh mé isteach é. Ach tá sé níos mó spraoi, shíl mé, má táimid a cruthaíodh ar cheann de na chuimhneacháin scannán i gcás ina cosúil le rud éigin i ndáiríre olc a tharla ar fud an domhain, agus cosúil le gach na daoine NSA ar cellphones tús beeping le teachtaireachtaí téacs iad a gcur ar an eolas ar an bhfíric. Mar sin, shíl mé go mbeadh iarracht a athchruthú mar an gcéanna anseo, trína nach n-úsáideann bunachar sonraí, I ionad roimh ré Scríobh clár go Breathnaíonn mar seo. Is é seo an index.php-- agus chuir mé cód seo ar líne mar well-- go cosúil ach Rindreáil form.php, ag baint úsáide as paraidím stíl MVC go bhfuil muid labhairt faoi níos mionsonraithe i tacar fhadhb seacht. Is é sin an fhoirm simplí go leor. Tá sé seo ag dul a chur isteach chuig comhad a dtugtar here.php tríd an bpost. Agus tá sé cosúil ag dul a iarraidh ar an t-ainm, agus uimhir theileafóin, agus ina dhiaidh sin trí na mar a thugtar air Roghnaigh roghchlár, tá sé ag dul a thabhairt duit ar a laghad ceithre tóir iompróirí cellphone Poist, agus ansin a ligfidh tú chun go héifeachtach tinreamh a chur trí chliceáil anseo. Agus anseo, Idir an dá linn, tá dul chun a fháil ar iasacht ar roinnt de chód ó uair dheireanach. Agus má tá tú díreach skim sin, Feicfidh tú a fheiceáil go níl a bunch iomlán de sheiceáil earráid. Ach tá an áilleacht ag an deireadh go nach bhfuil muid ag scríobh chuig bunachar sonraí inniu. Táimid ag a choinneáil simplí agus ach tá súil againn a sheoladh amach teachtaireacht téacs trí fheidhm I Scríobh thar cúpla lá anuas glaoch Téacs, a bhfuil i Feidhmeanna. php, atá ar fáil arís ar líne. Mar sin, más mian leat a bheith páirteach i seo. Níl muid ag dul a bheith rud ar bith a stóráil. Téigh go dtí an URL seo anseo i bhfíor-am. Ná é a chur isteach ach go fóill, ach a ligean ar féach an féidir linn a bheith ar cheann de na scannáin chuimhneacháin nuair gach duine cellphone Tosaíonn beeping, tá súil againn go díreach uair amháin na bliana seo murab ionann agus i 2011 áit a ndeachaigh sé seo horribly awry. Agus nuair a théann tú chuig an seoladh sin, ba chóir duit a fheiceáil foirm Super simplí go má tá tú an t-ainm, fón cill uimhir, agus iompróir cellphone go oireann an liosta ann, téigh amach romhainn agus a líonadh amach an fhoirm. Ach ná bhuail isteach ach go fóill. An fhoirm ag dul chun breathnú cosúil le seo. Téigh amach romhainn agus cineál i d'ainm, uimhir theileafóin. Oop, tá duine éigin ag dul chun tosaigh ar an gcuar. Tá sé ceart go leor. OK, tá gach duine a líonadh amach an fhoirm. Ba chóir go mbeadh an obair seo ar fón, freisin, más mian leat. Gach ceart, ar do marcanna, a fháil atá leagtha, dul. Buail Anseo. Cad é? Uimh I swear le Dia, tástáil mé seo amanna éagsúla sa lá atá inniu. Fuair ​​tú é? [GUTH interposing] DAVID MALAN: OK, earráid úsáideora b'fhéidir. Sin beirt. D'oibrigh sé ar feadh dhá cheann as a cúpla céad, triúr, ceathrar. OK, go maith. Ceathrar as gach cúigear d' cirte conas mar gheall ar. Mar sin, cad é a tharla go díreach? Mar sin is dócha, gan féachaint d' scáileáin, cén fáth a d'fhéadfadh sé a bheith errored? Is dócha go raibh againn ach ag iarraidh a dhéanamh an iomarca naisc le freastalaí ríomhphoist Harvard ar fad ag uair amháin as an seoladh IP céanna. Tá mé ag guessing díreach ós rud é nach raibh mé Tá an só na tástála gcód seo le roinnt 300 duine roimh ré ach do anois a thuiscint go go bhfuil ar a laghad, ba chóir gotten an post a dhéanamh an am seo. Ceart go leor, mar sin cén fáth go bhfuil seo go léir an níos germane le cad atá ar siúl? Bhuel ar dtús, a tapaidh cúpla fógraí. Mar sin amháin, más mian leat a bheith páirteach Chang, agus Nick, agus daoine eile ag lón Dé hAoine, RSVP a dhéanamh ar an URL is gnách ann. Má tá tú ag smaoineamh ag díriú i nó ag déanamh a tánaisteach i CS, cibé an bhfuil tú sophomore, nó freshman, nó fiú sóisearach nó sinsearach ag an bpointe seo agus is féidir a squeeze go fóill sna cúrsaí, a thuiscint go bhfuil an scoil innealtóireachta Tá bailiú saor in aisce Ben agus Uachtar reoite Jerry agus comhairle an gCéadaoin go gairid tar éis an ranga ag 04:00 i bhfoirgneamh CS ag Maxwell Dworkin. Má tá sé seo ró-tapa ar an scáileán, ach dul a cs50.harvard.edu le haghaidh nasc chuig an ócáid ​​le Facebook nuair is féidir leat a fheiceáil níos mó sonraí. Idir an dá linn, shíl mé ba mhaith liom a cheartú rud amháin eile goofed mé ar an gCéadaoin. Casadh amach go bhfuil ID Mharcais ar Facebook Ní raibh trí cinn. Bhí sé ceithre. Casadh amach bhí sé tástáil níos mó cuntais ná mar a cuimhin liom. Ach cad a bhraith seo cosúil le deis a dhéanamh chun é a tharraingt suas URL mar seo. Mar sin, casadh sé amach go bhfuil Facebook API, Clárú Iarratais Chomhéadain, atá ina meicníocht tú Is féidir sonraí a iarraidh programmatically ag Facebook agus dul ar ais meaisín faisnéis inléite, ní leathanaigh ghréasáin ach téacs amháin amh, rud éigin ar a dtugtar JavaScript Nodaireacht Réad. Agus go deimhin, má tá mé cuairt a thabhairt ar seo URL, agus súmáil isteach i, trí mhainneachtain, tá sé seo Mharcais go poiblí faisnéis inrochtana. Agus an mion suimiúil anseo ach go bhfuil a chuid ID go deimhin, uimhir ceithre, a bhfuil mé thuig chomh luath agus mar a rinne mé seo. Is féidir leat é seo a féin má tá a fhios agat do Facebook ainm úsáideora má tá ceann agat. Just a chlóscríobh sé suas barr ann. Agus is é aon cheann de seo príobháideach. Tá mé ag déanamh ach seo fiú ar an modh incognito. Mar sin, níl mé logáilte isteach fiú i. Agus tá tú ag féachaint ar go bhfuil mé bhí cosúil uimhir úsáideora 6454 ar Facebook, nach bhfuil ró-olc na laethanta. Mar sin cibé ar bith, beidh tú a fheiceáil freisin faisnéis bhreise ann. Agus an ghné úsáideach de is é go bhfuil tú D'fhéadfadh a scríobh do bogearraí féin go bhealach chomhtháthaíonn na sonraí mar seo isteach i do iarratas féin. Is féidir leat úsáideoirí a chumhachtú logáil isteach i do láithreán gréasáin, nach n-úsáideann a n-ainm úsáideora saincheaptha féin agus Focal faire ach b'fhéidir a logáil isteach Facebook agus eolas a fháil fiú faoina gcairde, má cheadú siad den sórt sin, nó a leithéid. Mar sin, faoi deara go CS50, freisin, Tá cuid dá APIs féin, ceann amháin le haghaidh na sonraí chatalóg chúrsa, cuid do na biachláir hugs sa bia hallaí, gach ceann de na foirgnimh agus áiteanna ar an gcampas mór dúinn API chomh maith gur féidir leat a fhiosrú an gcéanna agus a fháil sonraí téacsúla ar ais gur féidir leat a chomhtháthú isteach i PHP, nó JavaScript, nó fiú, cé chomh coitianta, a C atá bunaithe ar an tionscadal deiridh. Go deimhin tosaigh don chraobh Is tionscadal cúpla clocha míle. Fuair ​​tú ríomhphost ó dúinn an lá eile. Realize go bhfuil an togra Tá dlite seo Dé Luain teacht. Níl sé ceangailteach gá, ach tú ní gá a fháil do comhaltaí teagaisc faomhadh roimh a dhéanamh aon athruithe ina dhiaidh sin. Agus ansin tá romhainn a líon na clocha míle eile. Mar sin, chun tease tú, freisin, le roinnt féidearthachtaí, ní mór dúinn a bunch na bolgáin solais Lí. Agus anois tá roinnt de tú guys roinnt díobh i do sheomra dorm chomh maith. Agus tá siad ró API. Mar sin, chun cuimhne na seachtainí bolgáin dhénártha ó shin go Dan Bradley agus Ansel Duff a cruthaíodh le haghaidh dúinn. Úsáid siad comhéadan bogearraí a an bolgán solais, a bhfuil i láthair na huaire Tá plugged go leictreachas agus ina dhiaidh sin trí gan sreang ceangailte le rud beag ar a dtugtar an Droichead síos anseo, cosúil dhílseánaigh beag ródaire leis an ngléas ar leith. Ach casadh sé amach má tá a fhios agam conas a a sheoladh teachtaireachtaí HTTP, mar atá againn go léir a dhéanamh anois, Is féidir liom a sheoladh teachtaireacht mar seo a an bolgán solais a dul sé ar, nó as nó an bhfuil aon líon na n- oibríochtaí eile ar sé. Fógra go bhfuil nach bhfuil sé a fháil, nach bhfuil sé a phost. Níl ceann eile ar a dtugtar a chur. Níl i ndáiríre cúpla mbriathra eile den sórt sin. Ach faoi deara níl a cosán ann, Slais API, Slais forbróir nua, Slais éadrom, Slais amháin, Slais stáit. Sin cosúil ach an cosán go bhfuil an chuideachta, Philips, chinn a bhfuil tú a bhuail maidir le hiarraidh ar HTTP más mian leat a athrú ar an staid an bholgáin ag baint úsáide as HTTP 1.1. Ansin, faoi deara an líne bán. Agus ansin ar deireadh cad is cuma de chineál ar sraith de chineál éigin, tá sé seo arís ag dul a bheith ar a dtugtar JavaScript Nodaireacht Réad, nó Jason. Agus an méid a fheiceann tú anseo go tá trí péirí luach eochair. Tá eochair amháin ar a dtugtar ar. Agus a luach cosúil ag dul a bheith fíor. Is Gile 128, a Tá roinnt de chineál slánuimhir. Agus ansin tá aga trasdula náid, atá cosúil cé chomh fada tá sé ag dul go dtí a ghlacadh chun dul rud ar. Mar sin, ceart anois tá an bolgán solais amach. Ach má dhéanann mé díreach this-- ligean dom dul go dtí bileog cheat beag go Dan a bunaíodh i advance-- agus mé ag dul chun dul ar aghaidh agus a chóipeáil an t-ordú seo a leanas. Curl, le roinnt de tú d'fhéadfadh a bheith bailíodh ar CS50 Pléigh Is fóntais cosúil Telnet den sórt sin gur féidir leat insamhail hiarratais HTTP, cuireann go sonrach. Is féidir liom a sheoladh na sonraí sin, go sonrach cad againn ach Chonaic nóiméad ó shin go sonrach a ghabhann leis an URL thar anseo. Agus ansin Curl ag dul a láimhseáil gach ceann de na ceanntásca riachtanacha agus parsáil ann de. Mar sin, tá gach mé a dhéanamh ná a chóipeáil seo i fuinneog críochfort agus ansin bhuail Enter. Agus téann an bolgán solais ar. Agus is é seo go léir ag dul trí mo ríomhaire gan sreang bhealach síos go dtí an droichead, a é ag caint ansin leis an bolgán solais. Is féidir liom a dhéanamh rud éigin eile. Is féidir liom a dhéanamh ar an rud dul dearg mar shampla. Is féidir liom mar shampla a dhéanamh an rud dul glas. Is féidir liom é a dhéanamh dul gorm. Agus fógra i ngach ceann de na cásanna, go léir go bhfuil mé ag athrú Is é an luach Lí mar a thugtar air go a thabhairt i ndáiríre sé roinnt dath. Mar sin, lig dom a ghreamú an ceann seo i chomh maith. Anois, tá sé gorm. Agus is féidir leat a dhéanamh fiú fancier where-- rudaí a ligean ar dul go dtí glas. Agus d'fhéadfadh liom é seo de cúrsa le mo cód féin. Ach fiú an API féin Tacaíonn oibríochtaí funky mar seo, a bodhraigh anois linn le haghaidh na 30 soicind eile. Mar sin, go bhfuil blas ar cheann de an méid a d'fhéadfadh tú dhéanamh le API, an ceann seo a bhaineann le bolgáin solais. Tabhair faoi deara go bhfuil CS50 lánúin péirí de Google Gloine más gur mhaith leat buíochas a dul i ngleic le rud éigin chomh maith na línte, Arduino Unos, a Tá ríomhairí beag bídeach, go bunúsach, ar bord chuaird beag gur féidir leat a nascadh sreanga agus rudaí eile chuig agus ar ndóigh, a rialú do thimpeallacht saol fíor. Agus ansin tá cúpla bréagáin nua atá againn. Seo ar cheann literally tháinig díreach ar an lá eile tríd an bpost, ar armband Myo. Agus shíl mé go bhfuil sé ar bhealach a a fháil sceitimíní ort maidir le tionscadail go mb'fhéidir go mbeadh tú a úsáid le bheadh ​​seo crua-earraí a chur chun imirt ghearrthóg seo gearr go n-úsáideann siad chun folks tease go bhfuil muid ag maireachtáil anois sa todhchaí. [Seinm ceoil] DAVID MALAN: Mar sin, i ach cúpla seachtain, is féidir leat Is féidir a bheith ró-go fionnuar ag an aonach CS50. Gléas eile go bhfuil muid Tá a bunch de go bhfuil muid sásta ar iasacht amach do thionscadail ar a dtugtar rialtóir tairiscint. Is é seo an gléas USB beag dteagmháil leat le ríomhaire go is féidir leat chun idirghníomhú le do ríomhaire glúine, Mac nó PC, mar cé go raibh tú cosúil le Kinect Xbox agus ar ndóigh, a dhéanamh motions fisiciúil i bhfad mhaith linn a fheiceáil sa fís na todhchaí. [Seinm ceoil] DAVID MALAN: Mar sin, fiú má tá tú conas aon smaoineamh rud éigin mar sin D'fhéadfaí a bheith invented nó obair b'fhéidir ar leibhéal crua-earraí, is cuma. Fiú amháin tar éis ach cúpla mí de CS50, agus tuiscint ar chláir níos ginearálta, agus cláir gréasáin níos mó le déanaí, agus ansin APIs chomh maith, agus HTTP, beidh rochtain agat trí APIs bogearraí má tá tú ag iarraidh a fháil ar iasacht ar cheann de na feistí chun labhairt iarbhír a dó agus gan a bheith buartha faoi cur chun feidhme is bun sonraí, atá go hiomlán i gcomhréir leis an gcoincheap sin de layering astarraingt go atá againn le feiceáil ar fud an seimeastar. Mar sin, chomh maith thar an deireadh seachtaine, chonaic píosaí cúpla nuachta. Téigh ar dtús, téigh go dtí seimineáir má tá tú ba mhaith leat rud éigin a fhoghlaim níos mó ar líon ar bith de na topaicí. Féach ar an URL ann. Agus bhí an ceann seo chuig dom ag Chang, a bhfuil a fhios agat, a tá priontáil ár n-arm de elephants. Agus bhí sé ceannlíne mar seo a leanas. Tá mé scanraithe de mo teilifíse nua. Cén fáth a bhfuil mé scanraithe dul seo rud ar an agus gur mhaith leat a bheith ró. Mar sin, tá muid anois ag an pointe sa seimeastar, freisin, i gcás fiú má tá tú an slightest na tuisceana ar conas a oibríonn an ngréasán, agus HTTP, agus slándála, rudaí mar seo Ba chóir tús a chur a ghabháil do shúil. Ach freisin, beidh tú a thuiscint cibé an bhfuil na rudaí seo nó nach bhfuil bagairtí iarbhír. Mar sin, ghlac mé cúpla sleachta ón alt seo anseo. Agus is é an scéal mar seo a leanas. Tá mé anois an t-úinéir teilifíse cliste nua, a geallúintí sruthú a sheachadadh ábhar ilmheán, cluichí, app, na meáin shóisialta, agus ar an idirlíon brabhsáil, OH agus teilifíse freisin. Is í an fhadhb atá ann ach go bhfuil mé anois eagla a úsáid, a deir an t-údar. Go mbeadh tú a bheith, freisin, má léigh tú trí an polasaí príobháideachta 46 leathanach do do teilifíse. An méid na sonraí seo Is é rud bhailíonn staggering. Logs sé más rud é, nuair a, conas, agus do cé chomh fada a úsáideann tú an teilifís. Leagann sí fianáin a rianú, mar atá againn a pléadh, agus rabhcháin deartha a bhrath nuair a bhfuil tú ábhar ar leith fheiceáil nó teachtaireacht ríomhphoist ar leith más mian leat ríomhphost a sheiceáil ar do teilifíse. Taifid sé na apps agat úsáid a bhaint as, na láithreáin ghréasáin a thugann tú cuairt, agus conas tá tú ag idirghníomhú leis an ábhar, ag déanamh gach ceann de sin trí do teilifíse cliste. Sé freisin, yet-- creepier go mo addition-- Tá a tógadh i ceamara le haitheantas aghaidhe. Is é an cuspóir a chur ar fáil rialú gesture don teilifís agus go mbeidh tú chun logáil isteach ar pearsanta san áireamh ag baint úsáide as do aghaidh. Ar an upside, is iad na híomhánna shábháil ar an teilifís in ionad uaslódáil le freastalaí corparáideach. Ar an downside, ar an idirlíon Déanann nasc an teilifís ar fad mbaol hackers a beidh sé taispeánta acu an cumas chun smacht iomlán ar an meaisín. Níos mó troubling, amhail is dá mba nach raibh cliste go leor, is é an micreafón. Bródúil as an teilifís guth gné aitheantais a ligeann don lucht féachana a rialú an scáileán le orduithe guth. Ach tagann an tseirbhís le rabhadh áit ominous. Bí ar an eolas go má I measc do chuid focal labhartha pearsanta nó íogair eile faisnéis, an fhaisnéis sin Beidh measc na sonraí a gabhadh agus a tharchur chuig tríú páirtí. Fuair ​​sin? Ná rá pearsanta nó íogair stuif i os comhair do teilifíse. Mar sin, tá sé seo i ndáiríre le haghaidh fíor. Agus tá sé deacair gan a fheiceáil má tá tú téigh go dtí Fearr Ceannaigh nó a leithéidí d'TVs na laethanta. Tá siad go léir cliste ar bhealach éigin. Agus tá siad ag fáil níos cliste agus creepier. Agus tá siad ag bailiú ach sonraí ar bhealaí go atá againn Labhair faoi agus ansin athiarracht, más é via HTTP nó prótacal éigin eile le roinnt freastalaí. Mar sin, bhí sé seo de airteagal spraoi sa láithreán gréasáin ar líne anseo, a labhair faoi bug leith nó cód cearr gur féidir linn a cheangal i ndáiríre i bplé an tseachtain seo caite. Mar sin, bhí an ceannlíne mar seo a leanas, téann an scéal anseo, D'oibrigh Josh Breckman le haghaidh chuideachta a dtír conradh a bainistíochta ábhar a fhorbairt córais, nó CMS mar a bhíonn siad ar a dtugtar, ar an suíomh gréasáin mór go cothrom rialtais. Cuid mhaith de na tionscadal atá i gceist córas bainistíochta inneachair a fhorbairt ionas go mbeadh fostaithe a in ann a thógáil agus a chothabháil an shíor ag athrú ábhar le haghaidh a suíomh. Chuaigh Rudaí go leor go maith le haghaidh ar feadh cúpla lá i ndiaidh dul beo. Ach ar lá sé, ní chuaigh rudaí chomh maith. Gach ceann de an t-ábhar ar an Bhí láithreán gréasáin vanished go hiomlán. Agus faoi stiúir gach leathanach ar an réamhshocraithe, cuir isteach leathanach gréasáin ábhar. Whoops. Glaodh Josh i do imscrúdú agus faoi deara go bhfuil ceann go háirithe troublesome seoladh IP seachtracha a bhí imithe i agus a scriosadh go léir an t-ábhar ar an gcóras. Ní raibh an seoladh IP mbaineann le roinnt Bent hacker thar lear ar scriosadh cabhrach faisnéis rialtais. Réiteach sé a googlebot.com, Gréasáin crawling féin alla Google. Whoops. Tar éis beagán taighde agus scrambling timpeall a aimsiú cúltaca noncorrupt, Josh fuair an bhfadhb. Bhí chóipeáil úsáideoir agus pasted roinnt ábhar ó cheann leathanach go ceann eile, lena n-áirítear an hyperlink in Eagar a chur in eagar ar an ábhar ar an leathanach. De ghnáth ní bheadh ​​sé seo a bheith ina bheadh ​​a eisiúint ó úsáideoir taobh amuigh Ní mór a chur isteach ar an t-ainm agus an focal faire, ach ar an gcóras fíordheimhnithe CMS, an córas logáil isteach, ní raibh a chur san áireamh hacking sofaisticiúla teicnící de Google Spider. Whoops. Mar a casadh sé amach, Google Ní Spider úsáid fianáin, rud a chiallaíonn gur féidir é go héasca sheachbhóthar seic don Tá tú logáilte isteach ar a leagan síos fianán a bheith bréagach. Ní chuireann aird a thabhairt ar JavaScript, a bheadh ​​de ghnáth pras agus úsáideoirí a atreorú nach bhfuil logáilte isteach. Déanann sé, áfach leanúint ar gach hyperlink ar gach leathanach a fhaigheann sé, lena n-áirítear iad siúd a bhfuil Scrios Leathanach sa teideal. Whoops. Mar sin, cad a chiallaíonn sé i níos mó téarmaí teicniúla ach inrochtana go cothrom? Ciallaíonn sé sin go díreach le linn a láithreán gréasáin, raibh siad URLanna nach bhfuil murab ionann agus an ceann a d'fhéadfadh tú a fheiceáil i fhadhb a leagtar seacht. Athghairm i fhadhb a leagtar seacht nó a fhios i fhadhb a leagtar seacht go bhfuil tú ag dúshlán, i measc rudaí eile, chun stoic a dhíol ar son na n-úsáideoirí. Ach a chur i bhfeidhm go gné trí ar a fháil trí hipearnasc i do úsáideora comhéadan, is dócha nach bhfuil an smaoineamh smartest mar má tá do shuíomh ar bhealach inrochtana ceachtar ag an duine a tá chliceáil thart nó a cheannach bot cosúil le Google nó Spider mar a bhíonn siad ar a dtugtar go díreach crawling an ngréasán ag iarraidh a innéacs an ngréasán mar inneall cuardaigh, d'fhéadfadh siad an-éasca bhuail tríd an fháil den chineál seo URL. Agus sin feidhmiúil coibhéiseach le, sa chás seo, díol gach scaireanna de Google. Anois frankly, tá sé go hiomlán asinine bhfuil an CMS JavaScript a úsáidtear agus fianáin a chóras logáil isteach a chur i bhfeidhm agus gan é sin a dhéanamh taobh freastalaí, mar tú guys a dhéanamh agus beidh i PSet 7-- níl login.php file-- i gcónaí, i gcónaí, gcónaí ba chóir slándála a rinneadh ar an taobh bhfreastalaí, ní ar an taobh cliant mar gheall, mar sin Tugann airteagal agus d'fhéadfadh tú féin a fheiceáil ag pointe éigin, tá sé fánach le haghaidh úsáideoir, maith nó olc, dul díreach in aice JavaScript gan trácht ar fianáin. Mar sin, tá go bhfuil do WTF laethúil. Níl ceann amháin níos mó, a ach de chineál ar scary, mar sin beidh mé a lua má ach amháin mar cheacht saoil. Aon uair a úsáideann tú iarratas ar a dtugtar nós Snapchat nó a leithéid a deir na grianghraif seo caite ach amháin le haghaidh cúig soicind, deich soicind, nó whatnot. Tá siad ephemeral Is é sin go hiomlán nach bhfuil an cás. Cosúil nach bhfuil aon bhealach, go digiteach, chun foirm éigin de físeán a chur i bhfeidhm, nó íomhá, no téacsúil a roinnt den sórt sin go faighteoir ar an taobh eile Ní féidir a shábháil ar bhealach an sonraí. Ar an mbealach is naive, duine éigin D'fhéadfadh a gcuid fón. Agus tá siad ar 10 an dara fuinneog agus ag féachaint ar roinnt Léim a ghlacadh ach fón éigin eile agus grianghraf air, ar ndóigh. Mar sin, is féidir leat a chaomhnú rud digiteach go bhealach. Tá cuid de a fhios agat conas a ghlacadh screenshots ar do ghuthán. Go deimhin, más rud é nach bhfuil a fhios agat seo, a thuiscint go bhfuil ar a laghad, Snapchat, agus sílim eile hiarratais na laethanta seo, ar a laghad a insint duit má tá an Tá faighteoir iarbhír glacadh seat de do íomhá. Ach níos measa fós, ba é seo an snappening, mar dhuine chum sé le déanaí, i gcás thart ar 100,000 Bhí snaps scaoileadh i cad atá ar a dtugtar comhad torrent ar láithreáin ghréasáin éagsúla ar deireadh thiar. Agus bhí sin a bunch iomlán teachtaireachtaí príobháideacha agus do phoist. Casadh sé amach an chuid is mó acu neamhurchóideacha, mar sin ní a d'fhéadfadh a bheith ag súil. Ach toisc go raibh ar dhaoine úsáid ar an suíomh gréasáin tríú páirtí, logáil isteach lena n-Snapchat ainm úsáideora agus do phasfhocal agus ansin shábháil go léir a snaps ar an láithreán gréasáin tríú páirtí. Agus bhí sé go tríú páirtí láithreán gréasáin a bhí hacked go, atá díreach i gceist duine éigin figured amach conas a fháil ar na 100,000 móide de na n-íomhánna isteach ina tiomáint crua féin do roinnt ina dhiaidh sin. Frankly, anseo freisin, tá sé saghas den asinine go Snapchat i bhfeidhm i cibé slí a Is féidir le tríú páirtí a shórtáil de tascradh na sonraí agus nach bhfuil sé ceangailte le do iarratas féin ag rith ar an bhfón. Ach anseo, freisin, a thuiscint go bhfuil na Ní chóir rudaí a ghabháil leat ag iontas, nó ar a laghad ba chóir go a bheith ina ceacht saoil i anseo. Más maith leat an teicniúla sonraí, téigh go dtí sin URL ann go bhfuil sa lá atá inniu sleamhnáin. Gach ceart, aon cheist ar an lae inniu ceachtanna saoil i CS? Cas go amach. Rud ar bith ar chor ar bith? Rud ar bith ar chor ar bith? Tá mé a lán de na daoine a sheiceáil n Snapchat nó rud éigin anois. Gach ceart, mar sin SQL, Struchtúrtha Iarratas Teanga. A ligean ar wrap sin. Agus freisin, cé táimid ag scratching ach an dromchla seo teanga, beidh orainn a thabhairt duit go leor de na teanga i bhfoirm PSet 7 ionas gur féidir leat dul i ngleic le roinnt feidhmiúlacht coitianta go leor. Ach realize tá cúpla rudaí nach bhfuil muid ag teastáil de tú, ach tá siad ag dul a bheith tábhachtach a thagann tionscadail deiridh agus is cinnte teacht déanamh iarbhír suíomh gréasáin le húsáideoirí iarbhír Tá an cinneadh seo a dhearadh. Tharlaíonn sé go raibh i bunachar sonraí MySQL, tú Tá bunches de roghanna ar nós na cineálacha sonraí le haghaidh do chuid colúin agus rudaí eile, ach caithfidh tú freisin an rogha de stórála sin ar a dtugtar inneall do gach ceann de do shonraí, an saghas córas comhaid, má tá tú ar an eolas, do gach ceann de do shonraí. Cén leagan amach go bhfuil sé stóráilte sa deireadh i? Agus an ceann is coitianta, b'fhéidir, a bhí MyISAM agus InnoDB, téarmaí teicniúla go beidh orainn a cúram faoi ach a mhéid nach ionann agus ní a dhéanann duine a bheith an gné seo a leanas. Má ghlactar leis go bhfuil tú cuisneoir dorm beag. Agus is dócha go bhfuil tú féin agus do roommate, a chomhroinneann an cuisneoir, Tá i ndáiríre Fond de bainne a rá. Agus é seo, go deimhin, conas an Dúradh scéal dom ar bhealach ar ais sa lá nuair a thóg mé ar chúrsa ar a dtugtar CS 161 Córais Oibriúcháin, a dul céanna Scrúdaíonn an ábhar seo. Mar sin, tá tú bhí an chuisneoir. Tá tú as bainne. Agus a thagann tú abhaile, do roommate fós ag aicme nó pé rud, agus cinneadh a dhéanamh tú Tá mé ag dul go dtí dul amach agus a fháil ar roinnt bainne. Mar sin, a dhúnann tú an cuisneoir, lockup an seomra dorm, téigh trasna na sráide go CVS nó cibé áit, agus a fháil teacht a cheannach roinnt bainne. Idir an dá linn, a fhaigheann do roommate bhaile ó rang Faigheann, isteach sa seomra dorm, Osclaíonn an cuisneoir, realizes freisin ooph, tá muid amach as bainne. Mar sin, dúnann sé nó sí an cuisneoir agus ansin a tharlaíonn chun dul go dtí an CVS eile, a tharlaíonn a bheith bloc amháin ar shiúl ó na CVS eile sa chearnóg, agus faigheann ag teacht ann a fháil ar roinnt bainne. Anois, ar ndóigh, ar feadh cúpla nóiméad ina dhiaidh sin, is féidir leat an dá a fháil ar ais, agus an ceann is measa de gach is féidir Tá torthaí a tharla. Tá an dá de tú go bhfuil bainne. Agus nach bhfuil tú i ndáiríre cosúil le bainne sin i bhfad. Mar sin, tá duine amháin acu díreach ag dul a géar ag pointe éigin. Mar sin, anois tá tú an iomarca bainne sa chuisneoir ar fad mar gheall ar cén fáth? [Inaudible] DAVID MALAN: Yeah, ní raibh tú bhealach cumarsáid a dhéanamh lena chéile go raibh tú ag fáil bainne. Mar sin, i an simplí de bealaí ar fud an domhain an duine, conas a d'fhéadfadh tú a sheachaint seo amaideach scéal ó tarlú den sórt sin go tú ag deireadh ach suas le ceann amháin. Téacs iad, yes maith. Ach conas eile? Iar-sé nótaí. DAVID MALAN: nóta Iar-é. Aon chineál na cumarsáide a insíonn do roommate Ní gá dul isteach sa chuisneoir le haghaidh bainne. Tá mé ag dul chun dul restock ar mo chuid féin. Mar sin, is gá duit ar bhealach a chur faoi ghlas ar an acmhainn seo. Mar sin, is féidir linn a dhéanamh ar this-- féidir linn cineál ruin an scéal agus seal i scéal CS trína smaoineamh seo mar díreach cosúil le athraitheach, atá ag stóráil roinnt luach. Agus anois, an Is é luach an bhainne náid, nach bhfuil tú ag iarraidh do chuid roommate a iniúchadh go athróg agus ansin cinneadh a dó nó di féin bunaithe ar an staid sin athróg má tá tú i mbun an phróisis ag athrú an staid sin athraitheach. Mar sin, ar cheann de na línte SQL go bhfuil muid a thabhairt duit i PSet 7 sonraíocht Tá an ceann seo anseo. Agus ní dhéanaimid chaitheamh ollmhór méid ama ag caint faoi. Ach casadh sé amach, má tá tú ag iarraidh a cheannach roinnt stoc i airgeadais CS50 go bhfuil tú cheana féin roinnt scaireanna de, tú ag iarraidh a bheith in ann a dhéanamh ar roinnt na rudaí láithreach le chéile. Ba mhaith leat a bheith in ann go héifeachtach, ar leibhéal ard, sheiceáil gach ceart, más mian liom a cheannach scaireanna níos mó de saor in aisce, an stoc pingin againn labhairt faoi sa spec, Ba mhaith liom a sheiceáil ar dtús cé mhéad scaireanna agam. Agus is dócha go bhfuil sé cúig. Agus is dócha ba mhaith liom a cheannach 10 níos mó, mé deireadh thiar ag iarraidh a bheith ar 15 scaireanna de stoc. Mar sin, tá mé a iarraidh ar dhá cheist. Cad é an staid an athróg? Cad é an staid an tsraith nua? Cé mhéad scaireanna atá agam faoi láthair? Ansin mian leat dul ar aghaidh agus a thabhairt cothrom le dáta é. Mar sin, go bhfuil an aschur ar an bainne sa mhéid is go bhfuil tú ag seiceáil an tsraith nua, agus ansin ba mhaith leat a thabhairt cothrom le dáta é mar más mian leat a cheannach ar 10 scaireanna, nach bhfuil tú ag iarraidh a athrú an tsraith nua go 10, is féidir leat ag iarraidh é a athrú go 5 móide 10 nó, ar ndóigh, 15. Cinntíonn an líne de chód gur dá smaointe coincheapúla tharlóidh le chéile nó nach bhfuil ag gach. Níl aon duine, lena n-áirítear úsáideoirí éigin eile a bhfuil sé ag logáilte isteach ar an suíomh gréasáin céanna, Is féidir cur isteach ar bhealach seiceáil ar an tsraith agus a uasdátú an tsraith nua, an a roghnú agus an nuashonrú más maith leat. Agus nach bhfuil an error Super soiléir, ach an líne amháin, chomh fada is go bhfuil sé, a chinntíonn go dá oibríochtaí seiceáil an athróg nó seiceáil an tsraith nua agus cothrom le dáta an tsraith tarlú atomically. Ó anseo théann muid arís. Teachtaireacht téacs ar mo ghuthán. Mar sin, a ligean ar a dhéanamh ar an beag coincréite níos mó. Cuir i gcás go bhfuil tú a chur i bhfeidhm cuisneoir, agus nach bhfuil tú ag cur chun feidhme PSet 7 ach banc iarbhír, nó ATM, an Teller Uathoibrithe Meaisín, trína tú ar bhealach ag iarraidh a bheith in ann a chumhachtú úsáideoirí airgead a aistriú ó cuntas amháin go ceann eile. OK, hang ar. Tá mé ag dul chun Mute seo anois, go raibh maith agat. Mar sin, ba mhaith linn airgead a bhogadh as uimhir chuntais amháin isteach i gcuntas eile líon, go sonrach $ 100. Mar sin, is é seo de chineál ar treallach Mar shampla, trína tú, an ATM, d'fhéadfadh gur mhaith a fhorghníomhú dhá SQL ceisteanna, a dhealú ó chuntas amháin, agus a chur leis an gcuntas eile. Ach ba mhaith leat a chinntiú go bhfuil na dhá líne araon a tharlóidh nó nach bhfuil ag gach. Ní mian leat rud éigin a dul isteach. Ní gá duit roinnt Guy cliste dona bhealach seasamh ag Bank of America le dhá ATM i os comhair air agus ar bhealach saghas clóscríobh sa orduithe ag an am céanna, tá súil againn ag iarraidh a asbhaint $ 200 ionad de $ 100 agus ní raibh ach ag $ 100 chun sochair. I mbeagán focal, ba mhaith leat sin a féin a iompar go díreach mar a bhfuil súil agat. Agus an mbealach a dhéanann tú seo bunachar sonraí i SQL tú Timfhilleadh sé i cad ar a dtugtar idirbheart. Literally i SQL, is féidir leat glaoch CS50 ar feidhm cheist le ceanglófar tús athfhriotail idirbheart. Ansin, is féidir leat a fhorghníomhú aon uimhir fiosruithe SQL ina dhiaidh sin, ach aon cheann acu a ghlacadh bhfeidhm ar an mbunachar sonraí go dtí go ghlaonn tú ar cheist athfhriotail ó ceanglófar tiomantas, más rud é arís ag baint úsáide as PHP. Agus ar an mbealach seo, is féidir leat a chinntiú go fiú má tá tú 1,000 úsáideoirí go léir ag bualadh do bhunachar sonraí ag an am céanna, SQL Beidh gealltanas go bhfuil na Beidh dhá ceisteanna a i bhfeidhm ceart i ndiaidh a chéile. Mar sin, nach bhfuil tú ag deireadh suas le os cionn bainne nó an méid mícheart, ar deireadh thiar, airgid. Mar sin, a choinneáil i gcuimhne, Níl an oiread sin do PSet 7 ach do thionscadail deiridh má tá tú i ndáiríre ag iarraidh a sonraí a bogadh thart ar fud na táblaí a d'fhéadfadh tú anseo. Ach b'fhéidir fiú níos simplí agus níos mó soiléir a thuiscint le sampla Tá an ceann seo anseo. Agus ríomhphost duine éigin dúinn faoi seo ach an lá eile nuair a chonaic sé rud éigin ar líne den chineál céanna. Mar sin, go bhfios dom, ar an gcóras bioráin nach bhfuil sé i mbaol ionsaí. Agus tá mé aon smaoineamh má tá sé úsáidí fiú an mbunachar sonraí SQL thíos an cochall. Ach a ligean ar é a úsáid le haghaidh ar mhaithe le plé. Seo an scáileán go Folks Harvard claonadh a fheiceáil nuair a logáil isteach lena n- Uimhir Harvard ID agus a n-bioráin. Agus is dócha go raibh an córas bioráin i bhfeidhm i PHP agus le MySQL bunachar sonraí, an cód go bhfuil duine éigin bliana d'fhéadfadh a bheith i scríbhinn ó shin D'fhéadfadh breathnú mar seo. An chéad, a dhearbhú ainm úsáideora ar a dtugtar athróg. Agus a fháil go díreach ó an superglobal POST. Ansin a fháil athróg eile ar a dtugtar phasfhocal agus an rud céanna. Agus ansin a fhorghníomhú ach an cheist fada anseo, roghnaigh réalta ó úsáideoirí nuair Is ionann ainm úsáideora den sórt sin agus den sórt sin agus is ionann phasfhocal den sórt sin agus den sórt sin. Fógra go bhfuil an curly guailleáin Bainim úsáid mé anseo ach a chiallaíonn go PHP, dul romhainn agus ionad an luach atá ag an dá athróga ceart ann. Ní bhíonn siad fíorghá, ach claonadh a bhíonn siad a sheachaint earráidí error subtle. Mar sin, Breathnaíonn sé seo go hiomlán ceart ar an gcéad amharc. Agus tá sé. D'fhéadfá a chur i bhfeidhm ar an Córas bioráin ar an mbealach seo. Ach is dócha go bhfuil a Super mac léinn cliste agus mailíseach ionchur seo mar chuid nó a cuid bioráin. Mar sin, tá mé deireadh leis an piléar comharthaí anseo i bréag suas, agus tá mé le fios i ndáiríre cad a d'fhéadfadh sé nó sí a bheith a chlóscríobh. Agus tá sé ina beagán aisteach. Ach cad a jumps amach ag tú ar d'fhéadfadh a bheith worrisome faoin ionchur an úsáideora, fiú má tá tú aon smaoineamh cad ciallaíonn ionsaí SQL instealladh. Cén fáth a dhéanann sé seo breathnú ar fishy beag? Cad é sin? [Inaudible] DAVID MALAN: An nó go bhfuil beagán amhrasach. Go deimhin, tá go bhfuil eochairfhocal ó SQL. Mar sin, nach bhfuil bode maith. Ar an bhfíric go níl go léir na comharthaí athfhriotail singil there-- i ndáiríre, ar cheann de na is éasca bealaí a bhriseadh ar roinnt bunachair sonraí Tá ag clóscríobh in ainm cosúil O'Reilly go bhfuil apostrophe ann mar má tá an duine a scríobh an cód taobh thiar de na pictiúir Ní chuireann san áireamh go bhfuil D'fhéadfadh a bheith comharthaí athfhriotail singil i úsáideora ionchur, agus sé nó sí ag baint úsáide as comharthaí athfhriotail singil i n-cód, Is féidir le rudaí a tharlóidh olc. Go deimhin, níos measa fós, a mheas seo. Más rud é go raibh sé seo arís an cód go bhfuil duine éigin ag na blianta Harvard ó shin scríobh an biorán córas, faoi deara cad ar tí é a fháil in ionad d'ainm úsáideora agus do phasfhocal má tá na cineálacha úsáideoir i arís skroob mar a n-ainm úsáideora agus ansin ceann amháin, dhá, trí, ceithre, cúig, ceanglófar nó ceanglófar athfhriotail ó aon ionann ceanglófar amháin. Agus faoi deara cad eochair anseo go bhfuil an t-úsáideoir gan thosaigh a gcuid focal faire nó a n-bioráin le ceanglófar. Agus nach bhfuil siad dar críoch sé le ceanglófar toisc go raibh sé nó sí ag glacadh leis go más rud é an Ní raibh Ríomhchláraitheoir chomh géar, tá siad ag dul a bheith acu sin a comharthaí athfhriotail singil i n-cód. Mar sin, tá anseo an cód. Agus an ionad sin D'fhéadfadh tarlú anois é seo. Agus tá mé béim cad Tá an t-úsáideoir clóscríofa i. Mar sin, sula, i ndiaidh. Agus faoi deara cad mildly worrisome anois mar gheall ar an leath ceart an cód SQL? Tá sé beagán níos casta, admittedly, ná na ceisteanna againn le feiceáil. Ach ní féidir é seo, b'fhéidir a bheith ina rud maith má tá tú ag rá roghnaigh réalta, atá roghnú gach rud ó an úsáideora tábla i gcás ina is ionann ainm úsáideora skroob agus ionann phasfhocal amháin, dhá, trí, ceithre, cúig nó ceann is ionann amháin. Cad é an impleacht loighciúil de chlásal deiridh dócha? Tá sé fíor go díreach i gcónaí. Agus toisc go bhfuil muid saghas guessed nó figured amach trí thriail agus earráid go bhfuil an Ríomhchláraitheoir a Scríobh ní raibh cód seo réamh-mheas duine an duine nó olc clóscríobh i Sleachta aonair chomh maith, Is féidir linn a syntactically comhlánaigh an cheist SQL le rud éigin nonsensical ach rud éigin go Is syntactically mícheart go meastóireacht i gcónaí go fíor. Mar sin, má tá an gcód seo á n-úsáid a fhreagairt an cheist fíor nó bréagach chóir an úsáideoir a cheadú chun pas a fháil, an Tá freagra i gcónaí ag dul cosúil a bheith fíor toisc go bhfuil sé seo ag dul i gcónaí rud éigin as an mbunachar sonraí a roghnú mar gheall ar cheann ar ndóigh, is ionann i gcónaí amháin. Mar sin, cad é an réiteach? Well i PSet 7, ní mór dúinn i ndáiríre a sheachaint seo go léir le chéile. Thabhairt leat, feidhm cheist, agus táimid tú a spreagadh chun marcanna gceist a úsáid mar ionadchoinneálaithe, cosúil i spiorad le printf s% s, ach cad eochair faoi na marcanna gceist anseo má léigh tú i ndáiríre trí functions.php, i gcás ár n- Tá feidhm cheist i bhfeidhm, na marcanna gceist éalaigh, trína rud ar bith a d'fhéadfadh a bheith contúirteach cosúil go bhfuil a ceanglófar amháin iompú isteach i ceanglófar amháin éalaigh. Mar sin, is é seo cad i ndáiríre ag tarlú má tá tú úsáid a bhaint as feidhm cheist CS50 nó aon uimhir leabharlanna saor in aisce tríú páirtí a an rud céanna. An ní ábhar sa chás seo, i glas, má tá an t-úsáideoir clóscríofa i ceanglófar amháin mar gheall ar an cheist Is é feidhm a scríobhamar ag dul go dtí backslashes chur roimh aon ceanglófar contúirteacha den sórt sin. Mar sin, nach bhfuil sé seo, i Go deimhin, ag dul a bheith legit. Tá sé seo cosúil le a chlóscríobh i dÚsachtach lorg Focal faire go bhfuil, ar ndóigh, nach bhfuil ag dul a bheith 'fhocal faire skroob s. Mar sin, tá an beir leat do CS50 amháin, go hiomlán a úsáid i gcónaí rud éigin cosúil le feidhm cheist CS50 ar nó an leabharlann bunúsacha, a tharlaíonn a bheith ar a dtugtar STFC. Ach riamh, riamh, riamh a dhéanamh cód mar seo gan éalú nó sciúradh mar a deir siad do ionchur. Agus beidh tú ag pointe éigin is dócha teacht ar fud roinnt suíomh gréasáin mar seo. Go deimhin, is cosúil é a bheith ar an cás mhaith ag aerfoirt agus óstáin in áiteanna áit a bhfuil siad saor in aisce Wi-Fi rochtain go bhfuil tú a logáil isteach chun, Is iad na láithreáin ghréasáin i gcónaí bhfeidhm horribly. Agus mar sin saghas spraoi sa fheidhmiú sa bhaile, ní chun críoch mailíseach nó níos mó de spraoi ar an mbóthar a fheidhmiú, is é a chlóscríobh go díreach apostrophe, ceanglófar amháin, i bhfoirm ar roinnt suíomh gréasáin agus féach cad a tharlaíonn. Agus má tuairteanna an freastalaí nó go dtabharfaidh tú de shaghas éigin de teachtaireacht earráide, d'fhéadfadh sé a bheith an-maith go bhfuil nach bhfuil ag súil duine éigin seo. Agus ansin ba chóir duit an airdeall ar an ceart dul ar aghaidh níos faide údaráis agus. Mar sin, anois ba chóir duit guys tá súil againn beagán níos mó greann geek a thuiscint anseo. [Gáire] DAVID MALAN: Tá a fhios agat go bhfuil tú geek. Maidir leis an roinnt eile bliana, beidh tú ag cuimhneamh a beag Táblaí Bobby é mar gheall ar an chartúin anseo. Mar sin, a choinneáil i gcuimhne agus muid lasc comhthéacs uair dheireanach lá atá inniu ann do JavaScript. Táimid tar éis a chaith sách beag am ar an chomhréir de PHP mar tá sé i ndáiríre Super cosúil leis C. Agus nicely go leor, JavaScript freisin Tá Super cosúil leis error C chomh maith beidh orainn a fheiceáil i ach faoi láthair agus mar Feicfidh muid féach níos déanaí an tseachtain seo go háirithe. Cad is féidir leat a dhéanamh leis an teanga seo, cé go bhfuil, go léir an níos cumhachtaí, go háirithe le APIs. Ach ar dtús ar thuras tapaidh. Mar sin amháin, i JavaScript, níl Níl aon fheidhm is mó, a bhfuil deas. Mar is amhlaidh le PHP, is féidir leat scríobh go díreach cód. Coinníollacha breathnú mar seo. Agus d'fhéadfadh nathanna Boole breathnú mar seo nó mar sin. Lasca ann, agus tá siad D'fhéadfadh breathnú mar seo. Cuma ceithre lúb mar seo. Cé breathnú lúb mar seo. Ná whiles breathnú mar seo. Agus ansin breathnú arrays mhaith seo, an-chosúil leis PHP. Ach faoi deara, go bhfuil i JavaScript tú dhearbhú athróg nach bhfuil dollar shíniú, ní le cineál sonraí ach literally ag rá var chun athróg os a chomhair. Tá sé ró-clóscríofa loosely sa mhéid is go bhfuil sé cineálacha, ach nach bhfuil tú a dhearbhú go sainráite iad. Agus ansin ar shraith, d' Mar shampla, d'fhéadfadh cuma mar seo, téad sin a iarrtha sa chás seo. Agus ansin réad. Agus beidh na linn a fheiceáil níos mó roimh i bhfad. Agus is é rud b'fhéidir ar cheann de na is coitianta a fheictear struchtúir sonraí i JavaScript bunaithe Clár mar is féidir tú a chomhlachú treallach eochair péirí luach ach cosúil le arrays comhthiomsaitheach PHP ar agus díreach cosúil le do tábla hash féin nó iarracht a dhéanamh mar a chuireamar i bhfeidhm cúpla seachtain ar ais. Mar sin, a ligean ar a fheiceáil i ndáiríre cad Is féidir linn a dhéanamh le JavaScript. Agus go háirithe, is é seo liosta níocháin de ghnéithe go bhfuil brabhsálaithe go ar ár gcumas JavaScript a Hook isteach ar an suíomh gréasáin ar an mbealach seo a leanas. JavaScript a úsáidtear go minic mar taobh cliant teanga scriptithe. Níl sé le chéile. Tá sé léiriú freisin. Ach murab ionann agus PHP, bhfuil curtha ar siúl ar an bhfreastalaí, i fhreastalaí gréasáin, nó taobh istigh dhomhain ar an cliaint, JavaScript Tá difriúil sa mhéid is go sé Ritheann de ghnáth sa bhrabhsálaí. Mar sin, aon chód JavaScript dtosaíonn tú scríobh do PSet 8, nó do thionscadal deiridh, nó go bhfuil sa saol mór ag dul go ginearálta a shábháil ar an bhfreastalaí, go hiomlán i HTML ponc nó dot JS do chomhad JavaScript. Ach tá an bhrabhsálaí ag dul a íoslódáil go JavaScript cód ar do shampla féin de Chrome, nó IE, nó Firefox, nó cibé. Agus is é an cód dul iarbhír a fháil chun báis taobh istigh de do bhrabhsálaí féin. Díreach chun seo a dhéanamh níos mó fíor, a ligean ar a fheiceáil i bhfoirm coincréite. Tá aon smaoineamh cad a dhéanann an cód seo gan ndáiríre a léamh tríd. Ach lig dom dul go dtí Facebook.com gan logáil isteach. Lig dom dul go dtí Iniúchadh Element agus téigh go dtí, ligean le rá, Líonra agus Athluchtaigh an leathanach seo. Agus beidh muid ag see-- lig dom athrú Reload an Leathanach a fháil ar na hiarrataí go nua. Agus an chéad uair an- Tá comhad Feicim CSS, CSS. Seo é an chéad JavaScript comhad, agus tá mé aon smaoineamh cad a dhéanann sé seo, ach anseo Is cuid den chód JavaScript a thiomáineann Facebook. Níl sé fiú i ndáiríre go nochtadh zúmáil isteach. Tá sé fós ach nonsensical mar. Ach go mbainfidh tú a fheiceáil fiú síos thíos, níl fiú níos mó de na comhaid JavaScript. Whoops. Sin a ping. A ligean ar dul síos beagán a thuilleadh, a thuilleadh, a thuilleadh. Níl ceann amháin. Níl ceann amháin. Níl ceann amháin. Mar sin, cé go Facebook, taobh thiar de na radhairc, tá sé scríofa go páirteach i PHP agus leagan féin Facebook díobh, níl méid ollmhór JavaScript. Go deimhin, aon cheann de na comhrá a dhéanann tú ar Facebook, aon cheann de na nuashonruithe amlíne inlíne a tharlaíonn i bhfíor-am, fad de sin tiomáinte ag JavaScript. Yeah? LUCHT ÉISTEACHTA: Níl mé cinnte má tá sé seo Facebook, ach shíl mé gur fhorbair Facebook a gcuid féin dteanga cód intí? DAVID MALAN: Rinne siad. Mar sin, sin an fáth a rá liom a athraitheas PHP dtugtar Hip Hap go bhfuil siad i ndáiríre gnéithe breise den sórt sin nuair a Mark i bhfeidhm ar dtús Facebook, Bhí sé scríofa i PHP. Agus gur saghas fhan an saghas teanga ceann tosaigh go n-úsáideann siad ar feadh cuid mhaith a n-códaithe, ach tá sé Ní tá sé ina teanga go scálaí go háirithe go maith do na billiúin de na daoine. Agus mar sin tá siad seo a leanas a gcuid féin feabhsuithe ar chúl stáitse. Agus úsáideann siad aon uimhir teangacha eile do píosaí éagsúla a mbonneagar. Mar sin tá, tá sé ina athraitheas cad a fhios againn anois mar PHP. Mar sin a ligean ar ghlacadh le breathnú ag cúpla samplaí ar conas a d'fhéadfaimis a úsáid JavaScript anseo. Sa lá atá inniu cód foinse, ní mór dúinn a bunch de chomhaid, an chéad cheann díobh, a ligean ar a dtugtar DOM nialas. Mar sin Breathnaíonn DOM náid mar seo a leanas. Lig dom dul isteach sa chomhadlann agus oscailt suas domzero.html, an barr a bhfuil cineál doc dearbhú, a thagann ag rá anseo HTML 5. Agus anois anseo clib HTML. Seo an chlib ceann. Agus anseo cad atá nua lá atá inniu ann. Tá muid anois tag script taobh istigh de na cheann an leathanach. Agus a dhéanann sé seo cosúil an-beag, ach fógra go bhfuil mé sainithe script, a JavaScript. Agus mar leataobh, ós rud é seo Is míthuiscint choitianta, Tá JavaScript fíor aon rud a dhéanamh le Java, an teanga go bhféadfadh roinnt de tú D'fhoghlaim i APC. Bhí sé níos mó de margaíochta Rud ná rud ar bith, marcaíocht an coattails na blianta Java shin. Ach JavaScript, rud a dhéanamh le Java, ach mar an gcéanna, agus annoyingly, confusingly ainmnithe. Mar sin, anseo é an chaoi tú a dhearbhú feidhm i JavaScript, a rá literally feidhm, ansin an t-ainm na feidhme, ansin aon argóintí d'fhéadfadh sé a ghlacadh, díreach cosúil i PHP. Casadh amach i JavaScript, ar cheann de na cinn is feidhmeanna annoying a bheith ann go bhfuil Alert. Is fuinneog beag a Beidh pop suas agus airdeall tú le roinnt píosa eolais. Tá sé frowned go ginearálta ar. Ach beidh orainn é a úsáid mar ár an chéad a fheidhmiú anseo. Fógra roinnt gnéithe de JavaScript. Sleachta Aonair agus Sleachta dúbailte Ní gá ábhar i ndáiríre níos mó. Sleachta Aonair agus dúbailte Is féidir le comharthaí athfhriotail a interchanged, ach i C, caithfidh tú a úsáid Sleachta dúbailte le haghaidh teaghráin, agus tá tú dhá singil Sleachta do carachtair. I saol JavaScript, go leor daoine, daoine is mó úsáid a bhaint as comharthaí athfhriotail singil timpeall teaghráin díreach mar tá sé ina rud stíle. Ach cad é an t-oibreoir móide anseo, a nach bhfuil feicthe againn roimhe seo? LUCHT ÉISTEACHTA: comhchaitéiniú. DAVID MALAN: comhchaitéiniú. Mar sin, nach bhfuil C bhfuil seo fiú. PHP Tá an t-oibreoir ponc, a dhéanann seo. JavaScript Tá an t-oibreoir móide, a confusingly bhfuil díreach cosúil Java. Anois, cad atá ar siúl anseo? Mar sin, tá anseo nuair a bunúsach tuiscint sin pictiúr chaith muid suas lánúin lá ó shin a thagann i spraoi. Cuimhnigh nuair a bhí againn simplí leagan de HTML page-- Dúirt sé ach, Dia duit ar domhan. Agus ansin tharraing muid le crann leis an gceart, a Bhí a bunch de dronuilleoga agus línte iad a nascadh cosúil le crann teaghlaigh. Mar sin, go bhfuil an DOM mar a thugtar air nó Samhail Oibiachta Doiciméad. Agus casadh sé amach gur féidir leat rochtain a fháil dronuilleoga sa crann le error cosúil leis an méid seo a leanas. Deir tú literally doiciméad, a bhfuil athróg speisialta domhanda i JavaScript clár a bhfuil feidhm a bhaineann leis gur féidir leat rochtain a fháil cosúil le struct, ach tú go simplí rá ponc agus ansin an t-ainm an fheidhm a, eilimint a fháil trí ID. Is é an ghné ba mhaith liom a fháil cosúil ceanglófar-ainm athfhriotail. Agus ansin ba mhaith liom a fháil ar a luach. Anois, tá muid ag dul chun tosaigh ar dúinn féin. Níl mé fiú cinnte cad tá sé seo ar fad faoi. A ligean ar aghaidh go tapa ar an HTML ar an leathanach, a bhfuil Super simplí. Fógra go bhfuil mé sainithe a fhoirmiú síos anseo. Fógra tá mé thug sé ar leith ID, cé nach atá againn a úsáidtear an tréith roimh. Ach ann seo i HTML. Is féidir leat a aithint uathúil roinnt smután de HTML le aitheantóir mar seo. Fógra anois casadh this-- amach HTML Tacaíonn, in aghaidh an liosta níocháin nóiméad ó shin, ina n-iomláine bunch de láimhseálaithe ócáid. Agus deir an ócáid ​​seo láimhseálaí ar chur isteach. Ar an t-úsáideoir isteach seo foirm, glaoigh ar an cód seo a leanas. Agus tá an cód go bhfuil ag dul a bheith ar a dtugtar nó a fhorghníomhú is é go díreach seo, na Gréige feidhm dhiaidh tuairisceán bréagach. Ba chóir gach rud eile bheith ar an eolas go leor. Seo ionchur téacs chineál, a bhfuil a ID, sa chás seo, tá sé ag dul a bheith an t-ainm. Ní chuirimid bhfuil an t-ainm tréith iarbhír seo time-- agus cnaipe a chur isteach. Mar sin, Breathnaíonn an leathanach mar thoradh mar seo. Agus an t-iompar mar thoradh air, Feicfidh tú a fheiceáil, Breathnaíonn an nós seo. An leathanach é hóstach áitiúla a deir, Dia duit David, hardly taitneamhach aesthetically bhealach chun beannú úsáideoir. Ach cad atá ar siúl i ndáiríre ar? Bhuel, a mheas cad é seo. Is é seo an réimse téacs. Agus de réir an HTML anseo, tá mé a thugtar air aitheantóir uathúil ar a dtugtar an t-ainm ceanglófar athfhriotail. Idir an dá linn, tá a dúirt mé nuair a Cuireann an t-úsáideoir an fhoirm seo ag bualadh isteach nó a chliceáil ar an Cuir cnaipe, glaoigh ar an fheidhm a dtugtar Beannaigh agus ansin ar ais Bréagach. A ligean ar a mheas iad siúd i droim ar ais. Fógra nuair mé cliceáil Cuir, an Ní URL an leathanaigh seo a athrú. An bhrabhsálaí icon Ní raibh tús a sníomh. Ní raibh mé ag dul in áit ar bith, agus go bhfuil literally mar a dúirt mé ar ais Bréagach. Fill ar ais ciorcaid gearr Bréagach nó stadanna an t-iompar mhainneachtain foirm. Mar sin, a fhágann ansin dúinn le an cheist deiridh amháin. Cad a dhéanann Beannaigh a dhéanamh? Bhuel, Beannaigh cosúil glaonna feidhm ar a dtugtar Alert Gabhann, i gceann argóint fada go mar thoradh ar concatenating chéile bunch substrings, Dia duit spás camóg, ansin is cuma cad tuairisceáin sin. Mar sin, tá an doiciméad cosúil domhanda athróg leis fhréamh sin crann, glaoch feidhm speisialta, ar shlí eile ar anois mar mhodh. Feidhm go taobh istigh de go bhfuil athróg ar a dtugtar modh ionad feidhme. Sin a fháil eilimint le ID. Cén ghné a dhéanann tú ag iarraidh a fháil ag a ID? An t-ainm athfhriotail ceanglófar agus ansin luach sonrach. Mar sin, i bhfocail eile, go bhfuil cód simplí fhaigheann an réimse téacs a bhfuil a ID ainm agus ansin faigheann a luach. Mar sin, má bhí mé a athrú agus a rá Davin ionad David, agus cliceáil Submit, anois táimid ag Tá Beannacht do Davin. Ceart go leor, mar sin go léir fíneáil agus maith. Ach a ligean ar féach an féidir linn a dhéanamh seo beagán níos glaine ós rud é ach scríobh cód mar seo go ginearálta ag dul a bheith frowned. Tá sé seo ag dul chun breathnú scarier. Ach cad é an chéad difríocht faoi deara tú anseo sa leagan seo sa bhreis ar an ainm a athrú go dtí ceann DOM? Cad Breathnaíonn thaobh struchtúir éagsúla faoi ​​seo i gcoinne an duine eile? Yeah? LUCHT ÉISTEACHTA: An bhfuil an fhoirm ar barr an script anois? DAVID MALAN: Yeah, is é an fhoirm ar bharr an script ar chúis éigin aisteach. Mar sin, go bhfuil an chéad rud go jumps amach ag dom, freisin. Agus buíochas le Dia, ar a laghad, Tá an chuid seo comhionann. Mar sin, an rud amháin is cosúil go a bheith difriúil é seo. Mar sin, tá anseo cad neat faoi ​​JavaScript 2. Agus déanann sé deacair é a tuiscint a fháil ar an gcéad amharc, go háirithe do thionscadail deiridh más rud é tú ag féachaint ar cód sampla ar líne, ach boils sé síos go dtí roinnt gnéithe bunúsacha syntactic. Seo arís go doiciméad athróg domhanda. Seo arís go modh nó feidhm a deir a fháil ar an eilimint le ID. An uair seo ba mhaith liom a fháil ar an ID a dtugtar taispeána. Cá bhfuil sé sin? Sin cosúil ceart anseo, an fhoirm féin. Agus faoi deara anois go cosúil má mé a fháil ar ais go nód ón gcrann go Is ionann an fhoirm féin, ní réimse téacs, tharlaíonn sé go raibh foirm, go nód nó dronuilleog ón gcrann, Tá an méid beidh muid ag glaoch ar mhaoin, an-, an-, an-chosúil i spiorad le struct i C. Tá sé díreach comhalta na sonraí taobh istigh den dronuilleog. Mar sin, fuair mé an fhoirm anseo, agus tá mé ag a ghabhann, nó tá mé ag shannadh, a Ar Cuir láimhseálaí nó in áit ar Cuir maoin an fheidhm seo a leanas. Agus é seo, le fada, an craziest rud go dtí seo syntactically. Casadh sé amach i JavaScript agus i PHP, agus frankly ar an ní sin i C, cé nach féidir linn é a dhéanamh, is féidir leat cuir nameless, gan ainm, nó aka lambda feidhmeanna nach bhfuil an t-ainm ach is féidir a dtugtar mar sin féin. Mar sin, cad Tá mé ag déanamh anseo tá mé ag shannadh seo Ar Cuir maoine, a is é taobh istigh den nód de mo chrann DOM, a feidhm, pointeoir feidhm más maith leat. Níl aon fheidhm ainm, ach ní dhéanann sin ábhar mar beidh orainn a fheiceáil i láthair conas a ghlaoch air. Nuair a fheidhm seo ar a dtugtar, Faigheann cód seo chun báis, ansin bréagach ar ais díreach mar a bhíodh. Ach faoi deara an méid atá déanta agam. Ag an bpointe seo sa scéal, tá mé foirm. Baineann sé le Fuair ​​le haitheantas ar leith ar a dtugtar taispeána. Síos anseo, tá mé tag script go fhorghníomhú an cód seo a leanas. Leagann sé leis an nód i an crann dó Atá Ar Cuir maoin fheidhm seo anseo. Agus díreach ag nádúr ar conas a oibríonn brabhsálaithe, nuair mé cliceáil anois Cuir nó a hit Enter, Tá an fheidhm sin ag dul a fháil ar a dtugtar. Ní chuireann sé de dhíth ar an t-ainm mar gheall ar a cares an heck cad atá sé ar a dtugtar. An t-am amháin a sé ag dul riamh a fháil Tá ar a dtugtar nuair a chur faoi bhráid mé an fhoirm. Níl aon ghá domsa, an bhforbróir an duine, a ghlaoch i ndáiríre é in aon áit eile. Anois, díreach mar teaser, amhail is dá mba go Ní raibh aigne lúbthachta go leor, Is féidir linn a dhéanamh fiú seo breathnú níos cryptic ag baint úsáide as leabharlann Super tóir ar a dtugtar jQuery. Go deimhin jQuery agus JavaScript go conflated go minic. Agus cad beidh muid ag déanamh ar an gCéadaoin is tús baint úsáide as an teanga agus leis na leabharlanna a thógáil níos asynchronous agus iarratais dinimiciúil cosúil le léarscáil ag fáil ar iarratais, iarratais go cothrom le dáta an leathanach gréasáin i bhfíor am, i bhfad cosúil le Facebook nó Gchat a dhéanamh, agus ní níos sia theorannú sinn féin a bualadh Cuir le fháil nó díreach phost ina n-aonar. Mar sin, beidh mé ag a fheiceann tú ar an gCéadaoin. [Seinm ceoil]