DAVID MALAN: Gach ceart. Tá sé seo CS50, agus tá sé seo an deireadh seachtaine naoi. Baineann sé le bheith ina whirlwind thar le cúpla lá anuas. Agus a leagtar fhadhb seacht, má tá tú glúine go domhain isteach é, realize níl go leor le giotán nua sin i ann. Ach a ligean ar a fheiceáil más rud é nach féidir linn a píosa gach rud le chéile anseo go hachomair roimh veering ansin amach i fós treo eile agus féachaint áit eile is féidir linn dul. Mar sin, go dtí seo, tá muid Labhair faoi HTML. Táimid tar éis Labhair faoi CSS. Táimid tar éis Labhair faoi PHP. Tá tú tús le taithí SQL. Inniu, beidh muid ag labhairt le beagán faoi ​​JavaScript. Ach conas a dhéanann gach ceann de na díchosúla teangacha oiriúnach le chéile? Mar sin, labhair muid an tseachtain seo caite mar gheall ar an bheadh ​​aon tairbhe ag freastalaí. Mar sin, a ligean ar a tharraingt ach an dronuilleog mar fhreastalaí gréasáin anseo. Agus feidhmíonn sé ar fhreastalaí gréasáin surely comhaid. Agus roinnt de na comhaid sin Is féidir a bheith comhaid HTML. Mar sin, ar cheann de na rudaí a fhreastalaí gréasáin Is féidir spit amach a d'fhéadfadh a bheith ina comhad go beidh orainn a tharraingt díreach cosúil le seo ina bhfuil líon áirithe HTML. Mar sin, i dtéarmaí layman, cad Ní HTML lig a dhéanann tú? LUCHT ÉISTEACHTA: Page cuma deas. DAVID MALAN: OK, a dhéanamh leathanach cuma deas, cé gur dóigh liom mé cruthaithe thairis sin. Mar sin, ní HTML lig tú a leagan amach leathanaigh thaobh struchtúir de, agus ceadaíonn sé duit saghas marc aesthetically suas ar an leathanach, marcáil suas ábhar statach, ionas go mbeidh tú Is féidir féachaint ar ansin é le brabhsálaí gréasáin. Ach go bhfuil an eochair. Tá sé ábhar statach. Scríobh tú é, shábháil tú é, agus ansin tú long sé. Agus feidhmíonn an fhreastalaí gréasáin ansin sé suas le do chuairteoirí. Ach stylize muid rudaí ag baint úsáide as éagsúla teanga ar fad. Thosaigh muid a úsáid tréith stíl maidir le clibeanna áirithe. Agus an tréith stíl in iúl dúinn a leagtar rudaí cosúil le méid cló agus dath. Agus atá tú a thosaigh is dócha a fháil amach, nó beidh tú go luath do deiridh tionscadail a d'fhéadfadh, go fóill eile airíonna gur féidir leat é a úsáid i CSS. Agus mar sin i dtéarmaí layman, cad i ndáiríre ansin nach CSS a dhéanamh? Glacfar iad ach samplaí díobh. Cad a dhéanann sé in iúl duit go HTML ní cosúil go ón méid againn le feiceáil go dtí seo? LUCHT ÉISTEACHTA: Sainmhínigh stíleanna le tú féin. DAVID MALAN: Sainmhínigh stíleanna le tú féin. Mar sin, a shainiú rudaí cosúil le ranganna mar atá tú D'fhéadfadh a bhíonn, nó de uathúil nóid i ndoiciméad a shainaithint mar sin gur féidir leat stylize iad. Ach níos mó go sonrach, ba mhaith liom a rá go bhfuil CSS i ndáiríre ligeann tú rudaí a chur ar an Ceadaíonn míle deireanach agus tú a shonrú i bhfad níos cruinne ar an aeistéitic, cé go HTML don chuid is mó ligeann tú struchtúr do leathanaigh. Agus cé go bhfuil roinnt mainneachtainí, cosúil le chonaic muid an chlib do tag cheannteideal, a labhairt garbh rinneadh rudaí mór agus trom. Sin go leor sainmhíniú cineálach an chlib - mór agus trom. Cad clómhéid é sin? Cén dath atá sin? Cé chomh trom is é sin? Agus ligeann CSS tú níos mó go mín rudaí mar sin tune. Chomh maith le leagan amach, le roinnt de feicthe agat. Agus frankly, tá CSS le beagán le teanga messy. Tá sé an-chumhachtach i gur féidir leat a dhéanamh literally aon suíomh gréasáin go atá tú le feiceáil ar an ngréasán a bhfuil sé lá atá inniu ann, ach tá sé de chineál ar pian i muineál. Agus tá roinnt de tú banged do cheann i gcoinne na ballaí ach cheana féin a dhéanamh rud éigin dúr cosúil ionad roghchlár ar fhadhb a leagtar seacht má tá tú gotten do bpointe sin cheana féin. Ach a bhaint amach, na rudaí a fháil níos éasca le himeacht ama. Dtosaíonn tú le fógra patrúin. Agus arís, beidh Google a bheith do chara do na bealaí éagsúla inar féidir leat réiteach fadhbanna den chineál seo. Agus leomh mé a rá leis an CSS, HTML agus níos mó go ginearálta, is féidir leat fadhbanna a réiteach i go leor bealaí níos mó, ar fad a d'fhéadfadh an- go maith a bheith ceart, ná d'fhéadfaí tú i rud éigin cosúil le C, fiú anois PHP, nó JavaScript. Tá ach go leor éagsúla bealaí chun rudaí a leagan amach. Ach thosaigh seo a fháil messy, a dúirt muid. Just a chineál meascadh do HTML agus do CSS leis an tréith stíl a bhí a sloppy beag. Agus mar sin a dúirt muid ina ionad sin, saghas abstractly labhairt, gur chóir duit ar a laghad, tús a chur chun fachtóir amach do CSS is dócha. Nach bhfuil do tréithe stíl, ach ar a laghad úsáid a bhaint as an chlib stíl taobh istigh cad chuid den leathanach gréasáin seo? LUCHT ÉISTEACHTA: Ceann. DAVID MALAN: Sa an ceann. Suas go dtí anois, bhí againn ach an teideal suas ann, ach is féidir leat chomh maith le stíl tag, agus is féidir leat a chur ar do CSS garbh ag labhairt i dtreo an barr an leathanach. Ach ansin thóg muid rudaí céim amháin eile agus táimid áireamh go amach níos mó i gcomhad ar leith. Agus mar sin bhí na dhá chomhad bhealach nasctha anois. Agus go deimhin bhí sé ar an tag go ndearna an. Agus cad a bhí ar cheann de na uileghabhálach spreagthaí le haghaidh factoring amach ár CSS gach níos mó? LUCHT ÉISTEACHTA: athúsáide. DAVID MALAN: athúsáide. Ceart? Is féidir leat feicthe i p-sraith seacht cheana go bhfuil a lán de na leathanaigh, an ceannach leathanach, ar an leathanach a dhíol, an leathanach phunann, is dócha struchtúrtha beagán dul céanna. Níl lógó airgeadais CS50 ag an mbarr ach amháin má tá tú cinneadh a athrú. Níl a buntásc ag an bun leathanaigh. Agus ceadaíonn sé CSS tú ansin a fhachtóir sé amach sé i gcomhad ar leith ionas go má Ba mhaith leat rud éigin a athrú ar fud an domhain trasna do shuíomh ar fad, is féidir leat i ndáiríre ach é a athrú in aon áit amháin. Ach tá praghas a íocann tú d'fhéadfadh a bheith trí fhachtóir amach an CSS ó mo chomhad HTML isteach i leith comhad tagairt dó leis an tag, a chonaic muid ar an Luan. Cad a d'fhéadfadh an downside a bheith seo? Ag smaoineamh ar ais in aghaidh na seachtaine ó shin a nuair a bhíonn muid ag caint faoi HTTP agus TCP / IP agus conas oibríonn an idirlíon. Rud éigin thar anseo? LUCHT ÉISTEACHTA: Bíonn sé níos mó ama. DAVID MALAN: Bíonn sé níos mó ama. Cén fáth? LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: Yeah. Mar sin, a thógann sé fhéadfaí a rá le beagán níos mó ama. Toisc amháin, is é an CSS ar ndóigh nach bhfuil sa chomhad céanna. Mar sin, anois caithfidh tú a dhéanamh nach amháin, ach dhá iarratas. Agus gach ceann de na hiarratais mar a chonaiceamar i Chrome i Cigire sin ar a dtugtar, agus d'fhéach muid ar an táb líonra, gach de na comhaid sin a éilíonn HTTP amháin iarraidh, a chonaic muid thógann roinnt méid ama. Anois, b'fhéidir nach bhfuil sé go leor. B'fhéidir go bhfuil sé ach 20 milleasoicind. B'fhéidir go bhfuil sé ar 200 milleasoicind. Ach smaoineamh faoi leathanach cosúil le Facebook, nó CNN, nó Google, atá i bhfad níos mó ná na samplaí tá muid d'fhéach sé ar go dtí seo. D'fhéadfadh na leathanaigh bhfuil mórán de na comhaid, D'fhéadfadh gach ceann acu a cheangal ar íoslódáil comhad. Mar sin, is féidir rudaí a d'fhéadfadh a bheith tús a chur go mall síos. Agus go háirithe na laethanta nuair a againn ar fad Tá fóin phóca inár bpócaí agus naisc idirlín níos moille, a bhfuil a fanacht cúpla milleasoicind níos mó, cúpla milleasoicind níos mó le haghaidh breise Is féidir na comhaid a bheith i ndáiríre mall. Bhfuil latency an focal a chuireann síos ar an de chineál ar fanacht go bhfuil tú go bhfuil tú taithí nuair ag fanacht roinnt píosa eolais. Ach tá bun os cionn. Mar sin, nach bhfuil sé gach sórt ar - tá sé i ndáiríre le beagán de seesaw anseo. Taobh thíos anois, ach is féidir cad brabhsálaithe a dhéanamh má tá siad cliste d'fhonn a sheachaint tar éis a iarraidh ar an styles.css céanna comhad arís is féidir a bheith a dhéanamh cad? Taisce é. Mar sin, caching - C-A-C-H-E - a chiallaíonn go ginearálta anseo ach a shábháil ar an comhad a d'iarr tú ar an chéad uair, agus ansin seiceáil ar do taisce chun é. Seiceáil go bhfuil tú saghas coimeádán stórála, agus má tá tú cheana féin cóip den styles.css, fiú amháin más rud éigin eile leathanach sa p-leagtar, nó aon suíomh gréasáin, iarrann sé arís, ach a thabhairt ar an úsáideoir go bhfuil cóip i dtaisce céanna. Ná bac a iarrann é. Taobh thíos ann, áfach, mar chuid de tú tar éis tripped os a chionn sa p-a leagan síos. Má dhéanann tú athrú ar an fhreastalaí agus tú ag dul ar ais chuig an bhrabhsálaí agus tú athlódáil, uaireanta a dhéanann an bhrabhsálaí tú i dtús báire agus ní bodhraigh ath-íoslódáil do chomhad styles.css mar gheall ar, teacht ar, cad iad na odds go bhfuil na stíleanna a úsáideann Facebook ag dul uair an chloig a athrú go dtí uair an chloig nó lá go lá? Tá sé íseal go leor. D'fhéadfadh siad athrú le himeacht ama, ach ní ag an nóiméad nó ag an uair. Mar sin, cleas, ach FYI gréasáin nuair a dhéanamh fhorbairt, tá a shealbhú go minic síos an eochair athrú mar shampla, agus ansin cliceáil athlódáil i do bhrabhsálaí, agus go mbeidh de ghnáth a rá leis an reload bhrabhsálaí gach rud, fiú má tá tú cheana féin sé sa taisce. Mar sin, arís, upsides agus downsides, ach gach ceann acu deireadh thiar cinntí a dhearadh. Mar sin anois, ní raibh muid díreach deireadh an scéal anseo. Má théann mé anois ar ais agus ar ais agus ar ais agus ar ais, thosaigh muid a thabhairt isteach ní hamháin HTML, PHP ach. Mar sin, i dtéarmaí layman, cad Ní PHP in iúl dúinn a dhéanamh? LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: Cad é sin? LUCHT ÉISTEACHTA: a thabhairt isteach loighic isteach an cód. DAVID MALAN: Yeah, a thabhairt isteach loighic isteach i do cód. Mar sin, tá sé ina teanga cláir fíor le lúba, agus athróga, agus feidhmeanna, agus na coinníollacha, agus gach ceann de na rudaí againn Bainim úsáid as ar bhealach ar ais nuair ós rud é scratch. Agus PHP, atá feicthe againn, is féidir iad a úsáid bíodh sé ar an líne ordaithe - tá sé nach bhfuil go bhfuil aon rud a dhéanamh leis an ngréasán, cé go bhfuil i ndáiríre a bhunús agus cad bíonn sé a bheith go maith ag agus a chuidíonn le - ach is féidir leat úsáid a bhaint as PHP ach ag nádúr ar an bhfíric go bhfuil sé cló () feidhm, agus printf () fheidhm, nó macalla () fheidhm. Níl bunches de bhealaí agat is féidir a phriontáil téacs le PHP. Dá bhrí sin, is féidir leat seo a úsáid cláir teanga a aschur go díreach cad a bhí muid ag caint faoi roimh. Is féidir leat a ghiniúint dinimiciúil do HTML. B'fhéidir nach bhfuil gach ceann de na sé. B'fhéidir tú rudaí cód crua, cosúil leis an header, buntásc agus an, agus an lógó, agus do stílbhileoga, agus gach ceann de sin. Ach do rud éigin cosúil le p-leagtar seacht, áit a bhfuil tú stoic ionramháil agus ag taispeáint an úsáideora phunann, a bhfuil dul chun athrú dinimiciúil, d'fhéadfaí tú surely a úsáid PHP agus an loighic tugann sé tú mar teanga cláir a aschur fho-thacar dinimiciúil an leathanach. Mar sin, nuair a labhairt leat faoi shuímh idirlín dinimiciúil, nó cláir gréasáin, go cad a bhfuil tú ag caint i ndáiríre faoi. Ag baint úsáide as teanga mar PHP, nó rudaí ar a dtugtar Python, Ruby nó, nó Java, nó teangacha eile fós, chun ceist bunachar sonraí go minic, nó freastalaí eile, agus ansin dinimiciúil spit amach HTML. Anois an toradh deiridh, mar leataobh é, go bhfuil an chuid is mó láithreáin ghréasáin HTML, lena n-áirítear do p-leagtar seacht é, is dócha ag dul a bheith ina praiseach mór má tú ag féachaint ar an bhfoinse Cód sa bhrabhsálaí. Ní sin le déileáil go mór. Ag an bpointe seo, nuair a cúram againn faoi stíl, cúram againn faoi na stuif gur scríobh tú. Ní bheidh muid cúram faoi na rudaí go bhfuil an méid do aschur cód. Mar sin, ná bíodh imní ort faoi eangú anseo má tá sé PHP go i ndáiríre outputting stuif. Tar éis an tsaoil, ní bheidh an bhrabhsálaí cúram, agus ní bheidh an duine a bheith ag iarraidh ag an bhfoinse ar aon nós. Táimid an bhfoireann, mar shampla bheadh, a bheith ag breathnú ar do PHP. Mar sin, lig dom a thabhairt sampla tapaidh anois cén fáth eile a d'fhéadfadh sé seo a bheith úsáideach. Mar sin, frankly, ní féidir liom cuimhneamh ar na deireanach am a úsáidtear mé C chun fadhb a réiteach i ar fud an domhain fíor. Bhí sé dócha i scoil iarchéime nuair a Is gá dom a teanga a úsáid go Bhí leibhéal réasúnta íseal agus thug dom an deis rud éigin an-ard a dhéanamh comhlíonadh a shábháil i ndáiríre LAP mar go leor timthriallta is a thiocfadh liom, i gcuid mhór toisc go raibh mé ag baint úsáide as tacair sonraí ollmhór, agus gach timthriall LAP chomhaireamh. Agus frankly, fiú i rudaí cosúil le fóin na laethanta seo agus gléasanna eile i gcás nach bhfuil tú go leor an oiread cuimhne agus ní gá duit go leor mar LAP i bhfad, ag baint úsáide as teangacha níos tapúla bhfuil achomharc fós. Ach ar fud an domhain fíor, nuair a dhéanann tú díreach Ba mhaith le caith roinnt clár le chéile chun anailís a dhéanamh ar cuid de na sonraí, nó atá tú a bailíodh a bunch iomlán de na clárúcháin do roinnt grúpa mac léinn agus is mian leat chun an- tapa a uathoibriú ríomhphoist a sheoladh ceann ar cheann do gach ceann de na gcláraithe, tá tú ag dul a bhaint amach do teanga ar leibhéal níos airde ná C sin a labhairt. Rud éigin cosúil le PHP nó Python, Ruby nó, nó daoine eile a leath dosaen atá ann na laethanta. Ach tá na trí dócha an chuid is mó trendy ceart anois. Agus cad a chiallaíonn sé seo gur féidir leat a oscailt suas eagarthóir téacs ar nós gedit nó aon rud is eile agus ansin ach tús Cód scríbhinn gan a bheith buartha faoi ​​thiomsú, gan a bheith i ndáiríre buartha faoi bhainistíocht cuimhne, a choimeád i gcuimhne cé go bhfuil beagán Beidh sloppiness teacht ar deireadh thiar ar ais a bite tú má fhaigheann an tacar sonraí níos mó nó faigheann an fhadhb mhór. Ach cad a chiallaíonn sé seo le haghaidh Is iad seo a leanas dúinn. Lig dom dul ar aghaidh agus a reáchtáil speller ó fhadhb a leagtar sé. Mar sin, is é seo mo chur i bhfeidhm trie-bhunaithe gur úsáid mé ar an mór bord i gcás nach bhfuil a dhéantar mé chomh maith. Beidh muid ag teacht ar ais i seachtaine am agus athchuairt siúd a raibh deireadh suas ar bharr na craoibhe an bord mór ag ár léacht seo caite. Ach do anois, lig dom dul ar aghaidh agus díreach rith mo réiteach i téacs, agus beidh muid ag déanamh an Rí Séamas Bíobla, agus anseo a théann muid. Mar sin, siúd go léir de na supposedly focail misspelled as an Rí Séamas Bíobla. Agus thóg mo chur i bhfeidhm leath an dara san iomlán. Mar sin, nach bhfuil ró-olc ar an ríomhaire ar leith. Ach smaoineamh ar cé mhéad Cód bhí mé a scríobh. Smaoinigh cé mhéad Cód bhí tú a scríobh. Smaoinigh cé mhéad uair an chloig a chaith tú ar an D-halla nó do dorm nó cibé áit iarbhír códaithe suas go réiteach. Bhuel, má tá mé i ndáiríre ar leibhéal níos airde teanga mar PHP, a chur faoi deara cad is féidir liom a dhéanamh anseo. Gcéad dul síos, is dócha go bhfuil sé seo in ionad do chód dáilte. Is é seo an comhad a dtugtar speller. Tá sé ar fáil mar chuid de an lae inniu cód dáilte. Agus mé ag dul chun tonn mo lámh ar a mhéad de na sonraí, ach tá sé seo i ndáiríre sampla suimiúil ar conas d'fhéadfadh tú calafoirt teanga cosúil le C le PHP. D'oscail mé literally dhá fhuinneog téacs, ceann amháin le mo C leagan de speller.c, agus thosaigh mé díreach tar aistriú i mo ceann a PHP agus clóscríobh sé amach ag baint úsáide as na feidhmeanna coibhéiseacha gaire. Mar sin, tá roinnt de na rudaí éagsúla. Chonaic muid uair dheireanach nach PHP a úsáid áireamh i go leor ar an mbealach céanna. Úsáideann sé a cheangal de ghnáth, cé go I measc a dhéanann ann. Sainmhínigh é beagán difriúil ó # Shainmhíniú i C, ach sin conas a dhéanamh linn tairiseach. $ Argc casadh sé amach ann i PHP, mar sin againn le feiceáil go roimh. Is iad seo ach athróg, gach ceann de na a tús a chur le comharthaí dollar. Athghairm iad seo ach a bunch na pointí ar snámh. Mar sin scéal fada gairid, tá fáilte romhat chuig smeach trí seo, más aisteach, tá sé seo beagnach líne-do-líne comhshó an C leagan de speller.c isteach PHP. Agus d'fhéadfadh leat é seo arís le haghaidh leath dosaen teangacha eile. Ach cad suimiúil é seo. Nó cad frankly disheartening is é seo. Lig dom dul ar aghaidh agus cineál faoi dictionary.php, agus éileamh go bhfuil mé dul chun dul ar aghaidh agus ath-chur i bhfeidhm fhadhb a leagtar sé anseo. Mar sin, a ligean ar a mholadh ar dtús go sa comhad, a chuirfear i bhfeidhm i PHP, mar sin in iúl dom a oscailt mo clibeanna mar sin. Lig dom a thabhairt mé féin a domhanda Faigheann athróg, $ méid nialas. Agus tá mé ag dul a thabhairt mé féin tábla hash. Feicfidh mé úsáid as tábla hash don rud seo. Conas is féidir liom a dhearbhú tábla hash i PHP? Arna dhéanamh. OK. Léiríonn lúibín lúibín sin oscailte dlúth cad i PHP, mar atá feicthe againn? Tá eagar, ach eagar d'fhéadfadh a bheith eagar comhthiomsaitheach. Tá sraith comhthiomsaitheach struchtúr sonraí a Associates eochracha le luachanna. Anois sa simplí uimhreacha innéacsú eagar, tá na heochracha cad é? Nialais, ceann amháin, dhá, trí, ceart? Sean scoil stuif ar ais ó C. Ach is féidir é a bheith chomh maith teaghráin cosúil le foo, agus barra, nó Maxwell, nó aon teaghrán sórt sin. Mar sin, is féidir liom a ghiaráil go i díreach nóiméad. Lig dom dul ar aghaidh agus a dhearbhú feidhm mhaith - a ligean ar a dhéanamh ar ualach () an chéad. Mar sin ualach fheidhm (). Agus is é PHP beagán difriúil sa mhéid is go scríobhann tú literally fheidhm, ach tú Ní gá cineál cineál ar ais. Tá mé ag dul chun dul ar aghaidh agus a rá go bhfuil an Ba chóir ualach () fheidhm a ghlacadh i argóint $ foclóir, ach cosúil le C Leagan raibh. Tá mé ag déanamh go ó chuimhne. Agus Molfaidh mé go bhfuil mé dul chun é seo. Tá mé go simplí ag dul foreach a dhéanamh. Tá mé ag dul chun glaoch feidhm a dtugtar comhad (), ag dul in ainm an comhad, a bhfuil an athróg $ Foclóir agus is $ focal. Agus ansin taobh istigh de mo haghaidh lúb anseo, tá mé dul chun dul ar aghaidh agus é a stóráil i mo $ Tábla go bhfaigheann $ focal fíor. Arna dhéanamh. Oh, fan. Arna dhéanamh. OK. Is é sin an t-ualach () fheidhm rá i PHP. Anois, cén fáth go bhfuil ag obair? Agus tá mé de chineál ar cheating anseo. Mar sin, ceann amháin, foreach muid chonaic am go hachomair caite. Ciallaíonn sé sin go díreach is féidir leat a iterate thar eagar gan bothering leis i agus n agus móide móide, agus gach ceann de sin. Is Foclóir ar ndóigh ainm an chomhaid, rud éigin cosúil le beag nó mór, dá foclóirí a úsáid le linn uair dheireanach. Is comhadlann í an fheidhm a osclaíonn suas téacs comhad léann, sé i líne ar líne, agus lámha ar ais tú eagar ollmhór, Tá gach ceann de na heilimintí a d' líne ón gcomhad. Mar sin, go bhfuil an teaglaim de fopen, agus fread, agus cé lúb, agus fclose, agus gach ceann de sin. Ar deireadh, mar acmhainn focal ach go bhfuil an athróg mé ag dul a rochtain a bheith ar gach atriall sa lúb. Mar sin, i mbeagán focal, ciallaíonn sé seo línéar amháin anseo a oscailt suas an comhad a bhfuil a ainm i foclóir, ar an athróg, iterate thar sé líne ar líne, agus gach uair a fhaigheann tú líne, siopa i bhfocal athróg ar a dtugtar, agus ansin rud éigin a dhéanamh leis an focal. Cad ba mhaith liom a dhéanamh? Ba mhaith liom focal a chur isteach i mo tábla hash. Bhuel, is féidir liom a chur ar rud éigin i mo hash tábla díreach cosúil i C ag baint úsáide as lúibíní cearnacha. Is é seo an t-ainm do mo tábla hash. Tá mé ag dul go dtí innéacs isteach hash tábla ag an suíomh seo. Mar sin, ní lúibín náid, ní lúibín amháin. Ceanglófar Lúibín rud éigin athfhriotail, is cuma cad é an focal sin. Agus díreach cosúil le d'fhéadfadh tú a bheith i do trie obair tábla hais, siopa tú díreach go héifeachtach le Boole, hintuigthe nó follasach. Arna dhéanamh. Tá mé ag a stóráil ar an luach fíor. Anois, níl cúpla rudaí Tá mé ag coirnéil ghearradh ar anseo. Go teicniúil, níl dul chun bheith ina líne nua annoying, / n, ag deireadh na gach ceann de na focail seo. Mar sin, ba chóir dom glaoch ar dócha go bhfuil feidhm PHP ar a dtugtar Gríscín (), a chuirfidh go leor literally chop go amach. Agus is gá dom i ndáiríre a dhéanamh ach rud amháin eile. Ba chóir dom a incrimint dócha méid ar gach atriall, mar sin tá mé ag súil a choinneáil ar fud an domhain ar a bhfuil sé. Agus frankly, agus tá sé seo ar cheann de na gnéithe stupider de PHP, má tá tú ag baint úsáide athróg domhanda, is gá duit a rá go follasach go bhfuil tú. Mar sin, tá mé ag dul a chlóscríobh i ndáiríre i domhanda $ Méid, $ domhanda tábla, agus anois Is é mo feidhm iomlán. Mar sin, ní leor chomh simplí mar roimh, ach is dócha thóg níos lú ama ná an C leagan, b'fhéidir? OK. Mar sin, a ligean anois ar a dhéanamh ar an seic () fheidhm. Ligean ar a fheiceáil má laghad ghlac seo uair an chloig ar deireadh gur thóg sé dúinn i C. Mar sin, lig dom dul ar aghaidh agus a dhearbhú seiceáil mar fheidhm. Glacann i focal argóint, a bhfuil ag dul chun teacht ó speller. Agus mé ag dul ach a sheiceáil má tá an seo a leanas isset athróg, tábla strtolower lúibín focal - a ligean ar chothromú gach ceann de mo lúibíní - ansin ar ais fíor. Eile - go raibh i ndáiríre crua chuid den chlár seo. Eile, ar ais bréagach. Arna dhéanamh. Sin seic (). Anois, cén fáth go bhfuil ag obair seo? Bhuel, ceann amháin a rith mé i bhfocal, a bhfuil teaghrán. Dhá, tá mé ag seiceáil taobh istigh den hash tábla, a dtugtar $ tábla. Tá mé ag forcing é go litreacha beaga trí ghlaoch feidhm cosúil go leor eagar é an tríú () i C, ach a dhéanann an focal ar fad seo, Ní ina charachtar aonarach. Agus más rud é go leagtar, i bhfocail eile ann Tá luach leagtar, i bhfocail eile, má tá sé fíor, ansin tá, tá sé seo le focal. Toisc chuir mé sé ann le ualach (). Agus más rud é nach, tá mé ag dul a thabhairt ar ais bréagach. Anois tá na daoine eile éasca. Méid Feidhme (), conas is féidir liom é seo a dhéanamh? Is féidir liom go bunúsach ar ais $ mhéid. Ach is gá dom go teicniúil a é seo a dhéanamh rud annoying. Agus i ndáiríre suas éisteacht, bhí mé a ghearradh gcúinne amháin an iomarca. Ní mór liom a dhéanamh $ domhanda tábla. Ach sin á rá, Díluchtaigh). Dhíluchtú () Is iontach. Feidhm Díluchtaigh (). Conas is féidir liom a iarraidh Díluchtaigh a chur i bhfeidhm ()? Arna dhéanamh. OK. Mar sin, Díluchtaigh (), tá bainistíocht cuimhne go hiomlán glacadh de chúram ar do shon i rud éigin cosúil le PHP agus a lán teangacha ardleibhéil. Mar sin, tá sé seo iontach. Cosúil cén fáth go raibh an ifreann chaith muid an am atá caite ocht seachtaine móide ar C scríbhinn cosúil i ndáiríre mall, i ndáiríre am fadhbanna Tógann le deich uair an chloig d'obair faoi ár vehicle? Bhuel, ar rud amháin, d'fhéadfadh sé seo an obair fíneáil do chláir beaga. Sped sé cinnte suas mo am a fhorbairt. Ach a ligean ar a fheiceáil cad a tharlaíonn ar fud an domhain fíor. Lig dom dul isteach sa chomhadlann seo i bhfuinneog teirminéil. Níl speller. Agus faoi deara mar leataobh, agus a d'fhéadfadh tú a bhíonn sin i fhadhb a leagtar sé nó fadhb a leagtar seacht. Ní gá duit go docht leis deireadh comhaid PHP le. php. Má chuir tú ar líne mar sin an chéad cheann ag an barr an-, go bhfuil líne a speisialta an chomhréir a chiallaíonn go bunúsach a aimsiú an clár ar a dtugtar PHP agus í a úsáid chun léirmhíniú comhad seo. Mar sin anois a fhios ag aon duine i ndáiríre go Tá mé ag rith clár PHP. Is féidir liom rith sé díreach mar cé go Bhí rud éigin le chéile i C. Ach anseo an rud. I ndáiríre, a ligean ar é seo a dhéanamh arís. Dropbox/pset6 /. Níl speller. OK, 0.44 soicind. Fuair ​​sé níos tapúla an am seo. Anois, a ligean ar dul isteach sa leagan PHP. Dteagmháil Nice. Ach is dóigh go díreach cé mhéad ama Shábháil mé ag uaireanta oifige. OK. Mar sin 3.59 soicind, a iarbhír Ní fuaime cruinn ach an oiread. Ach sin mar gheall ar scéal fada gairid, nuair a bhíonn tú ag priontáil amach méid ollmhór na rudaí ar an scáileán, go slows féin rudaí síos. Cad a thóg sé i ndáiríre an LAP sa Bhí fearas 3.59 soicind, i gcodarsnacht leis C, a bhí 0.44 soicind is déanaí. Sin fíor ordú méid éagsúla. Mar sin, nuair a praghas ag teacht ó? Cén fáth go bhfuil sé sin i bhfad níos moille? Cén fáth go bhfuil PHP dhéanamh mar sin droch? Danielle? LUCHT ÉISTEACHTA: ní raibh tú i ndáiríre úsáid a bhaint as an tábla hash. DAVID MALAN: ní raibh mé i ndáiríre úsáid a bhaint as an tábla hash. Mar sin, mé cineál raibh. Mar sin, tá sé eagar comhthiomsaitheach. Is dócha má tá na daoine ag PHP i ndáiríre cliste, a úsáidtear iad faoi bhun an cochall tábla hash iarbhír i bhfeidhm i rud éigin cosúil le C nó C + +. Ach. Yeah. LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: Yeah. Mar sin, gach ceann de na feidhmeanna a scríobh mé anois - i ndáiríre, is féidir leat a rá go bhfuil aon uair amháin níos mó a beag níos airde? LUCHT ÉISTEACHTA: Gach ceann de na feidhmeanna a bhí tú a lán níos iomláine toilleadh ná - DAVID MALAN: Mar sin, go bhfuil an-fíor. Níl a lán níos mó forchostais go bhfuil muid nach bhfaca ndáiríre ag díriú ach ar dictionary.php, a scríobh mé díreach. I gcodarsnacht leis sin, níl ateangaire ar fad ag dul sa chúlra. Go deimhin, nuair a bhí ar siúl mé an clár, sé Ní raibh ag rith nialais chéile agus cinn atá deartha le haghaidh mo LAP Intel. Ina ionad sin, bhí sé ag rith líne ar líne PHP cód go Breathnaíonn go díreach cosúil le clóscríofa muid é. Agus mar sin aon uair a úsáideann tú teanga léirmhíniú, tú i ndáiríre a dhéanamh a íoc leis an praghas. Tá sé ag dul a chur roinnt ama a léamh do barr comhad go bun, ó chlé go ceart, agus a fhorfheidhmiú dá éis gach líne arís agus arís eile. Anois i ndáiríre, go háirithe ar an ngréasán, Is féidir leat a bhrostú i ndáiríre an próiseas seo trí caching torthaí an Cód PHP á léirmhíniú. Agus a dhéanann go bhfuil ciall ar an ngréasán, mar gheall ar má tá tú nach bhfuil aon úsáideoir mhaith dom a chur anseo, ach 1,000 nó 10,000 úsáideoirí, ansin b'fhéidir an chéad uair go bhfuil an comhad rochtain tá sé mall, ach ina dhiaidh sin tá sé i bhfad níos tapúla. Ach freisin, arís tá sé seo, ina trádáil amach. Agus do rud éigin cosúil le sonraí taighde a leagtar, nó fiú rud éigin cosúil móra seo, beidh do úsáideoirí ar deireadh thiar tús le mothú go maolú. Is iad teangacha sin, i mbeagán focal, léirmhíniú go mór i vogue, an-tóir air, agus frankly is dócha na teangacha tú Ba chóir a bhaint amach do nuair fadhbanna a réiteach ina dhiaidh sin CS50. Ach a bhaint amach cé mhéad tá tú i ndáiríre ag cur do dheonú faoi bhun an cochall i ndáiríre iad siúd roinnt seachtainí anuas i hash táblaí, agus crainn, agus iarracht a, a úsáidtear ar deireadh thiar iarbhír rudaí cosúil lúibín oscailte chur i bhfeidhm, lúibín cearnach, a is féidir linn anois buíochas a ghlacadh maidir le deonú. Mar sin a ligean ar ghlacadh le breathnú anois sa chomhthéacs gréasáin. Agus luaigh mé uair dheireanach go níl a bunch de superglobals i PHP go nach bhfuil i ndáiríre ábhartha ag an líne ordaithe. Tá siad níos ábhartha i gcomhthéacs ag baint úsáide as PHP i gcomhthéacs gréasáin. Mar sin, ag rith PHP ar fhreastalaí gréasáin d'fhonn rudaí cosúil le HTML a ghiniúint. Agus spléach muid ag $ _GET agus $ _POST, agus sin an áit go huathoibríoch úsáideoirí ' Críochnaíonn ionchur suas ach má tá tú isteach foirm chun an comhad a chríochnaíonn i. php ar an ngréasán freastalaí cosúil leis an fearas. Ach a ligean ar breathnú ar feadh tamaill $ _COOKIE Agus $ _SESSION. I dtéarmaí layman, cad é fianán mar dtuigeann tú é i gcomhthéacs na ag baint úsáide as an ngréasán? LUCHT ÉISTEACHTA: File ar an ríomhaire. DAVID MALAN: Yeah. Tá sé ina comhad ar an úsáideora ríomhaire curtha ar cibé láithreán gréasáin tharlaíonn tú chun cuairt a thabhairt. Mar sin, nuair a théann tú le Facebook, nuair a théann tú go bankofamerica.com, nuair a théann tú chun google.com, nuair a théann tú go dtí beagnach aon láithreán gréasáin ar fud an domhain na laethanta seo, lena n-áirítear cs50.net, tá fianán curtha ar do ríomhaire, is é a ceachtar luach a stóráil i RAM i do ríomhaire i gcuimhne do bhrabhsálaí, nó uaireanta go deimhin, ar comhad a stóráil ar do thiomáint crua. Agus cad atá ar stóras go tipiciúil sa chomhad sin nach bhfuil do ainm úsáideora, nach bhfuil do pasfhocal, de ghnáth nach bhfuil rud éigin íogair ach amháin an suíomh gréasáin seo nach bhfuil chomh maith lena n-urrús, ach tá sé aitheantóir uathúil i measc na mór rudaí eile. Tá sé roinnt mór randamach curtha ar do ríomhaireachta ach is féidir leat smaoineamh ar mar a saghas stampa lámh fíorúil cosúil ó club nó roinnt páirc spraoi go Ceadaíonn an fhoireann, na n-úinéirí na seirbhíse, chun cuimhneamh ar a bhfuil tú. Mar sin, má tá an uimhir randamach móra cosúil le 12345678, cé go léir Ní ró-randamach, smaoineamh go mar an stampa lámh nuair a thugann tú cuairt facebook.com don chéad uair, tá siad go bhfuil uimhir stampa ar do lámh. Agus ansin toisc go labhraíonn tú HTTP, tú bheith ina bhrabhsálaí, agus mar gheall ar Facebook Labhraíonn léir mar an gcéanna leis an ngréasán freastalaí, a deir an prótacal HTTP go ag am ar bith a thugann tú cuairt ina dhiaidh sin facebook.com, bíodh sé ar an dara ina dhiaidh sin, uair an chloig níos déanaí, fiú an lá dár gcionn, chomh fada agus a bhfuil tú nach bhfuil go sainráite logáilte amach, a go héifeachtach Is cosúil níocháin do lámha. HTTP deir ba chóir duit a chur i láthair do lámh stampa gach am a théann tú filleadh ar an suíomh gréasáin. Cad ansin é a dhéanann Facebook siad breathnú ar an stampa láimh agus deir siad, OH, 123,456,789. Níl a fhios agam ar an gcéad amharc go bhfuil an Is é David Malan i Cambridge, Massachusetts, ach is féidir iad a sheiceáil a gcuid bunachar sonraí agus a rá, ó, an duine ar a bhfuil ríomhaire curtha againn 123456789 Is é David Malan ó Cambridge, Massachusetts. A ligean ar thaispeáint go bhfuil úsáideoir ansin a phróifíl leathanach nó a Nuacht Feed. Ach tá fadhb anseo más rud é seo Is é an chaoi a oibríonn an ngréasán go deimhin. A ligean ar ghlacadh le breathnú ar sampla tapaidh. A ligean ar dul i ndáiríre a rá facebook.com. Ach sula raibh muid ábalta dul ann, a ligean dom dul ar aghaidh agus a oscailt suas Chrome ar Cigire síos anseo. Lig dom breathnú ar an táb líonra. Agus lig anois ar a dul ar aghaidh agus cineál i https://facebook.com. Agus mé ag déanamh go bhfuil ionas nach féidir linn a fheiceáil gach ceann de na athsheolaidh agus dramhaíl am ag lorg trí na. Lig bhuail mé isteach. Gach ceart. Feicimid a bunch iomlán na n-iarratas. Tagann Facebook. Níl a bunch iomlán de chomhaid. Agus anseo, in aghaidh mo lua folacht uair dheireanach, go a lán de na hiarratais HTTP. Ach is é an chéad cheann is dócha an chuid is mó suimiúil. Mar sin, a ligean ar a scrollú síos anseo, agus Feicfidh mé zúmáil isteach sa dara. Tá sé seo ag dul a bheith de chineál ar ina praiseach, ach ligean ar a fheiceáil. Facebook é a sheoladh chugainn bunch iomlán de rudaí. Ach whoa, suimiúil. Tá siad ag plandáil ní amháin, ach ceithre stampaí lámh isteach ar mo lámh anseo. Socraigh-fianán, Set-fianán, a leagtar-fianán, leagtha-fianán. Agus tá roinnt gnéithe anseo. Gach ceann díobh a lua ar roinnt de chineál ar dhul in éag. Agus tá sé cosúil go bhfuil Facebook súil a mheabhrú dom go dtí 2015. Mar sin tá go dócha an tráth faoinar Ní mór dom a logáil amach nó beidh siad díreach go huathoibríoch glacadh leis Tá mé Ní ag teacht ar ais. Mar sin tá go i ndáiríre réasúnta méid ama. Agus tá roinnt eile rudaí ar siúl anseo. Is cosúil an fianán a bheith forneartach scriosadh ag rá éag sé i 1970 sula raibh fianáin. Mar sin, tá an bhrabhsálaí ag dul díreach glacadh leis OK, go bhfuil cosúil le níochán an stampa lámha. Ach anois nuair a dhéanann mo bhrabhsálaí d'iarraidh dá éis sin - lig dom dul ar aghaidh agus é seo a dhéanamh arís agus athlódáil. Anois, lig dom scrollú ar ais go dtí an iarraidh barr agus dul síos anseo, ceanntásca iarraidh. Fógra seo. Mar sin, anois tá mé faoi nach ceanntásca fhreagra air sin, ach fógra a deir sé ceanntásca iarraidh. Agus faoi deara go bhfuil mo bhrabhsálaí mar chuid de Tá a iarraidh tar éis bualadh athlódáil sheoladh ar a laghad an méid seo a leanas faisnéise. Gan a leagtar-fianán, ach fianán. Mar sin, is é seo an líne, an header HTTP sin a labhairt, áit a bhfuil mo bhrabhsálaí saghas de gan mo a fhios agam i láthair é mo lámh le haghaidh cigireachta Facebook. Mar sin, is féidir leis na fianáin a bheith úsáid ansin cad? Cuimhneamh ar a bhfuil tú, nó cuimhneamh conas mhéad uair tá tú ann, nó i ndáiríre rud ar bith. Mar sin, tá anseo counter.php. Agus lig dom a zúmáil isteach ar an cló. Agus gach uair a athluchtú mé leathanach seo, fógra tá sé ag cuimhneamh cé mhéad uair Bainim ann. Bhuel, ní ar sin go léir go hiontach. A ligean ar dhúnadh go díreach cluaisín, agus anois a ligean ar dul ar ais go dtí http://localhost/counter.php. Ó, go suimiúil. Chuimhnigh sé fós, fiú amháin cé dhún mé an táb. Agus frankly, má dhúnann mé an bhrabhsálaí, má chuirtear i bhfeidhm ar an mbealach ceart, mé D'fhéadfadh cuimhneamh i gcónaí go bhfuil an t-úsáideoir a raibh sé nó sí an chéad uair, agus ach nuair a théann mé isteach roghchlár Chrome, a os cionn anseo tá anseo, agus téigh go dtí Stair, agus cliceáil Clear Browsing Sonraí, mar d'fhéadfadh roinnt de agat sa am atá caite, beidh ach ansin do fianáin a scriosadh iarbhír le linn gréasáin fhorbairt. Mar sin, má théann muid - a ligean ar dhúnadh suas gedit anseo. Agus má théann muid anois chuig an gcomhad seo. Lig dom dul isteach inár vhosts / localhost / poiblí, agus lig dom a dhéanamh counter.php. Fógra go bhfuil sé seo go leor clár simplí. Tá sé ar an suíomh gréasáin simplí go leor. Mar sin, an barr an chomhaid ach tuairimí. Ach anseo líne nua gur féidir leat feicthe cheana féin i p-leagtar seacht, session_start (). Is é seo an líne de chód PHP a go bunúsach insíonn an fhreastalaí gréasáin, a dhéanamh cinnte a lámha a stampáil agus a dhéanamh cinnte a sheiceáil stampaí láimhe. Sin a dhéanann go léir go líne, agus é dhéanann gach ceann de na bpróiseas sin le haghaidh dúinn. Ansin faoi deara Tá mé díreach tar dhá bhrainse anseo. Má choigeartaítear an scála gcuntar taobh istigh de seo athróg speisialta domhanda ar a dtugtar $ _SESSION Leagtha - i bhfocail eile, má tá roinnt luach ann - a ligean ar a fháil agus é a stóráil i áitiúil athróg a dtugtar $ gcuntar. Eile, a ligean ar a shannadh $ gcuntar an luach réamhshocraithe de 0. Anois tá anseo gné amháin de PHP go araon a blessing agus a curse. Is PHP beagán sloppy. Mar sin, ach i C, cad a bheadh ​​an raon feidhme gcuntar a bheith anseo nó anseo? Bheadh ​​sé a bheith teoranta leis na braces gcuach. Buille faoi thuairim cad é? I PHP, tá sé ann fiú taobh amuigh de na guailleáin chatach, anseo, agus anseo, agus anseo, agus anseo, agus fiú síos thíos. Mar sin, a rá liom é seo a blessing sa chiall nach bhfuil tú ag smaoineamh mar crua mar a rinne muid seachtain ó shin. Ach tá sé chomh maith le beagán de a curse sa mhéid is go cuma cén áit a úsáideann tú i athróg PHP, ar a laghad i gclár mar seo, tá sé inrochtana ar fud an domhain le haghaidh níos fearr nó níos measa. Mar sin, caithfidh tú a choinneáil i gcuimhne go bhfuil anois ní féidir le do athróg a undefined. D'fhéadfá a bheith sainithe iad in áiteanna eile. Ach cad tá mé ag dul a dhéanamh ar deireadh thiar? Tá mé ag dul a stóráil taobh istigh de sin domhanda athróg mar luach ar an gcuntar eochair mar thoradh ar ag déanamh gcuntar móide 1. Mar sin, tá sé seo ach an uimhríochtúil go ndéanann an incrementation den gcuntar. Agus ar an bhfíric go bhfuil mé a stóráil go Ciallaíonn luach ar ais i anseo é chun go bunúsach an mbunachar sonraí cothrom le dáta a cuimhnigh go bhfuil 123456789 úsáideora curtha anseo dhá uair. Agus nuair a dhéanann mé é arís an chéad uair eile agam athlódáil an leathanach, tá sé ag dul a sheiceáil mo stampa lámh agus a rá, ó, Tá 123456789 úsáideora anois anseo trí huaire. Agus mar sin cad PHP agus teangacha den chineál céanna atá á dhéanamh dúinn go bhfuil siad ag figuring amach conas agus cá háit agus cá fhad chun luachanna a stóráil sa speisialta superglobal. Agus superglobal seo an chéad uair eile agam tabhair cuairt ar an leathanach is saghas magically réamh-daonra, líonadh le luachanna bhí ann an uair dheireanach a thug tú cuairt, cibé an raibh sin an dara ó shin, in aghaidh na seachtaine ó shin, nó i 2013 agus táimid ag caint anois thart ar 2015. PHP agus an cúram a ghlacadh fhreastalaí gréasáin de gach ceann de go ar do shon. LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: Tá Athróga i PHP go bunúsach domhanda i gcónaí mura bhfuil tú iad a dhearbhú taobh istigh de fheidhm, agus ansin tá siad áitiúla chun an fheidhm amháin. Ach toisc nach bhfuil mé i scríbhinn ar bith feidhmeanna, tá siad anois go héifeachtach domhanda ar fud mo chomhad iomlán anseo. LUCHT ÉISTEACHTA: An bhfuil bealach a dhéanamh orthu áitiúla? DAVID MALAN: An bhfuil aon bhealach a dhéanamh áitiúla iad? Ach amháin trí iad a timfhilleadh i bhfeidhmeanna. Cé acu i leagan is déanaí de PHP, is féidir leat é seo a bhfuil feidhm gan ainm. Ach níos mó ar an gcomhthéacs JavaScript. Ach tá an freagra gairid uimh. Tá freagra níos faide yes. Nice. Good question tráth na gceist. Gach ceart. Mar sin, ar deireadh, is é an leathanach é féin i ndáiríre simplí go leor. Fógra go bhfuil aon uair amháin liom scoir modh PHP, cuimhne go léir an stuif seo síos thíos ag dul díreach a fháil spit amach amh chuig an bhrabhsálaí. Cé acu is fíneáil, mar gheall mé ag iarraidh a sheoladh an t-úsáideoir éigin HTML, ach ba mhaith liom thabhairt cothrom le dáta go dinimiciúil go HTML. Agus tá bealach amháin is féidir liom é seo a dhéanamh a shórtáil de titim go han-tapa ar ais i PHP modh, a úsáid comhartha ceiste lúibín oscailte comhartha comhionann, agus ansin aschurtha ina bhfuil luach gcuntar. Nó má bhreathnaíonn sé seo beagán cryptic, seo Is comhartha comhionann i ndáiríre ach cuid shiúcra syntactic seo printf ($ gcuntar). Ach frankly, tá go díreach beagán gránna agus beagán annoying a chlóscríobh. Mar sin, PHP Cuireann an-nicely an ghné seo áit ar féidir leat a rá ach é níos mó succinctly ar an mbealach céanna. Mar sin, cad atá ar siúl thíos an cochall? A ligean ar breathnú go tapa ar an líonra tab anseo chun counter.php. Agus lig dom dul ar aghaidh agus an chéad a ligean ar soiléir do fianáin. A ligean ar shonraí brabhsála soiléir ó thús ama. Anois, a ligean ar dul ar ais thar anseo. Anois, a ligean ar an leathanach a athluchtú. Agus tá mé ar ais ag náid. Toisc go bhfuil mo stampa lámh curtha nite, Liom a fháil anois ar fianán nua. Go deimhin má fhéachann mé ar an cluaisín líonra agus breathnú ar ceanntásca fhreagra, fógra go bhfuil an fearas a sheoladh chugam fianán a bhfuil a ainm beagán go treallach, ach de chineál ar réasúnta, PHPSESSID. Agus tá sé a sheoladh dom an ndáiríre uimhir randamach mór. Níl sé go leor líon. Níl sé heicsidheachúlach go leor. Tá sé de shaghas éigin teaghrán alfa-uimhriúla, ach is dócha go bhfuil sé randamach. Agus is é sin an stampa lámh ionas go labhairt go bhfuil mé ag tagairt do. Idir an dá linn má tá mé cliceáil athluchtú agus ansin breathnú ar seo an dara líne do mo dara iarraidh, fógra anois go bhfuil mo iarraidh I measc na ceanntásca PHPSESSID ionann seo, Ní leagtar-fianán, ach amháin fianán. Agus sin i láthair mo bhrabhsálaí mo stampa láimhe. Mar sin anois mar teaser, agus beidh orainn a labhairt níos mó faoi ​​seo in aghaidh na seachtaine nó mar sin, ach cén bealach a dhéanann seo a dhéanamh leat leochaileacha, do chuntas Facebook leochaileacha, agus eile den sórt sin cuntais leochaileacha? LUCHT ÉISTEACHTA: Má tá duine éigin do fianán. DAVID MALAN: Yeah, má tá duine éigin Tá do fianán. Ciallaíonn mé go fírinneach, i bhfad cosúil le roinnt de tú d'fhéadfadh a bheith iarracht ag cosúil le club nó páirc spraoi, má tá tú iarracht rud éigin mar seo a chóipeáil an stampa, cé ar gcúl ar láimh duine eile, agus ansin cuireann sé nó sí é mar a gcuid féin, má tá sé i ndáiríre bhfuil cuma comhionann, 123456789, ansin an ngréasán Tá freastalaí cosúil ag dul díreach a muinín go bhfuil an t-úsáideoir agat. Agus is é seo go deimhin bunúsach bhagairt am ar bith a úsáideann tú fianáin mar má Spoofs duine éigin ach mar sin go labhairt do fianán figiúirí, amach cad é is é, bíodh sé trí go fírinneach a chóipeáil sé ag féachaint ar do ríomhaire agus a bheith cosúil le, ceart go leor. Is é fianán David JJ3JIK agus mar sin de, agus ansin tá siad cliste go leor chun a fhios ag conas a saghas a sheoladh de láimh go fianán ó bhrabhsálaí nó ó clár a scríobh siad, d'fhéadfadh siad go hiomlán logáil isteach ar an suíomh gréasáin mar atá tú. Níl sé sin deacair a ligean a bheith duine éigin eile mura againn athchuairt p-leagtha dhá, lenar tugadh isteach cad é? LUCHT ÉISTEACHTA: Cripteagrafaíochta. DAVID MALAN: Is beag beagán de cripteagrafaíochta. Cripteagrafaíochta Simplí, ar a laghad sa eagrán caighdeánach, ach criptithe mar sin féin. níos lú. Mar sin, casadh sé amach má chriptiú tú ar fad na ceanntásca úsáid a bhaint as rud éigin go bhfuil tú d'fhéadfadh a fhios anois níos familiarly mar SSL, slán ciseal soicéad, nó https:// URLanna, ansin gach ceann de na rudaí atá déanta againn glancing ag criptithe i ndáiríre, rud a chiallaíonn go bhfuil sé cosúil leat Ní féidir a léamh ar an stampa láimhe. Ach facebook.com féidir, nó google.com, nó sa chás seo, is féidir leis an fearas léamh stampa láimhe. Tragóideach áfach, agus arís, tá sé seo go léir ró-oiriúnach leis an stuif NSA de déanach, is fiú SSL breakable. Agus tá sé i ndáiríre go crua a crack fiú go criptithe. Nach bhfuil an oiread sin ag scoilteadh an criptithe, ach ag tricking an bhrabhsálaí isteach decrypting na sonraí ró-luath. Ach arís, beidh orainn tease tú leis sin roimh i bhfad. Chun anois, ach bíodh eagla ort. Tá sé tragóideach de chineál ar fíor. Gach ceart. Mar sin, i gcás ina bhfuil sin a fhágáil linn anois? Bhuel, a ligean ar é seo a dhéanamh. A ligean ar dul ar aghaidh agus a ghlacadh mear teaser roimh chur orainn sos. Agus mo thuairimse, beidh orainn linger le beagán níos faide lá atá inniu ann, ach táimid ag dul a Léim isteach , a rud éigin branda nua agus sexy beidh whet do appetite le haghaidh fiú níos mó. Mar sin, go bhfuil an teaser. Mar sin, SQL, thosaigh muid ag caint faoi riamh mar sin go hachomair uair dheireanach. Feicfidh tú a fháil i ndáiríre do chuid lámha salach le cuid de na sé i p-leagtar seacht. Agus i dtéarmaí layman, a dhéanann SQL cad - S-Q-L - a dhéanamh duit? Cad é? Yeah. LUCHT ÉISTEACHTA: Déanaimis tú rochtain ar shonraí. DAVID MALAN: Yeah. Sé ligean duit rochtain ar shonraí i mbunachar sonraí. Teanga Struchtúrtha Iarratas. Agus é seo go bunúsach teanga ríomhchlárúcháin. Tá gnéithe de sé go Ní bheidh muid úsáid fiú sa rang. Ach is féidir leat go héifeachtach feidhmeanna a shainmhíniú. Siad ar a dtugtar stóráil nósanna imeachta i SQL. Ach beidh orainn a choinneáil simplí go cothrom agus go díreach é a úsáid le haghaidh roinnt oibríochtaí bunúsacha cosúil le sonraí a roghnú, sonraí a chur isteach, sonraí a thabhairt cothrom le dáta, agus sonraí a scriosadh. Agus is féidir leat smaoineamh i ndáiríre ar bhunachar sonraí, cosúil le bunachar sonraí SQL, mar ach á Microsoft Excel. Toisc Tagraíonn SQL do choibhneasta a bunachar sonraí, i gcás ina Ciallaíonn ndáil díreach táblaí. Sraitheanna agus colúin. Mar sin, aon rud is féidir leat a chur i scarbhileog mar seo nó Google Docs, d'fhéadfaí tú a chur isteach i mbunachar sonraí SQL trí dhearbhú tábla. Anois, conas a dhéanann tú teacht ar iarbhír an fhaisnéis sin? Bhuel, le horduithe nó ceisteanna mar seo. SELECT, CUIR ISTEACH, dáta, agus scriosadh. Agus don chuid is mó, iad siúd na ceithre comhábhair ach beidh ort a rud éigin a dhéanamh go leor cumhachtach i fhadhb a leagtar seacht. Anois, ar ais sa lá, ba mhaith leat i ndáiríre idirghníomhú le bunachar sonraí i fuinneog críochfort dubh agus bán ag pras caochadh mar seo. Agus an mbunachar sonraí táimid ag rith ar an Tá fearas a dtugtar MySQL, atá inneall bunachar sonraí foinse saor in aisce agus oscailte. Má tá tú ag Google agus a léamh ar an Vicipéid airteagal, beidh a fhios agat go bhfuil an t-ainm le beagán de idirthréimhse do roinnt leaganacha Linux. Tá Maria bunachar sonraí iarbhír forc sin a labhairt ar MySQL. Scéal fada gairid, cheannaigh Oracle MySQL. Oracle Tá cuideachta mhór. Daoine curtha buartha go mbeadh sé a thuilleadh fós foinse oscailte go leor mar, mar sin tá sé seo ach cóip den MySQL go fós saor in aisce, foinse oscailte go fóill, agus suiteáilte i Fedora Linux réir réamhshocraithe. Ach tá sé seo de chineál ar pian i muineál a fháil acquainted le bunachar sonraí ar an mbealach seo. Mar sin, tá muid i fearas CS50 uirlis foinse oscailte saor in aisce ar a dtugtar phpMyAdmin. Just a chomhtharlú go tá sé scríofa i PHP. Níl aon bunúsach Ní mór do PHP anseo. Ach tá sé seo ach uirlis gréasán-bhunaithe a íoslódáil muid saor in aisce, suiteáilte i an fearas, a ligeann dúinn a bheith acu comhéadan úsáideora grafacha lena chun iniúchadh a dhéanamh ar na seacht bunachar sonraí p-leagtar le a chruthú bunachair shonraí nua, rá do do thionscadal deiridh féin má gur mhaith leat cosúil le, agus ar deireadh thiar a chruthú suíomh gréasáin dinimiciúil cosúil CS50 Airgeadais a ligfidh tú chun sonraí a fhiosrú agus a sonraí a thabhairt cothrom le dáta go dinimiciúil. Nach bhfuil tú ag dul a bheith acu a úsáid ach gcomhad téacs simplí nó CSV. Is féidir leat a úsáid i ndáiríre bunachar sonraí cliste clár ionas gur féidir leat a fhorghníomhú níos mó ceisteanna sofaisticiúla ná díreach ag léamh trí gach rud go líneach. Mar sin, mar shampla, is é seo cad a thabhairt dúinn tú amach as an bhosca le haghaidh p-leagtha seacht. Is é seo an tábla le cosúil, ar a laghad trí cholún, ceann acu ainm úsáideora, tá sé ar cheann de na a hash, agus an ceann eile a bhfuil ID. Ach an rud is suimiúil, agus díreach a tease amach shíl amháin anseo, ainm úsáideora Is dócha leith cheana féin, ceart? Ciallaíonn mé, an chuid is mó aon suíomh gréasáin, má tá tú ainm úsáideora, ann Ní féidir a bheith dhá Caesars. Ní féidir a bheith ann dhá malans. Ní féidir a bheith ann dhá jharvards. A uathúil. Seachas sin, níl a fhios acu a jharvard tá sé i ndáiríre. Mar sin, cad a d'fhéadfadh a bheith ar an spreagadh freisin as a bhfuil an tríú colún ar an taobh clé ann ar a dtugtar ID, a bhreathnaíonn ar nós líon sin mar an gcéanna ar leith? Mothaíonn sé iomarcach beag dom ar an gcéad amharc. Cad chuige a mbeadh sé a bheith láidir a bheith acu ní hamháin ainmneacha úsáideoirí ar leith, ach freisin uimhreacha ar leith? LUCHT ÉISTEACHTA: D'fhéadfadh siad a bheith an focal faire céanna. DAVID MALAN: D'fhéadfadh daoine a bheith an focal faire céanna, cinnte. D'fhéadfadh sin tarlú go hiomlán. Ach má tá siad seo ainm úsáideora ar leith, mé Bheadh ​​a mhaíomh go raibh nach bhfuil i ndáiríre ábhar, mar má chlóscríobh siad i n- ainm úsáideora, is gá dom ach a sheiceáil pasfhocal, a hash sin. Cén fáth éigin eile? LUCHT ÉISTEACHTA: cuardach Níos tapúla. DAVID MALAN: cuardach Níos tapúla. Cén fáth? LUCHT ÉISTEACHTA: Tá haitheantas ach amháin. DAVID MALAN: Is haitheantas ach carachtar amháin, nó le bheith níos cruinne, tá sé roinnt, mar sin tá sé is dócha 32 giotán nó rud éigin mar sin. De bharr an méid an ainm úsáideora, cosúil Jason Suas Hirschhorn ar go bhfuil saghas ridiculously fada, agus é ag dul go dtí thabhairt dom a lán níos mó ama a teaghrán comparáid a dhéanamh idir H-I-R-S-C-H-H-O-R-N, agus b'fhéidir a / 0 nó rud éigin mar sin, d'fhonn chun breathnú suas Jason, i gcomparáid le díreach ag rá a thabhairt dom dhá uimhir úsáideora. Sin 32 giotán. Tá sé ina INT amháin go caithfidh tú a chur i gcomparáid. Agus go deimhin, go díreach cén fáth bunachair claonadh a bhíonn le IDs ar leith a shannadh do sraitheanna iontu. Anois, cad iad na cineálacha eile sonraí ann sa bhreis ar INT agus is cosúil teaghráin mar seo? Bhuel, a bheith níos cuí, Bunachair sonraí SQL, cosúil le MySQL, tá réimsí CAR. Agus ruabhreac beag misleadingly nach bhfuil CHAR amháin. Tá réimse CAR i mbunachar sonraí MySQL carachtair amháin nó níos mó, ach tá sé ina líon seasta de charachtair. Mar sin, mar shampla, má théann mé thar a phpMyAdmin mar is féidir leat a bheith cheana féin, nó Beidh fadhb a leagtar go luath seacht, agus mé ag dul le mo bunachar sonraí, agus díreach le haghaidh spraoi, a ligean ar chruthú tábla nua ar a dtugtar tástáil a bhfuil ach dhá cholún. Feicfidh mé ansin cliceáil Téigh. Agus beidh sé seo a bheith ar an eolas go cothrom, go háirithe mar a tinker tú thart ar do chuid féin. Anseo d'fhéadfadh mé cineál haitheantas a chruthú tábla nua de chineál INT. Ach anseo d'fhéadfadh mé cineál ainm úsáideora a athchruthú go tábla roimhe sin. Agus faoi deara Tá mé a bunch iomlán de chineálacha a roghnú as. Agus tá sé seo ró fáth phpMyAdmin Is de chineál ar deas. Tá sé de chineál ar féin-teagaisc sa mhéid is go tú Is féidir ach de chineál ar phointe, agus cliceáil, agus breathnú ar biachláir dropdown, agus tátal a bhaint astu ó Tugann sin céard iad na cumhachtaí SQL agat. Agus go deimhin, má roghnaíonn mé CAR, mé ansin a shonrú ar an fad, nó conas go leor luachanna, cé mhéad chars. Is iad na luachanna sin an-choitianta rudaí cosúil le 255, ach sin beagán fada. Is coitianta ocht do ainm úsáideora. Ach tá go bhfuil beagán beag na laethanta. Mar sin, tá sé seo le cinneadh a dearadh. An bhfuil sé 8 carachtair max, 32, 255, 1,000? Tá sé i ndáiríre suas chun tú. Ach tá réimse CAR líon seasta. Mar sin, a roghnú ró-beag agus tá tú de chineál ar screwed más mian leat ainm úsáideora níos faide. Roghnaigh iomarca agus cad an downside? LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: Tá sé wasteful. Díreach cosúil i C, má tá tú níos mó smután de chuimhne ná ní mór duit, tá tú díreach wasting am agus spás wasting. Mar sin, mar mhalairt, ar ann do Varchar, a réitíonn an fhadhb seo ag chóireáil fad nach mar fad socraithe, ach mar fad uasta, agus ag baint úsáide as líon athraitheach chars, a ansin claonadh a úsáid ach amháin mar a lán chars is tú gá iarbhír. Sin fuaimeanna foirfe. Cén fáth nach a fháil againn réidh leis an Cineál na sonraí CHAR ansin? Cad a bheith ar an downside ag baint úsáide VARCHARs, a fuaimeanna mar tá sé ina bua deas? Yeah? LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: OK, maith. Mar sin, má tá gach ceann de do shonraí ar an gcéanna fad, cad é an imní? LUCHT ÉISTEACHTA: Toisc go bhfuil tú wasting sonraí ag insint dóibh go léir. DAVID MALAN: Mar sin, más rud é go léir de do shonraí an fad céanna, áfach, ba mhaith liom a mhaíomh go sonrófar fad uasta ar varchar aon éagsúla ó sonrófar fad socraithe ar CAR má Tá a fhios agat go bhfuil uimhir roimh ré. Ach tá go deimhin, agus beidh mé saghas sliocht ón freagra an réaltacht go huasmhéid fós, a d'fhéadfadh a bheith annoying, go háirithe má tá tú teacht ar ainm duine go unusually fada nach raibh tú réamh-mheas. Agus tá sé chomh maith le beagán níos lú éifeachtach chun cuardach a dhéanamh i ndáiríre ar VARCHARs mar i gcomparáid le chars chuardach, go háirithe do táblaí fada go bhfuil go leor agus go leor de na sonraí. Mar sin, anseo freisin, is téamach arís aon rogha soiléir. Mar sin, ach a thabhairt duit tuiscint ar eile cineálacha sonraí a d'fhéadfadh a bheith inspéise ceachtar do p-leagtha seacht nó i an todhchaí, níl INT. Níl BIGINT, a Is cosúil fada fada. Bíonn sé a bheith 64 giotán. Níl DEACHÚIL, a mbainfidh tú a fheiceáil i an leagan fhadhb, a bhfuil i bhfad freagra níos glaine ar na fadhbanna againn bhíonn le snámh agus snámh pointe imprecision. Agus ansin níl datetime. Níl literally cineál sonraí a bhfuil chun breathnú cosúil le bliain, in aghaidh na míosa, in aghaidh an lae, agus uair an chloig, nóiméad, agus an dara. Ach tá bunachair sonraí SQL chomh maith rudaí beidh muid ag glaoch innéacsanna. Agus is é innéacs rud go bhfuil tú a shonrú nuair a chruthú ar an tábla a cuardaigh agus oibríochtaí eile a dhéanamh níos éifeachtaí. Go sonrach, níl rud ar a dtugtar an t-innéacs PRIMARY go bhféadfaí tú dhearbhú mar seo a leanas. Rinneamar é seo ar do shon leis an úsáideoirí tábla a thabhairt duit. Ach faoi deara má bhí mé a athchruthú de láimh an tábla úsáideoirí anseo a thabhairt sé ainm úsáideora. Sonraithe agam cheana féin ID. Sonraithe mé INT. Sonraithe mé ainm úsáideora le uasmhéid 32 carachtair. Ach má táimid a choinneáil scrollaigh seo cothrom fuinneog leathan, fógra níl a bunch de rudaí eile, is féidir liom a shonrú. Amháin, is féidir liom a tréithe a shonrú cosúil le, tá a fhios agat cad, seo Ba chóir go mbeadh INT SÍNIÚ. Níl mé ag iarraidh uimhreacha diúltacha, mar sin a ligean ar a dhéanamh SÍNIÚ é. Ní null ábhartha anseo mar gheall ar Mé ag iarraidh ar gach úsáideoir a tá uimhir uathúil. Níl mé ag iarraidh é a bheith ar neamhní. Ach tá sé seo suimiúil. Is féidir liom a shonrú go bhfuil ceachtar haitheantas ar príomh-bhunscoile an bhunachair shonraí seo, nó tá sé ar leith, nó a bhfuil sé innéacsú, nó téacs iomlán. Mar sin, chun críocha an lae inniu, scéal fada gearr, ciallaíonn PRIMARY go ndéanfaidh an ar bhonn coincheapúil agus teicniúil araon réimse go n-úsáideann muid go dtí uathúil úsáideoirí a shainaithint. Mar sin, nuair a fhéachann muid suas úsáideoirí, is é seo an saghas de gealltanas chun breathnú suas iad den chuid is mó ag go aitheantóir uathúil. Agus beidh an bunachar sonraí a chinntiú go má tá tú tá uimhir úsáideora 3, ní féidir leat isteach go fisiciúil úsáideoir eile leis an líon céanna 3. Beidh an bunachar sonraí a dhiúltú ach a shábháil ar do chuid athruithe. Cé acu is rud maith, mar is féidir leat tú féin a chosaint ó duit féin. féin De rogha air sin, d'ainm úsáideora. Mar sin, an dara sraith, cuimhne, Is é an réimse an ainm úsáideora. Mar sin, is é an dara sraith anseo ainm úsáideora, mar a rinne muid ar an chlé i bhfad ann. Mar sin, cad eile a d'fhéadfadh mé ag iarraidh a shonrú? Níl mé cead, de réir SQL, a shonrú dhá eochracha bunscoile. Is féidir leat a shonrú eochair comh-áit a bhfuil tú breathnú ar an dá réimsí, ach ní féidir leo a bheith ina n-aonar eochracha bunscoile. Mar sin tá go amach ar an gceist. Mar sin, a d'fhéadfadh mé ag iarraidh a roghnú? Bhuel, tá uathúil den chineál céanna i spiorad le príomh-bhunscoile i gcás ina tú a shonrú seo Beidh réimse a bheith ar leith, ach tá sé ní ag dul a bheith ar an duine Úsáid mé go léir an t-am. Agus nach bhfuil muid ag dul a úsáid an ceann seo go léir an t-am le haghaidh cén fáth arís? Tá sé níos moille d'fhéadfadh a bheith má tá sé ina ainm úsáideora fada. Tá sé ach cur amú ama. INNÉACS, Idir an dá linn sonraíonn, go bhfuil sé nach bhfuil ag dul a bheith ar leith, ach ba mhaith liom buíochas tú a bheith ag obair do draíocht thíos an cochall a dhéanamh níos tapúla dom a cuardach a dhéanamh ar an réimse seo. Mar sin, seo nach dócha ábhartha anseo. Chun ainm úsáideora, ba mhaith liom a mhaíomh go Is uathúil freagra maith. Ach is dócha go rinne muid níos mó úsáideoirí suimiúil ná díreach ainmneacha úsáideoirí, hashes, agus uimhreacha aitheantais. Cad a tharlaíonn má thug muid daoine ainmneacha iomlána? Cad a tharlaíonn má thug muid dóibh seoltaí agus sonraí eile mar gheall orthu? Bhuel, má tá tú a shonrú go colún i Tá bunachar sonraí innéacsaithe, ciallaíonn sé sin go MySQL, nó Oracle, nó cibé bunachar sonraí bhfuil tú ag baint úsáide as, ba chóir an obair a draíochta agus a úsáid roinnt de chineál ar shonraí mhaisiúil struchtúr cosúil le crann, nó trie, nó tábla hais, nó rud éigin a ráthú go nuair a chuardaíonn tú le haghaidh sonraí ag baint úsáide as a roghnú ar an réimse áirithe - cosúil thaispeáint dom gach duine go Cónaíonn ar Shráid Oxford. Tá ceist mar sin. Má tá tú atá sonraithe roimh ré go ba mhaith leat innéacs ar an réimse, an Beidh cuardaigh a bheith i bhfad, i bhfad níos tapúla. Mura bhfuil tú a shonrú innéacs, an chuid is fearr is féidir leat a dhéanamh ar chuardach líneach má nach bhfuil sé curtha in eagar. Ach má tá tú a shonrú INNÉACS, an cliste daoine a rinne an bunachar sonraí - daoine cosúil leat a fhios anois crainn agus déanann agus táblaí hash - Beidh a leithéid de shonraí a thógáil go huathoibríoch struchtúr i RAM a dhéanamh cinnte go iad siúd cuardaigh i bhfad níos tapúla. Is lántéacs Idir an dá linn chineál céanna i spiorad, ach is féidir leat saoróg a dhéanamh cuardaigh, cosúil thaispeáint dom gach duine go Tá cónaí ar na sráideanna a tús a chur leis an litir O chúis ar bith. Is féidir leat a dhéanamh cuardach saoróg mar sin. Nó, rudaí níos láidre cosúil le seó dom gach duine a bhfuil an focal - thaispeáint dom gach duine a bhfuil a thosaíonn an t-ainm le litir áirithe. Is féidir leat cuardach a dhéanamh ar na heochairfhocail ar an mbealach seo. Gach ceart. Mar sin, deiseanna dearaidh ann d'fhéadfadh a bheith. Tá daoine eile Feicfidh mé tonn mo lámha ag. Casadh sé amach gur féidir leat a bheith innill stóráil éagsúla. Agus é seo níos arcane ná ní mór dúinn cinnte do fhadhb atá leagtha seacht. De réir réamhshocraithe, tá tú guys ag baint úsáide as rud ar a dtugtar InnoDB. Feicfidh tú a fheiceáil lua seo áit éigin i comhéadan phpMyAdmin is dócha. Ach tá a fhios go bhfuil dearadh eile cinntí a bhfuil cumas ús a thagann tionscadail deiridh, más a dhéanann tú rud éigin bunaithe ar an ngréasán. Ach a ligean ar é seo a dhéanamh. A ligean ar dul ar aghaidh agus seo a chur ar an scáileán mar teaser do scéal a bhaineann le leat, roommate, agus gloine bainne. Ligean ar ghlacadh le dhá nóiméad nó mar sin a bhriseadh anseo. Agus más féidir leat bata timpeall, a ligean ar teacht ar ais, cuma beagán níos mó ag SQL, agus ansin le beagán de JavaScript le p-leagtar ocht i gcuimhne. Gach ceart. Mar sin, a ligean ar a fháil tú ag smaoineamh faoi cás cúinne is féidir a thagann chun cinn an-éasca i gcomhthéacs ag úsáid bunachar sonraí, nó frankly, fiú ag baint úsáide rudaí saol fíor cosúil le ATM airgead a fháil. Mar sin, tá anseo refrigerator. Cuir tú a fuair amháin ró i do dorm nó do theach. Agus tá tú bhí roommate amháin, agus an dá leat i ndáiríre bainne mar shampla. Mar sin a thagann tú abhaile ón rang lá amháin. Sé nó sí nach bhfuil fós ar ais. Osclaíonn tú an cuisneoir. Ba mhaith leat i ndáiríre gloine mór bainne. Níl aon bhainne. Mar sin, cad a dhéanann tú a dhéanamh? Dhúnann tú an chuisneoir. Tá tú grab do chuid eochracha. Théann tú amach go dtí an chearnóg. Agus gheobhaidh tú i líne ag CVS ag na rudaí féin Seiceáil, a gcónaí a bheith níos faide ná iarbhír a bhfuil airgeadóirí. Anyhow. Mar sin, ansin, Idir an dá linn, ponc ponc ponc, do Tagann roommate bhaile agus sé nó sí dul céanna, tá hankering do roinnt bainne. Mar sin, osclaíonn sé nó sí ar an cuisneoir, Breathnaíonn taobh istigh, agus ó, damnaigh. Uimh bainne. Mar sin, a tharlaíonn tugann sí amach sé nó, chun dul chuig an CVS eile, a bhí ann ach bloc ar shiúl le haghaidh ar chúis éigin, agus sé nó faigheann sí i líne a cheannach roinnt bainne. Idir an dá linn, a thagann tú abhaile, sé nó Tagann sí abhaile, agus cad a dhéanann tá tú ar deireadh thiar? Bainne Dhá uair an oiread. Ach nach bhfuil tú i ndáiríre mhaith bainne go bhfuil i bhfad. Mar sin, anois tá tú bainne an oiread sin go bhfuil anois ceann amháin acu ag dul ach dul géar deireadh thiar. Mar sin, tá sé seo ina fhadhb i ndáiríre dona. Ceart? Mar sin, cad é a tharla? Mar sin, go bunúsach, is é seo de chineál de shampla ridiculous. Ach thíos an cochall, cad tá muid go raibh tarlú anseo bheirt agaibh sheiceáil staid roinnt píosa cuimhne, an cuisneoir. An dá de tú a sheiceáil an stát roinnt athróg. Tharraing tú araon a thabhairt i gcrích gur ghníomhaigh tú ansin ar. Ach ar an drochuair, cé go bhfuil do roommate bhí ag an siopa, an staid sin athróg athraigh, tháinig sé nó sí ar ais agus anois ba mhaith leis a athrú ar an staid, ach tá sé ar athraíodh cheana féin air nó uirthi. Agus ar ndóigh, ní bheadh ​​sé nó sí a bheith imithe go dtí an siopa dá mbeadh a fhios acu go raibh tú cheana féin ar an mbealach. Mar sin, ar fud an domhain fíor, conas a d'fhéadfadh tú a sheachaint an fhadhb seo, glacadh leis go bhfuil tú cuisneoir, tá tú roommate, agus leat i ndáiríre bainne? LUCHT ÉISTEACHTA: Cumarsáid. DAVID MALAN: Cumarsáid. OK. Ach conas a d'fhéadfadh tú a chur in iúl? LUCHT ÉISTEACHTA: Fág nóta. DAVID MALAN: Fág nóta, ceart? Fhágáil i gcónaí nóta, le haghaidh lucht leanúna an seó. Gach ceart, a fhágáil mar sin i gcónaí nóta, nó a chur go fírinneach cosúil le glas fraincín nó rud éigin ar an cuisneoir go gcoinníonn do roommate ó iniúchadh ar staid go athraitheach. Anois, cén fáth a d'fhéadfadh sé seo a bheith germane le fhadhb a leagtar seacht, nó do UMBanna. Bhuel, a shamhlú ar domhan i ATM ina d'fhéadfadh tú a bheith in ann dul suas go dtí ATM meaisín anseo, agus BAT eile anseo. Agus a tharlaíonn sé seo go minic go leor. Agus is dócha go raibh tú dhá cártaí ATM, a is féidir a fháil. Agus tú logáil isteach an dá meaisíní go héifeachtach ag an am céanna, tá súil againn cé tá aon duine ag breathnú. Agus ansin scríobhann tú i do PIN thart ar an am céanna. Agus ansin a dhéanann tú ceist cothromaíocht a fheiceáil cé mhéad airgid atá agat. Agus a ligean le rá go bhfuil tú $ 100 fágtha i do chuntas. Mar sin, go bunúsach ag an am céanna, tá tú a rá amháin, náid, náid, dul isteach. Agus tá súil againn tú a fháil ar ais roinnt airgid. Ach cé mhéad airgid a d'fhéadfadh tú a fháil ar ais? Anois ríomhairí ag deireadh an lae, go háirithe má tá siad ag caint le freastalaithe, nach rudaí a dhéanamh gá go san ordú go bhfuil súil leis. Mar sin, is dócha cad a tharlaíonn, mar gheall ar cibé líonra saincheisteanna luas ann Tá, nó tá ceisteanna LAP, nó aon rud mar sin, is dócha go bhfuil an seiceálacha ar dtús BAT do chomhardú agus Feiceann, OH, tá an duine $ 100. Ach ansin faigheann distracted mar b'fhéidir Tá cúltaca ag tarlú agus mar sin tá sé slowing síos. Nó b'fhéidir agus seiceáil, an líonra nasc fuair beagán níos moille mar gheall ar seo a tharlaíonn go díreach. Tá siad feistí fisiceacha. Mar sin, Idir an dá linn, is é an dara BAT ag iarraidh ar an gceist chéanna. Cé mhéad airgid a bhfuil David? $ 100 Is é an freagra. Ach toisc go bhfuil an chéad BAT fós chuir an teachtaireacht a dhealú $ 100, araon UMBanna tar éis cigireacht a bhainc cruinneachán, bhfaca níl $ 100 ann, agus anois tá an dá meaisíní d'fhéadfadh a bheith ag dul a spit amach freagra. Anois, tá sé seo iontach do duit i roinnt chiall má cad a dhéanann an banc ar deireadh thiar Is é an méid a athrú go lúide 100 a leagan ar an comhionann athróg do banc cuntas cothrom le 0, seachas a dhéanamh lúide 100. Anois, i gcás is measa do na bainc - nó sa chuid is fearr do na bainc, Idir an dá linn, a thugann siad duit $ 200, agus Léiríonn do chuntas bainc anois diúltach $ 100, nach ndéanann i ndáiríre tairbhe duit ar chor ar bith. Ach tá an pointe go bhfuil an cine coinníoll ar feadh dhá roommates ag fáil bainne, nó ar feadh dhá ATM ag iarraidh airgead a fháil agus athrú ar an staid cruinneachán ag an am céanna ann aon ama a bhfuil tú bunachar sonraí. Anois, i fhadhb a leagtar seacht, an tsaincheist seo éiríonn sa chiall go má cheannaíonn tú scair stoic Facebook, agus ansin le haghaidh Mar shampla cheannaíonn tú an dara sciar de Stoc Facebook, is gá duit a dhéanamh chinnidh faoi thrácht mar ríomhchláraitheoir. D'fhonn a chinneadh conas a thabhairt cothrom le dáta an bunachar sonraí, odds bhfuil tú ag dul chun Tá sraith amháin don stoc, agus tá sé seo Is bealach amháin a chur i bhfeidhm. Agus tá tú ag dul a bheith scair amháin de na FB, a bhfuil a n-siombail ticker stoic seo ainm úsáideora, nó an t-úsáideoir ID, aitheantóir uathúil. Ach is féidir an scéal céanna tarlú anseo. Má dhéanann tú SELECT i SQL, mar beidh tú a fheiceáil i fhadhb a leagtar seacht nuair a fheiceann tú, OH, tá David scair amháin stoic Facebook. Lig dom a athrú anois seo a bheith dhá scaireanna, mar gheall ar mian sé a cheannach an dara sciar. Ach is dócha David Bhí dhá iarbhír fuinneoga bhrabhsálaí a oscailt, nó is dócha go tá sé ina comhchuntas le dhá céilí, agus an mbeirt acu ag iarraidh a dhéanamh an oibríocht chéanna, ansin, freisin, an Tá cumas cinneadh a bheith a rinneadh bunaithe ar an mbliain roimhe sin staid ar fud an domhain - Tá an cuntas scair amháin - agus an dá daoine, nó an dá freastalaithe, anois iarracht a rá é incrimint le dhá scaireanna. Ach sa chás seo, d'fhéadfadh tú a mhuirearódh airgead dom don dá scaireanna, ach incrimintithe ach an am sin amháin. Mar sin, i mbeagán focal, an fhadhb bhunúsach anseo, mar atá leis an scéilín grinn faoin fágáil faoi ​​deara, nó a chur padlock ar sé, má beirt daoine, nó dhá snáitheanna - smaoineamh ar ais go dtí scratch - Is féidir iniúchadh a dhéanamh ar an staid roinnt athróg agus ansin déan iarracht a athrú go athraitheach, ach ní dhéanann an dá rudaí a tharlóidh ag an am céanna, ach is féidir a fháil isteach ag rudaí eile ag tarlú, is féidir na sonraí a fháil i stát an-aisteach. Agus is féidir leat leas a bhaint nó is féidir leat ag fulaingt sa chiall an sampla airgid. Mar sin, i fhadhb a leagtar seacht, a thabhairt duit an líne amháin de chód, a fhad gearrscéal réitíonn, an fadhb i MySQL. Seo treoir an-fhada nach bhfuil fiú d'oirfeadh isteach líne amháin ar an Cinntíonn an scáileán anseo go bhfuil do oibríocht Is cad atá ar a dtugtar adamhach. Tarlaíonn sé go léir ag an am céanna, nó nach ndéanann sé tarlú ar chor ar bith. Ní féidir an frása an-fhada isteach a fháil go páirteach. Agus cad a dhéanann sé literally cad a deir sé. Cuir isteach i roinnt tábla seo a leanas trí réimsí na luachanna sonracha, ach ar eochair dúblach, Ní dhéanann iatán. An bhfuil cothrom le dáta. Mar sin, tá sé seo cosúil le déanamh le SELECT agus ISTEACH sin a labhairt ag an am céanna. Agus cad é an eochair go is dócha ag tagairt anseo? Casadh sé amach, agus feicfidh tú é seo i fhadhb a leagtar seacht ar spec, mar gheall ar tá muid dhearbhú ann a bheith ina eochair ar leith ar an tábla seo áirithe sin go Ní féidir leat a bheith sraitheanna il don úsáideoir céanna leis an céanna stoc pingin siombail - sa sampla seo anseo, tá DVN.V stoc pingin amaideach go bhfuil muid tagairt a dhéanamh sa spec. Toisc atá dearbhaithe againn é a bheith ar leith, cad a chiallaíonn sé seo go bhfuil má tá tú iarracht a chur isteach a chéile dúblach, tá tú ina ionad sin dul chun nuashonrú gan duine ar bith eile a bhfuil an deis a athrú staid an domhain an oiread. Mar sin, i mbeagán focal, cinntíonn sé seo Tá rudaí adamhach. Níos ginearálta áfach, bunachair sonraí cosúil le MySQL - agus ní gá duit an ghné seo haghaidh p-leagtar seacht, ach é a choimeád i gcuimhne do an todhchaí - tacú leis an méid ar a dtugtar idirbhearta, áit ar féidir leat a rá TÚS IDIRBHIRT literally. Is féidir leat a fhorghníomhú ansin dhá ráiteas SQL. Agus ráiteas SQL, mar a mbainfidh tú a fheiceáil i p-leagtar seacht Breathnaíonn, beag rud éigin mar seo. Nuashonraigh ar a dtugtar cuntas tábla. Socraigh an colún iarmhéid cothrom le cibé an colún iarmhéid láthair Tá lúide 1,000 i gcás an líon, an uimhir chuntais, cosúil leis an ID úsáideora, ionann 2, agus ansin thabhairt cothrom le dáta cuntas dot ponc ponc. Mar sin, i dtéarmaí layman, cad a dhéanann an dá Is cosúil ceisteanna a bheith ag déanamh sa ciall saol fíor na baincéireachta? LUCHT ÉISTEACHTA: Aistriú coigiltis. DAVID MALAN: Go díreach. Cistí a aistriú ó cheann cuntas a thabhairt don eile. Agus é seo sampla eile áit a bhfuil tú i ndáiríre ba mhaith leis na dhá rud a tharlóidh nó nach bhfuil tarlú. Ní mian leat rud éigin a fháil ar an lár acu agus a d'fhéadfadh praiseach suas an mata, nó praiseach suas cé mhéad airgid atá agat, nó cé mhéad Tá an banc airgead. Mar sin, cad atá i ndáiríre deas faoi idirbhearta i MySQL is é sin, agus bunachair níos ginearálta, go bhfuil siad agus daoine cliste a Bainim i bhfeidhm na gnéithe figiúr amach conas a dhéanamh cinnte go dtarlódh dá cheann de na rudaí nó nach bhfuil ar chor ar bith. Agus má tá tú ag aspiring go fírinneach a dhéanamh ar an suíomh gréasáin go atá in úsáid ag daoine ar gcampas, daoine ar fud an domhain fíor, ag déanamh rud éigin sa chiall tosaithe, Is iad seo na cineálacha cinntí a dearadh go bheith riamh chomh tábhachtach sin. Seachas sin, dtosaíonn tú chun sonraí a chailleadh, caillfidh úsáideoirí, nó i gcás is measa chomh againn atá le feiceáil anseo, d'fhéadfadh airgead a chailleadh. Mar sin, arís, níos mó ar an bhfadhb atá leagtha i seacht, chomh maith le b'fhéidir le haghaidh roinnt de tú i dtionscadail deiridh. Mar sin, a ligean ar athrú go pictiúr a bhí againn nóiméad ó shin ach ar bhealach amháin níos mó. Mar sin, lig dom a fheiceáil i ndáiríre más féidir liom - nope, go bhfuil imithe. Tá sé. Mar sin, is é seo nuair a d'fhág muid uair dheireanach. Agus casadh sé amach táimid ag dul a toss Rud amháin níos mó isteach sa mheascán anseo - teanga ar a dtugtar JavaScript. Mar sin, oireann JavaScript iarbhír isteach an píosa - agus ní raibh mé a fhágáil go leor seomra go leor, mar sin nach bhfuil sé seo anois de réir scála. OK, tá sé seo i ndáiríre pathetic. OK, mar sin go bhfuil JavaScript. Gach ceart. Tá mé ag déanamh i ndáiríre é a disservice. Gach ceart. Mar sin, tá JavaScript cláir eile teanga, agus ár deireanach, Má chabhraíonn go suaimhneas nach níl i bhfad níos mó de na hiodraint dóiteáin anseo. Mar sin, tá JavaScript freisin léirmhíniú teanga, rud a chiallaíonn nach bhfuil tú thiomsú sé isteach nialais agus cinn. Leat siúl ach é. Ach cad atá difriúil go bunúsach le Tá JavaScript de ghnáth go bhfuil tú Ní gá rith sé ar do fhreastalaí gréasáin. Ní chuireann sé a fháil ar siúl i fearas per se. Ina ionad sin, faigheann sé íoslódáil ag úsáideoir via HTTP isteach ina bhrabhsálaí - Chrome, Safari, Internet Explorer, Firefox, is cuma cad - agus tá sé an bhrabhsálaí a fhorghníomhú seo go háirithe teanga cláir. Mar sin, a bheith soiléir, PHP tá go dtí seo curtha fhorghníomhú bíodh sé ar an líne orduithe i ár bhfuinneog dubh agus bán, ar fhreastalaí cosúil leis an fearas, ríomhaire cosúil leis an fearas, nó é a bhí fhorghníomhú ag fhreastalaí gréasáin reáchtáil ar ríomhaire. Ach is é an téama anseo go PHP go dtí seo forghníomhaíodh é freastalaí-taobh, mar sin an t-úsáideoir agus an úsáideora bhrabhsálaí Feiceann riamh líne de chód PHP. Go deimhin, má tá tú a oscailt riamh do bhrabhsálaí do láithreán gréasáin nó eile agus má a fheiceáil i ndáiríre PHP cód i do fuinneog, Tá duine éigin screwed suas. Toisc nach bhfuil sé i gceist a bheith sheoladh chuig bhrabhsálaí go díreach. Tá sé ceaptha a bheidh le déanamh agus chas i rud éigin cosúil le HTML. Ach Tá JavaScript bunúsach a mhalairt. Tá sé i gceist a bheith ar siúl de ghnáth taobh istigh de úsáideora fhuinneog an bhrabhsálaí. Agus cad iad na cineálacha de láithreáin ghréasáin a úsáid JavaScript ansin na laethanta seo? Cosúil le literally gach suíomh gréasáin tóir. Gach suíomh gréasáin go bhfuil tú guys is dócha a úsáid go laethúil JavaScript a úsáid le haghaidh na simplí agus fiú an gnéithe sexiest. Mar sin, rud éigin cosúil le Facebook Comhrá má úsáideann tú sin. Conas a oibríonn go n-oibríonn i ndáiríre? Bhuel go dtí seo, gach ceann de na rudaí atá déanta againn a dhéanamh le HTML agus PHP ghlacann leis go tú ag tarraingt suas URL, agus bhuail tú Enter, agus a fheiceann tú roinnt ábhar HTML. Agus tú cliceáil ar an nasc, a bhfuil athruithe ar an URL athruithe, an leathanach, agus athluchtú roinnt ábhar nua. Cliceáil URL eile nó foirm a chur isteach, is féidir leat a fháil ghreadadh go leathanach eile agus leat a fheiceáil roinnt ábhar nua. Ach úsáid a bhaint as rud éigin cosúil le Facebook Chat, nó Gchat, nó Google Maps, is annamh a dhéanann an leathanach ar fad athnuachan den sórt sin go fheiceann tú ar an scáileán bán momentarily agus ansin ábhar nua. Ina ionad sin, tá leathanaigh ghréasáin lá atá inniu dinimiciúil dul suas chun dáta arís agus arís agus arís eile gach saghas taobh thiar de na radhairc. Agus casadh sé amach go bhfuil nuair a bhfuil tú ag dul go dtí rud éigin cosúil le Facebook, nó Gchat, nó Gmail, agus na nuashonruithe leathanach go huathoibríoch gan athlódáil an , cad a tharla go bhfuil an scáileán ar fad go Tá do bhrabhsálaí déanta saghas rúnda iarratais HTTP breise - ní le haghaidh leathanaigh ghréasáin ar fad, ach amháin le haghaidh smután beag de shonraí, cosúil leis an teachtaireacht an toirt go díreach do chara chuir tú, nó an stádas cothrom le dáta go duine éigin a sheoladh go díreach leat, nó an tweet go bhfuil duine éigin a sheoladh díreach. Tá sé ag déanamh ach iarratas beag sonraí, agus ansin ag baint úsáide as JavaScript, seo cláir teanga, a athrú cad Breathnaíonn an leathanach gréasáin cosúil le gan an freastalaí ag cabhrú, gan an bhfreastalaí ghiniúint go HTML. Mar sin, i mbeagán focal, is féidir JavaScript a úsáid ansin chun Ní hamháin beir sonraí nua ó an fhreastalaí gan athlódáil ina n-iomláine leathanach nó ag seoladh isteach foirm. Is féidir é a úsáid freisin chun athrú the DOM mar a thugtar air - samhail réad doiciméad - a bhfuil ach an bealach mhaisiúil do ag rá an crann na HTML a chonaic muid uair dheireanach. Mar sin, a chur ar a suaimhneas, tá JavaScript syntactically den chineál céanna ionas go C chomh maith. Níl aon fheidhm is mó. Tá tú tús ach scríobh ar an gcód agus beidh sé a fháil chun báis, nó léirmhíniú níos mó i gceart. Beidh Coinníollacha breathnú cosúil le seo. Aon éagsúla ó C nó PHP ar an ní sin. Habairtí Boole nó-ed le chéile Beidh breathnú cosúil le seo. Anded le chéile breathnú cosúil le seo. Beidh lasca breathnú cosúil le seo. Chun go mbeidh lúb breathnú cosúil le seo. Cé go mbeidh lúb breathnú cosúil le seo. Ná cé go mbeidh lúb breathnú cosúil le seo. Is é seo an nua. Mar sin, nach bhfuil a foreach JavaScript thógáil per se, ach tá sé seo a thógáil do i athróg i sraith, agus mé sa thiocfaidh chun cás luach innéacs. Mar sin, tá sé ina beagán difriúil ón foreach, cé go leaganacha nua de JavaScript atá ag teacht amach go léir an t-am, mar sin fiú gnéithe na teanga ag teacht chun cinn. Agus mar leataobh, JavaScript na laethanta Is féidir é a úsáid freisin ar fhreastalaí díreach cosúil le PHP baint úsáide as creat a dtugtar Node.js. Ceann de TFS CS50 ar, Kevin, tá i gceannas ar seimineár ar Node.js go bhfuil fáil ag cs50.net/seminars. Mar sin, má tá tú aisteach, tá a fhios go bhfuil tú Is féidir seo a úsáid ar an taobh fhreastalaí mar go maith, ach go bhfuil an treocht measartha nua, ach amháin cumhachtach ag an. Tá sé seo beagán difriúil. Is é seo an eagar i JavaScript. Agus cad stailceanna tú mar éagsúla i gcomparáid le C nó PHP? Tá scéalta cúpla mear Is féidir linn a insint anseo. Cad atá ar iarraidh versus PHP? LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: Is ea? Tá brón orm, a rá arís? LUCHT ÉISTEACHTA: Nach dhearbhú an cineál athraitheach. DAVID MALAN: Ní bhíonn muid ag dearbhú an cineál athraitheach. Mar sin, i ndáiríre go leor cosúil le PHP, nach mbeimid ina sonrófar na cineálacha seo athraitheach. Ina ionad sin, tá muid níos mó cineálach ag rá var i gcomhair athróg. Ní chuirimid bhfuil núis PHP ar an comhartha Dollar, atá, cé tedious a cineál, a dhéanann a dhéanamh níos soiléire go Tá rud éigin athróg. De bharr an méid anseo, tá muid saghas ar ais go dtí Cur chuige C ag díreach ag iarraidh a athraitheacha an t-ainm ba mhaith linn a thabhairt dó, cosúil le uimhreacha. Agus freisin cosúil PHP, ní mór dúinn idir lúibíní cearnacha chun an Luachanna taobh istigh go eagar. Mar sin, i athróg JavaScript freisin D'fhéadfadh breathnú cosúil le seo. Fógra anseo tá sé seo ar a dtugtar teaghrán s, ach dul céanna, ní mór dúinn sonraithe go bhfuil sé ar teaghrán. Seo cé gné nach mbeidh de ann i slí díreach ar an mbealach céanna i PHP, ach le beagán céanna. Is é seo an rud ar JavaScript. Agus tá rudaí a shórtáil ar an Arm na hEilvéise Scian de struchtúr sonraí sa mhéid is go tú Is féidir iad a úsáid le haghaidh aon líon na rudaí. Anseo, mar shampla, tá muid á dhearbhú athraitheach ar a dtugtar ceanglófar. An cineál sin athraitheach Is é rud. Is féidir leat smaoineamh ar seo, mar struct C go bhfuil eochracha agus luachanna. Is Siombail eochair. Is FB luach, cosúil siombail stoc. Camóg. Praghas Tá eochair eile, agus is é a luach cosúil pointe ar snámh, nó líon níos ginearálta i JavaScript, de 49.26 $. Mar sin, nach bhfuil PHP bhfuil - nach bhfuil feicthe againn i rudaí go leor PHP mar seo, ach ní raibh muid a fheiceáil ar aschur, a bhí cad é? LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: arrays associative. Mar sin, cé go bhfuil arrays associative PHP a bhfuil a error é riamh beagán mar sin éagsúla - chonaic muid na lúibíní cearnacha. Chonaic muid na siombailí saigheada aisteach. Tá JavaScript rudaí, ach tá sé seo den chuid is mó difríocht shéimeantach agus a synonym éagsúla le haghaidh anois. Mar sin féin, mar leataobh, tá PHP chomh maith rudaí ar bhealach a Java agus eile Tá rudaí i dteangacha cláir réad-dhírithe. Ach beidh muid úsáid as na díreach le haghaidh cineálacha sonraí le haghaidh anois. Cuspóirí agus arrays comhthiomsaitheach. D'fhéadfadh sé seo ar cheann a dhéanamh beagán níos soiléire. Seo an fáth is fóinteach. Nuair is mian leat a dhearbhú mac léinn, cosúil le Zamyla, is féidir linn i ndáiríre Cuach sin taobh istigh de go bhfuil a labhairt réad ag baint úsáide as lúibíní chatach díreach cosúil roimh a bunch iomlán de eochracha agus luachanna i anseo. Tá muid ar ID, teach, agus ainm do Zamyla, ina dhiaidh sin ag Leathstad mar is gnách ag an deireadh. Síos anseo freisin, is é seo beagán éagsúla, ach freisin an-chumhachtach na laethanta seo. Seo sraith, agus tá a fhios agam gur mar gheall ar níl suas lúibín cearnach barr agus scriosaidh cearnach ag bun an leathanaigh. Agus is é seo le sraith de cad iad na sonraí cineál cosúil i JavaScript? Is é seo le sraith de tá sé cosúil le trí rudaí. Agus tá a fhios agam tá sé rud amháin mar gheall ar an braces gcuach. Agus faoi deara níl oscailte chatach guailleán, roinnt rudaí, gar chatach guailleán, camóg, ansin roinnt níos mó, camóg, agus ansin roinnt níos mó. Mar sin tá go trí argóintí scartha le camóga dhá. Mar sin, is é seo le sraith de thrí rudaí. Agus is cosúil gach ceann de na cuspóirí sin a bheith mhac léinn nó foirne de chuid saghas, gach ceann acu le haitheantas ar, teach, agus ainm. Ach tá mé ar a dtugtar an rud ar a dtugtar JSON - Nodaireacht Réad JavaScript. Agus é seo i bhformáid sonraí go hiarbhír Is é sin tóir agus an-in vogue na laethanta go má scríobhann tú iarratas go n-úsáideann an Facebook API, an Twitter API, i ndáiríre beagnach aon API amach ann na laethanta seo, lena n-áirítear cuid de féin CS50, an sonraí a fhaigheann tú ar ais nach bhfuil i scoil bhformáid CSV d'aois. Mar gheall ar cuimhne go CSV Tá Super simplí. Tá sé díreach colúin scartha le camóga. JSON sonraí tugann tú níos mó meiteashonraí. Associates Is eochair le gach luach sin nach bhfuil siad glacadh leis sin go díreach Is é an colún 0ú luach amháin, colún tá ceann eile, tá colún dhá cheann eile. Tá gach rud i réad JSON anseo saghas féin-cur síos, mar gheall ar gach ar cheann de na hainmneacha sa comhad seo tá literally ainm i os comhair é mar luaite teaghrán. Mar sin, a ligean ar ghlacadh le breathnú ar cúpla samplaí anseo. Lig dom dul isteach ar an fearas. Agus lig dom dul isteach inár vhost eolaire isteach poiblí. Agus lig dom dul isteach sa JavaScript eolaire. Agus a ligean ar dul ar aghaidh agus a oscailt suas dom-0.html, áit a chiallaíonn DOM díreach samhail réad doiciméad. Tá sé an stuif crann a Thagair mé níos luaithe. Agus lig dom seo a leanas a mholadh. Seo an leathanach gréasáin a bhfuil a Is comhlacht deas simplí. Mar sin síos anseo ag an mbun, faoi ​​deara go bhfuil mé foirm. Againn atá le feiceáil dóibh siúd os comhair. Tá dhá ionchur, ar cheann de a bhfuil Haitheantas ar ainm, tá cineál amháin de a chur faoi bhráid, agus an chéad tá sé ar cheann cineál téacs. Mar sin, fuaimeanna seo i ndáiríre simplí go leor. A ligean ar téigh anseo. A ligean ar dul ar ais chuig an leathanach seo anseo. A ligean ar dul isteach localhost, agus dul isteach i ár n-eolaire JavaScript, agus téigh go dtí dom-0, agus anseo ní mór dúinn an fhoirm seo. Mar sin, tá go cosúil ní léir an leathanach seo. Tá sé réimse ainm le a Cuir cnaipe. Ach níl mé ag dul a úsáid PHP anseo. Tá mé ag dul a dhéanamh taobh cliant gach rud sin a labhairt i JavaScript mar seo a leanas. Fógra go bhfuil mé a thugtar go deimhin an t-ainm réimse seo ionchur ar leith aitheantóir, a bheidh i ndáiríre shábháil dom roinnt ama i láthair na huaire. Agus faoi deara mé isteach chlib eile i an ceann de mo leathanach gréasáin, an  tag. Mar sin, tá sé sa chiall seo go bhfuil JavaScript teanga cláir cliant-taobh. Sa chás seo, díreach cosúil le CSS, mé a chur sé díreach taobh istigh de mo HTML. Ach Tugaim faoi deara dhearbhú Bainim feidhm go Breathnaíonn beag cosúil le PHP syntactically, ach tá sé seo i ndáiríre JavaScript, mar gheall ar arís, tá sé cliant-taobh sa bhrabhsálaí. Agus a ghlacadh buille faoi thuairim a bhfuil an dul chun a dhéanamh, cé go bhfuil roinnt de na chomhréir anseo is nua. LUCHT ÉISTEACHTA: Abair hello whoever. DAVID MALAN: Tá sé ag dul a rá hello a whoever cuairt ar an leathanach seo. Mar sin, conas? Mar sin, fógra, casadh sé amach i JavaScript níl feidhm alert (). Is é seo an saghas an-an fheidhm brónach go i ndáiríre claonadh ach d'úsáideoirí annoy. Ní Tá sé ar cheann ba chóir duit a úsáid i ndáiríre de ghnáth, ach tá sé ina tapaidh agus salach bealach saghas priontála rud éigin d'úsáideoir grafacha comhéadan, cosúil le brabhsálaí. Fógra anseo go bhfuil mé fuair mé teaghrán i Sleachta aonair. Casadh sé amach go murab ionann agus C, JavaScript Is féidir i ndáiríre a bheith leat é a úsáid amháin Sleachta, agus frankly tá sé ach de chineál ar an coinbhinsiún stíle i measc Ríomhchláraitheoirí JavaScript úsáid a bhaint as comharthaí athfhriotail singil. PHP, tá siad i ndáiríre beagán brí éagsúil. Ach do anois, tá a fhios sin go díreach sin é an chúis amháin. Is é an coinbhinsiún i JavaScript minic úsáid a bhaint as comharthaí athfhriotail singil, ach d'fhéadfaí linn a úsáid Sleachta dúbailte sa dá áit chomh maith. Mar sin, tá sé seo suimiúil. Athghairm uair dheireanach a bhí againn go pictiúr ar an scáileán a tharraing crann nuair a bhí tú an nód HTML, agus an nód ceann, agus an nód comhlacht, agus ansin roinnt téacs. Ach ní raibh nód speisialta amháin ag an an-barr go iarr mé ar an doiciméad. Bhuel, casadh sé amach i JavaScript, aon am a scríobh tú clár i JavaScript i bhrabhsálaí, tá rochtain agat athróg domhanda speisialta. Den chineál céanna i spiorad chun superglobals PHP, Tá sé seo ar cheann ar a dtugtar i gach doiciméad litreacha beaga. Tá sé cosúil le struct, ach tá sé seo struct freisin tá feidhmeanna taobh istigh de sé. Mar sin, tá struct C ach sonraí de ghnáth. Ach rud JavaScript mar seo Tá go teicniúil Tá feidhmeanna freisin, mhalairt ar a dtugtar modhanna, taobh istigh de sé. Agus is féidir leat glaoch feidhm taobh istigh de réad seo go leor a dhéanamh literally a ainm, ponc, agus ansin an t-ainm an fheidhm, nó arís modh. Tá sé ach synonym, i ndáiríre. Agus cad a dhéanann an fheidhm seo a dhéanamh? Is féidir leat de chineál ar buille faoi thuairim as a ainm. Faigh eilimint le ID. Mar sin, tá sé seo ag dul chun cuardach a dhéanamh ar an leathanach gréasáin, cuardach a dhéanamh ar an crann, ag lorg is cuma cad nód, eilimint aka, tá haitheantas ar leith de ainm comharthaí athfhriotail ceanglófar. Agus ansin cad tá mé ag dul a dhéanamh? Tá mé ag dul a fháil ar an luach taobh istigh de go nód sa gcrann, agus mé ag dul a rá ar bhealach hello ainm sin. Mar sin a ghlacadh buille faoi thuairim, cé nach tá muid le feiceáil go fóill, cad a dhéanann an móide Ciallaíonn siombailí anseo agus anseo is dócha? LUCHT ÉISTEACHTA: comhcheangail. DAVID MALAN: comhcheangail. Ceart, agus tá siad seo ach saghas cinntí a dhearadh daoine a rinne bliain ó shin. I PHP, concatenate tú rudaí le poncanna. I C, léim tú trí roinnt fonsaí agus feidhmeanna cosúil le strcopy () nó glaoigh ar strcat () nó cibé feidhmeanna eile. Ach i JavaScript, a úsáideann tú pluses. Mar sin, tá sé seo ach concatenating trí teaghráin - Dia duit, ainm, agus ansin pointe exclamation. Mar sin, cathain agus cén fáth a bhfuil an fheidhm seo ar a dtugtar cé? Bhuel, a chur le buille faoi thuairim ón HTML ag bun an leathanaigh. Cén fáth go bhfuil beannú () ar a dtugtar, nó nuair a? Réir dealraimh, mar is fearr is féidir liom a rá, ar a chur isteach, má chuirtear an fhoirm seo bhráid, Tá mé ag dul a dhéanamh is cuma cad é taobh istigh de na comharthaí athfhriotail. Agus go sonrach, tá mé ag dul chun glaoch beannú () agus ansin ar ais bréagach. Bhuel, a ligean ar a fheiceáil cad é an glan Is é éifeacht anseo den chéad uair. Mar sin, lig dom dul ar aghaidh agus cineál i, a rá, Loren, Cuir. Dia duit Loren. A ligean ar a fheiceáil má b'fhéidir go raibh sé seo ach cur i bhfeidhm ádh. Nope. Mar sin, tá sé clóscríobh amach cibé ainm Chuir mé i ndáiríre. Ach faoi deara cad nach bhfuil athrú. Is é an URL fós dom-0.html. Níl aon register.php. Níl aon dara comhad. Níl aon tréith gníomh. Mar sin, cad é an tuairisceán seo bréagach is dócha a dhéanamh? Cén fáth a bhfuil mé ag iarraidh beannú () agus ansin filleadh bréagach dócha? Cad a tharlaíonn de ghnáth nuair a chliceálann tú Cuir ar fhoirm go fiú ní mór dúinn le feiceáil i rith na seachtaine seo caite? LUCHT ÉISTEACHTA: [inaudible]. DAVID MALAN: Téann sé áit éigin, ceart? Téann sé le roinnt ceann scríbe URL. Ach níl mé ag iarraidh sin a tharlóidh anseo. Ba mhaith liom mo leathanach gréasáin a bheith go hiomlán dinimiciúil cosúil le Gmail, i gcás ina uair amháin go bhfuil tú ann, fanacht tú ann. Ní dhéanann an URL a athrú ar bhealach a Léiríonn an leathanach ar fad athlódála. Ina ionad sin, ba mhaith liom ach rud éigin a athrú cosúil le priontáil amach rud éigin anseo ar an scáileán. Well lig dom glan seo suas le beagán. Lig dom a oscailt suas nach dom-0, ach lig dom a oscailt suas dom-2. Díreach mar sin tá tú ag feiceáil roinnt error anseo. Casadh sé amach go bhfuil an méid againn ach raibh ag baint úsáide as JavaScript amh. Mar sin, tá sé seo fíor an teanga JavaScript. D'fhéadfadh roinnt de fhios agat ar leabharlann ar a dtugtar jQuery. Mar sin, nach bhfuil jQuery an gcéanna rud mar JavaScript. Tá sé ach leabharlann go cliste i ndáiríre Guy Scríobh agus popularized den sórt sin go beagnach gach duine ar fud an domhain anois Úsáideann jQuery nuair a úsáid JavaScript. Agus ag an gcéad amharc, go hionraic, tá sé Breathnaíonn beagán níos cryptic. Ach beidh tú, go háirithe má théann tú ann do do thionscadal deiridh le gréasáin fhorbairt, beidh tú go bhfuil an cleans suas rudaí agus Sábhálann tú go leor le cúpla líne de chód. Mar sin, a ligean ar díreach Sracfhéachaint ar an gcaoi Tá an fhoirm seo ag obair. Fógra cad a rinne mé a bhaint cosúil ó mo HTML? Níl aon chur isteach ar láimhseálaí sin a labhairt. Níl aon tréith. Mar gheall ar a fhios agat, cad Níor mhaith liom i ndáiríre? Bhraith mé mar a bhí ag titim orainn i sean-nósanna ann. Díreach mar a bhí sé ag mothú sloppy a intermingle dá CSS le HTML, toisc go bhfuil tú de chineál ar throwing teangacha éagsúla ar fud an áit, dul céanna, níor sé seo tús le mothú cosúil le bóthar droch chun dul síos i gcás ina Tá mé ag cur JavaScript cód taobh istigh de mo HTML seachas fachtóireacht sé amach. Mar sin, go bhfuil an ceacht anseo. I dom-2.html, tá mé ag fachtóireacht sé amach. Agus tá mé rudaí a dhéanamh beagán difriúil. Chun anois, tá mé ag dul go dtí tonn mo lámha ar cad a dhéanann sé seo i ndáiríre thíos an cochall. Ach amháin le haghaidh anois glacadh leis go bhfuil an chéad líne de chód sa leabharlann ar a dtugtar Ciallaíonn jQuery ach nuair a Is doiciméad réidh, a dhéanamh ar an méid seo a leanas. Toisc gur féidir leathanaigh gréasáin a ghlacadh roinnt ama a luchtú. D'fhéadfá a bheith ar an idirlíon mall dtaca leis sin, agus d'fhéadfadh sé a bheith sníomh agus sníomh, agus ar deireadh tá sé luchtaithe. Sin líne de chód deir ach fanacht go dtí Is é an leathanach ar fad réidh, an doiciméad tá sé réidh, sula forghníomhaitheach an gcód seo. Agus faoi deara anois, is dócha gur seo an chuid is mó úsáideach chéad a chur amach as jQuery. Tá an líne anseo an-chosúil i spiorad leis an líne i bhfad níos faide anseo. De bharr an méid i amh cód JavaScript, tá ann rud domhanda doiciméad a Tá feidhm dtugtar getElementById (), na daoine a scríobh jQuery simplithe sin go dtí díreach a rá comhartha Dollar, agus ansin taobh istigh de lúibíní a chur ar dhá Sleachta, agus ansin chur siombail hash le leanúint ag an haitheantas ar leith ba mhaith leat a grab. Mar sin, is ionann seo agus document.getElementById. Idir an dá linn,. Faoi bhráid ciallaíonn sin go díreach ar isteach cibé foirm a bhíonn tú a thagraíonn do ar an taobh clé, téigh romhainn agus a fhorghníomhú seo. Ach tá sé seo anois ar an fiosracht freisin. Cad é aisteach faoi cad Tá béim mé anseo? Ní amháin go bhfuil sé de chineál ar syntactically nua, tá rud éigin ar iarraidh freisin. LUCHT ÉISTEACHTA: Tá sé díreach ar a dtugtar feidhm? Níl sé ar a dtugtar an airdeall? DAVID MALAN: Yeah. Bhuel, mar sin aireach () Is síos anseo, a bheith cóir. Ach níl aon lua ainm, mar tá a fhios agat, foo nó rud éigin ar bun anseo. Agus go deimhin, tá sé seo ar cheann de na gnéithe de JavaScript go leor cumhachtach, ach chomh maith go leor nua. Agus tá i ndáiríre PHP seo chomh maith. Lig dom dul ar aghaidh agus a dhéanamh rud éigin tapaidh fíor. Lig dom dul ar aghaidh agus a chur seo amach anseo. Lig dom é seo a dhéanamh. Feidhm. A ligean ar glaoch ar an láimhseálaí (). Feidhm láimhseálaí sin a labhairt. Rud go Láimhseálann roinnt oibríocht. Lig dom a ghlanadh suas mo eangú. Agus seo a chur anseo. Agus a chur go anseo. Yep. OK. Mar sin, anois tá mé feidhm a dtugtar láimhseálaí () nach bhfuil a fhios agam i ndáiríre cad a dhéanann sé go fóill. Tá sé ach fós go stuif. Whoops. Thóg sé i bhfad ró. A ligean ar é seo a dhéanamh. Gach ceart. Tá brón orm. Gach ceart. Lig dom é seo a dhéanamh. OK. Go Breathnaíonn deas agus díreach ar aghaidh anois. Lig dom é seo a dhéanamh. Déan é seo. Agus OK. Mar sin anois, a ligean ar seo a chur os cionn anseo. Uimh níos mó clár ar an eitilt. OK. Mar sin anois, a ligean ar dul ar ais go dtí nuair a thosaigh an scéal. Roimhe seo, a dúirt mé go líne seo anseo ciallaíonn nuair a bhíonn an doiciméad réidh, téigh romhainn agus é seo a dhéanamh. Cad ba mhaith liom a dhéanamh? Bhuel go sonrach, ba mhaith liom dul romhainn agus a dhéanann an méid seo a leanas. Rith an líne seo de chód, agus ansin cad ba mhaith liom tú a dhéanamh ná glaoch seo bhfeidhmeoidh an fhoirm isteach. Anois tá sé seo cad atá suimiúil. Ní hé seo an féin feidhm. Fógra Níl mé lúibíní a chur anseo ar an ngnáthbhealach. Tá mé ag dul literally feidhm a dtugtar láimhseálaí () d'fheidhm eile ar a dtugtar a chur isteach () mar aon argóint cé go bhfuil sé cosúil le athraitheach. Agus é seo ar cheann de na gnéithe de JavaScript é, feidhmeanna iad féin Tá i ndáiríre rudaí díreach. Go deimhin, tá siad i ndáiríre ach athróg de chineál éigin. Agus má tá an t-ainm na feidhme láimhseálaí (), níl aon chúis nach féidir liom pas a fháil sé i mar argóint anseo. Agus ciallaíonn sé seo nuair a bheidh an fhoirm leis go bhfuil an ID taispeána bhráid, glaoigh ar fheidhm seo. Ach anois má Cealaigh mé seo ar fad, cén fáth ansin raibh mé a dhéanamh b'fhéidir seo nóiméad ó shin? Bhuel, is é seo an fheidhm gan ainm. Mar gheall ar frankly, thuig mé cén fáth a bhfuil mé bothering am chun dramhaíl a dhearbhú feidhm a dtugtar láimhseálaí () ach glaoch sé i gceann agus gan ach áit amháin? Más rud é nach féidir liom gá an t-ainm, agus ní féidir liom Ní mór a ghlaoch air níos mó ná áit amháin, a ligean ar a chur i bhfeidhm ach an fheidhm ceart nuair is gá mé é. Agus mar sin JavaScript agus PHP tacú leis an méid Tugtar feidhmeanna gan ainm go deis dom a dhéanamh go díreach anseo. Ach tá muid ag scríobadh ach an dromchla. A ligean ar tease le cúpla ach samplaí deiridh anseo. Má théann mé isteach quote.php. Fógra go bhfuil sé seo i ndáiríre ar PHP fheidhm, clár PHP, gur scríobh mé go bhfuil súil paraiméadar HTTP dtugtar siombail, agus is féidir liom pas a fháil i luach mhaith FB. Agus má táimid go hiarbhír ag an bhfoinse Cód, tá sé seo ag ceistiú an suíomh gréasáin saor in aisce ar a dtugtar Yahoo Airgeadais, díreach cosúil le p-leagtha seacht, agus tá sé ar ais dom rud éigin cosúil leis an Is formáid a dtugtar JSON - JavaScript Nodaireacht Réad. Tá sé díreach rud. Fógra na braces gcuach, an Sleachta, an colon, agus na camóga. Anois Idir an dá linn, tá sé seo deas fionnuar. Toisc gur féidir liom a úsáid is dócha go bhfuil cláir teanga a ghiniúint URLanna go breathnú mar seo dinimiciúil, ceart? Is féidir liom a athrú go Google agus a fháil ar ais Google praghas stoc de $ 1,017.55. Mar sin, a ligean ar a fheiceáil más rud é nach féidir linn seo a úsáid anois. Lig dom dul go dtí ajax-0 anseo, a Breathnaíonn cosúil leis an méid seo a leanas. Tá sé ach an suíomh gréasáin go bhfuil foirm le cnaipe. Lig dom dul ar aghaidh anseo agus cineál i YHOO do stoc siombail Yahoo, cliceáil Get Tosach, agus anois faoi deara Tá mé gotten foláireamh le 32.86. Lig dom dul i ndáiríre a leagan fancier den leathanach, leagan dhá, agus cineál i ligean le rá Microsoft, MSFT. Faigh Athfhriotail. Agus faoi deara anois, gan aon airdeall. Fógra nuair a deir sé praghas a bheidh le cinneadh? Tá an simplí de na samplaí a leideanna ar an méid Gchat, agus Facebook Comhrá, agus Gmail, agus eile den sórt sin láithreáin ghréasáin ag déanamh de réir iarbhír ag athrú an leathanach gréasáin. Fógra seo. Lig dom athluchtú an leathanach. Lig dom a oscailt suas Cigire Chrome ar. Lig dom dul go dtí na heilimintí tab síos anseo. Anois, faoi deara má súmáil mé i síos anseo agus oscailt suas seo, faoi deara go bhfuil sé seo mo HTML DOM - mo shamhail réad doiciméad. Is é seo mo HTML. Ach faoi deara anois, cé tá sé ag dul a bheith beagán deacair a fheiceáil sa dá áiteanna ag an am céanna, má cineál mé i FB suas anseo, féachaint ar an bun ar an scáileán amháin. Tá sé ag athrú i ndáiríre mo HTML ar an eitilt. Agus tá sé seo a dhéanamh go leor ach ag déanamh rud éigin mar seo. Má osclaíonn mé suas ajax-2, fógra a chur i bhfeidhm rud éigin mar sexy mar go bhfuil, cé go bhfuil sé go leor ghránna, ach chomh sofaisticiúil mar sin feidhmiúil, tá sé roinnt HTML ag bun an leathanaigh. Ach faoi deara úsáid mé a chlibeáil. Ní tá muid úsáid as an roimh, ach tá sé seo cosúil le, ach ní chuireann sé iallach gach rud ar líne nua. Déanann sé ach réigiún dronuilleogach ar an líne chéanna go bunúsach. Fógra gur thug mé é ar ID ar phraghas. Agus casadh sé amach ag baint úsáide as an gcéanna JavaScript leabharlann, tá mé feidhm ar a dtugtar ceanglófar () go bhfuil ar a dtugtar aon uair Tá an fhoirm isteach. Agus cad mé ag déanamh seo. Tá mé ag á dhearbhú athróg i JavaScript ar a dtugtar url, ag sábháil an luach quote.php? siombail;. I bhfocail eile, Tá mé ag mé féin ag tosú ar iarratas HTTP a ullmhú, agus ansin Tá mé ag concatenating isteach go bhfuil móide cibé an eilimint leis an ID Tá an siombail, fógra ina bhfuil réimse téacs ar dheis síos anseo. Mar sin, is maith ach bhí againn foirmeacha san am atá caite. Agus ansin casadh sé amach i jQuery, má tá tú glaoch. Val (), go bhfuil gá le Val fheidhm, feidhm luach, faigheann an cibé an t-úsáideoir clóscríofa isteach Agus ansin gach ceann de na tráchta líonra a tharlaíonn é seo. $. GetJSON. Agus mar leataobh, is é comhartha Dollar ach nodaireacht luathscríbhneoireachta. Tá sé i ndáiríre jQuery.getJSON. Faigh dom JSON as an URL, agus nuair a an t-iarratas a thagann ar ais, glaoch seo fheidhm agus pas a fháil i mar an argóint is cuma cad a tháinig ar ais ón bhfreastalaí. Mar sin, i bhfocail eile, má théann mé ar ais go dtí an bhrabhsálaí, agus dul mé ar ais go dtí quote.php, cad é mo bhrabhsálaí déanamh go bhfuil ag fáil seo smután sonraí. Agus nuair a théann mé go dtí an leathanach gréasáin anseo, faoi ​​deara má táimid ag dul in ionad an líonra cluaisín agus soiléir é, agus ansin cineál i rud éigin cosúil le GOOG do Google agus Faigh Ceanglófar, faoi deara nach raibh an leathanach a athrú. Ach rinneadh iarratas HTTP a rinneadh, agus cad tháinig sé ar ais anseo má táimid ar an Is freagra a bunch iomlán de JSON gur tháinig muid ar deireadh leis an an líne simplí anseo. Sonraí cad a bhí gotten ón bhfreastalaí. Is é Praghas ainm an eochair cúram agam faoi. Mar sin, tugann data.price dom go. Anois Idir an dá linn, agus tá sé seo Is é an sampla seo caite. Is féidir leat a dhéanamh fós níos mó leis an leathanach. Ceann ndáiríre, go maith beirt. Is féidir linn a thabhairt ar ais ar an chlib, más cuimhin leat seo. Sin JavaScript. Is féidir linn a dhéanamh. An-spreagúil. Beidh muid a fhágáil gur mar cliffhanger. Ach níos áthais, is féidir leat rudaí mar seo a dhéanamh. Má Téim go dtí Geolocation-1, casadh sé amach go bhfuil a fhios Chrome go bhfuil muid ag domhanfhad domhanleithead 42.37. -71.10. Mar sin, níl fiú níos mó ann ar fáil duit. Ach níos mó ar an tseachtain seo chugainn. Féach leat Dé Luain.