[Athbhreithniú: Tráth na gCeist 1] [Ali Nahm, Oreoluwa Barbarinsa, Lucas Freitas, Rob Bowden] [Ollscoil Harvard] [Is é seo an CS50.] [CS50.TV] [Lucas Freitas] Fáilte gach duine. Is é seo an t-athbhreithniú le haghaidh tráth na gceist 1. Díreach mar séanadh, tá sé seo - Ciallaíonn mé, táimid ag dul chun iarracht a chlúdach ábhar oiread agus is féidir, ach ní chiallaíonn go táimid ag dul a chlúdach gach ceann de na rudaí is féidir a bheith i tráth na gceist 1. Mar sin, a bheith cinnte go bhfuil tú a ghlacadh freisin le breathnú ar léacht, ailt, gach rud gur féidir leat. Tá Tráth na gCeist 1 ag dul a bheith ar an gCéadaoin, Dé Céadaoin seo chugainn. Mar sin, a bheith cinnte chun staidéar a dhéanamh. Tá sé ag dul a bheith, go leor i bhfad, cosúil leis an chéad tráth na gceist maidir lena leagan amach, ach is dócha tá sé ag dul a bheith i bhfad níos deacra. Ar a laghad, an bhliain seo caite nuair a thóg mé 50, shíl mé go raibh sé i bhfad níos deacra. Mar sin, staidéar a dhéanamh ar a lán. Tá mé ag dul chun struchtúir sonraí a chlúdach agus Huffman códaithe. Is é an rud a cheapann a lán daoine go bhfuil casta, ach tá mé ag dul chun iarracht a dhéanamh chomh héasca agus is féidir. Gcéad dul síos, cad ba mhaith linn tú guys a fhios do tráth na gceist 1 is a tuiscint a fháil ar na tuairiscí coincheapúla de gach ceann de na struchtúir sonraí a bhfuil mé ag dul a chur i láthair. Ciallaíonn sé sin nach mian leat go bhfuil a i ndáiríre tábla hais a chur i bhfeidhm i do tráth na gceist 1. Ní chuirimid mian leat tábla hash iomlán a chur i bhfeidhm; b'fhéidir beidh muid iarracht a dhéanann tú a chur i bhfeidhm ar roinnt feidhmeanna, na hoibríochtaí is coitianta, ach nach bhfuil muid ag dul a dhéanamh leat a chur i bhfeidhm gach rud. Mar sin, tá sé tábhachtach go dtuigeann tú an coincheap taobh thiar de gach struchtúr sonraí agus freisin go bhfuil tú in ann chun cód i C, ach na n-oibríochtaí is coitianta atá acu le haghaidh gach struchtúr sonraí. Agus a bheith in ann athbhreithniú a dhéanamh ar threo agus structs, toisc go láithreoidh siad a lán sna struchtúir sonraí. An chéad, liostaí nasctha. Tá liostaí Nasctha iarbhír an-chosúil leis arrays, ach an difríocht idir liosta nasctha agus eagar, gcéad de gach bhfuil, go bhfuil liosta nasctha le méid an-solúbtha, agus i arrays bhfuil tú a roghnú ceachtar méid an-mhór le haghaidh an eagar, sin a fhios agat go bhfuil tú ag dul a bheith in ann a stóráil ar fad do shonraí sa eagar, nó a bhfuil tú malloc a úsáid chun le fad solúbtha eagar. I liostaí nasctha tá sé an-éasca a fháil ach gnéithe níos mó, a chur gnéithe níos mó ar an liosta nasctha nó eilimintí a bhaint. Agus i ndáiríre, más rud é nach bhfuil tú ag iarraidh ar an liosta nasctha le bheith curtha in eagar, Is féidir leat cuardach a dhéanamh agus a gnéithe i am leanúnach a bhaint, mar sin O (1) am, mar sin tá sé an-áisiúil. Tá tú ach a bheith ar an nóid cúramach chun cuimhneamh i gcónaí a malloc agus saor in aisce, ach mar gheall ar mura bhfuil tú, beidh tú a bheith leaks cuimhne. Mar sin, liostaí nasctha - Is é an sainmhíniú atá ar nód díreach cosúil le cad atá againn ceart ann. Chuir mé slánuimhir n, ach is féidir leat a stóráil aon sonraí is mian leat. Mar sin, más mian leat a stóráil ar shraith, tá sé fíneáil. Más mian leat a stóráil ar struct, tá sé fíneáil, dúbailte, is cuma cad is mian leat. Chuir mé díreach tar slánuimhir n don samplaí anseo. Agus tá tú pointeoir leis an nód seo chugainn. Mar sin, go bunúsach, tá liosta nasctha cuid de na sonraí, agus ansin pointí sé leis an nód seo chugainn. Má tá sé an ghné dheireanach den liosta nasctha, tá sé ag dul a chur in iúl a null. Mar sin, is é seo sampla de liosta nasctha. Maith go leor, mar sin anois a ligean ar a fheiceáil cad ba cheart dúinn a dhéanamh más mian liom a chur isteach mar ghné i liosta nasctha. Gcéad dul síos, beidh feidhm cuir isteach a bheith de chineál ar neamhní toisc nach bhfuil mé ag iarraidh rud ar bith a thabhairt ar ais. Agus tá mé ag dul a ghlacadh ina slánuimhir mar argóint, mar ba mhaith liom a fháil amach cad ba mhaith liom a chur isteach. Mar sin, cad é an chéad rud ba chóir dom a dhéanamh? Bhuel, ba chóir dom a malloc ar newnode, ionas go bhfuil an chéad líne. Tá mé díreach a chruthú nód nua a chur ar liosta nasctha. Mar sin, cad is féidir liom a dhéanamh? Bhuel, tá a fhios againn go inár implementations de liostaí nasctha sa rang, chuir muid i gcónaí ar an ceann mar athróg domhanda. Mar sin, cad is féidir linn a dhéanamh ná a athrú ar an ceann. Is féidir liom a dhéanamh an nód nua seo a bheith ar an ceann nua, agus tá sé ag dul a chur in iúl go dtí an ceann roimhe sin. Conas is féidir linn a dhéanamh? An chéad rud a bhfuil mé a dhéanamh Is athrú ar an 'n' sa nód nua a luach, a ritheadh ​​don fheidhm. Ansin tá newnode romhainn ag dul a bheith an ceann. Is é an ceann ag dul a bheith newnode. Mar sin, tá sé simplí go leor. Chun a scriosadh nód, is féidir linn é a dhéanamh mar - Is bealach amháin a d'fhéadfadh muid a dhéanamh le rá, ceart go leor, má bhí mé a scriosadh, mar shampla, 3, cad a d'fhéadfadh liom a dhéanamh go bhfuil ach pointe an nód roimhe leis an nód eile de 3. Mar sin, ba mhaith liom a dhéanamh go díreach rud éigin mar sin. Ach cad é an fhadhb le sin a dhéanamh? Tá mé sceitheadh ​​chuimhne, mar sin ní dóigh liom go bhfuil rochtain ar an uimhir 3 níos mó. An fhadhb leis sin ná nach bhfuil mé ag dul a bheith ann saor in aisce go nód. Tá mé ag dul a bheith acu go bhfuil sceitheadh ​​cuimhne agus (dothuigthe) dul chun fuath liom. Mar sin, in ionad a dhéanamh sin, ba chóir dom a bheith pointeoir sealadach is dócha. Mar sin, chuir mé teocht. Tá sé ag dul a chur in iúl leis an nód gur mhaith liom a scriosadh. Agus ansin is féidir liom a bogadh an nóid roimhe sin chun pointe leis an nód seo chugainn an nód gur mhaith liom a scriosadh. Agus ar deireadh, is féidir liom a saor in aisce leis an pointeoir. An gcaithfidh mé saor in aisce ar an pointeoir a chruthaigh mé ceart ann? Ní dóigh liom go bhfuil, ach mar gheall ar - Is é an difríocht go raibh an nód cruthaithe ag baint úsáide malloc, mar sin tá sé i gcarn, nuair a bhí an duine dhearbhú díreach mar lasc NULLComment sa Stack. Mar sin, ní dóigh liom go bhfuil a saor in aisce é. Maith go leor >>. Mar sin, anois a ligean ar labhairt faoi stoic. Tá Cruacha deas simplí. Rinne muid cruacha agus scuainí sa rang ach úsáidtear eagair, ach ba chóir duit a bheith eolach ar - ach bheith ar an eolas gur féidir leat a dhéanamh freisin cruacha i scuainí ag baint úsáide liostaí nasctha chomh maith. Mar sin, má tá tú eagar, cad a bheadh ​​Stack? Tá chairn, ar an gcéad a bheidh, a bhfuil méid. Tá tú a stóráil cad é an méid de na chairn go bhfuil tú ceart anois. Agus freisin, ba mhaith leat a bheith eagar, sa chás seo de uimhreacha, ach más mian leat, is féidir é a bheith ina sraith de teaghráin, le sraith de struct, aon rud is mian leat a stóráil. Maidir leis an chairn: An difríocht idir Stack agus liosta nasctha is é sin sa Stack tá tú ach rochtain ar an ghné dheireanach a cuireadh i chairn. Sé ar a dtugtar go deireanach isteach is túisce amach. Díreach mar a tá tú chairn de tráidirí, má chuir tú tráidire ar bharr an chairn, caithfidh tú a bhaint go tráidire chéad duine a bhfuil rochtain ar an tráidirí eile. Tá sé an rud céanna le stoic. Mar sin, más mian liom a, mar shampla, cuir gné le chairn, cad ba cheart dom a dhéanamh? Sé ar a dtugtar bhrú, agus tá sé deas simplí. Is é an chéad rud a bhfuil tú a dhéanamh a sheiceáil má tá an méid de na chairn Níl níos mó nó cothrom le cumas an chairn. Toisc má tá tú cheana féin ar lánacmhainneacht, ní féidir leat a chur rud eile. Agus ansin más rud é nach, tá tú díreach a chur leis an eilimint leis an chairn. Agus ar deireadh, incrimintí ar an méid. Mar sin, tá sé deas simplí. Mar sin, mé a chur díreach an uimhir 2. Agus más mian liom a pop, rud a chiallaíonn gur mhaith liom a bhaint an ghné dheireanach cuireadh sin agus ar ais ar an luach an eilimint, is é an chéad rud a bhfuil mé a sheiceáil nach bhfuil an chairn folamh. Toisc má tá sé folamh, ní féidir liom aon rud ar ais. Sa chás sin, tá mé ag filleadh -1. Seachas sin, tá mé ag dul go dtí decrement an méid de na spec, agus uimhreacha (s.size) ar ais. Cén fáth go raibh mé decrement an méid agus ansin ar ais s.size? Tá sé mar gheall ar, sa chás seo, tá méid 4 spec, agus ba mhaith liom a thabhairt ar ais ar an ceathrú eilimint, ceart? Ach cad é an t-innéacs an ceathrú eilimint? Trí. Ós rud é is féidir liom a mhéid - a bhfuil ag dul a bheith 3, is féidir liom a thabhairt ar ais ach s.numbers (s.size) mar tá sé 3. Mar sin, tá sé ach an t-innéacs. Anois scuainí. Tá scuainí go leor i bhfad an rud céanna. Is é an difríocht amháin go in ionad a bheith caite isteach is túisce amach, tá tú túisce isteach is túisce amach. Is dócha má tá tú ag fanacht le dul chuig ceolchoirm, nach mbeadh tú a bheith sásta má bhí tú chairn ionad scuaine. Bheadh ​​Bheith ar an duine deireanach le teacht a bheith ar an chéad duine a chur isteach ar an cheolchoirm. Nach mbeadh tú a bheith dócha sásta. Sa scuaine, is é an chéad duine a fháil i freisin ar an chéad duine a fháil amach. Mar sin, sa mhíniú ar scuaine, sa bhreis ar a bhfuil an méid ar an eagar, caithfidh tú freisin go bhfuil an ceann, a bhfuil an t-innéacs le ceann an chairn. Mar sin, an chéad eilimint ceart anois. Is é Enqueue an rud céanna mar a bhrú chun stoic. Má bhí tú an-naive, ba mhaith leat ach a rá, maith, is féidir liom a dhéanamh ach go díreach an rud céanna mar a rinne mé le haghaidh a bhrú. Is féidir liom a sheiceáil ach más rud é nach bhfuil sé thar chumas. Má tá sé, ar ais mé bréagach, ar shlí eile is féidir liom a onnmhairiú ach an luach nua agus ansin incrimint an méid. Ach cén fáth go bhfuil sé seo mícheart? A ligean ar féach an sampla seo. Tá mé ag iarraidh a enqueue a bunch de rudaí, agus ansin mé ag dul a Díchiúáil agus a enqueue. Níl a lán de na orduithe, ach tá sé an-simplí. Tá mé ag dul go dtí enqueue 5, mar sin cuir 5, agus ansin 7, 1, 4, 6, agus ansin ba mhaith liom rud éigin a Díchiúáil, rud a chiallaíonn go bhfuil mé ag dul a bhaint as an chéad eilimint. Mar sin, tá mé ag dul a bhaint as an uimhir 3, ceart? An chéad eilimint. Maith go leor. Anois, má iarracht mé rud éigin eile a enqueue, cad ag dul a tharlóidh? De réir mo chur i bhfeidhm, Bhí mé ag dul a chur ar an uimhir seo chugainn i q.size innéacs. Sa chás seo, is é an méid 8, mar sin beidh an t-innéacs 8 a bheith ceart anseo sa suíomh seo caite. Má Déanaim iarracht enqueue 1 ar dheis anseo, ba mhaith liom a bheith ag overwriting an seasamh seo caite leis an uimhir 1, atá go hiomlán mícheart. Cad ba mhaith liom a dhéanamh ná a wrap thart agus téigh go dtí an chéad staid. B'fhéidir gur mhaith leat ach a rá, go maith, tá mé díreach tar éis a sheiceáil más féidir liom a chur i ndáiríre rud éigin ann. Más rud é nach, a rá mé díreach tar éis, OH, an cumas iomlán nua Tá iarbhír cumas - 1, agus ní féidir leat a chur eilimint ann. Ach cad é an fhadhb? Is é an fhadhb atá ann go má Díchiúáil mé díreach tar éis gach rud ceart anseo agus ansin déan iarracht mé rud éigin eile a chur leis, go mbeadh sé a rá ach, maith, a bhí tú ag a lánacmhainneacht, a bhfuil 0. Mar sin, tá do scuaine imithe. Tá tú a wrap timpeall, agus bealach timfhilleadh timpeall go raibh tú guys a foghlaimíodh i psets aislingeach agus eile ag baint úsáide mod. Is féidir leat triail a bhaint sa bhaile a thuiscint cén fáth go mbeadh tú a dhéanamh q.size + q.head cumas mod, ach má tá tú ag seiceáil ar dheis anseo, is féidir linn a fheiceáil go n-oibríonn sé. Mar sin, sa sampla seo caite, bhí q.size 8 agus bhí an ceann 1, toisc go raibh sé an bpost seo anseo an eagar. Mar sin, beidh sé 8 + 1, 9. Bheadh ​​cumas Mod 9 a 0. Bheadh ​​sé dul go dtí an t-innéacs 0. Beidh muid a bheith sa suíomh ceart. Agus ansin déan iarracht an scuaine sa bhaile. Tá roinnt rudaí tábhachtacha: iarracht chun tuiscint a fháil ar an difríocht idir Stack agus scuaine. Sa bhaile, déan iarracht a fháil ar an-eolach ar a chur chun feidhme enqueue, Díchiúáil, a bhrú agus pop. Agus a thuiscint chomh maith nuair a bheadh ​​leat é a úsáid gach ceann acu. Sin a ligean le scíth a ligean ar feadh 10 soicind le bunch de pokemons. Agus lig anois ar dul ar ais chuig struchtúir sonraí. Táblaí hash. Bhí a lán de na daoine scanraithe na táblaí hash. i fhadhb a leagtar 6, Spell Checker. Táblaí hash agus iarracht, a lán de na daoine a fháil scanraithe acu. Cheapann siad go bhfuil siad chomh deacair a thuiscint. Yeah? [Rob Bowden] Fadhb atá leagtha 5. Fadhb atá leagtha 5, yera yeah. Go raibh maith agat Rob. Yeah. Ba Sé Huff n 'Puff, yera yeah. Fadhb atá leagtha 5 a bhí Spell Checker, agus bhí tú a úsáid a bhaint ceachtar tábla hash nó triail a bhaint as. Shíl a lán daoine go raibh siad Super deacair a thuiscint, ach tá siad i ndáiríre simplí go leor. Cad tá tábla hash, go bunúsach? Tá tábla hais le sraith de liostaí nasctha. An difríocht amháin idir eagar agus tábla hash is é sin sa tábla hash a bhfuil tú rud ar a dtugtar feidhm hash. Cad é feidhm hash? Níl a fhios agam más féidir leat guys a léamh anseo. Is sampla é seo de tábla hash. Mar sin, is féidir leat a fheiceáil go bhfuil tú le sraith le 31 heilimintí. Agus cad a dhéanann muid i dtábla hash é go mbeadh feidhm hash go bhfuil dul chun aistriú eochair, gach slánuimhir innéacs. Más rud é, mar shampla, más mian liom a roghnú do B. Harrison, Ba mhaith liom a chur B. Harrison i mo feidhmeanna hash, agus go mbeadh an fheidhm hash ar ais 24. Mar sin, tá a fhios agam gur mhaith liom a stóráil B. Harrison i 24. Mar sin, go bhfuil an difríocht idir díreach tar éis sraith agus a bhfuil tábla hash. Sa tábla hash go mbainfidh tú bhfuil feidhm atá ag dul a insint duit nuair a stóráil na sonraí gur mian leat a stóráil. Chun an fheidhm hash, ba mhaith leat a chuardach le haghaidh fheidhm hash is é sin deterministic agus dea-dháileadh. Mar is féidir leat a fheiceáil anseo, a fheiceann tú go raibh go leor de na sonraí a theastaigh uaim a stóráil i ndáiríre 19 seachas úsáid a bhaint 31 agus 30 agus 29, a bhí go léir saor in aisce. Mar sin, ní raibh an fheidhm hash a úsáidtear mé an-maith-dháileadh. Nuair a rá againn go maith-dháileadh, ciallaíonn sé gur mhaith linn a bheith acu, garbh, ar a laghad 1 nó 2 le haghaidh gach ceann de na - cosúil le, difríocht de 1 nó 2 le haghaidh gach ceann de na innéacsanna sna arrays. Ba mhaith leat a bheith acu, garbh, an líon céanna na n-eilimintí i ngach liosta nasctha sa eagar. Agus tá sé éasca a sheiceáil má tá sé bailí sa tábla hash, féachaint mar táblaí hash. Ansin crainn. Seo crann. Tá crainn san eolaíocht ríomhaireachta upside síos ar chúis éigin. Mar sin, ar dheis anseo tá tú ar an fhréamh an crann agus ansin na duilleoga. Ba chóir duit a fhios ach an ainmníocht do thuismitheoirí agus leanaí. Tá a leanaí, a bhfuil na nóid atá faoi bhun an tuismitheoir ag gach nód. Mar sin, mar shampla, tá 2 ag dul a bheith ar an tuismitheoir ar feadh 3 agus don leanbh eile ceart ann, cé go bhfuil 3 ag dul a bheith ar an tuismitheoir do 1 agus na páistí eile atá ann. Agus is é 1 ag dul a bheith ar 3 leanbh, agus mar sin de. Tá rud éigin i bhfad níos suimiúla, ar a dtugtar crann cuardaigh dénártha, ina bhfuil na luachanna ar cheart an nód ag dul a bheith ar an ceart, ar dheis anseo - ar dheis, ag dul a bheith níos mó ná an eilimint sa fhréamh. Mar sin, má tá mé an uimhir 5 ar dheis anseo, na heilimintí go léir ar dheis ag dul a bheith níos mó ná 5, agus ar chlé na gnéithe uile ag dul a bheith níos lú ná 5. Cén fáth go bhfuil seo úsáideach? Bhuel, más mian liom a sheiceáil má tá an uimhir 7 anseo, mar shampla, Liom dul díreach go dtí 5 chéad agus tá mé ag dul a fheiceáil go bhfuil, 7 mó nó gur lú ná 5? Tá sé níos mó, agus mar sin tá a fhios agam sé ag dul a bheith ar an gceart an crann. Mar sin, tá mé i bhfad níos lú stuif chun breathnú ar. I a chur i bhfeidhm de chrann cuardaigh dénártha, an nód, tá mé ag dul ach go bhfuil a bheith acu sonraí, mar sin o n; d'fhéadfaí tú a bheith chomh maith le teaghrán nó aon rud a raibh tú. Tá tú ach a bheith cúramach ar shainiú cad é níos mó, cad é níos lú. Mar sin, má bhí tú teaghráin, mar shampla, d'fhéadfaí tú a shainiú go bhfuil rudaí sin go léir ar an gceart dul go bhfuil fad níos mó, na láimhe clé ag dul go bhfuil faid níos ísle, mar sin tá sé i ndáiríre suas chun tú. Conas is féidir liom a chur i bhfeidhm fháil le haghaidh BST? Is é an chéad rud beidh orainn a dhéanamh a sheiceáil má tá an fhréamh NULLComment. Má tá sé NULLComment, ciallaíonn sé sin nach bhfuil an rud ann toisc nach bhfuil tú fiú crann, ceart? Mar sin, ar ais mé bréagach. Seachas sin, tá mé ag dul a sheiceáil má tá an líon is mó ná an luach i an fhréamh. Tá mé ag dul chun iarracht a dhéanamh teacht ar an eilimint ar dheis an chrainn. Féach leat go bhfuil mé ag baint úsáide athchúrsáil anseo. Agus ansin má tá sé níos lú, tá mé ag dul chun breathnú ar an taobh clé. Agus ar deireadh, ar shlí eile, má tá sé níos lú nó nach bhfuil níos mó, ciallaíonn sé go bhfuil sé an luach féin. Mar sin, mé ar ais díreach fíor. Is féidir leat a fheiceáil anseo gur úsáid mé más rud é, más rud é, más rud é. Agus cuimhnigh, i tráth na gceist 0, bhí againn fadhb go raibh más rud é, más rud é, más rud é, agus a bhí ceaptha tú a fháil ar an inefficiency, agus bhí an inefficiency a d'úsáid tú más rud é. Ba chóir duit a bheith in úsáid más rud é, eile más rud é, eile más rud é, agus eile. Mar sin, ba chóir dom a úsáid eile más rud é, agus más rud é, agus eile eile anseo? An bhfuil duine ar bith - yera yeah? [Labhairt na Mac Léinn, inaudible] Sin foirfe. Mar sin, tá sí ag rá nach ndéanann sé ábhar, ach mar gheall ar an inefficiency a bhí againn roimh go raibh mar gheall ar, b'fhéidir más rud é go raibh roinnt coinníoll sin comhlíonta, ionas go mbeidh tú a dhéantar caingean, ach ansin bhí tú ag dul a sheiceáil gach ceann de na coinníollacha eile. Ach sa chás seo, d'fhill sé ar an bpointe boise, mar sin ní dhéanann sé ábhar. Mar sin, ní gá duit a úsáid eile más rud é. Agus ar deireadh, a ligean ar labhairt faoi iarracht, a bhfuil gach duine is fearr leat. Is iarracht crann arrays. Tá sé an-tapa chun breathnú suas luachanna, ach úsáideann sé a lán de chuimhne. Agus tá sé de ghnáth chun focail a scagadh, mar sin nuair a dhéanann tú ag iarraidh a chur i bhfeidhm, mar shampla, níl a fhios agam, cosúil le leabhar teileafóin i do ghuthán agus is mian leat a bheith in ann a chlóscríobh B agus díreach ag ainmneacha na ndaoine a bhfuil B. Tá sé an-éasca a chur i bhfeidhm go úsáid a bhaint as triail a bhaint as, mar shampla. Conas a dhéanann tú a shainiú nód i iarracht? Tá tú ach go bhfuil bool go bhfuil dul chun bheith is_word. Sin ionann sin úsáid a bhaint as na carachtair go léir roimh an nód, bhí tú in ann chun foirm a focal, agus ansin beidh tú ag sraith de leideanna le nóid. An féidir leat a fheiceáil go bhfuil againn le sraith de nóid tuismitheora, mar sin nód * eagar? Yeah? Mar sin, a ligean ar a fheiceáil conas a bheidh an obair sin. Chun an litriú a sheiceáil, ní mór dúinn le sraith de 27 heilimintí, toisc go bhfuil muid go léir na litreacha móide an uaschamóg. Roimh anseo tá mé ag dul ach úsáid a bhaint 2 mar ba mhaith liom a bheith in ann a scríobh ar an mbord. Maith go leor. Mar sin, is é seo sampla de iarracht. Má shainiú mé díreach tar éis an chéad nód, beidh mé ag le sraith de 2 eilimintí go bhfuil 2 leideanna a NULLComment, mar sin chuir mé díreach tar éis 'a' agus 'b'. Agus tá mé ag dul a bheith acu bool a deir is_word. Tá sé ag dul a bheith bréagach don chéad cheann, díreach mar gheall ar, roimh nach mian leat go bhfuil aon carachtair. Mar sin, nach bhfuil focal folamh focal. Mar sin, tá sé bréagach. Más mian liom a chur 'ar' a ghabhann leis an bhfoclóir, ba mhaith cad tá mé a dhéanamh? Ba mhaith liom díreach tar éis a malloc nód nua ar 'a', agus ansin cuir a chuid focal a fíor. Mar sin, léiríonn sé sin go díreach tar éis 'a' ag dul a bheith fíor. Déan ciall? Ansin, más mian liom a chur leis 'ba', beidh mé a malloc 1 do 'b', agus ansin mé ag dul a chur ar bun ar an Boole bréagach, toisc nach bhfuil 'b' féin focal. Ansin mé ag dul a malloc ceann eile le haghaidh 'a', mar sin 'ba', agus ansin mé ag dul a chur ar bun tá sé ina focal a fíor. Toisc go bhfuil 'ba' focal. Agus ansin más mian liom a fheiceáil má tá 'b' sa bhfoclóir seo, Is féidir liom dul díreach go dtí an chéad cheann, 'b'. Téim síos, agus mé ag amharc go bhfuil focal, agus deir sé bréagach. Mar sin, nach bhfuil sé focal. Más mian liom a sheiceáil 'ba', Téim go dtí an chéad cheann, 'b', agus ansin téigh go dtí 'le', agus féach mé fíor, mar sin tá sé ina focal. Déan ciall? A lán de na daoine a fháil ar dhaoine eatarthu ag iarracht. Uimh? Ar deireadh, Huffman códaithe. Tá Huffman códú an-úsáideach cuimhne a shábháil agus a compress comhaid téacs, ach mar gheall ar a lán de uaire a úsáideann tú 'a' agus 'e', ​​mar shampla, i do na doiciméid, ach níl a fhios agam má úsáideann tú guys 'q' nó 'z' oiread. Ag ach 1 beart do gach carachtar singil, gach amháin - an 256 carachtair atá againn sa tábla ASCII nach bhfuil an-is fearr is féidir, ach toisc go bhfuil roinnt carachtair go n-úsáideann tú i bhfad níos mó, mar sin ba chóir duit a úsáid is dócha cuimhne níos lú dóibh siúd. Conas is féidir liom a úsáid Huffman códaithe? Ní mór dúinn a dhéanamh ar crann Huffman.  Tá nóid A crann Huffman go bhfuil siombail go bhfuil dul a bheith cosúil le, 'a', 'b', 'c', an litir, cibé litir agat, minicíocht go bhfuil an minicíocht a fheictear an focal sa téacs, go raibh tú a chruthú ar an crann Huffman do, agus ansin nód go bhfuil dul a chur in iúl ar an taobh clé den chrann Huffman agus nód eile go bhfuil dul a chur in iúl leis an gceart. Mar sin, díreach cosúil le crann. Conas a dhéanann tú a thógáil crann Huffman? Tá tú ag dul a phiocadh an 2 nóid go bhfuil na minicíochtaí is ísle. Má tá tú comhionannas vótaí bhfuil tú ag dul a roghnaigh an 2 nóid go bhfuil na luachanna ASCII is ísle chomh maith. Ansin tá tú ag dul a chruthú crann nua as sin 2 nóid go bhfuil dul chun bheith ar an minicíocht chéile i nód tuismitheoir. Agus ansin tá tú ag dul a bhaint as an 2 páistí ó na foraoise agus ionad iad leis an tuismitheoir. Agus tá tú ag dul a dhéanamh arís go dtí go bhfuil tú ach 1 crann san fhoraois. Mar sin, a ligean ar a fheiceáil conas a bheadh ​​leat a dhéanamh ar crann Huffman don ZAMYLA. Is féidir leat a fheiceáil anseo go bhfuil na litreacha minicíocht 1 ach amháin i gcás 'A'; go bhfuil minicíocht 2. Mar sin, chruthaigh mé nóid do na litreacha a chuir mé in ord luach ASCII agus minicíocht. Mar sin, más mian liom a chruthú ar an chéad crann, beidh sé le 'L' agus 'M'. Mar sin, tá sé anseo. Beidh an minicíocht an péire a 2 mar tá sé 1 + 1, ansin an chéad cheann eile 2 leis na minicíochtaí is ísle is 'Y' agus 'Z'. Agus ansin tá mé gach ceann acu a bheith - a bhfuil minicíocht 2. Mar sin, a cinn iad na cinn a bhfuil an luach is ísle ASCII le haghaidh an ceann eile? 'A' agus 'L'. Mar sin, a chruthú mé an nód nua, agus ar deireadh, tá sé 4 agus 2, mar sin 2 ag dul a bheith ar an taobh clé. Agus is é seo an crann Huffman. Ansin, más mian liom a scríobh roinnt téacs, mhaith i dénártha a thiontú go téacs, ag baint úsáide as an crann Huffman an-éasca. Mar shampla, má rá liom go bhfuil ag bogadh ar chlé le 0 agus bogadh go dtí an ceart is 1, Cad é go bhfuil dul chun ionadaíocht a dhéanamh? Mar sin, cosúil le 1, 1, mar sin ceart, ceart, agus ansin bheadh ​​0, d'fhág sin a bheith L, agus ansin 1, 0, 0. Mar sin, 1, 0, agus mar sin ach 1, 0, 'A'. Agus ansin 0, 1, mar sin 'Z'. Agus ansin 1, 0, 0 - uimh. 0, beidh a bheith 0 'Y', mar sin leisciúil. Mar sin tá go léir dom, Rob ag dul a ghlacadh ar láimh. [Rob Bowden] Mar sin, an tseachtain seo 7 stuif. Táimid agam go leor chun dul thar i ndáiríre go tapa. Oibreoirí bitwise, Maolán thar maoil, Leabharlann CS50, ansin HTML, HTTP, CSS. Gach i cosúil le 15 go 20 nóiméad. Oibreoirí bitwise. Tá 6 acu gur gá duit fios a bheith agat. Bitwise agus, bitwise nó, XOR, athrú ar chlé, ar dheis athrú, agus nach bhfuil. An ceart aistriú agus ní chonaic tú éigean i léacht ar chor ar bith. Beidh muid ag dul thar sé go tapa anseo, ach tá sé go maith a fhios go bhfuil na an 6 atá ann. Cuimhnigh go bhfuil na hoibreoirí bitwise mhaith nuair a dhéanann tú 3 + 4. Nach bhfuil tú ag déileáil leis an dhénártha de 3 agus 4. Le oibreoirí bitwise bhfuil tú ag déileáil i ndáiríre leis an giotán ar leith na n-uimhreacha 3 agus 4. Mar sin, is é an chéad cheann a beidh orainn a rá bitwise nach bhfuil, agus gach a dhéanann sé smeach na giotán. Mar sin anseo, má tá tú ag scríobh i C, nach mbeadh tú a scríobh sé le ~ 11011 nó is cuma cad, ba mhaith leat a scríobh sé cosúil le ~ 4, agus ansin bheadh ​​sé smeach an ionadaíocht dénártha de 4. Mar sin anseo, ~ ar roinnt ar líon dénártha Tá 1101101 dul a smeach díreach ar na 1 chun 0 agus gach 0 chun a 1 ar. Mar a rá liom go bhfuil, an úsáid go minic seo, agus beidh orainn é a fheiceáil i beagán é, mar ba mhaith linn a teacht suas le roinnt ar líon i gcás ina bhfuil gach ceann de na píosaí 1, ach amháin i gcás ceann amháin acu. Mar sin, tá sé de ghnáth níos éasca a chur in iúl ar an líon áit a bhfuil go díreach beagán amháin atá leagtha, agus ansin a chur ar an ~ é, mar sin tá gach giotán eile leagtha ach amháin i gcás go bhfuil ceann. Mar sin tá go cad tá muid ag dul a úsáid níos mó i beagán. Bitwise nó. Seo iad 2 líon dénártha, agus na huimhreacha 2 atá ionadaíoch go leor, ós rud é ndéanann siad ionadaíocht dóibh gach is féidir D'fhéadfadh teaglaim de giotán gá duit a oibriú ar. Anseo, nuair a or'd mé gach giotán, táimid ag dul díreach chun comparáid a dhéanamh díreach síos. Mar sin, ar an taobh clé mór dúinn a 1 agus 1. Nuair a bitwise mé | siúd, cad tá mé ag dul a fháil? A hAon. Ansin bitwise | 0 agus 1 ag dul a thabhairt dom? A hAon. Bitwise 1 agus 0 tá sé ag dul a bheith ar an rud céanna, amháin. Bitwise 0 | 0 ag dul a thabhairt dom 0. Mar sin, is é an cás ach amháin nuair a gheobhaidh mé 0 sa 0 | 0 chás. Agus is féidir leat smaoineamh ar go díreach cosúil le do Ors loighciúil. Mar sin, má cheapann tú de 1 chomh fíor agus bréagach mar 0, baineann na rialacha céanna anseo. Mar sin, is fíor nó fíor fíor; is fíor nó bréagach fíor. Is Bréagach nó fíor fíor; bréagach nó bréagach an rud amháin go bhfuil i ndáiríre bréagach. Seo é an sampla gur chóir duit a fhios mar shampla maith go leor de nuair oibreoirí bitwise úsáid. Anseo má táimid nó caipiteal 'A' le Ox20, agus beidh muid ag breathnú ar seo i dara, a fháil againn rud éigin. Agus má táimid nó litreacha beaga 'a' le Ox20, a fháil againn rud éigin. Mar sin, a ligean ar a tharraingt suas tábla ASCII. Maith go leor. Anseo a fheicimid go bhfuil 'A' - anseo ní mór dúinn go bhfuil 'A' dheachúlach 65. Ach beidh mé ag dul leis heicsidheachúlach, a bhfuil Ox41. Pretty cinnte chonaic muid sa rang. I mo thuairimse, chonaic muid é sa rang go bhfuil sé éasca go leor a thiontú ó heicsidheachúlach dénártha go. Mar sin, anseo, más mian liom a chur isteach i 4 dénártha, go bhfuil ach dul a bheith 0100. Tá sé seo ar siúl 1, 2 ar siúl, áit 4, mar sin tá sé seo 4. Ansin, is féidir liom a scoilt 1 i dénártha, atá ag dul a bheith 0001. Agus mar sin tá sé seo ag dul a bheith ar an léiriú ar 'A' i dénártha. Ag tabhairt litreacha beaga 'a', tá sé ag dul anois a bheith Ox61, más rud é, scoilteadh na suas isteach ina dénártha, mar sin 6 - Let a dhéanamh ar i ndáiríre é - níl aon scriosán? Scriosán. Ox61. Mar sin, tá scoilteadh 6 i dénártha ag dul a bheith 0 + 4 + 2 + 0. Agus is é a scoilteadh 1 ag dul a bheith 0001. Ag Breathnú ar an difríocht idir na 2, feicimid go bhfuil an difríocht amháin idir litreacha beaga agus caipitil 'A' an píosa amháin. Mar sin, teacht ar ais go dtí anseo - ceart go leor. Ag teacht ar ais go dtí anseo, má táimid ar cad é an beagán Ox20, mar sin scoilteadh Ox20 isteach ina dénártha, Is é 0010, 0000. Ox20, an beagán ach go bhfuil leagtha é seo beagán go bhfuil muid i gceist leis, le lascadh idir caipiteal agus litreacha beaga 'a'. Má I nó 'A', a bhfuil an ceann seo, 'A', má tá mé nó 'A' le Ox20, cad tá mé ag dul a fháil? [Mac Léinn, inaudible] CásÍochtair 'a', mar tá sé ag dul a smeach an giotán do 1. Agus má tá mé nó 'a' le Ox20, cad tá mé ag dul a fháil? An cás íochtair go, toisc go díreach oring 'a' le Ox20, Tá mé ag dul díreach tar éis a bheith oring seo beagán amháin le 1; tá sé cheana féin 1, mar sin nach ndéanann sé ábhar. Mar sin, a fháil againn 'ar' agus 'a'. Bitwise agus. Arís, is féidir linn smaoineamh ar seo mar ár chomhpháirtí loighciúil agus. Ar an taobh clé mór dúinn fíor agus fíor. Tá sé ag dul a bheith fíor, agus do gach ceann de na cásanna, bréagach agus fíor nó bréagach fíor agus, nó bréagach bréagach agus, bhfuil aon cheann de na rudaí fíor. Mar sin, cad againn deireadh ag dul suas é 1000. Mar sin anois, anseo, tá anseo nuair a bhí mé úsáid as an bitwise trusty ní, nuair a bhí againn Ox20. Mar sin, is é seo Ox20. Anois, cad ba mhaith liom a dhéanamh, bitwise ~ na Ox20. Is é sin ag dul a smeach na giotán. Mar sin, tá mé 1101, 1111. Agus mar sin 'A' anded le ~ Tá Ox20 ag dul a thabhairt dom cad é? Is é an beagán ach ní mór dúinn i ndáiríre a smaoineamh faoi seo amháin, ós rud é, más rud é gach ceann de na píosaí atá leagtha chun 1, ansin tá muid ag dul a fháil go díreach cad 'A' a bhí, ach amháin i gcás, b'fhéidir, cad é an giotán. Toisc más rud é go raibh sé ina 1, anois tá sé ag dul a leagan ar 0, toisc cuma cad é seo, anded leis seo ag dul a bheith 0. Mar sin, cad é 'A' & ~ Ox20 ag dul a thabhairt dom? [Freagra mic léinn, inaudible] Agus cad é 'a' agus - tá sé 'A'. Agus cad é 'a' & ~ Ox20 ag dul a thabhairt dom? 'A.' Toisc go bhfuil sé seo faoi láthair 1. Anding leis seo 0 ag dul chun é a dhéanamh ar 0, agus anois táimid ag dul a fháil ar 'A'. Tá an dá 'A,' agus seo caite ach ní a laghad den chineál seo, ní mór dúinn XOR. Tá sé an-mhaith i bhfad, nó, ach amháin ciallaíonn sé go heisiach nó. Tá sé seo cosúil le cad a cheapann tú de ghnáth ar nó, sa saol fíor. Mar sin, a dhéanann tú ceachtar 'x' nó 'y', ach ní féidir an dá. Anseo 1 ^ 1 ag dul a bheith 0. Toisc go fíor, is é seo - nach ndéanann sé ag obair chomh maith leis an fíor loighciúil agus bréagach mar bitwise & agus nó a dhéanamh, ach tá fíor ^ fíor bréagach. Toisc ba mhaith linn ach amháin chun filleadh fíor ach duine amháin acu má tá fíor. Mar sin 1 ^ 1 Is é 0. Cad mar gheall ar 0 ^ 1? An bhfuil 1. 1 ^ 0 Is é 1, 0 ^ 0 0 Is é. Mar sin, faoi na cúinsí, tá rud éigin bitwise 0 0 0 ag dul a bheith. 1 rud éigin bitwise 0 nó 0 bitwise 1, má tá sé | ^ nó, beidh sé a bheith ina 1, agus má tá sé & beidh sé a bheith 0. Agus is é an cás ach amháin i gcás nach bhfuil bitwise 1 1 1 le eisiach nó. Sin 0110. Mar sin, anseo anois, ag baint úsáide as XOR - mar sin táimid ar ais ag 20. Tá 'A' ^ Ox20 na 2 giotán táimid ag i gcomparáid. Mar sin, tá 1 ^ 0 ag dul a thabhairt dom cad é? A amháin. 'A' ^ Tá Ox20 ag dul a thabhairt dom? An cás íochtair go. 'A' ^ Tá Ox20 ag dul a thabhairt dom? Caipitil A. Toisc is cuma cad é seo a dhéanamh, an XORing le Ox20 Tá flipping go héifeachtach is cuma cad é an giotán. Má tá sé seo le 0, tá sé ag dul anois a bheith ina 1. Ós rud é seo 1, 1 ^ 1 Is é 0. Mar sin, ár 'ar' tar éis éirí 'A', agus tá ár 'A' a bheith 'ina'. Dá bhrí sin tá XOR ar bhealach i ndáiríre áisiúil díreach flipping an cás. Ba mhaith leat ach a iterate thar shraith de litreacha agus malartach gcás gach carachtar amháin, tú díreach XOR gach rud Ox20. Anois, tá muid d'fhág athrú. Tá athrú Clé ag dul díreach go dtí, go bunúsach, bhrú gach ceann de na huimhreacha isteach, nó ar an taobh clé, agus cuir isteach 0 ar taobh thiar dóibh. Mar sin, ní mór dúinn anseo 00,001,101. Táimid ag dul a bhrú 3 0 i ón gceart, agus a fhaigheann muid 01,101,000. I dtéarmaí nonbinary, feicimid go go mbeifí ag déileáil i ndáiríre 13 chlé-bhog le 3, a thugann dúinn 104. Aistriú sin ar chlé, a fheicimid anseo, is é x << y x bunúsach * 2 ^ y. 13 * 2 ^ 3, 2 ^ 3 8, mar sin 13 * 8 Is é 104. Má cheapann tú díreach faoi dénártha i gcoitinne, conas gach dhigit, má tús a chur orainn as an ceart, tá sé an 1 ar siúl, ansin an 2 siúl, ansin ar siúl ar an 4 ar. Mar sin, ag brú i 0 ón gceart, táimid ag brú ach rudaí a bhí i bhfeidhm an 4 go dtí an 8 siúl, agus rudaí a bhí i 8 ar siúl ar an 16 ar siúl. Gach athrú multiplies díreach faoi 2. Yeah? [Mac Léinn] Cad a tharlaíonn má bhog tú ar 5? [Bowden] Má bhog tú ag 5 go mbeadh tú a chailleadh ach digití. Níl dul thairis, tá sé an rud céanna. Cosúil, tá slánuimhreacha ach 32 giotán, mar sin má tá tú ag cuir 2 slánuimhreacha i ndáiríre mór, nach bhfuil ach oiriúnach i slánuimhir. Mar sin, tá sé an rud céanna anseo. Má bhog tú ag 5, ba mhaith linn a chailleadh ach go bhfuil ceann. Agus sin de chineál ar cad is ciall mé ag "garbh," i gcás má athrú tú i bhfad ró, caillfidh tú giotán. Tá athrú Ceart ag dul a bheith ar an os coinne, áit a bhfuil muid ag dul a shove 0 ar as an deireadh, agus dár gcuspóirí, líon isteach 0 ón chlé. Mar sin, é seo a dhéanamh, tá muid ag cúlú go bunúsach cad a bhí déanta againn cheana féin. Agus feicimid go bhfuil na trí 0 ar dheis tar éis titim díreach in aice leis, agus ní mór dúinn a bhrú ar an 1101 ar fad ar an mbealach chun an ceart. Tá sé seo ag déanamh 104 3, a bhfuil, go héifeachtach, x / y ^ 2. Mar sin anois, anseo, tá sé ina smaoineamh den chineál céanna. Cén fáth go bhfuil sé ach thart ar x / y ^ 2, agus ní iarbhír x / y 2 ^? Toisc más rud é go raibh bhog mé faoi 4, ba mhaith liom a chaill 1. Go bunúsach, cad a cheapann tú de, ach smaoineamh de roinn slánuimhir i gcoitinne. Mar sin, cosúil le 5/2 2. Níl sé 2.5. Tá sé an smaoineamh céanna anseo. Nuair a roinntear ag 2, Is féidir linn a chailleadh giotán corr feadh na slí. Mar sin, anois - go bhfuil sé do bitwise. Sin go léir is gá duit fios a bheith agat. Cuimhnigh na cásanna a úsáid a chonaic muid sa rang, cosúil le masc beagán úsáideach le haghaidh oibreoirí bitwise, nó a úsáideann tú iad le haghaidh masks giotán. Litreacha caipitil agus litreacha CásÍochtair, conversions is sampla prototypical go leor. Maith go leor, mar sin Maolán ionsaithe thar maoil. Duine ar bith cuimhneamh ar cad a bhí cearr leis an fheidhm seo? Fógra dhearbhú againn le sraith de 12 bytes, 12 chars, agus ansin é a chóipeáil muid isteach inár Maolán na 12 chars an mbarra teaghrán ar fad. Mar sin, cad é an fhadhb anseo? Ba chóir an uimhir dhraíochta 12 pop go leor i bhfad díreach amach mar - cén fáth 12? Cad a tharlaíonn má barra a bheith níos mó ná 12 carachtair? Cad a tharlaíonn má tá barra na milliúin de charachtair? Seo é an cheist memcpy. Má tá barra fada go leor, beidh sé ach go hiomlán - 'c', 'c' nach cúram go raibh sé ach 12 carachtair; Ní 'c' cúram a ghlacadh nach féidir léi go leor beart. Beidh sé diúltaíodh forscríobh ar an hiomlán ruabhric, an 12 bytes againn a leithdháileadh chun é, agus gach rud anuas air i gcuimhne nach mbaineann iarbhír leis an maolán leis is cuma cad é an barra teaghrán. Mar sin, ba é seo an pictiúr a chonaic muid sa rang áit a bhfuil muid ár n-chairn ag fás suas. Ba chóir duit a úsáid chun na pictiúir nó a fháil eolach orthu arís. Táimid tar éis ár n-chairn ag fás suas, tús a seoltaí cuimhne ag 0 ag an mbarr agus ag fás síos chun mhaith 4 billiún ag bun an leathanaigh. Tá ár eagar 'c' áit éigin i gcuimhne, ansin ní mór dúinn ár n-pointeoir chun barra ceart faoi bhun sé, agus ansin ní mór dúinn an pointeoir fráma shábháil inár seoladh ar ais agus ár máthair-ghnáthamh a chairn. Cuimhnigh cad é an seoladh ar ais? Tá sé nuair a iarrann príomh foo feidhm, glaonna barra feidhm, gan dabht, tuairisceáin barra. Mar sin, nuair a tuairisceáin barra, is gá iad a fhios go bhfuil sé ag dul ar ais go dtí foo a dtugtar air. Mar sin, is é an seoladh ar ais an seoladh na feidhme go bhfuil sé chun filleadh ar nuair a tuairisceáin fheidhm. Is é an chúis go bhfuil sé tábhachtach do ionsaithe thar maoil maolán mar gheall ar, go caothúil, hackers buíochas a athrú go seoladh ar ais. In áit dul ar ais go dtí foo, tá mé ag dul chun dul ar ais go dtí cibé áit is mian leis an hacker liom dul ar ais go dtí. Agus, acraí, inar mian leis an hacker go minic chun dul ar ais go dtí Is é an tús an maolán a bhí againn ar dtús. Mar sin, faoi deara, arís, Little Indiach. Is é an fearas sampla de chóras Indiach Little, mar sin tá slánuimhir nó pointeoir stóráilte leis na bearta droim ar ais. Mar sin, anseo a fheicimid - is é seo? Yeah. Feicimid Ox80, OxC0, Ox35, OxO8. Cuimhnigh na digití heicsidheachúlach? Ní chuirimid a aisiompú na digití heicsidheachúlach sa Little Indiach, mar a dhéanamh 2 dhigit heicsidheachúlach suas beart amháin, agus táimid ag athrú ar an bytes. Sin an fáth nach bhfuil muid a stóráil, cosúil le, 80530CO8. Stóráil againn, ina ionad sin, gach péire de 2 dhigit, ag tosú as an ceart. Tagraíonn Go seoladh chuig an seoladh ar an tús ár n-Maolán a bhíomar ag iarraidh i ndáiríre a chóipeáil isteach sa chéad áit. Is é an chúis go bhfuil úsáideach mar gheall ar, cad más rud é an ionsaitheoir a tharla do, in ionad a bhfuil teaghrán a bhí díreach ar shraith de harmless cosúil le, a n-ainm nó rud éigin, cad más rud é, ina ionad sin, bhí an teaghrán ach cuid cód treallach go raibh cuma cad theastaigh siad é a dhéanamh? Mar sin, d'fhéadfadh siad - ní féidir liom smaoineamh ar aon chód fionnuar. D'fhéadfadh sé a bheith rud ar bith, cé. Aon cód tubaisteach. Má bhí siad, d'fhéadfadh siad a dhéanamh ach rud éigin ar lochtanna seg, ach bheadh ​​a bheith go pointless. Dhéanann siad de ghnáth é a hack do chóras. Maith go leor >>. Leabharlann CS50. Tá sé seo, go bunúsach, getInt, getString, na feidhmeanna sin go léir ar fáil againn ar do shon. Mar sin, ní mór dúinn Char * teaghrán, agus gur ar an astarraingt gur shéid muid ar shiúl ag pointe éigin le linn na seimeastar. Cuimhnigh go bhfuil teaghrán ach le sraith de charachtair. Mar sin, anseo a fheicimid leagan giorraithe de getString. Ba chóir duit breathnú siar ar sé cuimhneamh conas tá sé i bhfeidhm iarbhír. Eochair na sonraí atá, faoi deara a fháil againn i charachtar amháin ag an am ó caighdeánach i, a bhfuil díreach cosúil clóscríobh linn ag an méarchlár. Mar sin, ina charachtar aonarach ag an am, agus má fhaigheann muid an iomarca carachtair, mar sin má tá n + 1 níos mó ná cumas, ansin is gá dúinn cur leis an acmhainneacht ár Maolán. Mar sin anseo tá muid ag dúbailt ar mhéid ár Maolán. Agus coinníonn go leanúnach; isteach againn ar an carachtar isteach inár Maolán go dtí go bhfaighimid líne nua nó deireadh comhaid nó pé rud, sa chás sin, táimid ag déanamh leis an teaghrán agus ansin an getString fíor shrinks an chuimhne, ar nós má leithdháilte muid cuimhne i bhfad ró go mbainfidh sé dul ar ais agus Laghdaigh beagán. Mar sin, ní féidir linn a thaispeáint go bhfuil, ach is é an príomh-smaoineamh Tá sé le léamh i carachtar amháin ag an am. Ní féidir é a léamh ach i rud ar fad ag an am céanna, toisc go bhfuil a n-Maolán ach de mhéid áirithe. Mar sin, má tá an teaghrán a déanann sé le hionsá i maolán ró-mhór, ansin bheadh ​​sé thar maoil. Mar sin anseo táimid ag cosc ​​go bhfuil ag léamh ach i ina charachtar aonarach ag an am agus ag fás aon uair is gá dúinn a. Mar sin, getInt agus na feidhmeanna leabharlainne eile CS50 claonadh a úsáid getString i n-implementations. Mar sin, leag mé béim ar na rudaí tábhachtacha anseo. Iarrann sé getString a fháil teaghrán. Má theip getString cuimhne a thabhairt ar ais, cuimhnigh go mallocs getString rud éigin, mar sin aon uair a ghlaonn tú getString ba chóir duit nach (dothuigthe) saor in aisce go teaghrán a fuair tú. Mar sin anseo, má theip sé rud éigin a malloc, ar ais muid INT_MAX mar ach bratach a, hug, ní raibh muid i ndáiríre in ann a fháil ar slánuimhir. Ba chóir duit neamhaird a dhéanamh is cuma cad ais mé chun tú, nó ní ba chóir duit déileáil leis sin mar ionchur bailí. Mar fhocal scoir, ag glacadh leis go raibh an iarracht, úsáidimid sscanf leis an bratach speisialta, rud a chiallaíonn, an chéad slánuimhir mheaitseáil, ansin mheaitseáil aon carachtair i ndiaidh an slánuimhir. Mar sin, faoi deara ba mhaith linn é a chomhionann 1. Tuairisceáin sin sscanf cé mhéad cluichí má dhéantar go rathúil? Beidh sé ar ais 1 má rathúil mheaitseáil sé ina slánuimhir, Beidh sé ar ais 0 mura gcuirfeadh sé comhoiriúnach slánuimhir, agus beidh sé ar ais 2 má mheaitseáil sé slánuimhir dhiaidh sin ag roinnt carachtar. Mar sin, faoi deara againn má scríobh an mheaitseáil muid rud ar bith, ach 1. Mar sin, má tháinig muid 1, 2, 3, C, nó 1, 2, 3, X, ansin 1, 2, 3 a bheadh ​​a fháil stóráilte sa slánuimhir, Bheadh ​​X fháil a stóráil ar an carachtar, Bheadh ​​sscanf ais 2, agus ba mhaith linn a scríobh an, mar ba mhaith linn ach slánuimhir. Go tapa ag séideadh tríd HTML, HTTP, CSS. Is Hipirtéacs Markup Language struchtúr agus Semantics an ngréasán. Seo é an sampla ó léacht ina bhfuil muid clibeanna HTML. Tá clibeanna cheann, tags comhlacht, ní mór dúinn samplaí de clibeanna folamh i gcás nach iarbhír a dhéanamh ní mór dúinn tús agus gar chlib, ní mór dúinn ach nasc agus íomhá. Níl aon chlib íomhá deiridh; níl ach tag amháin go gcomhlíonfaidh gach rud de dhíth ar an chlib a dhéanamh. Is é an nasc mar shampla; beidh orainn a fheiceáil conas a tú nasc chuig CSS, Is é an script sampla de conas tú nasc chuig JavaScript seachtrach. Tá sé deas simplí, agus cuimhnigh, nach bhfuil HTML teanga cláir. Anseo, cuimhnigh conas ba mhaith leat a shainiú foirm nó ar a laghad cad a bheadh ​​seo a dhéanamh? Tá gníomh agus modh den sórt sin foirm. Is iad na modhanna a bheidh tú a fheiceáil riamh ach GET agus BPOST. Mar sin, is é an leagan FAIGH nuair a fhaigheann an rud a chur sa URL. Is IAR i gcás nach bhfuil sé a chur ar an URL. Ina áit sin, aon sonraí ón bhfoirm isteach níos mó i bhfolach san iarraidh HTTP. Mar sin, anseo, Sainmhíníonn gníomh áit a dtéann an t-iarratas HTTP. Cá bhfuil sé ag dul google.com / cuardaigh. Modh. Cuimhnigh ar na difríochtaí idir GET agus POST, agus, ach a rá mar shampla, más mian leat rud éigin leabharmharc. Ní bheidh tú in ann a leabharmharc le URL IAR toisc nach bhfuil na sonraí san áireamh sa URL. HTTP, anois tá, Prótacal Aistrithe Hipirtéacs. An Prótacal Aistrithe Hipirtéacs, ba mhaith leat a bheith ag súil é a aistriú Hipirtéacs Markup Language, agus a dhéanann sé. Ach aistríonn sé freisin aon íomhánna a fhaigheann tú ar an nGréasán, aon íosluchtú dhéanann tú tús a chur mar iarratas HTTP. Dá bhrí sin tá HTTP ach an teanga ar an nGréasán Domhanda. Agus is anseo is gá duit a aithint chineál seo ar iarratas HTTP. Anseo HTTP/1.1 ar an taobh a deir go díreach go bhfuil an leagan an phrótacail mé ag baint úsáide. Tá sé ag dul go leor i bhfad i gcónaí a bheith HTTP/1.1, mar a mbainfidh tú é a fheiceáil. Ansin feicimid go raibh sé seo GET, an rogha a bheith IAR, go dtiocfadh leat a fheiceáil. Agus bhí an URL go raibh mé ag iarraidh chun cuairt a thabhairt www.google.com/search?q = blah, blah, blah. Mar sin, cuimhnigh go bhfuil an, an comhartha ceiste q = blah blah blah, Is é an saghas stuif go bhfuil isteach ag foirm. Bheadh ​​an freagra d'fhéadfadh sé ar ais chugam breathnú rud éigin mar seo. Arís, ag tosú leis an prótacal, atá ag dul a bheith go, le leanúint ag an cód stádais. Seo tá sé ar 200 OK. Agus ar deireadh, beidh an leathanach gréasáin a d'iarr mé go hiarbhír as a leanúint. An cód stádais a d'fhéadfadh go dtiocfadh leat a fheiceáil, agus ba chóir duit a fhios roinnt acu. 200 OK bhfuil tú ag feiceáil dócha roimh. 403 Toirmiscthe, 404 Gan Aimsiú, 500 Freastalaí Inmheánach Earráid Tá de ghnáth má théann tú chuig suíomh idirlín agus rud éigin atá briste nó a n-tuairteanna cód PHP, ach i fearas atá againn go bosca oráiste mór a thagann suas agus a deir, cosúil le, tá rud éigin mícheart, ní cód an obair nó an fheidhm seo a dona. De ghnáth, ní dhéanann láithreáin ghréasáin mian leat a fhios agam cad iad na feidhmeanna iarbhír olc, mar sin in ionad go mbainfidh siad a thabhairt ach tú 500 Earráidí Freastalaí Inmheánach. Tá TCP / IP 1 ciseal faoi HTTP. Cuimhnigh go bhfuil an Idirlíon lasmuigh den nGréasán Domhanda. Cosúil má tá tú ag imirt cluiche ar líne nach dtéann tríd HTTP, tá sé ag dul trí difriúil - tá sé fós ag baint úsáide as an Idirlíon, ach ní chuireann sé úsáid a bhaint as HTTP. Is HTTP ach sampla amháin de prótacal tógtha ar TCP / IP. Ciallaíonn IP literally Prótacal Idirlín. Tá an seoladh IP ag gach ríomhaire; tá siad na rudaí 4-dhigit de Stáit Aontaithe cosúil le 192.168.2.1, nó cibé; go bhfuil claonadh a bheith ina cheann áitiúil. Ach is é sin an patrún seoladh IP. Mar sin, an DNS, Ainm Fearainn Seirbhíse, go bhfuil an méid aistríonn rudaí cosúil le google.com le seoladh IP iarbhír. Mar sin, má chlóscríobhann tú go seoladh IP isteach i URL, go mbeadh tú a thabhairt chuig Google, ach claonadh a bhíonn tú gan cuimhneamh ar na rudaí. Claonadh a bhíonn tú a cuimhneamh google.com ina ionad. Is é an rud deireanach ní mór dúinn calafoirt, i gcás ina bhfuil sé seo an chuid TCP IP. TCP a dhéanann níos mó. Smaoinigh faoi, ar nós, tá tú do bhrabhsálaí gréasáin ag rith. B'fhéidir go bhfuil tú roinnt reáchtáil fheidhmchlár ríomhphoist; b'fhéidir go bhfuil tú clár eile é a úsáideann an Idirlíon ag rith. Ní mór dóibh go léir rochtain ar an Idirlíon, ach tá do ríomhaire ach 1 cárta wifi nó cibé. Mar sin, tá calafoirt ar an mbealach go bhfuil muid in ann a scoilt suas conas atá na hiarratais in ann úsáid a bhaint as an Idirlíon. Faigheann gach iarratas 1 calafoirt ar leith gur féidir é a éisteacht ar, agus trí mhainneachtain, úsáidí HTTP calafort 80. Roinnt seirbhísí ríomhphoist a úsáid 25. Claonadh a bhíonn na cinn íseal-uimhrithe a chur in áirithe. Tá tú de ghnáth in ann a fháil ar na cinn níos airde-uimhriú duit féin. CSS, Stílbhileoga Cascáideacha. Leathanaigh ghréasáin stíl muid le CSS, ní le HTML. Tá 3 áiteanna is féidir leat a chur ar do CSS. Is féidir é a inlíne, idir clibeanna stíl, nó i gcomhad go hiomlán ar leith agus ansin nasctha isteach Agus is é anseo ach sampla de CSS. Ba chóir duit seo a aithint patrún, ina bhfuil an chéad sampla táimid ag meaitseáil an chlib comhlacht, agus anseo tá muid lárnach an chlib comhlacht. An dara sampla, táimid ag meaitseáil an rud le ID buntásc, agus tá muid ag cur roinnt stíleanna sin. Fógra go bhfuil buntásc téacs-ID cuirtear an taobh clé, ach comhlacht téacs-ailínithe ionad. Is Footer laistigh den chomhlacht. Beidh sé, ina ionad sin, téacs-ailíniú ar chlé, cé a deir comhlacht ionad téacs-ailíniú. Is é seo an chuid cascáideacha fad é. Is féidir leat a bheith - is féidir leat a shonrú stíleanna don chomhlacht, agus ansin rudaí i gcorp is féidir leat a shonrú stíleanna níos sainiúla, agus rudaí ag obair mar súil agat. Sonraitheoirí CSS níos sainiúla tús áite. Sílim go bhfuil sé. [Ali Nahm] Dia duit gach duine. Má raibh mé in ann a fháil ach bhur n-aird. Tá mé Ali agus mé ag dul chun dul trí PHP agus SQL i ndáiríre go tapa. Mar sin, is féidir linn tús a. Tá PHP ghearr do PHP: Hipirtéacs réamhphróiseálaí. Agus mar ba chóir a fhios agat go léir, tá sé ina teanga scriptithe freastalaí-taobh, agus úsáidimid é don deireadh ar ais de láithreáin ghréasáin, agus conas a dhéanann sé a lán de na ríomhaireachtaí, an chuid ar chúl-radhairc. Comhréir. Níl sé cosúil C, iontas, iontas. Tá sé i gcónaí chun tús a chur leis an, más féidir leat a fheiceáil, an - Ní féidir liom bogadh amach romhainn. Is féidir leat a fheiceáil is gá duit na cineálacha nua de guailleáin agus ansin is gá duit chomh maith leis an php?. Sin i gcónaí an chaoi a bhfuil tú chun fráma do téacs PHP, do chód PHP. Mar sin, ní féidir é a bheith díreach cosúil C, áit a bhfuil tú de chineál ar chur ar dtús. Ní mór duit a timpeall i gcónaí é. Agus anois, is é an error mór go gcaithfidh gach athróg a tús a chur leis an $ carachtar. Ní mór duit é a dhéanamh nuair a bhíonn tú a shainiú iad; gá duit a dhéanamh air nuair a bhíonn tú ag tagairt do dóibh níos déanaí. Ní mór duit i gcónaí go $. Tá sé do chara is fearr nua, go leor i bhfad. Nach tú - murab ionann agus C, ní gá duit a chur ar cén cineál de chineál athraitheach é. Mar sin, cé go bhfuil tú ag teastáil ar an $, ní gá duit a chur, ar nós, slánuimhir x nó y téad, etcetera, etcetera. Mar sin, difríocht beag. Mar thoradh ar seo, ciallaíonn sé go bhfuil PHP cineál lag. Tá PHP teanga cineál weakly, agus tá sé clóscríofa athróg weakly. I bhfocail eile, ciallaíonn sé sin go féidir tú ag aistriú idir cineálacha éagsúla de chineálacha athraitheach. Is féidir leat a shábháil ar do uimhir 1 mar slánuimhir, is féidir leat é a stóráil mar theaghrán, agus is féidir leat é a stóráil mar snámhphointe, agus beidh sé ar fad go bhfuil uimhir 1. Cé go bhfuil tú ag a stóráil i bhfoirmeacha éagsúla, tá sé fós - na cineálacha athróg ag a bhfuil fós sa deireadh. Mar sin, má fhéachann tú anseo, más cuimhin leat ó pset 7, go leor de tú go raibh ceisteanna leis seo is dócha. Dhá comharthaí comhionanna, 3 comharthaí comhionanna, 4 comharthaí comhionann. Maith go leor, nach bhfuil aon chomharthaí 4 comhionanna, ach tá 2 agus 3. Úsáideann tú 2 comharthaí comhionann a sheiceáil na luachanna. Is féidir é a sheiceáil thar chineálacha. Mar sin, más féidir leat a fheiceáil ar an chéad sampla, Tá mé num_string == num_int. Mar sin, le do slánuimhir agus do theaghrán iad araon, go teicniúil, 1, ach tá siad cineálacha éagsúla. Ach do na is ionann dúbailte, beidh sé pas a fháil fós. Mar sin féin, is ionann do na triple, seiceálacha sé luach chomh maith leis na cineálacha difriúla. Ciallaíonn sé sin nach bhfuil sé ag dul chun pas a fháil sa dara cás anseo, áit a bhfuil tú ag baint úsáide as 3 comharthaí comhionann ina ionad. Mar sin, go bhfuil difríocht mhór gur chóir duit go léir Tá sé léirithe anois. Tá comhchaitéiniú Teaghrán rud eile cumhachtach is féidir leat é a úsáid i PHP. Tá sé go bunúsach ach an handy ponc nodaireacht, agus sin conas is féidir leat ceangal teaghráin le chéile. Mar sin, má tá tú Cat agus Madraí go bhfuil tú, agus is mian leat a chur ar an 2 teaghráin le chéile, Is féidir leat úsáid a bhaint as an tréimhse, agus sin de chineál ar conas a oibríonn sé. Is féidir leat freisin ar siúl ach iad in aice le gach eile, is féidir leat a fheiceáil anseo sa sampla bun, áit a bhfuil mé macalla teaghrán 1, téad spás 2. Beidh PHP fhios chur in ionad iad mar sin. Arrays. Anois, i PHP, tá 2 cineálacha éagsúla de arrays. Is féidir leat a bheith arrays rialta, agus is féidir leat a bheith arrays comhthiomsaitheach freisin, agus táimid ag dul chun dul trí iad ceart anois. Tá arrays rialta ach sin i C, agus mar sin tá tú hinnéacsanna a uimhrithe. Ceart anois táimid ag dul ach a chruthú ar cheann agus a chur - mar sin tá sé seo conas a chruthú dúinn le sraith folamh, ansin táimid ag dul chun chur isteach ar an treoir-uimhir 0. Táimid ag dul a chur ar an uimhir 6, an luach 6. Is féidir leat é a fheiceáil ag bun anseo. Where's - ag uimhir innéacs 1 táimid ag dul a chur ar líon luacha 4, agus mar sin is féidir leat a fheiceáil níl 6, níl a 4, agus ansin mar tá muid rudaí priontáil, nuair a déanaimid ár ndícheall agus a phriontáil an luach a stóráil ag uimhir innéacs 0, ansin beidh orainn a fheiceáil ar an luach 6 mbeith clóbhuailte amach. Cool? Mar sin tá go arrays rialta ar do shon. Bealach eile is féidir leat rudaí a chur freisin chuig arrays rialta anois Is féidir leat a chur i gceangal ach iad ag an deireadh. Ciallaíonn sé sin nach mian leat go bhfuil a shonrú ar an t-innéacs ar leith. Is féidir leat a fheiceáil ar líon, agus ansin i lúibíní cearnacha níl aon innéacs sonraithe. Agus beidh a fhios é - beidh a fhios PHP chun é a chur go díreach go dtí deireadh an liosta, an láthair seo chugainn saor in aisce. Mar sin, is féidir leat a fheiceáil ar an 1 ceart ann ag an 0 láthair, an 2 chuaigh ceart ann ag an chéad láthair. An 3 Téann - leanas ann chomh maith. Mar sin, gur de chineál ar ciall. Tá tú díreach ag cur i gcónaí é, agus ansin nuair a bhíonn muid macalla an t-innéacs uimhir 1, Beidh sé a phriontáil amach an luach 2. Ansin, ní mór dúinn arrays go bhfuil arrays comhthiomsaitheach. Arrays comhthiomsaitheacha, in ionad a bheith innéacsanna uimhriúla, cad a dhéanann siad é, tá siad innéacsanna atá ag téad. Is féidir leat a fheiceáil, in ionad - fuair réidh mé ar sin go léir innéacsanna líon, agus anois tá sé key1, key2, key3, agus tá siad i Sleachta dúbailte a chiallaíonn go bhfuil siad go léir teaghráin. Mar sin, is féidir linn a bheith sampla de seo. Is é an sampla de seo go bhfuil muid ar an TF, agus gur ar an t-ainm innéacs. Táimid ag dul a chur ar "Ali" mar an t-ainm, ag an innéacs, calories ithe, Is féidir linn a chur ina slánuimhir an am seo in ionad theaghrán, agus ansin ag an maith innéacs, is féidir linn a chur le sraith iomlán taobh istigh de sé. Mar sin, tá sé seo de chineál ar - tá sé ina coincheap cosúil leis an gcaoi a bhí againn innéacs a le huimhreacha, ach anois is féidir linn a athrú ar an innéacsanna timpeall go mbeidh siad mar teaghráin ina ionad. Is féidir leat a dhéanamh freisin seo, seachas díreach a dhéanamh air ina n-aonar, is féidir leat é a dhéanamh go léir i smután amháin. Mar sin, is féidir leat a fheiceáil go bhfuil TF sin eagar, agus ansin leag muid iad go léir i ollmhór sraith amháin lúibín cearnach. Mar sin, gur féidir rudaí a dlús a chur. Tá sé níos mó de rogha stíle ná a mhalairt. Tá lúb againn chomh maith. I C atá againn lúba go n-oibríonn mar seo. Bhí orainn ár eagar, agus chuaigh muid ó innéacs 0 go dtí deireadh an liosta, agus againn go léir, ceart? Ach amháin go bhfuil an fhadhb, d'eagair comhthiomsaitheach, níl a fhios againn gá iad siúd innéacsanna uimhriúla mar anois táimid tar éis an innéacsanna teaghrán. Anois táimid ag úsáid lúb foreach, a, arís, tá súil againn a d'úsáid tú i pset 7. Beidh lúba foreach a fhios ach gach cuid amháin den liosta. Agus nach ndéanann sé a fhios go díreach an t-innéacs uimhriúla go bhfuil tú. Mar sin, tá tú ar an error foreach, mar sin tá sé foreach, chuir tú an eagar. Mar sin, tá mo eagar ar a dtugtar pset, agus ansin mar, an focal mar, agus ansin a chuir tú an athróg sealadach áitiúil go bhfuil tú ag dul a úsáid ach le haghaidh an rud ar leith go bhfuil dul chun bheith i seilbh an sonracha - gcás amháin nó alt ar cheann de na eagar. Beidh num Pset a shealbhú 1, agus ansin b'fhéidir go mbeidh sé i seilbh an uimhir 6, agus ansin beidh sé i seilbh an uimhir 2. Ach tá sé ráthaithe chun dul tríd gach luach amháin go bhfuil sa eagar. Tá feidhmeanna úsáideacha gur chóir duit a fhios i PHP na ceanglais, ionas go ndéanann cinnte go bhfuil tú ag lena n-áirítear comhaid áirithe, macalla, le himeacht amach, folamh. Molaim go mór leat breathnú ar pset 7 agus breathnú ar na feidhmeanna sin. D'fhéadfá a fhios sin, mar sin bheadh ​​a fhios agam cinnte cad é, go díreach, iad siúd go léir a dhéanamh. Agus anois táimid ag dul chun dul tríd an raon feidhme i ndáiríre go tapa. I raon feidhme, tá PHP de chineál ar rud funky, murab ionann agus C, agus mar sin táimid ag dul díreach chun dul tríd go tapa. Sin a ligean le tús a chur orainn a rá ag an arrow go bhfuil muid ann. Agus táimid ag dul chun tús a chur leis $ i. Mar sin, an athróg 'i' ag dul a bheith 0, agus táimid ag dul díreach a choinneáil a phriontáil sa bhosca bán mór thar ann. Táimid ag dul chun tús a chur le I0, agus ansin táimid ag dul a macalla air. Mar sin, níl an 0. Agus ansin táimid ag dul a incrimint dó ag an lúb do, agus ansin tá sé ag dul a bheith ar luach 1. Is é ceann níos lú ná 3, agus mar sin tá sé ag dul chun pas a fháil tríd an lúb do, agus ansin táimid ag dul a fheiceáil i gcló arís. Táimid ag dul a incrimint sé arís go dtí 2, agus tá 2 níos lú ná 3, ionas go mbainfidh sé pas a fháil sa do lúb, agus beidh sé a phriontáil ar an 2. Ansin, beidh tú faoi deara nach bhfuil níos lú ná 3 3, mar sin beidh orainn a bhriseadh as an lúb do. Mar sin, anois tá muid sendmail, agus ansin táimid ag dul chun dul isteach aFunction. Maith go leor. Mar sin, caithfidh tú a thabhairt faoi deara go bhfuil an athróg go atá cruthaithe againn, an 'i' athróg nach bhfuil, scoped go háitiúil. Ciallaíonn sé sin nach bhfuil sé áitiúil chun an lúb, agus gur athróg féidir linn teacht ar go fóill agus a athrú ina dhiaidh sin, agus beidh sé fós éifeachtach. Mar sin, má théann tú isteach ar an fheidhm anois, beidh tú a fheiceáil go bhfuil muid ag úsáid freisin ar an 'i' athróg, agus táimid ag dul a incrimint 'i' + +. Ba mhaith leat smaoineamh, ar dtús, bunaithe ar C, go bhfuil go cóip den 'i' athróg. Tá sé an rud go hiomlán difriúil, atá ceart. Mar sin, nuair a chuirtear i gcló é, táimid ag dul i gcló 'i' + +, atá ag dul a phriontáil amach go 4, agus ansin táimid ag dul go dtí - tá brón orainn. Ansin, táimid ag dul go dtí deireadh amach as na feidhme sin, agus táimid ag dul a bheith i gcás gurb arrow ceart anois. Ciallaíonn sé sin go ansin, áfach, cé go d'athraigh an fheidhm luach 'i', ní raibh sé athrú lasmuigh den feidhme, toisc go bhfuil an fheidhm a bhfuil raon feidhme ar leithligh. Ciallaíonn sé sin nuair a macalla muid 'i', nach bhfuil sé athrú sa raon na feidhme, agus mar sin ansin tá muid ag dul i gcló arís 3. Rudaí éagsúla faoi raon feidhme i PHP ná i C. Anois, i PHP agus HTML. PHP a úsáidtear chun leathanaigh gréasáin dinimiciúil. De chineál ar Déanann sé rudaí éagsúla. Tá sé difriúil ó HTML againn. Le HTML, ní mór dúinn ach a bheith i gcónaí ar an rud céanna statach, cosúil le conas a léirigh Rob, ach PHP, is féidir leat rudaí a athrú bunaithe ar a bhfuil an t-úsáideoir. Mar sin, má tá mé seo, tá mé, "Tá tú logáilte isteach mar -" agus ansin an t-ainm, agus is féidir liom a athrú ar an t-ainm. Mar sin, ceart anois go bhfuil an t-ainm Joseph, agus tá sé ar an "mar gheall orm," ach ansin is féidir liom a athrú freisin an t-ainm a bheith Tommy. Agus bheadh ​​a bheith ina rud difriúil. Mar sin, ansin is féidir linn a athrú freisin rudaí éagsúla mar gheall air, agus beidh sé a thaispeáint ábhar éagsúla bunaithe ar an t-ainm. Mar sin, is féidir PHP chineál ar athrú cad atá ar siúl i do láithreán gréasáin. Same anseo. Fós, faoi deara go bhfuil siad ábhar éagsúla, cé go bhfuil tú fós ag go teicniúil rochtain a fháil ar an leathanach gréasáin céanna ar an dromchla. Ghiniúna HTML. Tá 2 bealaí éagsúla gur féidir leat é seo a. Mar sin, beidh muid ag dul tríd an gceart sin anois. Is é an bealach chéad, tá tú - yera yeah, tá brón orainn. Mar sin, tá tú díreach tar éis do rialta le haghaidh lúb i PHP, agus ansin macalla tú i PHP agus tú macalla amach HTML. Ag baint úsáide as cad a thaispeáin Rob tú de script HTML agus ansin baint úsáide as an cló PHP a phriontáil díreach amach é go dtí an leathanach gréasáin. Is é an bealach eile chun é a dhéanamh mar má tú ar leith amach an PHP agus an HTML. Mar sin, is féidir leat a bheith ag teacht de PHP go dtosaíonn an lúb do, ansin is féidir leat a bheith ar an líne ar an HTML i rud ar leith, agus ansin deireadh tú ar an lúb, arís, le PHP. Mar sin, tá sé de chineál ar scaradh amach. Ar an taobh chlé, is féidir leat go bhfuil tú go léir an - tá sé ach 1 smután de PHP. Ar an ceart is féidir leat a fheiceáil go bhfuil tú ar líne de PHP, Tá tú ar líne de HTML, agus tá tú ar líne de PHP arís. Mar sin, scaradh sé amach i cad atá ar siúl acu. Agus beidh tú faoi deara go bhfuil ceachtar bhealach, le haghaidh ceachtar acu, phriontáil siad fós amach an íomhá, an íomhá, an íomhá, ionas go HTML fós i gcló ar an mbealach céanna. Agus ansin beidh tú a fheiceáil fós ar an 3 íomhánna a thaispeáint suas ar do láithreán gréasáin. Mar sin, tá sé 2 bealaí éagsúla ag déanamh an rud céanna. Anois, tá muid foirmeacha agus iarratais. Mar a léirigh Rob tú, tá foirmeacha de HTML, agus beidh muid ag Breeze go díreach tríd an. Tá tú caingean agus tá tú modh, agus do ghníomhaíocht de chineál ar léiríonn tú nuair a bhíonn tú ag dul a sheoladh é, agus is é an modh cibé tá sé ag dul a bheith ina GET nó POST ar. Agus ciallaíonn iarraidh GET, mar a dúirt Rob, go bhfuil tú ag dul chun é a chur i bhfoirm agus go mbainfidh tú é a fheiceáil mar URL, ach ar iarratas IAR ní bheidh ort a fheiceáil i URL. Mar sin, difríocht beag. Mar sin féin, rud amháin go bhfuil rud den chineál céanna is é go bhfuil IAR agus GET cothrom neamhchinnte. Mar sin, is féidir leat smaoineamh go díreach toisc nach bhfuil tú é a fheiceáil ar an URL, a chiallaíonn go bhfuil an IAR níos sábháilte, ach is féidir leat a fheiceáil go fóill é i do fianáin sa an eolas go bhfuil tú ag seoladh. Mar sin, ní dóigh go thart ar cheann amháin nó an duine eile. Tá rud eile a thabhairt faoi deara go bhfuil tú chomh maith rannóg athróg. Tú guys úsáid as seo pset 7 a fháil do chuid faisnéise ID úsáideora. Cad a tharla ná gur féidir leat seo a úsáid eagar comhthiomsaitheach, an $ _SESSION, agus ansin tá tú in ann rochtain a fháil ar rudaí éagsúla agus a stóráil rudaí éagsúla ar fud na leathanaigh. É rud is déanaí atá againn SQL, Struchtúrtha Iarratas Teanga, agus tá sé seo teanga cláir a bhainistiú bunachair sonraí. Cad iad, go díreach, tá bunachair? Tá siad bailiúcháin de tháblaí, agus is féidir gach tábla a bheith den chineál céanna de rudaí. Mar sin, bhí againn tábla na n-úsáideoirí i do pset airgeadais. Agus cén fáth a bhfuil siad úsáideach? Toisc go bhfuil sé ar bhealach buan faisnéis a stóráil. Tá sé ar bhealach de rudaí a rianú agus rudaí a bhainistiú agus ar ndóigh, go bhfaca sé ar leathanaigh éagsúla agus súil a choinneáil. De bharr an méid má tá tú díreach tar éis é a stóráil ag an nóiméad amháin láithreach agus ansin é a úsáid ina dhiaidh sin, ní bheidh tú in ann aon rud go atá tú shábháil rochtain a fháil ar. Tá 4 rudaí móra a úsáid againn le haghaidh orduithe SQL. Tá a roghnú, isteach, scriosadh, agus cothrom le dáta. Glacfar iad i ndáiríre tábhachtach chun tú guys a fhios do do tráth na gceist. Beidh muid ag dul go tapa thar roghnaigh ceart anois. Go bunúsach, tá tú ag sraitheanna a roghnú ó bhunachar sonraí. Mar sin, má tá tú, ar dheis anseo - ní mór dúinn na rudaí éagsúla 2, agus ba mhaith linn a roghnú ón tábla ranganna nuair is uamhnach - i gcás ina bhfuil an luach sa cholún uamhnach 1. Mar sin, is féidir leat a fheiceáil anseo, ní mór dúinn na rudaí 2 de ainm rang, CS50 agus Stat110, agus ní mór dúinn an IDs ranga agus an mana. Mar sin, ba mhaith linn a roghnú go léir na faisnéise sin. Ansin, is féidir leat a fheiceáil ar dheis anseo go bhfuil sé de chineál ar piocadh amach an colún uamhnach, i gcás ina bhfuil gach na rudaí 1, agus ansin tá sé an ID ranga, ainm agus mana gur féidir é a phiocadh amach rang. Cén chaoi go díreach a dhéanann tú é seo cód? Tá tú úsáid a bhaint as PHP. Mar sin tá go de chineál ar conas PHP agus SQL a bhaineann le gach ceann eile. Anois, ní mór dúinn ár cód, agus táimid ag dul a úsáid lenár bhfeidhm cheist mar a rinne muid i pset 7, agus táimid ag dul a reáchtáil an cheist SQL. Ansin tá muid ag dul a bheith acu - ní mór dúinn i gcónaí a sheiceáil má tá a chéile ar triple comhionann má bréagach. Mar sin, arís, ba mhaith leat a sheiceáil an cineál agus an luach, agus ansin más rud é nach n-oibríonn sé, ansin ba mhaith leat a leithscéal a ghabháil, mar is gnách, mar a rinne muid i pset 7. Seachas sin, ba mhaith leat a lúb trí gach rud leis na handy lúba foreach go ndeachaigh muid díreach os cionn. Anois go bhfuil muid looping tríd agus atá déanta againn sé anuas, a ligean ar glacadh leis go bhfuil a rith ár cheist, anois ní mór dúinn ár n-lúb foreach. Agus an chéad sraith tá sé, mar sin tá anseo an tsraith, ar dheis anseo; sé boxed. Tá sé ag dul a phriontáil amach an fhaisnéis go léir go bhfuil sé gotten. Mar sin, tá sé ag dul a phriontáil amach ar an bun "Want Foghlaim HTML?" Ansin tá sé ag dul chun dul go dtí an tsraith nua seo chugainn, mar tá sé i gcrích an chéad lúb, agus mar sin ansin tá sé ag dul a phriontáil amach an dara líne de, atá ag dul a bheith STAT110, Aimsigh na chuimhneacháin. Rud amháin deireanach ar SQL Leochaileachtaí. Tá a fhios agam David i dteagmháil léi ar an beagán i léacht. Is féidir leat seo a léamh níos déanaí. Tá sé i ndáiríre greannmhar. Tá SQL Instealladh chineál an rud tricky. Ligean le rá go bhfuil tú bata ach iad siúd athróg ceart isteach do cheist, is féidir leat a fheiceáil ar an chéad líne. Mar sin, is cosúil fíneáil, ceart? Tá tú ach ag cur in ainm úsáideora agus do phasfhocal a thabhairt ar do cheist SQL, agus ba mhaith leat a long sé amach agus a fháil is cuma cad é i do tábla sonraí. Go cosúil simplí go leor. Mar sin ligeann rá cuireann duine éigin i, an focal faire, NÓ an téacs seo ar dheis anseo - Ba chóir go mbeadh i ndáiríre sa bhosca dearg. Mar sin, a ligean ar rá gur chuir siad go phasfhocal isteach - sin an méid a théann siad isteach. Mar sin, tá siad a chur NÓ "1" = 1. Cineál ar pasfhocal amaideach a bheith acu. Anois, a ligean in ionad díreach sé i, agus beidh tú faoi deara go bhfuil sa cheist SQL anois, déanann sé go fíor i gcónaí, toisc go mbainfidh tú faoi deara go Is féidir leat a roghnú Iarratas SQL léir ar an bhfaisnéis nó is féidir leat a bheith díreach 1 = 1. Mar sin, go bhfuil ag dul i gcónaí chun meastóireacht a dhéanamh go fíor. Ní sin dul a bheith ag obair i ndáiríre, mar ciallaíonn sin gur féidir leis an hacker a bhriseadh isteach i do chóras. Is é an réiteach seo go bhfuil tú a bhaint as an gcóras STFC, rud a chiallaíonn go bhfuil tú chun marcanna gceist a úsáid, a bhfuil cad tú guys a úsáidtear i pset 7, áit a bhfuil tú ag dul a úsáid comhartha ceiste in áit inar mian leat rud éigin a chur, agus ansin tá tú ag dul a bheith acu camóg, agus ansin beidh tú a bheith ina dhiaidh sin, tar éis do theaghrán, na hathróga difriúla gur mian leat a chur in ionad i do comhartha ceiste. Mar sin, beidh tú faoi deara anseo go bhfuil mé anois ar na marcanna gceist dearg. Ansin, chuir mé na hathróga tar éis mo teaghráin mar sin tá a fhios agam a chur in ionad iad san ord sin ina dhiaidh sin. Beidh a dhéanamh cinnte go bhfuil má dhéanann duine é mar seo, agus tá siad an nó 1 = 1 staid, beidh a dhéanamh cinnte, sa deireadh ar ais, déan cinnte nach mbeidh sé sos i ndáiríre an cheist SQL. Maith go leor, ionas go leor i bhfad é, sciobtha de PHP agus SQL. Ádh mór ar fad agat, agus anois go Ore [Oreoluwatomiwa Babarinsa] Maith go leor do gach duine. Am chun dul thar roinnt JavaScript agus roinnt rudaí eile go han-tapa mar sin ní féidir linn a shealbhú tú suas anocht. JavaScript. Tá. Tá JavaScript de chineál ar rud fionnuar, purportedly. Na rudaí is gá duit i ndáiríre ar an eolas faoi JavaScript, tá sé saghas cosúil le an deireadh cliant-taobh ar a bhfuil do app gréasáin ag dul a bheith ag déanamh. Níl roinnt rudaí tú ní hamháin mian chun aire a thabhairt an t-am ar an taobh fhreastalaí. Gach na hidirghníomhaíochtaí beag, ag cur béime ar rud amháin, ag déanamh rud éigin imíonn siad. Tá tú i ndáiríre nach bhfuil ag iarraidh a bheith acu chun labhairt le do fhreastalaí ar fad an t-am le haghaidh sin. Agus nach bhfuil roinnt de go fiú is féidir a dhéanamh ar an taobh fhreastalaí. Sin é an fáth gá dúinn rud éigin cosúil le JavaScript. Rudaí fionnuar faoi JavaScript: Tá sé clóscríofa dinimiciúil. Cad é ciallaíonn sé seo nach do chlár mór a fhios cad é, go díreach, is iad na hathróga nuair a scríobhann tú amach é. Beidh sé ach saghas figiúr sé amach mar tá sé ag rith. Rudaí eile a bhfuil fionnuar mar gheall air: Tá sé ina teanga guailleán chatach, rud a chiallaíonn go bhfuil an chomhréir cosúil le C agus PHP. Ní gá duit a dhéanamh athoibriú i bhfad nuair a bhíonn tú ag foghlaim JavaScript. Anseo ní mór dúinn beagán de JavaScript. Is é an rud suimiúil ar dheis anseo, má fhéachann tú ar sé, ní mór dúinn beagán de JavaScript ceart ann i an chlib ceann. Cad é atá go bunúsach ach ní áirítear comhad JavaScript. Is é seo an bealach amháin is féidir leat san áireamh JavaScript isteach i do chlár. Ansin, is é an dara beagán iarbhír áirithe JavaScript inlíne, an-chosúil le stíl inlíne le CSS, agus go bhfuil tú ag scríobh ach cuid cód han-tapa ann. Tá eagair JavaScript. Just a bhealach eile chun sonraí a choinneáil timpeall, an-úsáideach. An-deas agus éasca error. Úsáideann tú lúibíní cearnacha gach rud a rochtain agus gach rud a choinneáil le chéile. Ní dhéanfaidh aon ní ró-chasta. An rud is iontaí faoi JavaScript agus teangacha scriptithe i gcoitinne is é sin ní gá duit a bheith buartha faoi mhéideanna eagar. Is féidir leat úsáid a bhaint ach array.length agus súil é a choinneáil, agus freisin, is féidir leis an sraith ag fás nó Laghdaigh mar is gá duit é a. Mar sin ní gá duit fiú a bheith buartha faoi aon saghas, OH ar bith, is gá dom a leithdháileadh rudaí níos mó, nó aon rud mar sin. Is é an rud is iontaí anseo go bhfuil JavaScript rud ar a dtugtar rudaí. Tá sé an teanga réad-dhírithe, mar sin cad tá sé, go bunúsach, ar bhealach chun tú a shonraí grúpa le chéile, beagán cosúil le struct, ach is féidir leat rochtain a fháil air mar a bheadh ​​struct nó i error eagar comhthiomsaitheach. Tá sé simplí go leor agus cad is féidir leat a dhéanamh leis seo ar shonraí grúpa le chéile má tá tú a bunch na sonraí go bhfuil a bhaineann leo. Toisc go bhfuil sé ar fad na rudaí is gá duit cur síos a dhéanamh carr, Ní gá duit a bhfuil sé i bunch na n-áiteanna éagsúla. Is féidir leat bata díreach sé isteach 1 réad i JavaScript. Mar is eol duit is dócha, tá iterating ar cheann de na tascanna tedious. A dhéanann tú díreach é thar cionn arís. Ní mór duit a labhairt le gach réad sa charr, nó is gá duit dul trí gach mír i liosta nó rud éigin mar sin. Mar sin, tá JavaScript, cosúil le PHP, ar chomhréir foreach. Sa chás seo, tá sé ina i lúb. Ba mhaith leat seo a úsáid ach amháin ar rudaí. Tá roinnt fadhbanna a tharlaíonn má úsáideann tú an arrays ar. Tá sé i gcoitinne ar cheann de na rudaí, áfach, is é sin an-úsáideach, toisc go deireadh a chur tú a lán de na forchostais toisc nach bhfuil tú a tharraingt suas gach rud i do réad le tú féin. Ní gá duit a mheabhrú go léir na hainmneacha eochair. Tá tú díreach tar saghas iad a fháil ar ais sa error. Sa, le haghaidh, ba mhaith leat ach a mheabhrú go bhfuil tú ag dul ar ais go léir na heochracha, ar bhealach an-chosúil tábla a hash. Má tá tú ag cuimhneamh ó sin, nuair a bheadh ​​leat a chur i teaghrán d'fhéadfaí tú rud éigin a fháil amach a mbeadh luach a bhaineann leis. Cad is féidir leat a dhéanamh leis seo is féidir leat a rá, ceart go léir, Chuir mé i gcarr, agus d'iarr mé air Ferrari. Mar sin, is féidir leat a chur i Ferrari teaghrán arís níos déanaí, agus is féidir leat a fháil go amach. Agus is féidir leat a dhéanamh go bhfuil i lúb, leis an i lúb. Mar sin, ach níos mó faoi rudaí. An rud eochair as seo ní mór duit a mheabhrú Is féidir leat úsáid a bhaint as an struct réad cosúil le error aon uair is mian leat leis na, ach amháin má cad do dul a úsáid mar theaghrán nach bhfuil an t-ainm athraitheach bailí. Mar sin, má fhéachann tú ar go bhfuil, ní mór dúinn eochair le spásanna. Bhuel, má bhí tú a chur object.key, spás, le, spás, spásanna, Ní bheadh ​​ciall a dhéanamh ach syntactically. Mar sin, is féidir leat a dhéanamh ach amháin go bhfuil an gcineál seo chomhréir lúibín. Chomh maith leis sin >>, tá JavaScript an-scóip-ciallmhar a PHP. Tá tú 2 bealaí le haghaidh a raon feidhme. Ní féidir leat a bheith ar an var i os comhair athróg, agus ciallaíonn sin go díreach é seo domhanda. Is féidir leat é a fheiceáil ó áit ar bith. Fiú amháin má bhí tú a chur ar seo i ráiteas dá, áit ar bith eile i do chód tar éis an pointe fhéadfaí tú a fheiceáil go bhfuil athraitheach. Rud eile, cé go bhfuil, leis an var, tá sé teoranta do cibé fheidhm bhfuil tú isteach Mura bhfuil tú in fheidhm, go maith, tá sé domhanda. Ach má tá tú i bhfeidhm tá sé sofheicthe ach laistigh den fheidhm. Ní dóigh liom go bhfuil, mar shampla, ach, yeah. Tá sé ar cheann de na rudaí ina Is féidir leat a bhainistiú cad athróg mhaith leat a bheith domhanda, cad athróg mhaith leat a bheith áitiúil, ach is gá duit a bheith cúramach faoi seo, toisc nach bhfuil tú ag an cineál rialú gráin fíneáil a dhéanann tú i C, i gcás má tá rud éigin a dhearbhú i do lúb, tá sé ag dul chun fanacht sa lúb do. Is é an rud is cúram againn i ndáiríre faoi úsáid a bhaint JavaScript le haghaidh ionramháil leathanaigh gréasáin, ceart? Ciallaíonn mé, sin an fáth a bhfuil muid ag déanamh seo. Chun seo a dhéanamh go, úsáidimid rud ar a dtugtar an DOM. An Cuspóir Doiciméad tSamhail. Go bunúsach, cad a dhéanann sé go bhfuil a thógann sé go léir ar do HTML agus samhlacha sé amach i bunch de rudaí atá neadaithe laistigh de gach eile. Tosaíonn tú amach le rud éigin mar seo. Tá tú, ar an gceart dom, a bunch de chód amach ann go bhfuil saghas - Ba mhaith leat smaoineamh gur mhaith a bheith an-deacair a ionramháil, mar gheall ar mhaith leat a bheith parsáil trí a bunch téacs agus a bhfuil a phíosa le rudaí óna chéile. Agus cad más rud é nach raibh sé formáidithe i gceart? Bheadh ​​rudaí a tharlóidh olc. Mar sin, a thógann JavaScript cúram seo ar do shon, agus a fhaigheann tú struchtúr sonraí deas, cosúil leis an ceann ar mo chlé, áit a bhfuil tú ach doiciméad, agus taobh istigh go bhfuil tú rud ar a dtugtar HTML, agus taobh istigh go bhfuil tú ceann agus comhlacht, agus taobh istigh go ceann a bhfuil tú ar theideal, etcetera, etcetera, etcetera. Seo a shimpliú ionramháil ar leathanach gréasáin ionas go bhfuil sé ach, OH, ba mhaith liom ach labhairt le réad seo. Sórtáil de ar bhealach an-chosúil go mbeadh tú labhairt le réad eile a rinne tú féin. Mar a dúirt mé, tá gach uile an DOM sa cháipéis réad. Ceachtar tá sé ach áit amháin agus ansin is féidir leat dul taobh istigh de sé chun rudaí a aimsiú, agus is féidir leat é a dhéanamh - is é seo an stíl sean a dhéanamh air, suas ann, nuair a dhéanann tú document.getElementById, agus ansin an t-ainm, agus mar is féidir leat insint is dócha, faigheann seo an-anásta tar éis tamaill. Mar sin, tú dócha nach bhfuil ag iarraidh a dhéanamh. Sin an fáth go bhfuil muid an chéad rud eile táimid ag dul chun labhairt faoi i ndiaidh an. Is é an rud tábhachtach anseo go bhfuil, ceart go léir, tá tú na heilimintí go léir, ceart? Mar sin, b'fhéidir gur féidir liom a athrú ar an dath rud éigin nuair na hualaí leathanach. Mar sin, cad é? Cad a tharlaíonn má cad a tharlaíonn nuair úsáideoir ar mo rud éigin? Ba mhaith liom é rud suimiúil a dhéanamh nuair a chliceálann siad rud éigin. Sin an fáth go bhfuil muid imeachtaí. Is féidir leat, go bunúsach, teacht ar aon ghné i do DOM, agus ansin a rá, hug. Nuair a ualaí a eascraíonn seo nó cad a tharlaíonn duine éigin é, nó nuair a bhíonn siad luch thar sé, rud éigin a dhéanamh leis. Agus cad a bhfuil tú go bhfuil, tá tú feidhmeanna a láimhseáil ar do shon. Tá na feidhmeanna láimhseálaithe ócáid. Cén they're - tá sé ach ar bhealach mhaisiúil de rá, tá an fheidhm seo a fhorghníomhú ach amháin nuair a tharlaíonn an ócáid ​​seo. Mar sin, Láimhseálann sé an imeacht a tharlaíonn. Seo é an chaoi go mbeadh tú a leagan amach láimhseálaí ócáid. Tá mé roinnt cnaipe, agus nuair a chliceálann tú é, bpléascann sé. Mar sin ní féidir cliceáil ar an gcnaipe. Is é seo an bealach amháin de druidim é, ceart? Tá tú tag cnaipe, agus ar cliceáil tá tú teaghrán a deir, OH, dála an scéil, is féidir liom an rud exploding dom. Seachas sin, tá sé díreach cosúil le cnaipe rialta a rinne tú díreach. Is féidir leat a dhéanamh freisin seo ar bhealach eile, ag grabbing an ghné DOM, ach beidh orainn a shábháil go tar éis labhairt linn faoi jQuery. JQuery: Tá sé ina leabharlann atá tras-bhrabhsálaí. Is féidir leat é a úsáid in aon rud go leor i bhfad. Agus tugann sé ach tú a lán de uirlisí a bheith ag obair leis. Mar gheall ar JavaScript, cé go cumhachtach, nach bhfuil sé go léir na huirlisí is gá duit amach as an bhosca chun dul i ngleic i ndáiríre app gréasáin a d'fhéadfadh gur mhaith leat a dhéanamh. Mar sin, a shimpliú sé a lán de rudaí, tugann tú a lán de na feidhmeanna amach as an mbosca go mbeadh tú a bheith de ghnáth a scríobh tú féin, arís agus arís agus arís eile. Agus a dhéanann ach rudaí an-simplí. Tá tú freisin roghnóirí, a lig tú a thógáil amach na heilimintí sin go léir ó do DOM i bhfad níos simplí, in ionad a bheith a bhaint as na glaonna fheidhm an-fhada. Níos mó ar na roghnóirí. Tá tú, suas ann tú, a ligean ar rá Ba mhaith liom a fháil ar gné leis an aitheantas "carraig." Bhuel, i jQuery, tá sé $ cóir agus ansin ar shraith go bhfuil punt, agus ansin "carraig." Tá sé an-simplí agus a lán níos tapúla ná an JavaScript mbealach traidisiúnta na dul i ngleic leis an bhfadhb seo. Agus tá tú rudaí den chineál céanna do ranganna agus cineálacha eilimint. Tá jQuery - ceann de na gnéithe is iontaí é is féidir leat saghas compress síos do cheisteanna ar do DOM-, an-tapa. Anois, tá muid ar ais go dtí láimhseáil ócáid, agus tá sé seo conas a bheadh ​​leat a láimhseáil imeacht amháin i jQuery. Mar sin, cad táimid ag dul anseo tá muid ag rá, ceart go léir. Tá mé tag script, ceart? Mar sin, tá mé seo inlíne JavaScript. Cad tá muid ag dul a dhéanamh go bhfuil muid ag dul a rá, ceart go léir. Nuair a bhíonn an doiciméad réidh, rud a chiallaíonn an doiciméad curtha luchtaithe, táimid ag dul chun dul i leis an bhfeidhm sin, agus táimid ag dul a rá, ceart go léir, fheidhm seo ag déanamh i ndáiríre rud éigin eile. Tá sé ag rá go bunúsach, ceart go léir, a fháil dom ar an eilimint leis an ID "myid." Agus ansin a thabhairt seo láimhseálaí feidhm a fhorghníomhú nuair a chliceálann tú é. Go bunúsach cad a dhéanann seo, a deir sé, ceart go léir. Tá an leathanach luchtaithe, mar sin tá mé ag dul go dtí i, a aimsiú ngné seo, a thabhairt dó an ócáid ​​seo láimhseálaí, agus leagann sé go bunúsach suas do leathanach ar do shon. Agus é seo conas ba mhaith leat smaoineamh ar láimhseáil ócáid. Ba mhaith leat ach chun smaoineamh faoi, ceart go léir, nuair a tharlaíonn rud éigin, cad is féidir liom ag iarraidh a tharlóidh? Ní mian leat chun smaoineamh faoi, maith go leor, is gá dom a dhéanamh cinnte an rud cainteanna ar an rud, an rud blah blah blah, mar ba mhaith leat ach rud a labhairt i dtéarmaí na n-imeachtaí. Nuair a tharlaíonn sé seo, a tharlaíonn sé seo. Nuair a tharlaíonn sé seo, tharlaíonn sin. Agus má tús rudaí rudaí eile, tá go mór. Ach nach bhfuil tú ag iarraidh chun iarracht a dhéanamh cód casta áit a bhfuil tú a chuireann faoi deara rudaí il ag an am céanna, toisc go bhfuil tú ag dul ach a thabhairt duit féin tinneas cinn orm. Gach ceart. Anois, is féidir linn a fháil ar ár leathanach chun imeachtaí a láimhseáil, ach ligean le rá cad a tharlaíonn nuair úsáideoir ar mo cnaipe. Cad a tharlaíonn má ba mhaith liom a sheoladh leis an iarraidh sin ar ais go dtí an freastalaí, ach níl mé ag iarraidh a athlódáil an leathanach, mar gheall ar a bhfuil a athlódáil leathanach nua Faigheann gach uair amháin de chineál ar tedious, agus cén fáth a bhfuil gá dom a tharraingt síos an header arís, agus an buntásc arís, agus na gnéithe uile an leathanach arís ach a athnuachan an Beannacht nó an t-am? Mar sin, sin an fáth a bhfuil muid rud éigin cosúil le AJAX. Cad is féidir linn a dhéanamh anseo le AJAX is féidir linn a rá, ceart go léir, Ba mhaith liom a roinnt sonraí a sheoladh chuig an bhfreastalaí, agus ba mhaith liom a fháil ar fhreagairt ar ais ionas gur féidir liom a thabhairt cothrom le dáta ar mo leathanach, nó b'fhéidir go bhfuil ach cuid ríomh algorithmic nach léiríonn gá aon rud a an t-úsáideoir. Cad is gá duit é seo a dhéanamh? Bhuel, is gá duit URL is gá duit a labhairt. Ní féidir le do fhreastalaí ach éisteacht magically ó áit ar bith i. Ní mór duit a bhfuil áit ar leith go bhfuil tú ag a sheoladh na sonraí seo a. Agus caithfidh tú freisin cuid de na sonraí a sheoladh, nó b'fhéidir go bhfuil sé ceist dataless. Ba mhaith leat ach a ping ar ais chuig an freastalaí agus a rá, hug, tá mé beo, nó rud éigin mar sin. Agus ansin ba mhaith leat feidhm a láimhsíonn go bunúsach le rath. Ligean le rá leat a fháil ar ais ar roinnt eolais ó do fhreastalaí, agus is mian leat a athrú ar an úsáideora teideal ar a leathanach. Mar sin, ba mhaith leat an t-eolas a fháil ar ais, agus go mbeadh tú a bhrú go dtí an scáileán. Cad a tharlaíonn é, nuair a bhíonn an leathanach réidh, leat a chruthú ar an bhfeidhm cliceáil ar an cnaipe ar a dtugtar greeter. Cad é seo a dhéanann ansin, nuair atá an cnaipe bhrú, a labhair tú le greetings.php, iarrann tú POST, agus a rá leat, hug, a fháil dom rud éigin ó do leathanach. Ní gá gur chun cur síos sin, ach greetings.php, ligean le rá ach tugann, ar ais "Dia duit ar domhan." Mar sin, a fháil againn ar ais seo "Dia duit ar domhan," agus ar an rath seo, ag glacadh leis théann aon rud mícheart, ansin dúinn dul díreach go dtí an sprioc ar siúl gur sonraithe againn agus muid ag cloí go díreach an freagra i ann. Agus is é seo ar bhealach an-simplí a chur ar bun cheist AJAX. An-tapa, Rob saghas atá luaite seo cheana féin, Is féidir rudaí a théann mícheart, is féidir rudaí a tharlóidh olc, mar sin ba mhaith leat féin ar an eolas leis na cóid freagartha HTTP. Cad iad na ach, cosúil le, 200, rud a chuaigh ceart go leor. Rud eile, a tharla rudaí dona. Tá sé go ginearálta ar an rud is mian leat a mheabhrú. Ach tá sé deas a fhios ag gach ceann de na. Agus ar deireadh, nuair atá againn imithe tríd gach ceann de sin, ní mór dúinn a labhairt go han-tapa faoi dearadh, agus ansin is féidir linn a ligean fhágann tú go léir. Dearadh. Rudaí is mian leat a mheabhrú. Iarr tú féin na ceisteanna seo: A bheas ag baint úsáide as an? Cad iad a úsáid le haghaidh? Cad é mo úsáideoirí cúram faoi? Cad é nach bhfuil cúram siad faoi? Tá tú ní hamháin ag iarraidh a dhéanamh app agus lig sé ag fás ach agus a bheith an fathach, rud uile-íditheach nach féidir leat a chríochnú fiú. Ba mhaith leat go bhfuil spriocanna agus pleananna agus rudaí scoite is mian leat chun aghaidh a thabhairt. Déan effortless é. Seo go léir a deir, go bunúsach, go mbeadh sé éasca don úsáideoir a úsáid; nach mbeadh sé ina Blob ollmhór den téacs mar seo sleamhnán é, i ndáiríre. Ba mhaith leat ach é a bheith rud éigin áit a bhfuil sé an-éasca do dhuine chun dul i agus a dhéanamh cad ba mhaith leo a dhéanamh. Ní mian leat iad a bheith acu chun nascleanúint 5 leathanach a fháil ar do fheidhm príomh do shuíomh. Má bhí Google 5 leathanaigh sula bhféadfaí tú rud éigin an cuardach fiú, Bheadh ​​aon duine a úsáid. Agus ar deireadh, fhréamhshamhail páipéar, grúpa fócais. An bhfuil dea-dhearadh agus cleachtais tástála. Díreach mar a cheapann tú a oibríonn sé ar do shon, Ní chiallaíonn cheapann duine ar bith eile a oibríonn sé. Ach yeah, tá go bhfuil sé. [CS50.TV]