హన్నా BLUMBERG: హాయ్ అందరూ. మేము ప్రారంభించడానికి చూడాలని కొద్ది నిమిషాలు జంట ప్రారంభ మేము ఒక మొత్తం చాలా నుండీ పదార్థం ద్వారా పొందడానికి. నేను హన్నా ఉన్నాను. నేను ఒక TF ఉన్నాను. మరియా చేరిన వుంటుంది అన్నారు మాకు కేవలం ఒక జంట నిమిషాల్లో. ఆమె కుడి ముందు విభాగం బోధిస్తుంది. నేను విభాగం కుడి నేర్పిన తరువాత, కాబట్టి మేము చేయబోతున్నామని గంటన్నర దానిని ఉంచడానికి. మీరు ఇక్కడ చూస్తారు కనుక, మేము చాలా కలిగి కొన్ని విషయాలు మరియు మేము ద్వారా పొందాలి కాబట్టి మేము ఒక చిన్న ఫాస్ట్ బిట్ వెళ్ళడం చేస్తాము. కానీ ఏ సమయంలో ఉంటే మేము ఏదో చెప్పటానికి చాలా త్వరగా లేదా మీరు అర్థం లేదు, ప్రశ్నలతో అంతరాయం సంకోచించకండి. మేము ఈ ఒక తయారు చెయ్యగలరు అనుకుంటున్నారా మీరు అన్ని ఉపయోగపడుతుంది సెషన్ సమీక్షించి సాధ్యమైనంతవరకు. ఆసమ్. కాబట్టి యొక్క కుడి జంప్ వీలు కొన్ని విషయాలు మేము నిజానికి చాలా క్లుప్తంగా కవర్ క్విజ్ 0 సమీక్ష సమావేశాలు లో క్విజ్ 0. కాబట్టి లింక్ జాబితాలు ప్రారంభమయ్యాయి. కాబట్టి కేవలం మీరు కొన్ని కలిగి నిర్ధారించుకోండి లింక్ జాబితాలు గురించి ప్రాథమిక జ్ఞానం మరియు ఇలా చేయడం సౌకర్యవంతంగా ఉంటాయి ప్రాథమిక కార్యకలాపాలను కొన్ని. కాబట్టి కేవలం, సమీక్షించి లింక్ కు జాబితాలు శ్రేణుల కంటే మంచివి వారు డైనమిక్ పెరుగుతాయి ఎందుకంటే. కాబట్టి మేము ఆ భారీ ప్రయోజనం. మేము వాటిని ఉపయోగిస్తారు చూసిన హాష్ పట్టికలు మేము ఖచ్చితంగా ఎన్ని తెలియదు విషయాలు మేము చూడాలని మా డేటా నిర్మాణం ఇన్సర్ట్. దురదృష్టవశాత్తు, మేము ముక్కలు కలిగి అన్ని మెమరీ పైగా లింక్ జాబితా కాబట్టి మేము తప్పనిసరిగా వుండదు స్థిరంగా సమయం యాక్సెస్ చేస్తామని లింక్ జాబితాలో ఏ అంశానికి. ఒక కనుగొనేందుకు చేయడానికి ప్రత్యేక మూలకం, మేము అన్ని iterate ఉంటుంది ప్రారంభం నుండి మార్గం. సో గుర్తుంచుకోండి చాలా ఆ ప్రాథమిక కార్యకలాపాలను 1 ఒమేగా ఉన్నాయి. కాబట్టి చొప్పించు కేవలం 1 తీసుకోవాలని అన్నారు. తొలగించు తీసుకోవాలని n మనం నుంచి వెళ్తున్నారు జాబితా నుండి కనుగొంటారు వెళ్ళాలి. మరియు శోధన n, ఘోరంగా, పడుతుంది. మేము వంటి ఏదో ఒకటి కాదు ఒక లింక్ జాబితాలో బైనరీ శోధన నుండి మేము కాదు కేవలం యాదృచ్ఛికంగా మధ్య జంప్. కూల్. ఆసమ్. స్టాక్స్ యొక్క ఒక చిన్న బిట్. ఈ, మళ్ళీ, క్విజ్ 0 లో ముందుకు వచ్చారు, కాబట్టి మీరు దానితో సూపర్ సౌకర్యవంతమైన ఉండాలి. కానీ స్టాక్లకు, మేము మీరు అడగండి ట్రేలు యొక్క స్టాక్ గుర్తుంచుకోవడానికి. మరియు అది మొదటి చేస్తాడు, చివరిగా అవుట్. కాబట్టి మేము విషయాలు స్టేక్ అప్ స్టాక్ లో, ఆపై మేము ఏదో తీసుకోవాలని ప్రయత్నిస్తున్న ఉంటే మేము off-- ఆఫ్ పాపింగ్ కాల్ stack-- మేము టాప్ జరుగుట. మరియు మేము ఏదో చాలు అనుకుంటే స్టాక్ లో, మేము అది నెట్టడం కాల్. కనుక ఇది ఎల్లప్పుడూ ఎదుగుతున్న చేస్తాడు ట్రేలు యొక్క స్టాక్ వంటిది దిగువ నుండి. ఆసమ్. మేము చూసిన స్టాక్స్ అమలు చేసిన రెండు అనుసంధాన జాబితాలు మరియు శ్రేణితో. మీరు అమలు చేస్తుంటే శ్రేణితో, మీకు కావలసిన ట్రాక్ నిర్ధారించుకోండి పరిమాణం మరియు సామర్థ్యం రెండు. కాబట్టి పరిమాణం ప్రస్తుత అవతరిస్తుంది మీ స్టాక్ విషయాలు సంఖ్య, సామర్థ్యం అయితే మొత్తం సంఖ్య విషయాల మీరు మీ స్టాక్ నిల్వ చేయవచ్చు. కూల్. చాలా అదేవిధంగా, మేము క్యూలు ఉన్నాయి. ఈ సందర్భంలో, బదులుగా గురించి ఆలోచిస్తూ ట్రేలు యొక్క స్టాక్, ఒక లైన్ భావిస్తారు. ఈ మొదటి, మొదటి తేలాయి అన్నారు. మీరు సరిచేసుకోవడం చేస్తే స్టోర్ వద్ద ఏదో మేము ఆశిస్తున్నాము వ్యక్తి మొదటి ఆ లైన్ మొదటి సహాయపడింది అన్నారు. బదులుగా పుష్ మాట్లాడుతూ మరియు మేము స్టాక్ కోసం ఏమి వంటి పాప్ మేము కేవలం ఎన్క్యూ మరియు dequeue అంటున్నారు. మరియు తిరిగి, మీరు ఉంటే వ్యూహం తో ఈ అమలు, మేము ట్రాక్ అవసరం మాత్రమే పరిమాణం సామర్థ్యం, ​​కానీ కూడా తల, మరియు ఇది మా క్యూ ముందు అవతరిస్తుంది. కూల్. ఏ ఏ ప్రశ్నలు? ఆసమ్. కుడి పాటు మూవింగ్. సరే, హాష్ పట్టికలు. ఇది మొదలవుతుంది పేరు ఇక్కడ నిజంగా ఆసక్తికరమైన పొందండి. సో ఒక హాష్ పట్టిక ఒకటి అమలు ఒక అనుబంధ శ్రేణి యొక్క. కాబట్టి ప్రాథమికంగా ఏమి మేము అన్ని ఈ ఇన్పుట్ కలిగి ఉంది, మరియు మేము ఒక హాష్ ఇచ్చి చెప్పారు ఇది ఫంక్షన్, సరే, ఈ పేరు ఉంది హాష్ పట్టిక చెందినది. సరళమైన హాష్ ఫంక్షన్ను కాబట్టి మేము చెప్పడం చూసిన ఆ, సరే, మేము ఉంచాలి కావలసిన అనుకుందాం మా హాష్ పట్టిక లో తీగలను. మరియు ఒక నిజంగా సాధారణ ఆలోచన సరే, చెప్పడానికి కావచ్చు, యొక్క కేవలం క్రమం వీలు పదం యొక్క మొదటి అక్షరం. మీరు ఇక్కడ చూడవచ్చు, మేము అరటి పడుతుంది మేము ఒక హాష్ ఫంక్షన్ ద్వారా అది చాలు మరియు ఆ, హే, చెప్పారు ఇండెక్స్ 1 వెళ్ళాలి. కాబట్టి మేము తప్పనిసరిగా ఒక హాష్ ఆలోచించవచ్చు వివిధ బకెట్లు ఒక సమూహం గా పట్టిక. మరియు ఆ బకెట్లు ప్రతి అన్నారు ఒక లింక్ జాబితా యొక్క తల పట్టుకుని. మరియు ఆ లింక్ జాబితాలో పేరు మేము ఉంది నిజానికి డేటా వివిధ ముక్కలు చాలు. కాబట్టి డైవింగ్ కొద్దిగా ఎక్కువ ఒక హాష్ ఫంక్షన్, ఇక్కడ ఉదాహరణకు నేను మేము కేవలం చెప్పే పేరు వర్ణింప సరే, మొదటి అక్షరం తీసుకుంటే మేము ఉన్నాము మరియు పదం యొక్క బకెట్లు ఇది క్రమం అన్నారు. కాబట్టి బహుశా 26 బకెట్లు అక్కడ ఉంటాం, అక్షరం యొక్క ప్రతి అక్షరానికి ఒక. ఎందుకు ఈ ఒక గొప్ప హాష్ ఫంక్షన్ కాదు? ఏం ఈ కాని ఆదర్శ చేస్తుంది? అవును. ప్రేక్షకులు: మీరు చూడాలని ప్రమాదాలలో కలిగి. హన్నా BLUMBERG: అవును, సరిగ్గా. మీరు ప్రమాదాలలో చూడాలని. కాబట్టి ఆ ఒక విషయం. ఎలా మేము మరియు మేము మాట్లాడదాము కేవలం రెండవ పోటీలతో పరిష్కరించడానికి. ఈ తో మరో సమస్య ప్రత్యేక హాష్ ఫంక్షన్ మా వేర్వేరు అని బకెట్లు ఉంటాయని అందంగా సమూలంగా భిన్నమైన పరిమాణాలలో. మేము ఒక మొత్తం చాలా ఉంది తెలుసు X కంటే A ప్రారంభం మరింత పదాలు, అందువలన మేము చాలా చూడాలని మా హాష్ పట్టిక లో అసమతుల్య బకెట్లు. కూల్. కాబట్టి యేః, యొక్క తిరిగి పొందడానికి వీలు ప్రమాదాలలో పాయింట్. ఢీకొన్న ఉంది ఉంటే మేము ఏమి చేయాలి? మేము ఒక జంట వివిధ ఎంపికలు ఉన్నాయి. ఒక కాబట్టి, అందువలన మేము ప్రయత్నిస్తున్న అనుకుందాం మా హాష్ పట్టిక లోకి బెర్రీ ఉంచాలి. మరియు మేము ఓహ్, మేము కావలసిన చూడండి సూచిక 1 ఉంచారు, కానీ అరటి ఇప్పటికే అక్కడ నివసిస్తున్నారు. మనం చెయ్యవలసింది వెళ్తున్నారు? మేము రెండు ప్రధాన ఎంపికలు ఉన్నాయి. ప్రధమ సరే, మేము చెప్పగలను, సూచిక 1 తావులేదు వార్తలు, కానీ యొక్క కేవలం ద్వారా చూడటం ఉంచేందుకు వీలు మేము మరొక ఓపెన్ స్పాట్ దొరికేవరకు. కాబట్టి మేము సరే, సే చేస్తాము స్పాట్ 3 లో ఉంచండి లెట్. అంటే, ఒక ఎంపిక మాత్రమే. ఆ ఛేదించి సరళ అని. మరియు రెండవ ఎంపికను, బాగా, OK విధంగా ఉంది యొక్క కేవలం ఈ బకెట్లు ప్రతి తయారు చేద్దాము లింక్ జాబితాలు తలలు ఉంటుంది. మరియు అది మరింత ఉంది ఉంటే సరే ఒక బకెట్ లో ఒక విషయం కంటే. మేము కేవలం చూడాలని ముందు మీదకు కలపవచ్చు. కాబట్టి ఇక్కడ మీరు OK, చూడగలరు, మేము బెర్రీ అమర్చినప్పుడు, మేము కేవలం రకం, అరటి పట్టింది కొద్దిగా మీద దానిని ముందుకు మరియు అక్కడ ఒక బెర్రీ విసిరారు. మరియు ఆ కూడా పూర్తిగా మంచిది. ఈ ప్రత్యేక కూర్పికం అంటారు. మీరు రకమైన వంటి ఈ ఆలోచించవచ్చు అనుసంధాన జాబితాలు తలలు యొక్క వ్యూహం. హాష్ ఏ ప్రశ్నలు పట్టికలు, హాష్ విధులు? ఆసమ్. చెట్లు మరియు ప్రయత్నాలు. సో ఒక చెట్టు ఏ విధమైన ఉంది డేటా నిర్మాణం దీనిలో విధమైన ఉంది సోపానక్రమం లేదా కొన్ని రకాల మీ వివిధ వస్తువులు స్థానంలో ఉంది. మరియు ఈ సూపర్ అవుతుంది స్పష్టం మేము ఒక ఉదాహరణ చూడండి. మరియు మేము పాటు, ప్రయత్నాలు చూసింది హాష్ పట్టికలు, pset5-- లో ఇది మళ్ళీ, పూర్తిగా ఫెయిర్ గేమ్ ఈ మరొక డేటా వంటి quiz-- కోసం నిర్మాణాలు మేము వివిధ విషయాలు నిల్వ. నిఘంటువు విషయంలో, మేము పదాలు ఒక సమూహం నిల్వ. కనుక కొన్ని చెట్లు వద్ద ఒక లుక్ తీసుకుందాం. కాబట్టి ఈ ఒక చెట్టు యొక్క ఒక ఉదాహరణ. ఇది నిర్మాణం యొక్క ఒక రకమైన ఉంది తరతమ శ్రేణి నిర్మాణంలో ఆ మీరు ఆ చూడవచ్చు ఎగువన ఈ 1 నోడ్ , 2 మరియు 3 పైన ర్యాంక్ విధమైన ఇవి 4, 5 మరియు 6 మరియు 7 పైన, 8 మరియు 9 కంటే ఎక్కువగా ఉంటాయి. కాబట్టి అన్ని మేము ఒక అర్ధం చెట్టు, మీరు కాబట్టి కేవలం రకమైన మీ తల లో ఈ చిత్రం. ఇప్పుడు, మేము ఒక జంట కలిగి మరింత ప్రత్యేక చెట్లు. ఒకనాటి ఉదాహరణకు ఒక బైనరీ చెట్టు. మరియు ఒక బైనరీ చెట్టు, మళ్ళీ, కేవలం అవతరిస్తుంది యొక్క విధమైన ఒక డేటా నిర్మాణం సోపానక్రమం, కానీ నోడ్స్ యొక్క ప్రతి అత్యంత ఇద్దరు పిల్లలు వద్ద కలిగి చేయవచ్చు. పదం బైనరీ నుంచి వస్తుంది పేర్కొంది. కాబట్టి ఈ ఒక బైనరీ చెట్టు ఒక ఉదాహరణ. కాబట్టి ఆ చెట్ల ఒక చిన్న వర్గం వార్తలు. ఇప్పుడు మరింత నిర్దిష్ట పొందడానికి వీలు మరియు బైనరీ trees-- బైనరీ శోధన మాట్లాడటానికి చెట్లు, బదులుగా. కాబట్టి ఇక్కడ ఆలోచన లేదు మాత్రమే ఉంది ప్రతి నోడ్, అత్యంత ఇద్దరు పిల్లలు వద్ద కలిగి కానీ పిల్లల అన్ని ఎడమ చిన్న ఉంటాయని మరియు పిల్లల అన్ని కుడి పెద్ద ఉండాలి వెళ్తున్నారు. కాబట్టి కేవలం గమనించవచ్చు మా బైనరీ చెట్టు ఉంది సంఖ్యలు మధ్య ఎటువంటి సంబంధం. కానీ మా బైనరీ శోధన చెట్టు, మేము చూడండి, OK, ఇక్కడ 44 ఉంది. మరియు 44 యొక్క ఎడమ ప్రతి సంఖ్య కుడి చిన్న మరియు ప్రతిదీ పెద్దది. మరియు ప్రతి ఉంచుతున్నారు చెట్టు స్థాయి. ఇక్కడ, ఈ తక్కువైతే 22 మరియు ఈ 22 కంటే పెద్దది. మరియు ఆ బైనరీ శోధన చెట్టు. ఎందుకు మేము అది అని ఆలోచిస్తాడు ఒక బైనరీ శోధన చెట్టు? ఏం అల్గోరిథం అది మీరు గుర్తు లేదు? ప్రేక్షకులు: బైనరీ శోధన. హన్నా BLUMBERG: బైనరీ శోధన. మీరు ఒక కోసం చూస్తున్నారా ఉంటే ఎందుకంటే ఈ చెట్టు లో ప్రత్యేక సంఖ్య, ప్రతి పాయింట్ వద్ద, మీరు కేవలం కొట్టు గొప్ప ఇది చెట్టు, ఆఫ్ సగం. అందువలన, మాకు ఏదో ఇవ్వాలని జరగబోతోంది ఆ బైనరీ శోధన వంటి చాలా కనిపిస్తుంది. ఏవైనా ప్రశ్నలు? అన్ని కుడి, చల్లని. అన్ని కుడి, ప్రయత్నిస్తుంది. అందరి ఇష్టమైన. కాబట్టి ఈ ఉదాహరణ అని తరగతి లో మేము కొంత చూసిన. మరియు తిరిగి, ఈ కేవలం మరొక మేము డేటా నిల్వ చేసే మార్గం. నిఘంటువు విషయంలో, మళ్ళీ, ఈ కేవలం తీగలను అవతరిస్తుంది. కాబట్టి యొక్క నిజానికి ఏమిటి ఈ చూద్దాము ఒక కొద్దిగా తక్కువ స్థాయిలో కనిపిస్తుంది. కాబట్టి యొక్క పరిశీలించి తెలియజేయండి ఒక trie ఒక నోడ్ వద్ద. మరియు మేము సరే, అక్కడ జరగబోతోంది చూడండి బూలియన్ మరియు ఒక నోడ్ ఉండాలి, ఒక నోడ్ ఒక పాయింటర్. మరియు మేము ఆ చూడండి బూలియన్ is_word అంటారు. కాబట్టి ముఖ్యంగా, ఆ అనుగుణంగా అన్నారు ఈ చిన్న త్రిభుజాలు ఇది మీరు ఇక్కడ సంపాదించిన చేసిన ఉంటే, చెప్పింది మీరు ఒక పూర్తి పదం అనిపిస్తే. మేము తెలిసిన "ట్యూరింగ్" పైగా ఇక్కడ పూర్తి పదం, అయితే కేవలం T-U-R ఒక పదం కాదు మేము ఆ చిన్న డెల్టా చూడండి లేదు ఎందుకంటే. మరియు ఆ చిన్న డెల్టా, మళ్ళీ, ఈ is_word అనుగుణంగా, ఈ బూలియన్ is_word. మరియు తర్వాత మేము పిల్లలు యొక్క వ్యూహం కలిగి. మీరు ప్రతి స్థాయిలో ఒక నిర్దిష్ట నోడ్ కలిగి, మరియు ఒక ఆ నోడ్ పాయింట్లు మొత్తం వర్ణమాల యొక్క శ్రేణి. కాబట్టి మీరు మళ్లీ, చూడగలరు, ఈ picture-- నేను ఉన్నాను తిరిగి జంపింగ్ ఉంచడానికి వెళుతున్న మరియు forth-- ఎగువన ఆ శ్రేణి వివిధ కొంత ఉంది ఇది వీచే నోడ్స్. మీరు అనుకుంటే ఇది 26 లేదా 27 ఒక అదనపు పాత్ర చేర్చడానికి. మరియు ఈ మాకు ఒక ఇస్తుంది మా డేటా నిల్వ మార్గం చూసారు చేసే విధంగా మీరు సూపర్ ఫాస్ట్ అప్ చూడవచ్చు. ఒక trie కోసం లుక్అప్ సమయం అంటే ఏమిటి? ప్రేక్షకులు: [వినబడని]. హన్నా BLUMBERG: అవును. సిద్ధాంతంలో, అది స్థిరంగా సమయం. ఇది మాత్రమే పరిమాణం చేస్తాడు మీరు చూసేందుకు కావలసిన పదం. మేము ఒక పరిమితి లేని అనిర్దిష్ట చేర్చండి ఒకవేళ మా trie ఎక్కువ పదాలు, అది మాకు తీసుకోవాలని మాత్రం కాదు ఏ ఇక గుర్తించడానికి ఇచ్చిన మాట trie లో ఉంటే. తద్వారా నిజంగా మంచిది. ప్రేక్షకులు: మీరు చేసిన ఆ శ్రేణి ప్రారంభించడం? మీరు ఒక పాయింట్ లేదా రెండు తప్పిన. మీరు కేవలం గురించి మాట్లాడవచ్చు రెండవ కోసం ఆ? హన్నా BLUMBERG: ఖచ్చితంగా, ఖచ్చితంగా. మంచి ప్రశ్న. ప్రశ్న మేము ఉంది ఆ వ్యూహం కలిగి వంటి నోడ్ స్టార్ పొందబోతున్నారు కుడి, కేవలం నోడ్ వ్యతిరేకంగా? కూల్. కాబట్టి ఇక్కడ మేము ఏమి చెబుతున్నారో మా శ్రేణి కేవలం ఉంది ఇతర శ్రేణుల గమనికలు అవతరిస్తుంది. కనుక ఇది రకమైన ఇది తప్పనిసరిగా వార్తలు ఈ విధంగా ఒక లింక్ జాబితా అనుకుని అక్కడ ఈ పిల్లలు ప్రతి కేవలం తదుపరి నోడ్ సూచించడానికి. మరియు మార్గం మేము నిజానికి సరే, హే, గుర్తించడానికి, మేము ఒక మొత్తం ద్వారా iterated చేసిన పదం, నిఘంటువులో ఈ పదం, మేము ఈ is_word తనిఖీ. గ్రేట్ ప్రశ్న. అవును. ప్రేక్షకులు: OK. కాబట్టి trie కోసం రన్టైమ్ ఏమి ఉంది? హన్నా BLUMBERG: ఖచ్చితంగా. ఒక trie కోసం రన్టైమ్ కాబట్టి లుక్అప్ స్థిరంగా సమయం అని అన్నారు. కనుక ఇది కేవలం చేస్తాడు పదం లో అక్షరాలు సంఖ్య. ఇది ఆధారపడి కాదు నిఘంటువు యొక్క పరిమాణం లేదా డేటా నిర్మాణం యొక్క పరిమాణం. కాబట్టి ఇక్కడ కొంచెం సరళమైన ఉదాహరణకు. ఈ సందర్భంలో, మీరు చూడగలరు పదం బ్యాట్, నిఘంటువులో ఉంది మరియు మీరు జూమ్ కలిగి, కానీ మీరు జూ లాగ లేదు. ఎలా మేము జూ తయారవుతుంది? మేము జూ జోడించండి ఎలా మా నిఘంటువు మా trie ఎలా? అవును. ప్రేక్షకులు: is_word చేయండి నిజమైన [వినబడని] కోసం. హన్నా BLUMBERG: బాగుంది. కాబట్టి మేము Z-O-O చెప్పాను, మరియు అప్పుడు మేము భావిస్తున్న అలాగే ఆ బాక్స్ ఆఫ్ చెక్ అనుకుంటున్నారా. గ్రేట్. చాలా క్లుప్తంగా సరిపోల్చండి లెట్ హాష్ పట్టికలు వర్సెస్ ప్రయత్నిస్తుంది. ప్రయత్నాలు నిజంగా గొప్ప ఉంటాయి ఎందుకంటే, మేము ఇలా, వారు స్థిరమైన సమయం లుక్అప్ అందిస్తాయి. కానీ భారీ ప్రతికూలత వారు భారీ ఉన్నాము ఉంది. మీరు అర్ధంలో పొందవచ్చు, కూడా అది చూడటం ద్వారా, అది తీసుకోవాలని జరగబోతోంది ఆ మెమరీ భారీ మొత్తం. కాబట్టి వారు చాలా చూడాలని హాష్ పట్టికలు కంటే పెద్ద, కానీ వారు ఇవ్వడం చూడాలని మాకు చాలా వేగంగా లుక్అప్ సార్లు. కాబట్టి ఆ రకంగా మీ బేరీజుగా, మీరు పట్టించుకోనట్లు ఏమి, ఇది వేగం లేదా మెమరీ అయినా. ఏ మీద ఏదైనా ప్రశ్నలు, సి డేటా నిర్మాణాలు అన్ని. అందమైన. అలాగే. మేము ఒక చిన్న వెళ్ళటానికి చూడాలని మరియా తో వెబ్ అభివృద్ధి బిట్. MARIA ZLATKOVA: లవ్లీ. అలాగే. హన్నా BLUMBERG: మీరు నా ల్యాప్టాప్ ఉపయోగించవచ్చు. MARIA ZLATKOVA: నైస్. చల్లని, సరే. మేము వెబ్ ఇప్పుడు వెళ్లినట్లయితే అభివృద్ధి, మేము కొద్దిగా మాట్లాడారు మారుతున్న అనుమతులు గురించి ఫైళ్ళు మరియు డైరెక్టరీల యొక్క తద్వారా వారు అందుబాటులో ఉంటుంది ఇతర వినియోగదారులకు, ప్రపంచానికి, తద్వారా మనం ఎలా చూడగలరు ప్రధానంగా మేము వాటిని చెప్పేటప్పుడు చేయవచ్చు మేము వెబ్సైట్లు వంటి వాటిని అభివృద్ధి చేసినప్పుడు మేము ఎక్కువగా చేయడం చేసిన. కాబట్టి మేము chmod ఆదేశం చూసింది, ఇది ప్రాథమికంగా, మార్పు రీతి. ఒక Linux కమాండ్ మరియు ప్రాప్తి అనుమతులు మార్పులు ఫైల్ సిస్టమ్ వస్తువులు. మరియు ఒక ఫైల్ వ్యవస్థ వస్తువు కేవలం ఒక డైరెక్టరీ ఫైలు, ఏదైనా మీరు యొక్క అనుమతులు మార్చండి. కాబట్టి ఫైల్ అనుమతులు చూడటానికి, మేము కమాండ్ ls, జాబితా, -l టైప్ చేయండి. మరియు మేము ఆ టైప్ చేసినప్పుడు, మేము సాధారణంగా కొన్ని అనుమతులు చూడండి ఈ వంటి విధమైన చూడండి ఒక డైరెక్టరీ పేరుకు ముందు. సో d డైరెక్టరీ సూచిస్తుంది. మరియు తర్వాత మేము మూడు కలిగి త్రిమూర్తులను ప్రధానంగా ఆ గాని అనుమతులు చూడండి ఒక వినియోగదారు ఒక సమూహం, లేదా ప్రపంచ. అనుమతులు రకాల ఆ మేము ప్రజలు ఈ మూడు సమూహాలు కలిగి కోసం రీడ్ w కోసం గాని r ఉన్నాయి వ్రాయండి, మరియు అమలు కోసం x. మరియు మేము ఆ కలిగి సమూహం మరియు ప్రపంచంలో అలాగే. గమ్మత్తైన విషయం కొన్నిసార్లు మేము chmod ఆదేశం టైప్ చేసినప్పుడు, మేము కొన్ని సంఖ్య టైప్ చేస్తుంది ఆ మూడు బిట్స్ ఉన్నాయి. కాబట్టి మేము వంటి చేయగల 777 మరియు ప్రాథమికంగా విలువ సూచిస్తారు ఈ త్రిమూర్తులను ప్రతి r 4 కాలాన్ని ఎందుకంటే, w చేస్తాను 2 చూడండి, మరియు x 1 కాలాన్ని, కాబట్టి, సంఖ్యలు ప్రతి ఉన్నప్పుడు అప్ జోడించారు సంచిత సంఖ్య డౌన్ పడ్డారు 0 మరియు 7 మధ్య ఒక సంచిత విలువ. కాబట్టి మేము కూడా 0 కలిగి కాలేదు అస్సలు అనుమతుల కోసం. మరియు ఆ ప్రధానంగా మాకు ఇచ్చి వినియోగదారు అనుమతులు, సమూహం లేదా ప్రపంచ. ఇప్పటివరకు ఈ ఏ ప్రశ్నలు? ప్రేక్షకులు: మీరు చదవండి చెప్పారు 4? MARIA ZLATKOVA: అవును. ప్రేక్షకులు: [వినబడని]. హన్నా BLUMBERG: అయ్యో. ప్రేక్షకులు: ఆపై అన్ని ఆ జోడించడం ద్వారా ఇతరులు మీ సంఖ్య సూచిస్తుంది. MARIA ZLATKOVA: అవును. అవును. ఈ గొప్ప ప్రశ్నలు. లవ్లీ. తరువాత, మేము HTML మరియు ఒక లోకి సిద్దమైంది వెబ్ అభివృద్ధి గురించి బిట్ మరింత. కాబట్టి HTML అర్థం హైపర్టెక్స్ట్ మార్కప్ లాంగ్వేజ్. మరియు ఆ మార్కప్ ఉంది ప్రామాణిక అని భాష ఇది వెబ్ పేజీలను సృష్టించడానికి ఉపయోగించబడిన. ఇది ఒక మార్కప్ భాష అని నిజానికి సంకలనం కాదు ఎందుకంటే. ఇది ఎలా కొన్ని కోడ్ తప్పక తెలపలేదు అమలు లేదా ఆ వంటి ఏదైనా కావచ్చు. ఇది కేవలం పూరించే మరియు ఎలా ఒక వెబ్ వివరిస్తుంది పేజీ ఏర్పాటు చేయాలి దాని యొక్క మూలకాలను ప్రతి వారు యూజర్ కనిపించాలి ఎలా. HTML టాగ్లు కొన్ని మేము పైగా వెళ్ళింది క్రింది విధంగా ఉంది. మా HTML పత్రాలన్నీ DOCTYPE html ప్రారంభమైంది. అప్పుడు మేము ఎల్లప్పుడూ HTML ట్యాగ్. మేము ఒక తల మరియు ఒక శరీరం కలిగి. మరియు అది HTML కలిగి ముఖ్యం సమూహ నిర్మాణం యొక్క ఈ విధమైన ఇది చాలా స్పష్టంగా ఉంది ఎందుకంటే. మరియు అది చాలా స్పష్టంగా ఉన్నప్పుడు మేము నిజానికి సంవృత ట్యాగ్లను తెరిచి అవసరం. మరియు మేము ఎల్లప్పుడూ దగ్గరగా అవసరం మేము తెరిచిన టాగ్లు. మరియు ఇక్కడ మేము కొన్ని రకాలు ఉన్నాయి మేము కలిగి కావలసిన ముందుకు విషయాలు. కాబట్టి మేము, ఉదాహరణకు, CS50 యొక్క శీర్షిక. మరియు తర్వాత మేము నిజానికి ఒక శైలి షీట్ లింక్ చేయవచ్చు మేము మా వెబ్సైట్ శైలి ఎలా నిర్వచిస్తుంది. ఆ CSS ఉంది. మేము అది పైగా వెళ్ళి చూడాలని అలాగే స్లయిడ్లను తదుపరి జంట. శరీరం లోపల, మేము సెట్ కొన్ని తరగతులు మరియు ID లు. మరియు ఒక రిమైండర్ గా, మళ్ళీ, లు ప్రత్యేకంగా మరియు వర్గాలు బహుళ అంశాలను కేటాయిస్తారు. మరియు ఆ అర్థం మేము తరగతులు మరియు ID లు ఉపయోగించవచ్చు కాబట్టి ఇతర structures-- లోపల కోసం ఉదాహరణకు, CSS ఫైళ్లు లేదా శైలి లోపల నిర్దిష్ట అంశాలను సూచించడానికి sheets-- మరియు ప్రధానంగా మేము శైలి కావలసిన సే లేదా కొన్ని మూలకం డిజైన్ కొన్ని నిర్దిష్ట మార్గంలో. మరియు మేము వాటిని చూడండి వారి ID లు మరియు తరగతులు. మరియు మేము కూడా సూచించవచ్చు అలాగే టాగ్లు ద్వారా వివిధ విషయాలు, కానీ లు మరియు తరగతులు కేవలం మాకు కొన్ని ఇవ్వాలని పాండిత్యము మరియు ప్రత్యేకంగా మనం చూడండి మీరు అనుకుంటే. కాబట్టి కేవలం ఒక ఉదాహరణ. మేము లోపల, మళ్ళీ చెయ్యవచ్చు ఒక CSS ఫైల్ పేరు మేము కొన్ని నిర్వచించే అనుకుంటుంది శైలి రంగులు, ఫాంట్లు, మరియు stuff మేము ఆ వంటి ఒక శరీరం కోసం శైలి ఆధారపడి ఉంటుంది. కాబట్టి అది చెప్పబడతాయి మొత్తం శరీరం ట్యాగ్. కానీ మేము కూడా నిర్వచించలేదు ఒక టైటిల్ కోసం ఒక శైలి. మరియు తిరిగి, హాష్ ట్యాగ్ సూచిస్తుంది మా ID మరియు డాట్ మా తరగతి సూచిస్తుంది. ఆపై .సమాచారం కోసం, మేము కూడా కొన్ని గుణాలను చేయవచ్చు. మేము తిరిగి వెళ్ళేటప్పుడు మళ్ళీ, మేము కలిగి మా తరగతి సమాచారం మరియు మా ID టైటిల్ అని. మరియు మేము చూడండి చూడగలరు వారికి టైటిల్ మరియు .సమాచారం ద్వారా. ప్రేక్షకులు: మీరు చెబుతా హాష్ ట్యాగ్ [? నాకు దత్తత? ?] MARIA ZLATKOVA: క్షమించాలి? ప్రేక్షకులు: మీరు చెబుతా హాష్ ట్యాగ్ [? నాకు దత్తత? ?] MARIA ZLATKOVA: హాష్ ట్యాగ్ ID, కాబట్టి టైటిల్ అర్థం సంసార అంశాలు సూచిస్తుంది టైటిల్ అని ఈ ID కలిగి. ఆపై డాట్ ఒక తరగతి సూచిస్తుంది. కాబట్టి .సమాచారం ఈ మూలకం సూచిస్తుంది అది తరగతి సమాచారం ఉంది ఎందుకంటే. అయ్యో. ప్రేక్షకులు: మీరు ఎందుకు అలా HTML వాటిని వేరు? ఎందుకు మీరు కొన్ని విషయాలను చెప్తున్నారు లేదు ID లు మరియు కొన్ని విషయాలు తరగతి ఉంటాయి? MARIA ZLATKOVA: ఆ కెన్ కేవలం అప్ వార్తలు హన్నా BLUMBERG: ప్రశ్నను రిపీట్. MARIA ZLATKOVA: ఓహ్, సారీ. ఎందుకు మేము కొన్ని అంశాలు వేరు లేదు లు మరియు తరగతులు వంటి ఇతర అంశాలు? ఇది ఎందుకంటే ఆ వార్తలు నిజంగా తరచుగా నమూనా ప్రత్యామ్నాయం. ఇది మీరు చాలా ఇస్తుంది పదవిని పాండిత్యము నేను ఈ నిర్దిష్ట అంశం అనుకుందాం చేయగలిగింది వారు కావలసిన ఎందుకంటే ఈ ID కలిగి విషయాలు చాలా చేయాలని అది, మరియు నేను మాత్రమే ఒక శైలి నిర్వచించే అనుకుంటుంది, నిర్దిష్ట శైలి ఆ అంశం లేదా వర్ణ సంసార. మరియు మార్గం అలా కేవలం అది ఒక ID ఇవ్వడం. ఆపై నేను కావాలా కలిగి వివిధ అంశాలను ఒక జంట కలిగి, బదులుగా ఆ వెళ్లి their-- సెట్ బదులు ద్వారా అది చేయడం ట్యాగ్ ట్యాగ్ చేస్తాను ఎందుకంటే మొత్తం ట్యాగ్ కోసం సెల్ సెట్ ప్రతి సారి ఆ ట్యాగ్ ఉపయోగిస్తారు, మీరు బహుళ అంశాలను ఒక తరగతి సెట్ చేయవచ్చు. ఆపై ఆ తరగతి యాక్సెస్ మరియు చెప్పటానికి నేను ఈ తరగతి విధంగా శైలి కావలసిన. మరియు తిరిగి, తరగతి చెయ్యవచ్చు బహుళ వివిధ అంశాలను ఉంటుంది మరియు ID ఏకైక ఉండాలి. గ్రేట్ ప్రశ్నలు. ఏదైనా ఇతర ప్రశ్నలు? OK, అద్భుతం. మళ్ళీ, ఈ ఎలా ఈ సెలెక్టర్లు ఉంది హాష్ ట్యాగ్ తో, CSS లో ప్రసక్తి, చుక్కతో, లేదా ఏదైనా లేకుండా కొన్ని ట్యాగ్ యొక్క శైలి కేటాయించి, శరీరం వంటి. మరియు ఇక్కడ మేము సాధారణ కలిగి ఈ చేయబడుతుంది ఎలా సింటాక్స్. కొన్ని ఉత్తమ పునరావృతం HTML మరియు CSS కోసం పద్ధతులు, మేము, మళ్ళీ, దగ్గరగా అన్ని అవసరం మేము ఓపెన్ HTML టాగ్లు. మరియు మేము మీరు సిఫారసు ఏమి మీ చివరి ప్రాజెక్టులకు చేయండి, అలాగే CS50 ఫైనాన్స్ కోసం, చేయడమే మీ HTML యొక్క అన్ని నిర్థారించింది నిర్ధారించుకోండి. మరియు ఆ W3 వాలిడేటర్ తో ప్రదర్శనతో. మరియు మేము అప్పుడు ఏమి మరియు మేము సిఫార్సు చేస్తున్నాము ఏమి కాబట్టి, శైలి వేరు ఉంది మార్కప్, HTML నుండి CSS. ఎలా సంబంధించి ఏదైనా కాబట్టి మీ పేజీ దృశ్యపరంగా చూడండి అన్నారు మరియు అది ఎలా చివరి మార్పు చేస్తాడు ఒక CSS పత్రం లోకి వెళ్ళాలి. ఆపై మీ మార్కప్ ఎలా విషయాలు మాట్లాడుతూ ప్రతి ఇతర సంబంధించి ఉంటాయి, HTML ఉంది మరియు ఆ లోపల వెళ్ళాలి మీ HTML పత్రాలు. ఏవైనా ప్రశ్నలు? Mhm. ప్రేక్షకులు: సరిగ్గా ఏమిటి అన్నారు పేజీ ధ్రువీకరణ తో మేము నిర్ధారించడంలో చేసినప్పుడు [వినబడని] సృష్టించిన HTML? MARIA ZLATKOVA: సో మీరు అనుకుంటున్నాను what--. కాబట్టి వేటి అన్నారు పేజీ ధ్రువీకరణ తో మరియు ఎందుకు మేము ఆ ఏమి చేయాలి? సాధారణంగా, మనం చెయ్యాల్సిన ఎందుకంటే చాలా సార్లు, మీ బ్రౌజర్ మీరు ఒక ట్యాగ్ దగ్గరగా లేకపోతే లేదా అలాంటిదే, మీ బ్రౌజర్ ఇంకా అన్నారు ఒక పేజీ రెండర్ మరియు ఇప్పటికీ పనిచేయవచ్చు, కానీ అది ఉత్తమ ఆచరణ నిర్ధారించుకోండి వార్తలు మీరు, మళ్ళీ, అన్ని మీ టాగ్లు మూసివేయబడింది చేసిన అన్ని మీ అంశాలు వారు ఉండాలి విధంగా, మరియు అది వార్తలు ప్రాథమికంగా ఆరంభ ఉంటాయి అనుకూలంగా. ఇది, మళ్ళీ, కేవలం ఒక విషయం మీరు తప్పక చేయడం నేర్చుకోవడం, కలిగి వ్యతిరేకంగా ఆ వంటి sloppier కోడ్ మరియు stuff. అవును. క్షమించు. నేను మీరు మీ చేతి పెంచడం భావించినట్టు. ప్రేక్షకులు: లేదు, నేను కేవలం [వినబడని] ఉంది. MARIA ZLATKOVA: OK. ప్రేక్షకులు: ధన్యవాదాలు. MARIA ZLATKOVA: కోర్సు యొక్క, ధన్యవాదాలు. మరలా, ఎలా జరుగుతుందో సమాచారాన్ని బదిలీ మరియు కమ్యూనికేషన్ నమూనాలు సమాచారం బదిలీ. TCP / IP. TCP కేవలం ట్రాన్స్మిషన్ అర్థం కంట్రోల్ ప్రోటోకాల్ మరియు IP ఇంటర్నెట్ ప్రోటోకాల్ సూచిస్తుంది. మరియు కేవలం సూచిస్తుంది మార్గం డేటా అందజేస్తారు. మేము కొన్ని డేటా ఉంటే ఆ కాబట్టి మీరు పంపిణీ అవసరం మీరు ఒక నిర్దిష్ట సర్వర్ కోసం అభ్యర్థన చేయడానికి. ఉదాహరణకు, మేము cs50.net యాక్సెస్ చేసేందుకు ప్రయత్నించండి, మేము ఒక అభ్యర్థనను తయారు CS50 సర్వర్ మరియు మేము మేము పొందుటకు కావలసిన చూడండి సమాచారం యొక్క ఈ విధమైన. ఆపై ఈ నియమావళి ఆధారంగా ఉంటాయి ఈ సమాచారం డెలివర్ చెయ్యాలో కోసం, సర్వర్ సమాచారం ఇస్తుంది మాకు తిరిగి క్లయింట్. మరియు తర్వాత మేము వీక్షించడానికి చూడగలరని పేజీ కోసం సమాచారం ఆపై దాన్ని ఉపయోగించండి. కాబట్టి అప్పుడు హైపర్ టెక్స్ట్ట్ట్ట్ ట్రాన్స్ఫర్ ప్రోటోకాల్ కేవలం మరొక ప్రోటోకాల్ లేదా సెట్ సాంప్రదాయాలను ఆ విశదీకరిస్తుంది వెబ్ బ్రౌజర్ మరియు వెబ్ సర్వర్ కమ్యూనికేట్ చేయాలి. మరియు అన్ని ఈ పెట్టటం కలిసి, HTTP, మళ్ళీ, కేవలం ఈ హైపర్టెక్స్ట్ నిర్వచించిన ఎలా నిర్వచిస్తుంది మేము అది పని చేసిన HTML ద్వారా అది మీకు పంపిణీ చేయాలి మరియు ఎలా ఎలా మీరు పంపిణీ అని ఆ డేటా మీకు గెట్స్. మీరు అబ్బాయిలు గుర్తు ఉంటే మరియు ఆ, వై ఒక తరగతి నుండి మేము విజ్ఞప్తులు చాలా కలిగి మరియు మేము వాక్యనిర్మాణం చాలా కలిగి మేము ఉన్నాము అని ఈ అభ్యర్థనలు కోసం ప్రస్తుతం వెళ్ళి. మరలా, మేము చేసినప్పుడు పంపడానికి ఒక సర్వర్కు మీరు ఒక అభ్యర్థనను మేము విషయాలు ఒక జంట నిర్వచించటానికి ఉంది. కాబట్టి మేము రకం కనుగొనేందుకు అవసరం అభ్యర్థన మేము సెట్టింగ్ చేస్తున్న. మరియు తిరిగి, మేము, ఉదాహరణకు, GET పద్ధతి ఒకటి రకం మేము మా అభ్యర్థన కలిగి. ఆపై HTTP / 1.1 కేవలం మేము ప్రస్తుతం ఉపయోగిస్తున్న ప్రోటోకాల్. ఎక్కువ సమయం, ఆ జరగబోతోంది మేము ఉపయోగించి చేస్తున్న ప్రోటోకాల్. మీరు ఒక ప్రశ్న కలిగి ఉంటే మీ క్విజ్ లో ఆ ఇష్టం. ఆ విధానాలు ఉంది మేము ఇప్పటివరకు చేశారు. బ్యాక్స్లాష్ ఏ విధమైన సూచిస్తుంది విషయాలు మేము అభ్యర్థిస్తే. అప్పుడు మా హోస్ట్ ఈ లో, ఉదాహరణకు, కేసు, మేము google.com వెళ్ళండి ప్రయత్నిస్తున్న. కాబట్టి ఈ ఒక హోస్ట్ కోసం విలువ. ఈ అభ్యర్థన యొక్క ఒక రకం ఆ పంపించారు. ప్రతిస్పందన రకం మరియు ఆ అనుకొనుట పంపిన, మళ్ళీ, ఈ నియమావళి ఆధారంగా ఉంటుంది, మళ్ళీ, HTTP / 1.1. కాబట్టి ఆ HTTP సంస్కరణకు మళ్ళీ అనిపిస్తుంది. 200 OK కేవలం స్థితి కోడ్. ఆ సరే కేవలం పదబంధం ఆ స్థితి కోడ్ ఆధారంగా. ఆపై Content-Type రకం సూచిస్తుంది ఆ మీరు తిరిగి మీరు అందుకునే ఆ వెబ్ పేజీ కోసం మరియు మీ బ్రౌజర్ తర్వాత చేస్తుంది. మరియు టెక్స్ట్ / html ఉంది. ప్రేక్షకులు: 1.1 అర్థం ఏమిటి? MARIA ZLATKOVA: అది వార్తలు వెర్షన్ OH, 1.1 అర్థం ఏమిటి? కేవలం వెర్షన్ HTTP ఉంది మేము ఉపయోగిస్తున్న ఒక ప్రోటోకాల్ యొక్క వెర్షన్. గ్రేట్ ప్రశ్న. ఇతర ప్రశ్నలు? ప్రేక్షకులు: మీరు అప్ సంకలనం కాలేదు Content-Type నిజమైన శీఘ్ర? MARIA ZLATKOVA: సో ఏమి సర్వర్. ఏమి information-- రకం కంటెంట్ రకం ప్రశ్నలు ఉంది. కాబట్టి యొక్క రకం మీరు తిరిగి పొందుతారు సమాచారం సర్వర్ రకం నుండి డేటా బ్రౌజరు తర్వాత ఆ మీరు ఉపయోగిస్తున్నారు రెండర్. ప్రేక్షకులు: ఏమి ఈ అని ప్రోటోకాల్ చేయాలని మీరు చెప్పడం? MARIA ZLATKOVA: క్షమించాలి? ప్రేక్షకులు: ప్రోటోకాల్ ఏమి చెప్పాలో అని? MARIA ZLATKOVA: protocol-- ప్రేక్షకులు: --what Content-Type లేదా what-- MARIA ZLATKOVA: ప్రోటోకాల్ ఆధారంగా మొదలైనవి మీరు చెప్పడం ప్రోటోకాల్ అంటే ఏమిటి? కేవలం మార్గం ఈ సమాచారం మీరు డెలివర్ ఆధారంగా ప్రోటోకాల్ ఏ విధమైన పై ఈ సమాచారం వచ్చింది మీరు తిరిగి అప్పగించెను. ఆ సమంజసం విధమైన ఇవ్వగలవా? హన్నా BLUMBERG: మీరు ప్రోటోకాల్ యొక్క ఆలోచించవచ్చు ఫంక్షన్ గా నేను ప్రొఫెసర్ అనుకుంటున్నాను మలన్ వర్ణించారు వంటి రకమైన ఫంక్షన్ వంటి తరగతి లో వంటిది మానవ కరచాలనములు సమానం. వంటి హే, నేను ఒక అభ్యర్థనను ఉన్నాను, సే మరియు నేను వెర్షన్ 1.1 HTTP నిర్వహించడానికి ఎలా తెలుసు. ఆపై సర్వర్ చెప్పారు సరే, OH, i మైనస్ మైనస్ మరియు రెండూ కూడా లేవు. నేను కూడా HTTP / 1.1 ఎదుర్కోవటానికి ఎలా తెలుసు. నేను ఇవ్వాలని వెళుతున్న మీరు కొన్ని కంటెంట్ బ్యాకప్. ఈ సందర్భంలో, అది జరగబోతోంది రకం text / html ఉండాలి. కనుక ఇది రకమైన కేవలం మార్గం వాటిలో communicating-- కోసం MARIA ZLATKOVA: ఇది కేవలం మీరు ఆ నిర్ధారిస్తూ రెండూ ఒకే క్రింది ప్రోటోకాల్ మరియు ఆ రెండు క్లయింట్ మరియు సర్వర్ కాబట్టి మీ బ్రౌజర్ మరియు సర్వర్ విధమైన మీరు ఏమి చేస్తున్నామో తెలియదు గురించి మాట్లాడటం మరియు కలిగి డేటా లో ప్రయాణిస్తున్న కోసం సమావేశం. ప్రేక్షకులు: సో Content-Type part-- Content-Type టెక్స్ట్ / html-- ఆ అదే సందేశం యొక్క ఒక ప్రత్యేక భాగంగా? లేదా దాని 200 పిలవబడు యొక్క భాగం? 200 వాటిని ఆ లేదా is-- చెప్పడం లేదు MARIA ZLATKOVA: 200 అది అన్ని OK ​​గనక చెప్పారు. ఆపై కంటెంట్ రకం ఒక విధమైన ఉంది అదే మెసేజ్ ప్రత్యేక భాగంగా, మరియు విషయం చెప్పి నేను రిటర్న్డ్ టెక్స్ట్ / html ఈ రకం ఉంది. ఇది కేవలం మరింత సమాచారం ఇవ్వడం. జోడించడానికి ఏదైనా ఉందా? అలాగే. ఈ ఏ ఇతర ప్రశ్నలు? ఆసమ్. కాబట్టి కొన్ని ఇతర HTTP హోదాలు ఆ మేము 200 OK అదనంగా పొందలేరు మేము ఉండవచ్చు చూసిన వాటిని బహుశా చాలా 403 మరియు 404 ఉన్నాయి. కాబట్టి 404, మీరు ప్రయత్నిస్తున్న ఉంటే ఉనికిలో లేని యాక్సెస్ ఏదో. ఉదాహరణకు, కాబట్టి మీ CS50 ఫైనాన్స్ psets, మీరు quote.html రెండరింగ్ జరిగింది ఉంటే మరియు మీరు ఆ ఫైల్ కలిగి లేదు, కానీ బదులుగా మీరు ఆ, quote.php కలిగి 404 నమోదవుతుంది దొరకలేదు ఫైల్ ఉనికిలో కాదు ఎందుకంటే. ఒక 403 ఆ నిషిద్ధము అనుమతులు సూచిస్తుంది. కొన్ని ఫైల్ ద్వారా వీలుకాదు చేస్తే ప్రపంచ, మీరు ఒక 403 తిరిగి పొందడానికి ఉండవచ్చు. కొన్ని ఇతరులు మీరు వాటిని 301, శాశ్వతంగా తరలించబడి పొందవచ్చు; 302, కనుగొనబడినది; 304, సవరించిన; 400, అడగలేదు; మరియు అప్పుడు అంతర్గత సర్వర్ లోపం 500 మరియు 503, సేవ అందుబాటులో లేదు. అవును. ప్రేక్షకులు: విల్ మేము భావిస్తున్నారు అన్ని ఆ హోదాలు గుర్తు? MARIA ZLATKOVA: నేను కలిగి ఉంటుంది వాటిని మీ మోసగాడు షీట్ మీద. [నవ్వు] ప్రేక్షకులు: మేము భావిస్తున్నారు ప్రతి ఒక కలిగించేది ఏమిటో తెలుసా? MARIA ZLATKOVA: వారు ఉన్నారా? హన్నా BLUMBERG: మేము చేసిన వాటిని కోసం కాబట్టి ప్రశ్న పిలవబడు అమలు పిలువబడే MARIA ZLATKOVA: వారు భావిస్తున్నారు ఈ హోదా ఏమి ప్రతి ఒకటి తెలుసు సంకేతాలు ఊపందుకున్న ఉండవచ్చు? మేము ఉపయోగించే చేసిన వాటిని కోసం కాబట్టి మరియు కూరుకుపోయింది, నేను అవును, చెబుతా. కాబట్టి మేము ఖచ్చితంగా 200 చూసిన OK మరియు psets లో ఉపన్యసించారు. మేము 404 403 చూసిన. ఇతర వాటిని కోసం? హన్నా BLUMBERG: నేను చేస్తాను 500 ఫెయిర్ గేమ్ కనిపిస్తుంది చెప్పడానికి. MARIA ZLATKOVA: 500, అవును. హన్నా BLUMBERG: అవును. కేవలం ఒక సాధారణ భావన కలిగి వాటిని కారణమవుతుంది యొక్క. మరియు కూడా కేవలం ద్వారా ఈ పేర్లు, మీరు రకమైన వంటి ఒక చదువుకున్న అంచనా తయారు ఏమి నిజానికి దారి తీసింది. ఉదాహరణకు, బహుశా, శాశ్వతంగా తరలించడానికి ఫైలు శాశ్వతంగా తరలించారు. ప్రేక్షకులు: ఒక మునుపటి పరీక్ష, ఒక అని ఉంది ఎలా మీరు ఆ సమాధానం మాకు అనుకుంటున్నావా? హన్నా BLUMBERG: ఆ సున్నా పాయింట్లు విలువ. టీపాట్ లో 418 ప్రశ్న సాంకేతికంగా ఒక HTTP స్థితి కానీ అది సున్నా పాయింట్లు విలువ. సహజంగానే, మీరు కావు వాటిని తెలుసు భావిస్తున్నారు. ప్రేక్షకులు: ఇది నిజమైన ఒకటి? హన్నా BLUMBERG: ఇది ఒక నిజమైన ఉంది ఒకటి, కానీ ఇది ఏదైనా అర్థం లేదు. ఇది కేవలం ఒక జోక్. ఇంటర్నెట్ ప్రజలు ఫన్నీ ఉంటాయి. MARIA ZLATKOVA: గ్రేట్ ప్రశ్నలు, అబ్బాయిలు. ఏదైనా ఇతర ప్రశ్నలు? ప్రేక్షకులు: అంతర్గత సర్వర్ లోపం ఏమిటి? MARIA ZLATKOVA: అంతర్గత సర్వర్ లోపం కేవలం మీరు ఉన్నాయని అర్థం కమ్యూనికేట్ చేయలేక కొన్ని కారణాల కోసం సర్వర్ తో. కనుక ఇది తప్పనిసరిగా కాదు అలా ఉన్నాయి ఏదో ఆ వంటి క్లయింట్ లేదా ఏదో. నేను ఏ నిర్దిష్ట ఉదాహరణ తెలియదు మేము వివరించడానికి పైగా మారారు, కానీ అవును. హన్నా BLUMBERG: ఖచ్చితంగా. ఉదాహరణకు, వంటి లెట్స్ మీరు మాషప్ పని తెలిపారు మరియు ఒక Google సర్వర్ కొన్ని సాగిన కారణం, ఒక విద్యుత్తు అంతరాయం, యొక్క అని పిలవబడు. ఒక అంతర్గత సర్వర్ ఉంటుంది లోపం లేదా విధమైన మీకు of-- ఒక ప్రతిస్పందన తిరిగి పొందండి కాదు. MARIA ZLATKOVA: అవును. మీరు ఉన్నప్పుడు ఇది కేవలం కమ్యూనికేట్ చేయలేక కొన్ని కారణం కోసం సర్వర్ తో అది డౌన్ వెళుతున్న లేదా కొన్ని ఇతర కారణం. కాబట్టి PHP దూకి. PHP, HTML వలె కాకుండా, ఒక ఉంది ప్రోగ్రామింగ్ భాష. మరియు మేము అది ఎందుకంటే ఉపయోగించడం ప్రారంభించింది వెబ్ అభివృద్ధి కోసం చాలా ఉపయోగకరంగా ఉంది. మేము మొదటి CS50 ఫైనాన్స్ ఉపయోగించారు. మరియు అది ప్రధానంగా మాకు తీసుకుని సహాయపడుతుంది కలిసి ఈ మార్కప్, డిజైన్, మరియు మేము నిజంగా సమాచారాన్ని ఉపయోగించవచ్చు ఎలా ఒక వెబ్ పేజీలో విషయాలు ప్రదర్శించడానికి. PHP కాబట్టి కూడా PHP అర్థం హైపర్టెక్స్ట్ ప్రీప్రాసెసర్, కాబట్టి అది కూడా ఒక పునరావృత backnorym వార్తలు. మరియు PHP టాగ్లు తెరవడం మేము ఎడమ ప్రశ్న మార్కులతో మరియు కుడి బాణాలు మరియు php. కాబట్టి మేము ఇప్పటికే అది కొంత చూసిన. ఇప్పుడు, మేము కేవలం వెళ్ళి చూడాలని దాని గురించి ప్రాధమిక విషయాలు కొన్ని. PHP తో, వేరియబుల్ కాబట్టి పేర్లు డాలర్ సైన్ తో. మేము, మళ్ళీ, ఇవ్వకండి ఒక వేరియబుల్ ఇకపై టైప్ చేయండి. మేము సి తో చేసినట్లుగా వంటి, మేము అలా అవసరం లేదు. మేము వివిధ ఒక బంచ్ చేయవచ్చు వేరియబుల్స్ తో stuff. మేము వాటిని కలిసి ఉంచవచ్చు వాటిని concatenating ద్వారా డాట్ సంజ్ఞామానం, అనే మేము మళ్ళీ సి లో దీన్ని కాలేదు. మళ్లీ, మేము ఒక బిట్ మరింత పాండిత్యము కలిగి వేరియబుల్స్ పరంగా PHP తో. మళ్ళీ, మేము ఒక ప్రధాన ఫంక్షన్ లేదు. మరియు PHP అర్దం సంకలనం వ్యతిరేకంగా, కాబట్టి కేవలం మేము సి ఫైళ్లు కోసం విసిరాడు ఎలా, మేము PHP కోసం అలా లేదు. కానీ, మార్గం ఈ భాష కూడా నడుపుతుంది, ఇది వివరించబడుతుంది. ఆపై వదులుగా టైప్ కేవలం మేము అర్థం ఒక వేరియబుల్ తెలుపుటకు లేదు రకం మరియు వేరియబుల్ రకాల రన్టైమ్ వద్ద అర్థం కాలేదు. ప్రేక్షకులు: మీరు ఏమి చేశాడు డాట్ జోడింపు అర్ధం? MARIA ZLATKOVA: ఖచ్చితంగా. మేము together-- విషయాలు ఉంచాలి కావలసిన చేసినప్పుడు కనుక మేము కొన్ని వేరియబుల్ కలిగి 3 యొక్క విలువ కలిగి మరియు మేము మరొక కలిగి స్ట్రింగ్ విలువ ఉందని వేరియబుల్, మేము కలిసి వేరియబుల్స్ చాలు కాలేదు వాటి మధ్య ఒక డాట్ పెట్టటం ద్వారా మరియు వాటిని concatenating. లేదా మేము ఒక సృష్టించగలము వేరియబుల్ అని పేరు మరియు అది కలిసి చాలు రెండు రెమ్మలు concatenating. కనుక మేము డబుల్ స్ట్రింగ్ కలిగి కోట్స్ మరియు మేము అది తర్వాత ఒక డాట్ చాలు మరియు తర్వాత ఆ, మరొక స్ట్రింగ్ కలిగి మొత్తంగా ఒక స్ట్రింగ్ సృష్టిస్తుంది. ప్రేక్షకులు: OK. MARIA లాట్వియా: స్పష్టమైంది? ప్రేక్షకులు: అవును. MARIA ZLATKOVA: OK. అవును. ప్రేక్షకులు: మీరు చెప్పినప్పుడు అన్వయించారు కాకుండా సంకలనం, మీరు గురించి మాట్లాడుతున్నారు లేదు ఉన్నప్పుడు వంటి నిర్దిష్ట ఉండాలి అది సి వర్సెస్ PHP వస్తుంది? MARIA ZLATKOVA: మేము చెప్పినప్పుడు సంకలనం వ్యతిరేకంగా తర్జుమా మేము ఏమిటి? కాబట్టి మేము అవసరం లేదు అర్థం ఎగ్జిక్యూటబుల్ ఫైళ్లు PHP అమలు. ఇది వెళుతూ నడిపే అర్థం. ఆ సమంజసం లేదు? ఒక బిట్ మరింత. హన్నా BLUMBERG: సో మీరు ఒక వ్యాఖ్యాత ఆలోచించవచ్చు బాధ్యత అని మరొక ప్రోగ్రామ్ వలె PHP ద్వారా లైన్ ద్వారా లైన్ వెళ్ళడం కోసం వ్యతిరేకంగా మరియు వాస్తవానికి, ఇది అమలు బైనరీ డౌన్ అది అన్ని సంకలనానికి. ఇది నిజానికి ఏదైనా కాదు మేము ఉండాలి ఎంత నిర్దిష్ట గురించి. మేము ఇంకా ఖచ్చితమైన ఉండాలి, మరియు లేదు మీ సెమికోలన్ మర్చిపోతే, మరియు నిర్ధారించుకోండి మీరు మీ డాలర్ సైన్ కలిగి మరియు ఆ వంటి విషయాలు. మంచి ప్రశ్న. MARIA ZLATKOVA: అవును. కాబట్టి లైన్ లైన్ ద్వారా, వంటి సి ఫైళ్ళతో వ్యతిరేకంగా, మేము మొత్తం ఆఖరి చేసుకోవాలి మేము నిజానికి అది అమలు చేసే ముందు. ప్రధాన వ్యత్యాసం ఉంది. కానీ మళ్ళీ, మేము కాదు నిజంగా తక్కువ నిర్దిష్ట ఉండాలి. కాబట్టి PHP లో శ్రేణుల ప్రాతినిధ్యం నిజానికి ఒక ఆర్డర్ మాన చిత్రం. కీలు శ్రేణుల అసోసియేట్ విలువలు కాబట్టి. రెండు మార్గాలు ప్రకటించాలని వరుస ఈ వాక్యనిర్మాణం ఆధారంగా, మేము మరింత స్పష్టమైన ఉంటుంది సామెతలో మేము ఒక అర్రే కలిగి మరియు మేము పటాలను ఈ key1 కలిగి VALUE2 పటములు ఈ విలువ 1, key2. లేదా మేము కేవలం ఒక శ్రేణి సృష్టించవచ్చు విలువలు కూడా కలిగి ఆపై కీలను ఉంటాయి ఒక విధంగా అర్థం. ఈ ఏ ప్రశ్నలు? ప్రేక్షకులు: ఏమైంది కీలను రెండవ ఉదాహరణలో? 0, 1, 2, 3? MARIA ZLATKOVA: ఉదాహరణకు, అది కేవలం ఈ కీలు తప్పనిసరిగా లేదు ఒక వైవిధ్యం. వారు కేవలం మీరు ఎలా చెయ్యాలో నిర్వచించే అది లోపలి విలువలు ఉపయోగించవచ్చు. కనుక మేము ఒక foreach కలిగి PHP లో లూప్ అని మాకు అన్ని విలువలు ద్వారా వెళ్ళడానికి అనుమతిస్తుంది, మేము అన్ని విలువలు ద్వారా వెళ్ళవచ్చు, అయినా మేము కలిగి లేదా నిర్వచించబడిన కాలేదు సైట్ యొక్క లోపల ఒక ప్రత్యేక కీ మునుపటి సింటాక్స్. కనుక ఈ విధమైన తో యెరే యొక్క, మేము ఇప్పటికీ అనుకొనుట ఒక foreach లూప్ కలిగి ప్రతి గుండా వెళుతుంది శ్రేణి లో కీ విలువలు. ఒక foreach వాక్యనిర్మాణం కాబట్టి లూప్, మేము ఒక అర్రే ప్రారంభం. ఈ $ చేరే సమయం వేరియబుల్ మా వాస్తవ శ్రేణి మేము మునుపటి స్లయిడ్ లో నిర్వచించిన అక్షరాలా వెళ్ళే విలువగా విలువలు ప్రతి ద్వారా, సంబంధం లేకుండా లేదో యొక్క మేము ఒక కీ కలిగి లేదా. మరియు తర్వాత మేము ఏదో ఒకటి చెయ్యాలి foreach లూప్ యొక్క లోపల విలువ. మరలా, మేము వ్యూహం కలిగి ఈ ఇక్కడ సృష్టించిన వంటి కాబట్టి మేము foo మరియు విలువ యొక్క కీ బార్, బాజ్ యొక్క కీ మరియు qux-- విలువ మేము ఒక foreach లూప్ కలిగి కీ విలువ శ్రేణి గుండా వెళుతుంది ఆపై ఏదో చేయాలని కీ మరియు / లేదా విలువ. కానీ మేము తప్పనిసరిగా ఎల్లప్పుడూ లేదు ఒక foreach ఆ ఉచ్చులు కలిగి విలువ కీ మ్యాప్ శ్రేణి గుండా వెళుతుంది. మేము ద్వారా వెళ్ళే విలువగా foreach లూప్ శ్రేణి. హన్నా BLUMBERG: నేను అనుకుంటున్నాను మీ ప్రశ్న, ఆలోచన ఏమి అవ్యక్త సూచిక? ప్రేక్షకులు: ఎంతో. MARIA ZLATKOVA: ఓహ్. హన్నా BLUMBERG: అవును, అవును. కాబట్టి ప్రాథమికంగా, మీరు పేర్కొన్న లేకపోతే ఒక కీ, ఇది 01 చేస్తాడు. MARIA ZLATKOVA: అవును. కేవలం సి వంటి, అది సున్నా మీరు ఒక కీ పేర్కొనండి లేకపోతే సూచించాలని. ప్రేక్షకులు: క్షమించండి. మీరు మాట్లాడే ప్రయత్నించండి కొద్దిగా బిగ్గరగా? నేను కొద్దిగా కలిగి వెబ్ ఇబ్బంది ప్రతిదీ విన్న. MARIA ZLATKOVA: నేను అలా క్షమించండి. అవును, కోర్సు. సో మీరు నాకు ఏమి అనుకుంటున్నారు మళ్ళీ ఈ వెళ్ళి? లేదా దీన్ని ఉంది ప్రేక్షకులు: మునుపటి స్లయిడ్ ఉంటే కాబట్టి మీరు కేవలం ఒక రెండవ కోసం తిరిగి వెళ్ళటానికి. MARIA ZLATKOVA: వాస్తవానికి, సారీ. ప్రేక్షకులు: సో రెండవ ఇక్కడ శ్రేణి లేదు కీ ఒక విలువ కలిగి ఉంటాయి, వంటి [? కారణాన్ని. ?] MARIA ZLATKOVA: కుడి, కుడి. ప్రేక్షకులు: సో ఎలా పని చేస్తుంది మీరు చెప్పినప్పుడు అది అన్ని లేదా none వార్తలు. నాకు, ఆ కనిపిస్తుంది ఒక [? foo?] అప్పటికే. MARIA ZLATKOVA: అవును, అవును. మరలా, ఈ ఒక ఉంది ఈ కోణంలో ఆర్డర్ మాన చిత్రం అక్కడ అర్థం, ఉదాహరణకు, సూచికలు ఇక్కడ 0, 1, 2, 3 అని అర్ధం చేసుకోవచ్చు. మళ్ళీ, ఆ కలిగి వార్తలు సూచికలు మా సమానం విలువలను ప్రతిలేఖనం కీలను కలిగి. అలా అయితే మా కీ 0 క్షమించాలి ఉంది. హన్నా BLUMBERG: లేదు, అక్కడ ఇక్కడ సుద్ద. ఇది నిజానికి నిజంగా మంచిది. MARIA ZLATKOVA: పెరుగుతుంటాయి. అలాగే. మరలా, $ చేరే సమయం 0 ఉంటుంది విలువ 1 కోసం కీ. 0 విలువ 1 కీ ఉంటుంది. ప్రేక్షకులు: క్షమించండి. ఇది అదృశ్య. హన్నా BLUMBERG: నెవర్మైండ్ అన్ని కుడి. చాక్ ఒక చెడు ఆలోచన. నేను తిరిగి పడుతుంది. మీరు కీలు ఆలోచించవచ్చు విలువ 1 0 Maps వంటి. MARIA ZLATKOVA: అవును. ఈ 0 కాబట్టి, ఈ 1, 2, 3. ఇవి మీ కీలను ఉంటుంది. మీరు అవును as-- వాటిని ఆలోచించవచ్చు. సో బదులుగా కలిగి స్పష్టమైన కీలను, వారు విధమైన అర్ధంచేసుకోవచ్చని సూచికలు 0 వద్ద మొదలు. సుద్ద సహాయం లేదు. అవును. ప్రేక్షకులు: foreach లూప్, మేము విలువ వంటి వీక్షించడానికి కోరుకుంటే, అది 0 స్వయంచాలకంగా ఇండెక్స్ చేస్తాను? MARIA ZLATKOVA: అవును. ఇది విలువలు ప్రతి ద్వారా ప్రయత్నించాడు. ప్రేక్షకులు: [వినబడని] గా 0 లేదా కేవలం 0 మరియు చేయరు? MARIA ZLATKOVA: మీరు కలిగి ఉంటుంది అప్పుడు డాలర్ సైన్ మరియు చెప్పటానికి కొన్ని వేరియబుల్ పేరు, విలువ. ప్రేక్షకులు: [వినబడని]. MARIA ZLATKOVA: క్షమించాలి? ప్రేక్షకులు: క్షమించండి, నేను రెడీ కేవలం గుర్తు ప్రయత్నిస్తున్న. మీరు ఆ మీరు దీన్ని చెయ్యవచ్చు చేయరు ఎలా స్వయంచాలకంగా ఇండెక్సింగ్ కేవలం 0, లేదా? MARIA ZLATKOVA: కాబట్టి మీరు ఎలా చేస్తారు మీరు నిర్దిష్ట కీ పేర్లు లేదు ఉంటే? ప్రేక్షకులు: అవును. MARIA ZLATKOVA: మీరు కేవలం define-- చేస్తాను కేవలం కొన్ని పేరు మీరే అంటున్నారు. సో మీ psets లో, మీరు అబ్బాయిలు వాటిని $ వరుసలు గా foreach $ వరుసగా గుర్తు, మేము స్వయంగా మాట్లాడుతూ ఈ $ వరుసగా రూపొందించినవారు మేము $ వరుసలు గా వరుసగా ద్వారా వెళ్లాలనుకుంటే. మేము కలిగి లేదు అయినప్పటికీ వరుసలు నిర్వచించిన ఈ స్పష్టమైన $, మేము కేవలం వెళ్ళి కాలేదు , ఈ మా కీ ఉంటుంది చెప్పటానికి మరియు కేవలం విలువలను ప్రతి ద్వారా వెళ్లండి. ప్రేక్షకులు: సో విలువ ఒక కొత్త వేరియబుల్ మేము [వినబడని] నిల్వ సృష్టిస్తున్నారు? MARIA ZLATKOVA: సో అది కాదు అంతర్గతంగా ఒక కొత్త కారకం. ఇది సూచిస్తుంది ఒక వేరియబుల్ వాటిని ప్రతి శ్రేణి యొక్క లోపల. హన్నా BLUMBERG: ఇది ఒక కొత్త వేరియబుల్ పేరు. MARIA ZLATKOVA: అవును, అది ఒక న్యూ వేరియబుల్ పేరు, కానీ అది అవును inherently-- కాదు. ఇది కేవలం ఒక కొత్త వేరియబుల్ మీరు ఆ పని చేసే. కాబట్టి ఎంత మనం చేసింది ఏమి $ $ వరుసలు, వరుసలు గా వరుస ఒక కొత్త వేరియబుల్ పేరు అని మేము మా foreach లూప్ లో సృష్టించగలము. ఇది ఆ ముందు preexist లేదు. ప్రేక్షకులు: మీరు ద్వారా వెళ్ళవచ్చు అక్కడ ఉదాహరణగా ఉపయోగించి ప్రతి తర్కం? MARIA ZLATKOVA: Mhm. క్షమించు. ఇక్కడ ఉదాహరణకు. నిర్ధారించుకోండి. కాబట్టి ప్రతి కాబట్టి వ్యూహం ఈ శ్రేణి వెళ్ళండి అర్థం ఆ విలువ కీ జరగబోతోంది ఈ శ్రేణి ద్వారా వెళ్ళడానికి మరియు మొదటి, వెళ్ళి foo పొందండి కీ foo మరియు విలువ బార్. మరియు రెండవ అప్పటి లూప్ ఏ మళ్ళా, అది ద్వారా వెళ్ళి తీసుకోవాలని జరగబోతోంది కీ బాజ్ మరియు విలువ qux. ఆపై మీరు ఏదో ఒకటి చెయ్యాలి వాటిలో గాని లేదా వాటిని రెండు. ప్రేక్షకులు: సో ఆలోచనకు విలువ ఒక కీ పాయింట్ కలిగి, మీరు యాక్సెస్ ఏమి వదులుకోవడానికి? MARIA ZLATKOVA: ఆలోచన ఏమిటి ఒక కీ పాయింటింగ్ విలువ కలిగి? ఇది కేవలం మరొక సమావేశం, ఇంకొక అర్రే ద్వారా వెళుతున్న మార్గం మరియు సామర్థ్యం గాని యాక్సెస్ కీ లేదా విలువ లేదా రెండు మరియు వాటిని ఉపయోగించే. ప్రేక్షకులు: స్ఫూర్తిదాయకంగా ఏమిటి foreach నడుస్తుంది క్రమంలో? మేము జోడించడానికి చేస్తే శ్రేణి మూలకాల తరువాత, ఆ మొదటి వాటిని ఉంటుంది foreach శ్రేణి అని, లేదా తరువాత ఇది ఉంటుంది? MARIA ZLATKOVA: సో వాట్ ఈజ్ foreach ఆ క్రమంలో లూప్ లో వ్యూహం ద్వారా వెళుతుంది? ఇది మొదటి గుండా వెళుతుంది గత మూలకం, గత జోడించారు మూలకం. మీరు తర్వాత ఎలిమెంట్ జోడించండి ఉంటే, అవి మొదటి మూలకాలు అని accessed-- చేయబడుతుంది మొదటి గా ప్రాప్తి యెరే యొక్క అంశాలు, ఆపై మీరు ప్రతి ద్వారా వెళ్ళాలి ఒక ordered-- విధమైన వంటి అంశాలు ఒక ఆదేశించింది, కానీ మార్గం కాదు అని వారు శ్రేణి లోకి పెట్టబడ్డాయి. ప్రేక్షకులు: సో కొత్త అంశాలు తర్వాత కలుపుతారు? కాబట్టి వారు ఉంటాం added-- చేస్తున్నారు [లో చివరి వాటిని? మళ్ళా. ?] MARIA ZLATKOVA: కొత్త అంశాలు can-- ప్రధానంగా, కొత్త అంశాలు జోడించబడ్డాయి ఉన్నప్పుడు, వారు శ్రేణి ముగింపు కలుపుతారు? ప్రేక్షకులు: అవును. MARIA ZLATKOVA: నేను అలా నమ్మకం. అవును. ఆపై మీ foreach లూప్ తో మీరు కొత్త అంశాలను జోడించారు తర్వాత మరియు మీరు వాటిని ద్వారా వెళ్ళి, కొత్త అంశాలు చేస్తాను అది ఉంటే, కొత్త మూలకం accessed-- ఉంటుంది గత ప్రవేశపెట్టబడినపుడు, దానిలో చివరగా ప్రాప్తి అవుతుంది. ప్రేక్షకులు: మీరు కేవలం ఒక ఉదాహరణ ఇస్తుందా ఏదో అని [వినబడని] విలువ ఏదో తో [వినబడని] లేదా విలువ వంటి, మీరు ఆ ఎలా ఫార్మాట్ ఇష్టం నచ్చిందా? MARIA ZLATKOVA: ఖచ్చితంగా. నేను ఒక ఉదాహరణ ఇస్తుంది ఏమి మేము విలువ చేస్తారు? కాబట్టి మీరు అబ్బాయిలు తెలిసిన కావచ్చు ఏమి మేము ఒక అర్రే ద్వారా మారారు అని మరియు ప్రధానంగా ముద్రించిన అంశాలను ప్రతి ఉదాహరణకు, ఒక భాగంగా క్రమ జాబితాను లేదా ఏదో. ఆ అర్ధవంతం లేదా మేము కావలసిన ఏమి చేస్తుంది ఆలోచన ప్రేక్షకులు: మేము ఈ విలువలు ముద్రించవచ్చు? MARIA ZLATKOVA: అవును, మేము ప్రింట్ కాలేదు మరియు అప్పుడు ప్రధానంగా విలువ $ ఎందుకంటే నిర్దిష్ట విలువ, మేము ఉంటుంది అది లోపలి విలువ ప్రింటింగ్. కనుక మేము మా మొదటి మళ్ళా వద్ద ఉన్నాయి మరియు అది మేము, $ విలువ ముద్రించిన మేము బార్ ప్రింటింగ్ అవుతుంది. ప్రేక్షకులు: కోసం కూడా ఉన్నాయి PHP లో ఉచ్చులు లేదా కేవలం foreach ఉచ్చులు? MARIA ZLATKOVA: ఉంది PHP లో కూడా ఉచ్చులు కోసం. మరియు వారి తర్కం ఎక్కువగా ఉంది మీరు ఉపయోగిస్తారు చేసిన ఏమి అదే. ప్రేక్షకులు: దాని విలువ NULL. MARIA ZLATKOVA: ఇది అదే వంటిది. అవును. ప్రేక్షకులు: నేను గోవా వెళుతున్నాను. సో మీరు ఒక ప్రకటిస్తాయి అర్రే, మీరు అవసరం లేదు అది జరగబోతోంది ఏమి పరిమాణం చెప్పడం అంటే, ఉంటుంది అని మీరు కేవలం జోడించవచ్చు మరియు అంశాలు [వినబడని] సర్వులు. MARIA ZLATKOVA: అయ్యో. అయ్యో. సరిగ్గా. మేము ఒక అర్రే డిక్లేర్ చేసినప్పుడు, మేము అది ఏమిటో చెప్పటానికి పరిమాణం అవసరం లేదు, కాబట్టి మేము కేవలం అంశాలు జోడించవచ్చు తరువాత అదే దానిపైకి. మరిన్ని ప్రశ్నలు? సో కలిసి PHP మరియు HTML తీసుకురావడం, మనం బాగా కనిపించింది చేశారు, ఉదాహరణకు, ఈ ఉదాహరణ లో, మేము కలిగి ఒక ఇన్పుట్ రంగంలో ఉంది ఒక HTML రూపం. మరియు ఇన్పుట్ రంగంలో కేవలం పేరు మరియు అప్పుడు అది ఒక submit బటన్ ఉంది. మీరు నొక్కినప్పుడు మరియు సమర్పించండి బటన్ మా hello.php ఫైల్ లో, రూపం పద్ధతి ఎందుకంటే పొందుటకు, మేము పేరు వద్ద సంసార యాక్సెస్ చేయవచ్చు ఈ ద్వారా ప్రపంచ వేరియబుల్ పొందండి ఇది $ _ గెట్ ఉంది వాక్యనిర్మాణం is--. మరియు తర్వాత మేము సంసార యాక్సెస్ చేయవచ్చు పేరు ఆ రూపం లోపలి వినియోగదారు ఇన్పుట్ ఆ రంగంలో పేరు పేర్కొనడం ద్వారా. ఏ ఇతర ప్రశ్నలు లేదా ఏ ఈ ప్రత్యేక ఉదాహరణ ప్రశ్నలు? ప్రేక్షకులు: PHP ఎక్కడ ఉంది? MARIA ZLATKOVA: ఇక్కడ. కాబట్టి ఈ PHP కోసం మా ప్రారంభ ట్యాగ్ ఉంటుంది. ప్రేక్షకులు: ఓహ్, కుడి. MARIA ZLATKOVA: అవును. హన్నా BLUMBERG: = సంక్షిప్త రూపం ఈ కోసం PHP మరియు కేవలం echo ఉంది. ప్రేక్షకులు: ఓహ్. MARIA ZLATKOVA: అవును, క్షమించండి. నేను స్పష్టం చేసింది వుండాలి. హన్నా BLUMBERG: ప్రింట్. MARIA ZLATKOVA: ఇది కేవలం ఫంక్షన్ మాకు ఏదో ముద్రించడానికి అనుమతిస్తుంది. గ్రేట్ ప్రశ్న. కాబట్టి అవును వెళ్తున్నారు. ప్రేక్షకులు: అక్కడ చాలా అవతరిస్తుంది PHP మరియు HTML యొక్క చేతి కోడింగ్ ఒక బిట్ క్విజ్ 1 న? MARIA ZLATKOVA: ఒక ఉండగలడు వ్యాఖ్యానం న్యాయమైన మొత్తం PHP మరియు HTML యొక్క, తప్పనిసరిగా కోడింగ్ యొక్క పెద్ద మొత్తం వంటి, మీరు ఒక వ్రాయడానికి కలిగి ఉండవచ్చు అయితే foreach లూప్, అయితే లూప్ ఒక. ఉచ్చులు ఏ మేము ఫెయిర్ గేమ్ ఇక్కడ కవర్ ఉంది. మరియు ఆ ఎక్కువగా అంతే. హన్నా BLUMBERG: నేను సిద్ధం అవుతుంది. అదే విధంగా మేము మీరు అడిగారు క్విజ్ 0 లో సి విధులను కొంత వ్రాసి, నేను దీన్ని తయారు అని PHP మరియు జావాస్క్రిప్ట్ లో అదే. MARIA ZLATKOVA: అవును. హన్నా BLUMBERG: నేను చెబుతా మేము లేదు వంటి కొద్దిగా వెళుతున్న మీరు ఒక భారీ HTML రాయడానికి చేయడానికి ఒక కొద్దిగా కేవలం ఎందుకంటే పేజీ దుర్భరమైన, కానీ మీరు భాగాలు కలిగి ఉండవచ్చు. పూర్తిగా ఫెయిర్ గేమ్. చిన్న HTML పేజీ ఇలా పూర్తిగా సరసమైన. ప్రేక్షకులు: OK. ఎలా గురించి జావాస్క్రిప్ట్ లో అదే? హన్నా BLUMBERG: అవును. జావాస్క్రిప్ట్ యొక్క ఫెయిర్ గేమ్. MARIA ZLATKOVA: అవును. ఆ పూర్తిగా ఫెయిర్ గేమ్. హన్నా BLUMBERG: మేము పొందుతారు వంటి 10 నిమిషాల్లో ఆ. MARIA ZLATKOVA: SQL, మళ్ళీ, నిర్మితీకృత ప్రశ్నా భాష. ఇది ప్రాథమికంగా మాకు డేటా నిర్వహించడానికి అనుమతిస్తుంది ఒక రిలేషనల్ డేటాబేస్ మేనేజ్మెంట్ లో వ్యవస్థ. కేవలం ప్రాథమికంగా అర్థం మేము ఎక్కడా కలిగి మేము అనుకొనుచున్న కొన్ని డేటా నిల్వ ఒక వెబ్సైట్ లో లేదా కొన్ని ఇతర రూపంలో ఉపయోగిస్తాయి. మరియు తర్వాత మేము పొందుటకు ప్రశ్నలను కలిగి మా డేటాబేస్ నుండి సమాచారాన్ని, లేదా వాటిని సమాచారం ఇన్సర్ట్. సాధారణ ones-- నవీకరణ చాలా, ఇన్సర్ట్, ఎంచుకోండి, మరియు తొలగించు. కాబట్టి అప్డేట్, ఈ వాక్యనిర్మాణం ఒక డేటాబేస్ లో డేటా నవీకరించుటకు కోసం. అని ఈ పట్టిక నవీకరిస్తోంది SET చెప్పి పట్టిక, మేము అన్ని కొన్ని విలువలను సెట్ చేయవచ్చు వేరే సమాన ఏదో వరుసలు. కాబట్టి మేము కూడా కొన్ని నిర్దిష్ట పేర్కొనవచ్చు మేము సవరించాలని అనుకుంటున్నారా ఎంట్రీలు మరియు ఆ పేరు ఉపయోగించి చేయవచ్చు. మరియు మేము మాత్రమే కావలసిన పేర్కొనవచ్చు కొన్ని వరుసలు సవరించడానికి ఎక్కడ ఇల్లు, మేము విద్యార్థులు యొక్క ఒక పట్టిక కలిగి ఉంటే మరియు అన్ని విద్యార్థులు, ఇల్లు కాబట్టి మేము కేవలం కొన్ని విలువలు సవరించడానికి చేస్తుంది ఒక ఇల్లు కరియర్ సమానం, ఉదాహరణకి. ఇన్సర్ట్, మేము ఇన్సర్ట్ చేయవచ్చు ఒక టేబుల్ లోకి కొన్ని విలువలు. కాబట్టి పట్టిక ఇన్సర్ట్, ఆపై విలువలు, ఆపై కుండలీకరణాలు, మేము పేర్కొనండి మీరు ఇన్సర్ట్ అనుకుంటే విలువలు. సో పట్టిక, COl1 ఇన్సర్ట్ మరియు col2, విలువ val1 మరియు val2 ఉంది. కాబట్టి ఈ లోకి ప్రాథమికంగా ఒక కొత్త వరుసగా ఇన్సర్ట్ విలువలు 1 మరియు 2 కలిగి పట్టిక నిలువు 1 మరియు 2 కింద. మరియు తర్వాత మేము వెళ్ళి చేయబోతున్నామని ఈ యెంత శీఘ్ర ఉదాహరణకు కొద్దిగా మా డేటాబేస్ లో వంటి. కానీ ఈ చివరి ప్రశ్న నేను మేము వెళ్ళి చూడాలని అనుకుంటున్నాను, బాలినేని, ఇది కేవలం మాకు అనుమతిస్తుంది ఒక పట్టిక నుండి డేటాను ఎంచుకోండి బహుశా తర్వాత అది ఉపయోగించడానికి. మరియు మేము దీన్ని విధంగా మనం కొన్ని వేరియబుల్ ఇది నిల్వ. మరియు తర్వాత మేము బహుశా మళ్ళీ ఉపయోగించవచ్చు. కాబట్టి ఎంచుకోండి స్టార్ అన్ని ఎంచుకోండి అర్థం. కేవలం సంక్షిప్త లిపి అన్ని ఎంచుకోవడం కోసం. పట్టిక నుండి, మేము శోధిస్తున్న కొన్ని నిర్దిష్ట పరిస్థితులకు, కాబట్టి కాలమ్ సమానం ఉదాహరణకు, ఏదో. మేము కేవలం కోరుకుంటే పట్టిక నుండి అన్ని ఎంచుకోండి, ఈ అన్ని నిలువు ఎంపిక మరియు ఒక పట్టిక నుండి అన్ని వరుసలు. ఆపై పట్టిక నుండి తొలగించు WHERE లోయ ఏదో సమానం, ఈ కొన్ని తొలగిస్తే మా పట్టిక నుండి వరుస ఇక్కడ మేము కొన్ని నిర్దిష్ట పరిస్థితులు ఉన్నాయి. ఈ సందర్భంలో, పరిస్థితులు ఉన్నాయి కాలమ్ ఏదో సమానం. ఈ కాబట్టి ఒక శీఘ్ర ఉదాహరణ. మేము ఇక్కడే మేము ఈ పట్టిక కలిగి ఉంటే ఒక టేబుల్ ఇన్సర్ట్, ఈ విలువలు, ఒక కొత్త వరుసను ఇన్సర్ట్ ఉంటుంది. మేము ఆటో-వృద్ధికి కలిగి ఉంటే, ఈ చేస్తాను కేవలం 2 0 to 1 నుండి మా ID పెంచుతాయి. మేము విద్యార్థులు నుండి అన్ని ఎంచుకున్నట్లయితే, అది అన్ని ఖాళీలను మరియు అన్ని వరుసలు తిరిగి. ఎక్కడ సంవత్సరం ఎక్కువ 2016 కంటే లేదా సమానం, కేవలం తిరిగి వస్తాడని హన్నా మరియు నాకు. మరియు తర్వాత మేము ఎంపిక ఉంటే విద్యార్థుల నుండి సంవత్సరం ID మరియు సంవత్సరం ఇంటి కాబోట్ హౌస్, ఉంది మళ్ళీ, హన్నా మరియు నాకు తిరిగి. అప్పుడు మేము విద్యార్థుల నుండి తొలగించిన ఉంటే పేరు పేరు, రాబ్ సమానం ఆ మొత్తం వరుస తొలగించవచ్చు ఉంటుంది. మరియు తర్వాత మేము సెట్ ఉంటే పేరు, UPDATE విద్యార్థులు సెట్ పేరు Daven సమానం ఇంటి సమానం కాబోట్ హౌస్, ఆ వెళ్ళడానికి జరగబోతోంది ఆ వరుసలు ఆపై పేరు అప్డేట్. ఆపై కొన్ని SQL డేటా రకాలు CHAR, VARCHAR Int, మరియు ఫ్లోట్. ఈ ఫెయిర్ గేమ్. నేను మళ్ళీ ప్రయత్నించాడు మరియు మీకు నిర్ధారించుకోండి మరియు, మీ మోసగాడు షీట్ మీద వాటిని కలిగి ఏమి ఆ అక్షరాలు ప్రతి కోసం ఉపయోగిస్తున్నారు, ఏమి మీరు మీ psets వాటిని ఉపయోగించిన మరియు మీరు తెలిసి నిర్ధారించుకోండి మరియు ఎంచుకోవడానికి కలిగి సౌకర్యవంతంగా మీ pset లో వివిధ రకాల డేటా నుండి. అవును. ప్రేక్షకులు: ఆ పట్టిక ఏం నిల్వ చేశారు? అవును, ఇక్కడ ఈ పట్టిక నిల్వ చేయబడుతుంది? MARIA ZLATKOVA: వెల్, ప్రస్తుతం, ఇది నిల్వ లేదు. ఏమైనా, ఇక్కడ ఈ పట్టిక నిల్వ చేయబడుతుంది? కానీ అది ఒక SQL డేటాబేస్ లో నిల్వ చేయవచ్చు. ప్రేక్షకులు: పేరు SQL డేటాబేస్ ఏమిటి? కంప్యూటర్, ఆన్లైన్ ఎక్కడో, సర్వర్? MARIA ZLATKOVA: ఇది ఒక ఉంటుంది అనేక విషయాల సంఖ్య. హన్నా BLUMBERG: మేము అంతర్ముఖం చేసిన ఎక్కువగా phpMyAdmin తో SQL పట్టికలు. కాబట్టి మేము ఒక సర్వర్ అడగండి కాలేదు మాకు వాటిని నిల్వ చేయడానికి. మేము మా స్వంత కంప్యూటర్ లో వాటిని నిల్వ చేసుకోవచ్చు. MARIA ZLATKOVA: ఇది కేవలం ఆధారపడి ఎలా మీరు మీ కోసం చేయాలనుకుంటున్నాను. కానీ మేము నిల్వ ఉండేది వాటిని, హన్నా పేర్కొన్న, phpMyAdmin, వీటిలో ఆన్లైన్. ఆపై మార్గాన్ని మేము ఉపయోగించే PHP మరియు SQL, మేము నిల్వ కొన్ని వేరియబుల్ లోకి మనం ప్రశ్నించిన చేసిన. మేము అన్ని చరిత్ర నుండి ఎంచుకోండి చేస్తే USER_ID సెషన్ ID సమానం, అన్ని వరుసలు ఎంచుకోండి అని నిర్దిష్ట వ్యక్తి ఎవరు చరిత్ర నుండి లాగిన్ పట్టిక మరియు వరుసలు వాటిని క్రమం. తెలిసిన ఒక చల్లని విషయం CS50 యొక్క ప్రశ్న ఫంక్షన్ ఆ SQL ఇంజెక్షన్ టాగ్లు వ్యతిరేకంగా రక్షిస్తుంది. కేవలం అది ఖచ్చితంగా చేస్తుంది అర్థం ఎంటర్ ఉంది ఇన్పుట్ సరైనది మరియు ఆ వ్యక్తి ఎవరు ఇన్పుట్ ఎంటర్ ఉంది ఇన్పుట్ ప్రయత్నిస్తున్న లేదు కొన్ని హానికరమైన కోడ్ గాని మా పట్టికలు డ్రాప్ లేదా ప్రతిదీ తొలగించండి మా డేటాబేస్ లోపల. యొక్క శీఘ్ర వివరణ మోడల్ చూడండి కంట్రోలర్ మోడల్, ఇది నిర్వహించాలనే కేవలం మార్గం మరియు కోడ్ గురించి ఆలోచిస్తూ. ఇది మళ్లీ ఒక రూపకల్పన రూపావళి వార్తలు. దాని అర్థం మేము ఉంది can-- మరియు అది మంచి పద్ధతి వివిధ ప్రాంతాల వేరు మా కోడ్ మరియు అవి ఏమి యొక్క ఈ మూడు నమూనాలు లోకి నియంత్రిస్తాయి. సో మా దృష్టిలో అత్యంత తరచుగా మా టెంప్లేట్లు మా లేఅవుట్, మార్గం మేము మా కోడ్ యెంత సెట్. ఆ ఎక్కువగా మా CSS ఫైళ్లు మరియు మార్గం మేము మా కోడ్ రూపకల్పన నిర్వచించే, ప్రధానంగా. మా నియంత్రిక ఎక్కువగా ఏమిటి మేము PHP ఫైళ్ళతో చేయడం చేసిన. మరలా, పని మేము కలిగి సమాచారం మరియు నిర్వచించు ఎలా సమాచారం, ఉపయోగిస్తారు మరియు ఆ సమాచారాన్ని ప్రయాణిస్తున్న గాని వీక్షణ లేదా నమూనా లోకి. మరియు మోడల్, మేము చేసిన విధంగా ఉపయోగించి చేయబడ్డాయి మా డేటాబేస్ ఉంది కాబట్టి మా సమాచార ఉన్న ఇది ఎక్కడో ఉంది కాబట్టి నిల్వ లో నివసిస్తున్నారు, మరియు ఏ విధానంకు సంబంధం ఆ కోడ్ మేము ఆ సమాచారాన్ని లేదా పొందుటకు మేము ఆ సమాచారాన్ని అప్డేట్ విధంగా. MVC మోడల్ సో, HTTP అభ్యర్థనలు ఒక వెబ్ సర్వర్ వెళ్తాయి. అప్పుడు నియంత్రిక భాషాంతరం వినియోగదారు నుండి అభ్యర్థన ఆపై యూజర్ ఇన్పుట్ నిర్థారించింది. ఇది మేము కలిగి ఐచ్చిక నియంత్రిక కమ్యూనికేట్ మోడల్తో, ఏదో కాబట్టి మా డేటాబేస్ వంటి లేదా కొన్ని ఇతర కార్యాచరణను ఆ ప్రసార సమాచారాన్ని. మరియు తర్వాత చివరకు, నియంత్రిక వీక్షణ పై సమాచారం వెళుతుంది కాబట్టి ఇది ఉంటుంది అన్వయించ మరియు అది చెయ్యవచ్చు ఆ ఏ వ్యక్తి కనిపించడానికి వెబ్ పేజీ యాక్సెస్. ఏవైనా ప్రశ్నలు? ఆసమ్. మరలా, మోడల్, దాని ఫంక్షన్, మళ్ళీ, సమాచారం యొక్క నిరంతర నిల్వ ఉంది మేనేజింగ్ మరియు డేటా నిర్వహణ. మరియు మేము చూసిన ఇప్పటివరకు MySQL డేటాబేస్ మరియు ఏ డేటా ఫైళ్లు ఉపయోగించవచ్చని. చూడండి, సమాచారం యొక్క ప్రదర్శన వినియోగదారు, UI, లేదా వినియోగదారు ఇంటర్ఫేస్. మరియు ఈ యొక్క ఉదాహరణ HTML ఉంది. మరియు తర్వాత మేము తక్కువ PHP కలిగి ఉండవచ్చు. సో ఒక లూప్ ఆ iterates డేటా పైగా ఆ ముద్రించబడి ఉంటాయి వీక్షణ భాగంగా ఉంది నియంత్రిక వ్యతిరేకించారు. మరియు మా PHP ఫైళ్లను అప్పుడు చాలా నియంత్రిక కోవకు. ఇది కేవలం యూజర్ అభ్యర్థనలు నిర్వహిస్తుంది మరియు మోడల్ నుండి సమాచారం అందుతుంది. డాక్యుమెంట్ దూకి ఆబ్జెక్ట్ మోడల్, ఈ కేవలం మార్గం HTML సూచిస్తుంది పత్రాలు నిర్వహిస్తారు. మరియు వారు ఒక చెట్టు లోకి నిర్వహించిన చేస్తున్నారు ఒక సోపానక్రమం ఆ నిర్మాణం. మేము యాక్సెస్ చేస్తే [వినబడని] పత్రం యొక్క ప్రాతినిధ్యాన్ని, మేము వంటి, పత్రంతో పని చేయవచ్చు మేము ప్రధానంగా వస్తువులను సర్దుబాటు. మరియు ఈ ఒక తయారు కొద్దిగా స్వచ్చమైన, ఉన్నప్పుడు మేము చాలా మా వివిధ టాగ్లు స్పందించడం మా చెట్టు వివిధ మార్గాలను. ఆపై ఈ ఉదాహరణకు, మేము మొదలు పత్రం నోడ్ కలిగి. మేము కలిగి, అప్పుడు, మా HTML నోడ్ ఆ తల మరియు శరీర లోకి విభజించింది. హెడ్ ​​అప్పుడు శీర్షిక మరియు ఉంది టైటిల్, హలో ప్రపంచ. మరియు మా శరీరం కేవలం కలిగి హలో, ప్రపంచం అలాగే. ఏ కాబట్టి ఏవైనా ప్రశ్నలు మేము ఇప్పటివరకు కవర్ విషయాలు? మరియు ఒకవేళ కాదు, హన్నా రెడీ జావాస్క్రిప్ట్ తో చేపట్టారు. ఆసమ్. హన్నా BLUMBERG: సరే, చల్లని. ఏదైనా PHP లేదా HTML తో వస్తుంది ఉంటే, లేదా మరియా కవర్ stuff ఏ, మేము ఎల్లప్పుడూ విరామం చేయవచ్చు. మేము మంచి చేస్తున్నా సమయం మళ్ళీ, కాబట్టి అద్భుతం. మరియు కేవలం తిరిగి వెళ్ళడానికి నిజంగా త్వరగా ఈ, మీరు ప్రతి చూస్తే గత ఏడాది పరీక్ష, ఈ either-- ఇక్కడ ఉంది వస్తుంది కొన్ని HTML ఈ రేఖాచిత్రంలో చేస్తాయి. లేదా ఇక్కడ ఈ చిత్రంలో వార్తలు, కొన్ని చేయడానికి HTML, కాబట్టి ఖచ్చితంగా ఆ సాధన. ఆపై ఒక హామీ మీరు కుడి పొందవచ్చు ప్రశ్న. కూల్. కాబట్టి యొక్క జావాస్క్రిప్ట్ గురించి మాట్లాడటానికి వీలు మరియు అది ఒక చిన్న బిట్ ఎలా PHP మరియు వంటి భాషల నుండి విభిన్నమైన సి, మేము ముందుగానే చూసింది రెండు భాషలు. కాబట్టి నెంబర్ వన్, అది వదులుగా చేసిన. ఆ PHP వంటి, కానీ C. కాకుండా ఇది ఒక అర్థం భాష. మళ్ళీ, ఆ వంటిది PHP, C. మరియు ఈ కాకుండా మాకు అది use-- అనుమతిస్తుంది అన్నారు వెబ్ పేజీలతో నిజంగా చక్కగా పనిచేస్తుంది. ఇది మాకు మార్చటానికి అనుమతించే అవకాశముంది కంటెంట్ మరియు ఎలా ఉంది మరియు అది ఏమి. మేము అజాక్స్ యొక్క కొద్దిగా చూడండి చూడాలని. ఇది మాకు సంభాషించడానికి అనుమతిస్తుంది క్రమపద్దతిలో వివిధ సర్వర్లు తో మరియు సమాచారాన్ని పొందండి. మరియు ఈ విషయం నిజంగా ఉంది PHP మరియు C నుండి జావాస్క్రిప్ట్ వేరు ఇది క్లయింట్-వైపు ఉంది. రెండు PHP మరియు C ఉంటాయి సాధారణంగా సర్వర్ సైడ్. చాలా భాగం మరియు దాదాపు పూర్తిగా ఏమి మేము కనీసం లో చూసిన ఈ తరగతి, JavaScript అంటే, క్లైంట్ వైపు పనిచేస్తుంది బ్రౌజర్ నిజానికి అని అది నడుస్తున్న బాధ్యత. మరియు ఆ మేము లేదు అర్థం సర్వర్ సంకర్షణ అవసరం. కనుక ఇది చాలా వేగంగా ఉంటుంది అర్థం వాస్తవానికి ఎందుకంటే కేవలం అది Chrome వార్తలు అది ఫైర్ఫాక్స్, వార్తలు, Safari సంసార మీరు నిజానికి ఉపయోగించడానికి మీ జావాస్క్రిప్ట్ను అమలు. ప్రేక్షకులు: అసమకాలిక అర్థం ఏమిటి? హన్నా BLUMBERG: అమ్మో, ఏమి క్రమపద్దతిలో అర్థం ఏమిటి? గ్రేట్ ప్రశ్న. క్రమపద్దతిలో means-- బాగా, కంటెంట్ దీనిలో మేము అది సరే, ఉంది, మేము ఒక వెబ్ పేజీ సృష్టిస్తున్నారు మరియు మేము కొంత సమాచారాన్ని పొందాలి. మాషప్ యొక్క ఉదాహరణ తో కాబట్టి, మేము అనుకోవచ్చు కొన్ని సమాచారం వ్యాసం శీర్షికలు ఉంది. ఇప్పుడు, మేము ఒక ఎంపికను చేస్తే ఏకకాలంలో దీన్ని ఉంది మరియు లెట్స్ అర్థం ఆపడానికి, వ్యాసం పొందుటకు వెళ్ళి, తరువాత వ్యాసం తిరిగి పొందడానికి, మరియు నటించు, కానీ ఆ నిజంగా నెమ్మదిగా ఉంటుంది. ఒక చెడ్డ వినియోగదారు అనుభవం ఉంటుంది మీరు కేవలం కూర్చొని ఉంటుంది ఎందుకంటే ఏదో స్పందించడం అక్కడ వేచి. క్రమపద్దతిలో మేము చేస్తాము అర్థం మా వ్యాపారం గురించి జరగబోతోంది కొనసాగించడానికి, పేజీ రెండరింగ్, మరియు మేము ఒక అభ్యర్థన ఆఫ్ పంపుతాము ఆ రకమైన జరగబోతోంది నేపథ్యంలో జరిగే. మనం ఉదాహరణలో ఉపయోగించడానికి భావిస్తున్నాను రాబ్ కాల్ మరియు మాట్లాడుతూ ఉపన్యాసం, హే, మీరు ఈ అప్ చూడవచ్చు మరియు నాకు నాకు తిరిగి, నాకు వ్యతిరేకంగా ఫోన్ న వేచి. కాబట్టి క్రమపద్దతిలో అది జరుగుతుంది అంటే మాకు దూరంగా నేపథ్యంలో సమాంతరంగ. గ్రేట్ ప్రశ్న. ఇంకా ఏమైనా? గ్రేట్. మేము లోకి చాలా జంప్ చేస్తాము అజాక్స్ తో అసమకాలిక అభ్యర్థనలు. ప్రేక్షకులు: చేస్తుంది అక్కడ జావాస్క్రిప్ట్ డజ్ నమూనా వీక్షణ నియంత్రిక తో వస్తాయి? హన్నా BLUMBERG: గ్రేట్ ప్రశ్న. ఎక్కడ జావాస్క్రిప్ట్ పడి మోడల్ వీక్షణ నియంత్రిక? అవును. నేను fall-- అంచనా కాబట్టి మేము సాధారణంగా లేదు ఆ గా squish చేయాలని రూపావళి, కానీ నేను చెబుతా అంచనా, OK, కాబట్టి JavaScript నిజానికి అనుమతిస్తుంది అన్నారు మాకు, డేటాను సేకరించడానికి నిజానికి లేదు, డేటా అనువదించేందుకు డేటా అర్థవంతమైన విషయాలు. ఆ విధంగా, అది చాలా నియంత్రణ-వంటిది. కానీ అది కూడా మాకు అనుమతించే అవకాశముంది విషయాలు మరియు ముద్రణ విషయాలు ప్రదర్శించడానికి. ఆ విధంగా, అది చాలా వీక్షణ వంటిది. అవును. కాబట్టి అది PHP వంటి రకమైన ఉంది అది రకమైన ఇరువురి ఉంటుంది. మంచి ప్రశ్న. ఇంకా ఏమైనా? అద్భుతం, అన్ని కుడి. కుడి పాటు మూవింగ్. కాబట్టి యొక్క ఒక ఉదాహరణ చూద్దాం మేము ఉపయోగించవచ్చు ఎలా మా వెబ్ కార్యక్రమాలు ఒకటి జావాస్క్రిప్ట్. నేను ఈ పరిగణలోకి చేస్తాము HTML యొక్క ఒక సమూహం తో index.html. మరియు విషయం నేను మీకు కావలసిన దృష్టి ఈ స్క్రిప్ట్ ట్యాగ్ ఉంటుంది. మరియు ఈ OK, నేను కొన్ని అమలు చేయండి, చెప్పారు ఇది జీవించింది ఇక్కడ JavaScript మరియు ఉంది. ఇది hello.js నివసిస్తున్నారు. చాలా CSS వంటి, మేము అనుకొనుట HTML లోపల జావాస్క్రిప్ట్ చాలు. ఎందుకు మేము అది వేరు అనుకోవచ్చు? అవును. ప్రేక్షకులు: తిరగరాయాల్సి సులభంగా? హన్నా BLUMBERG: అవును. అది అంతటా ఉపయోగించడానికి సులభం వివిధ వెబ్ పేజీలు. అది క్లీనర్ విషయాలు ఉంచుతుంది. ఇది కేవలం మంచి పద్ధతి. ఆసమ్. మంచి సమాధానం. కాబట్టి మంచి, ఈ వెళ్లి మా index.html ఉండాలి. ఆపై డౌన్ ఇక్కడ మా ఉంది చిన్న జావాస్క్రిప్ట్ ఫైలు. మరియు అది అన్ని హలో ప్రపంచ హెచ్చరిక ఉంది. కాబట్టి ఏమి ఉన్నప్పుడు ఈ పేజీ renders-- కాబట్టి మీరు సంసార వెబ్సైట్ వెళ్ళండి ఉంటే ఈ అన్ని ఆ జరిగే అవకాశముంది is-- OK, నేను ఉన్నాను, అది జరగబోతోంది చెప్పడానికి ఈ JavaScript కోడ్ అమలు వెళుతున్న. మరియు ఈ JavaScript కోడ్ కేవలం హెచ్చరిక హలో, ప్రపంచం చెప్పారు. నేను ఈ పొందడానికి వెళుతున్న స్నేహపూర్వక కొద్దిగా పాప్ అప్. కూల్? చాలా మొదటి రకం మా వంటిది జావాస్క్రిప్ట్ ప్రోగ్రాం మా హలో, ప్రపంచం. గురించి కొద్దిగా ఎక్కువ చూద్దాం ఏమి జావాస్క్రిప్ట్ వాక్యనిర్మాణం కనిపిస్తోంది. మరియు ప్రత్యేకంగా, దాన్ని అది పోల్చి చూద్దాం మేము ముందు చూసిన ఇది C మరియు PHP. జావాస్క్రిప్ట్ లో, మేము చూడాలని var, వేరియబుల్ పేరు, మరియు అప్పుడు దాని వాస్తవ విలువ. మరియు మేము కేవలం ఒక రకం ఇవ్వకండి PHP లో, కానీ చాలా C. లో వంటి కాకుండా మనం కోరుకున్న ఉదాహరణకు, చేస్తే విలువ 50 నిల్వ సి లో, మేము చెప్పటానికి కలిగి ఉంటుంది, హే, సి, నేను ఒక పూర్ణాంకం కావలసిన, నేను కాల్ వెళుతున్న నేను, దాని విలువ 50. PHP లో, కొద్దిగా సులభం. మేము హే, నేను ఒక వేరియబుల్ కావలసిన, చెప్పటానికి నేను అనే దాని విలువ 50. చాలా అదేవిధంగా, JavaScript, మేము హే, నేను ఒక వేరియబుల్ నేను అనే అనుకుందాం దాని విలువ 50. నేను ఉపయోగించే ప్రతి తదుపరి సమయం నేను var వ్రాయడానికి అవసరం లేదు. ఇది కేవలం నేను ఆ సమయం నుంచి. సి, ఇక్కడ కూడా అదే విధంగా, లో మేము Int ఐ సే ఒకసారి మేము ఉపయోగించడానికి. కూల్? అయితే సరే. ఉచ్చులు వెళ్ళేముందు, అదృష్టవశాత్తూ, ఈ దాదాపు నేను వారు భావిస్తున్నాను exactly-- చూడండి ఏమి సరిగ్గా అదే ఉచ్చులు లో లాగా వెళ్తున్నారు సి వంటి ఏదో పేరు మీ లూప్ మూడు కలిగి అన్నారు , ఒక ప్రారంభ parts-- ఒక పరిస్థితి, మరియు ఒక నవీకరణ. ఒక సమయంలో లూప్, అది ఖచ్చితమైన కనిపిస్తుంది. మేము దానిని ఒక పరిస్థితి ఇవ్వాలని. మరియు ఒక డో సమయంలో లూప్, మళ్ళీ, సరిగ్గా అదే. మేము అది ఒక పరిస్థితి ఇవ్వాలని. యొక్క నేను over-- iterate కోరుకున్నారు సే నేను ఏదో ఐదుసార్లు చేయాలనుకున్నాము. సి, మేము వ్రాస్తానని init కోసం నేను 0 సమానం. నేను 5 కంటే తక్కువ, i ++. మాత్రమే తేడా, JavaScript, బదులుగా నేను 0 సమానం పూర్ణాంకానికి చెప్పడం, మేము var నేను 0 సమానం చెప్పడానికి. అందమైన. మాత్రమే తేడా ఉంది. ఏ ఏ ప్రశ్నలు? అవును. ప్రేక్షకులు: PHP లో కాబట్టి, అది సేమ్ విషయం తప్ప కానీ ఒక వేరియబుల్ వంటి? లేదా ఒక var ఉదాహరణకు ఉంది? హన్నా BLUMBERG: అవును. కాబట్టి PHP లో, అది జరగబోతోంది ఒక డాలర్ సైన్ ఉండాలి. కనుక ఇది $ i సమానం జరగబోతోంది 0, $ i $ i ++ కంటే తక్కువ 5 ఉంది. గ్రేట్ ప్రశ్న. ఇప్పుడు మాట్లాడటానికి వీలు ఫంక్షన్ ప్రకటనలు. సి, మేము ప్రకటించడంతో ఒక ఫంక్షన్, మేము అది ఒక పేరు ఇచ్చి మరియు మేము అది కొన్ని పారామితులు ఇచ్చింది. మరియు ప్రారంభంలో, మేము రకం రాశారు. జావాస్క్రిప్ట్ లో, అన్ని మేము రాయడానికి చెయ్యవలసింది కీవర్డ్ ఫంక్షన్ హే, JavaScript, చెప్పారు నేను ఒక ఫంక్షన్ నిర్వచించే గురించి ఉన్నాను. ఈ సందర్భంలో, ఇది పేరు మొత్తం ఉంది. మరియు అది రెండు వాదనలు, x మరియు y ను తీసుకుంటుంది. మేము శ్రద్ధ లేదు అని గుర్తించలేకపోతే x మరియు y యొక్క రకాల గురించి. మరియు కేవలం సి వంటి, మేము కలిగి ఈ ముఖ్యపదాన్ని తిరిగి, కాబట్టి మేము ఏదో ఒకటి చెయ్యాలి తిరిగి x మరియు y వంటి. ఇప్పుడు ఒకసారి మేము ఈ మొదటి వ్రాయలేదు ఫంక్షన్, మేము ఎక్కడైనా మొత్తం ఉపయోగించవచ్చు. మరియు ఆ పూర్తిగా మంచిది. వన్ నిజంగా చల్లని విషయం గురించి సి కాకుండా చాలా ఉంది అని జావాస్క్రిప్ట్ విధులు చేసుకోగలను విలువలు వంటి చికిత్స. కాబట్టి మేము ఇక్కడ వంటి ఏదో ఒకటి చెయ్యాలి నా ఉద్దేశం ఇక్కడ నేను ఈ మీరే కవర్ నేను var మొత్తం అప్ కవర్ part-- మరియు మేము కేవలం ఇలా ఫంక్షన్ xy తిరిగి x ప్లస్ y సమానం. ఆ అని ఏమిటి ఒక అనామక ఫంక్షన్. ఇది ఒక పేరు లేకుండా ఒక ఫంక్షన్ ఉంది. ఈ ఫంక్షన్ చెప్పారు అయితే మొత్తం, బ్లా, బ్లా, బ్లా, ఈ కేవలం ఫంక్షన్ చెబుతా. కానీ ఇప్పుడు నేను లేనప్పటికీ ఈ అనామక ఫంక్షన్, ఆ ఫంక్షన్ నిజంగా ఒక విలువ. మేము ఒక విలువ వంటి చికిత్స చేయవచ్చు. కాబట్టి మేము ఒక వేరియబుల్ అదే లో సేవ్ చేయవచ్చు మార్గం మేము ఒక వేరియబుల్ 50 నిల్వ చేసుకోవచ్చు. కాబట్టి మేము సరే, నేను ఒక కావలసిన చెప్పగలదు వేరియబుల్, అది మొత్తం అని మరియు అది ఈ విధి. కాబట్టి ఈ రెండు విషయాలు నిజానికి ఉన్నాయి ఖచ్చితమైన ఇదే చేయబోవడం, కానీ సింటాక్స్ ఒక చిన్న ఉంది వివిధ మరియు ఒక ఆహ్లాదకరమైన నోటు రకమైన. అవును. ప్రేక్షకులు: మీరు కాల్ కాలేదు కాబట్టి ఒక చెప్పి అనామక ఆ ఫంక్షన్ మొత్తం బ్రాకెట్లలో 2, 5? హన్నా BLUMBERG: అవును. మీరు ఈ అనామక కాల్ చేయవచ్చు అదే విధంగా ఫంక్షన్. మీరు మొత్తం చేయరు (2, 5) ;. ఆ పూర్తిగా మంచిది ఉంటుంది. నేను var మొత్తం సమానం చేయకపోతే ఫంక్షన్, నేను కేవలం తొలగించారు ఉంటే దీన్ని నేను నా వైపు తెలుసు, కానీ నేను అప్పుడు దీన్ని తొలగించారు నటిస్తారు ఆ ఫంక్షన్ రకమైన కేవలం పారిపోయిన. మీరు మళ్ళీ ఎందుకంటే ఉపయోగించే ఎప్పుడూ చేయవచ్చు మీరు దాని కోసం ఒక పేరు లేదు. ఇది ఏదో సూచించడానికి కష్టం మీరు ఏమి కాల్ తెలియదు. మంచి ప్రశ్న. అవును. ప్రేక్షకులు: మీరు మొత్తం సూచించవచ్చు x ప్లస్ y యొక్క విలువ ఇతర ప్రదేశాల్లో? హన్నా BLUMBERG: మీరు ఇతర ప్రదేశాల్లో సూచన మొత్తం విలువ x ప్లస్ y తో? నేను మీరు అర్థం పూర్తిగా తెలియదు. ప్రేక్షకులు: సో మీ గత సెమీ-అనామక ఫంక్షన్ మొత్తానికి ఈ సమానం ఉంది అనామక ఫంక్షన్, కాబట్టి మొత్తానికి మీరు can-- ఇప్పుడు ఒక వేరియబుల్ హన్నా BLUMBERG: కుడి. సో మొత్తం చంచలమైనది కానీ అది నిజానికి వార్తలు కాబట్టి మొత్తం దీని ఒక చరరాశి విలువ ప్రమేయం. కనుక ఇది రకమైన ఇది ఒక ఫంక్షన్ ఉంది ఒక విచిత్రమైన విషయం మీ తల చుట్టూ మూసివేయాలని మేము ప్లే చేసిన తర్వాత సి మరియు మీరు C. లో అలా కాదు కానీ ఇప్పుడు మేము కాల్ సంకలనం చేయవచ్చు మేము ఇక్కడ మొత్తం కాల్ కాలేదు అదే విధంగా. ప్రేక్షకులు: OK. హన్నా BLUMBERG: అవును. మంచి ప్రశ్న. అవును. ప్రేక్షకులు: సో మేము ఉపయోగించే లేదు PHP లేదా జావాస్క్రిప్ట్ ప్రోటోటైప్స్? హన్నా BLUMBERG: లేదు, మేము ట్రోపోటైప్ల్లో ఉపయోగించడానికి అవసరం లేదు, ముఖ్యంగా జావాస్క్రిప్ట్ లో. నేను ఉన్నాను కాబట్టి ఒక చెడ్డ అలవాటు విషయం మీరు అలా చేయాలి అని చెప్పటానికి వెళుతున్న మీరు var i = 50 వ్రాయడానికి కలిగి లేదు. మీరు కేవలం 50 = i చేయడం మొదలు కాలేదు. మరియు కేవలం నేను ఒక ప్రపంచ వేరియబుల్ తయారవుతుంది. ఇది చాలా తప్పుడు పద్ధతి ఎప్పుడూ స్పష్టమైన var నేను చెప్పేది కానీ మీరు చేయవచ్చు ఏదో ఉంది. వ్యాఖ్యాత కాదు మీరు అరుస్తుంటారు అన్నారు. జావాస్క్రిప్ట్, అందంగా వంటిది మీరు ఏమి చేయవచ్చు. క్షమించు. రెండు ఉంది. నారింజ ప్యాంటు. ముందుకి వెళ్ళు. ప్రేక్షకులు: లేదు, మీరు మొదటి వెళ్ళి. ప్రేక్షకులు: లేదు, నేను కేవలం చెప్పడం జరిగింది నా అరచేయి లేదు. అలాగే. మీరు కాల్ చేస్తే మొదటిసారి, ఇప్పుడు, సంకలనం మేము అదే విధంగా అది కాల్, x y, ప్రతి ఒక్క సారి వంటి? హన్నా BLUMBERG: అవును. కాబట్టి ఈ రెండు తప్పనిసరిగా ఇదే. ప్రేక్షకులు: ఏమి ప్రయోజనం ఒకటి లేదా ఇతర ఉపయోగించి యొక్క? హన్నా BLUMBERG: ఎటువంటి ప్రయోజనం ఒకటి లేదా ఇతర ఉపయోగించి యొక్క. నేను మీరు రెండు చూపించు కోరుకున్నాడు వాక్యనిర్మాణం వివిధ ముక్కలు. చాలా సార్లు ఇక్కడ అనామక విధులు ఒక ప్రయోజనం కలిగి ఉంటే మరొక వాదన ఫంక్షన్ ఒక ఫంక్షన్ ఉండాలి. మరియు మేము లో చూస్తారు అజాక్స్ తో కేవలం రెండవ. ఏ అర్ధవంతం లేదు చేస్తే, మీ తల వెనుక నిల్వ. ఆ పేరు ఒక అనామక వార్తలు ఫంక్షన్ ఉపయోగకరంగా ఉండవచ్చు అది విలువ నిజంగా కాదు ఎందుకంటే మేము కేవలం ఉన్నకారణంగా ఒక పేరు ఇచ్చి ఒకసారి దానిని ఉపయోగించడానికి వెళుతున్న. అవును. ప్రేక్షకులు: ఉంటే x మరియు y మార్పు తర్వాత లో కూడా మారుతుంది సంకలనం కనిపిస్తుంది? హన్నా BLUMBERG: ఉంటే x మరియు y మార్పు తర్వాత కూడా మారుతుంది సంకలనం కనిపిస్తుంది? సో ఈ నేను నిజానికి , ఏదో అనుకుంటున్నాను మళ్ళీ, అది కేవలం చాలా వివిధ అనిపిస్తుంది C. నుండి ఈ క్రింది కాదు. ఇది 5 కాదు. ఇది కేవలం ఫంక్షన్ కూడా ఉంది. కాబట్టి వెంటనే మీకు అది పారామితులు ఇవ్వాలని, అప్పుడు మీరు అసలైన విలువ లెక్కించేందుకు చేస్తాము. MARIA ZLATKOVA: ఆపై మీరు ఫంక్షన్ కాల్ చేయవచ్చు మరియు కొన్ని విలువ పొందడానికి దాన్ని ఉపయోగించండి. హన్నా BLUMBERG: కుడి. సరిగ్గా. అవును. ప్రేక్షకులు: మీరు చేస్తే కేవలం వేరియబుల్ ఇది నిల్వ, var x వంటి రెండు విలువల్లో మొత్తం సమానం హన్నా BLUMBERG: అవును. సో మీరు కేవలం var మొత్తం చేయగల రెండు విలువల మొత్తానికి సమానం. అవును. ఏదైనా ఇతర ప్రశ్నలు? అవును. ప్రేక్షకులు: కొనసాగించేవారు మొత్తం మరియు మొత్తం కంగారు? మీరు మీ వేరియబుల్ మొత్తం కాల్ వలె, మీరు ఫంక్షన్ మొత్తానికి అంటారని? హన్నా BLUMBERG: Mm. Mm. మీరు ఏదో చేస్తే వంటి, మొత్తం మొత్తం 2, 5 సమానం? ప్రేక్షకులు: అవును. హన్నా BLUMBERG: నేను నమ్మకం మొత్తం విలువ తిరిగి రాస్తుంది ఉంటుంది. కాబట్టి మరో ఆసక్తికరమైన జావాస్క్రిప్ట్ గురించి విషయం ఒక వేరియబుల్ పడుతుందని ఉంది వివిధ రకాల బంచ్ న. తప్పుడు ఆచరణ. మీరు ఏదో అలా చేయాలి వంటి మీరు చెప్పిందంతా. కానీ సి లో, నేను సెట్ చేయబడి ఉంటే పూర్ణాంకం సమానంగా, మేము అది ఎప్పటికీ తెలుసు ఒక స్ట్రింగ్ మారింది అన్నారు. ఈ JavaScript లో కేసు కాదు. అవును, మంచి ప్రశ్న. ఇంకా ఏమైనా? అయితే సరే. సమయం అన్ని కుడి చేయడం. కీపింగ్ అన్నారు. అయితే సరే. మేము ఒక అర్రే వద్ద చూస్తే జావాస్క్రిప్ట్ లో, ఇక్కడ తీగలను యొక్క వ్యూహం యొక్క శీఘ్ర ఉదాహరణ. మరియు శ్రేణుల డైనమిక్ పెరుగుతాయి. వారు ఒక కలిగి లేదు అదే విధంగా స్థిర పరిమాణం వారు C. చేయుచున్న ప్రాప్తి చేయవచ్చు కేవలం చదరపు బ్రాకెట్స్ అంశాలు. ఆ PHP మరియు చాలా వంటి చాలా కనిపిస్తుంది మేము ఈ సందర్భంలో, చెప్పే ఇక్కడ C, వంటి, నేను పదం జావాస్క్రిప్ట్ కోరుకుంటే, నేను చేస్తాను ఒక 0, 1, 2 చదరపు బ్రాకెట్లలో చేరే లేదు. మేము ఆపై మీరు C లో గుర్తుంచుకుంటే వ్యూహం యొక్క పొడవు పొందడానికి కోరుకున్నాడు, ఇది నిజంగా బాధించే ఉంది. జావాస్క్రిప్ట్ లో, సూపర్ సులభం. మేము అన్ని, .పొడవు. ఇది పొడవులు ఇస్తుంది. అంతే. ప్రేక్షకులు: చాలా సులభం. హన్నా BLUMBERG: అవును, చేస్తుంది మీ జీవితం చాలా సులభం. సరే, లేదు object--. జావాస్క్రిప్ట్ భావాన్ని వస్తువులను సి లో structs వంటి చాలా మరియు PHP లో సహయోగ శ్రేణుల. కాబట్టి మేము చూసిన ఒక చాలా JSON, ఇది జావాస్క్రిప్ట్ ఆబ్జెక్ట్ నొటేషన్ సూచిస్తుంది. మరియు ప్రధానంగా ఒక మార్గం మా డేటా తయారు. కాబట్టి యొక్క ఒక ఉదాహరణ చూద్దాం బహుశా సులభమైన. కాబట్టి ఇక్కడ ఒక వస్తువు యొక్క ఒక ఉదాహరణ వార్తలు ఆ CS50, తరగతి నిల్వ. నేను క్లాస్ చెప్పినప్పుడు మీరు, నేను, కోర్సు అర్థం కాదు, చాలా, అవును CS50 కోర్సు గందరగోళంగా గెట్స్. మరియు మీరు చూస్తారు వస్తువు ప్రతిదీ చేర్చిన అన్నారు గిరజాల జంట కలుపులు. మరియు మేము రంగంలో పేర్లు అనుబంధం మొదలు లేదా వివిధ విలువలతో కీలు. సో మీరు ఎలా ఈ రకమైన చూడడానికి చేయవచ్చు PHP లో ఒక అనుబంధ శ్రేణి వంటి అనిపిస్తుంది. కాబట్టి మేము రంగంలో అనుబంధం చూడాలని లేదా కీ పేరు, కోర్సు, స్ట్రింగ్ తో, CS50. మేము ఒక బోధకుడు చూడాలని. మేము TFS, చూడాలని. మేము psets సంఖ్య చూడాలని మరియు మేము రికార్డ్ చేసారు చూడాలని. మరియు గమనించదగ్గ ఒక చల్లని విషయం అన్ని ఉంది ఈ విషయాలు వివిధ రకాల కలిగి, మరియు ఆ పూర్తిగా మంచిది. ఇది వాస్తవానికి, ఒక వస్తువు కోసం మంచిది అది బహుశా ఒక వస్తువు కోసం అంచనా తీగలను కలయిక కలిగి మరియు సంఖ్యలు మరియు బూలియన్ మరియు శ్రేణుల మరియు else సంసార మీరు వాటిని మీ వస్తువు లోపల కలిగి అనుకుంటున్నారా. మరియు ఈ ఉంటాయని గమనించండి పేర్లు లేదా కీలు, మరియు అప్పుడు మేము కేవలం కొద్దిగా కొలన్తో సమానంగా సెట్. ప్రేక్షకులు: ఖచ్చితంగా JSON అర్థం ఏమిటి? హన్నా BLUMBERG: వాట్ ఖచ్చితంగా JSON అర్థం ఏమిటి? JSON కేవలం ఉన్నచో జావాస్క్రిప్ట్ ఆబ్జెక్ట్ నొటేషన్. ఇది ఫార్మాటింగ్ కేవలం ఒక మార్గం. అవును. ఇది మా డేటా ఫార్మాటింగ్ ఒక మార్గం. సి లో, structs వార్తలు. PHP లో, అది సహయోగ శ్రేణుల వార్తలు. జావాస్క్రిప్ట్ లో, మేము వస్తువులు ఉన్నాయి. ప్రేక్షకులు: సో CS50 ఒక వస్తువు ఉంది? హన్నా BLUMBERG: CS50 ఉంది ఈ సందర్భంలో వస్తువు. ఇప్పుడు, ఎలా మేము నిజంగా యాక్సెస్ చేయుటకు ఆ ఖాళీలను ఆ ఖాళీలను మార్చడానికి లేదా. ఉదాహరణకు, మేము ఆ నిర్ణయించుకుంది ఊహించు మీరు ఒకటి తక్కువ pset ఈ సెమిస్టర్ కావలెను. బదులుగా తొమ్మిది, మేము ఉన్నాము కేవలం ఎనిమిది పొందబోతున్నారు. ఎలా మేము చేస్తున్నాము మారుస్తామని? ఓహ్, తప్పు మార్గం. మేము అలా చేసే రెండు మార్గాలు ఉన్నాయి. ప్రధమ డాట్ తో ఉంది సంజ్ఞామానం మరియు సంఖ్య రెండు చదరపు బ్రాకెట్ సంజ్ఞామానం ఉంది. కాబట్టి, ఉదాహరణకు, నేను ఉంటే మార్చడానికి లేదా యాక్సెస్ కోరుకుంటే మా CS50 వస్తువులో psets రంగంలో నేను ఏమి అని CS50.psets ఉంది, కాబట్టి వస్తువు డాట్ పేరు ఫీల్డ్ లేదా కీ యొక్క పేరు. చాలా అదేవిధంగా, అది ఖచ్చితంగా ఉంది సమానమైన అప్పుడు CS50 చేయండి, మరియు చదరపు జంట కలుపులు, psets. కూల్? అవును. ప్రేక్షకులు: సో JSON ఉంది ఇప్పటికీ సాంకేతికంగా JavaScript, అయినప్పటికీ psets లో మేము [వినబడని] అది వేరు? హన్నా BLUMBERG: ఖచ్చితంగా. ప్రశ్న కాబట్టి, ఉన్నాయి జావాస్క్రిప్ట్ మరియు JSON సమానమైన? కాబట్టి JSON సంజ్ఞామానం basically, ఉంది మేము వ్రాసే విధంగా జావాస్క్రిప్ట్ నుండి ఒక వస్తువు. కాబట్టి అవి సరిగ్గా అదే కావు. నేను, జావాస్క్రిప్ట్ చెబుతా జావాస్క్రిప్ట్ లో వస్తువులు. JSON ఆ వస్తువుల పడుతుంది మరియు వాటిని ముద్రిస్తుంది మరియు వాటిని ప్రదర్శిస్తుంది లేదా ఒక nice విధంగా వాటిని నిల్వ. కాబట్టి JSON ఒక ప్రోగ్రామింగ్ కాదు భాష జావాస్క్రిప్ట్ అని మార్గం. ఇది కేవలం సంకేతం జావాస్క్రిప్ట్ లో మా వస్తువులు. అవును. ప్రేక్షకులు: సో వాట్ సరిగ్గా [వినబడని] పూర్తి? హన్నా BLUMBERG: ఖచ్చితంగా. కాబట్టి ఈ వాస్తవానికి ఏమీ లేదు. ఈ యాక్సెస్ కేవలం ఒక మార్గం. కాబట్టి యొక్క మేము మార్చడానికి కోరుకున్నారు సే సమస్య సెట్లు సంఖ్య ఎనిమిది తొమ్మిది నుండి. మనం చెయ్యవలసింది ఏదోఒకటి ఉంది CS50.psets = 8 ;. వంటి అవును, గొప్ప ప్రశ్న. ఈ కేవలం మీరు వాక్యనిర్మాణం ప్రదర్శిస్తాయి. నిజానికి ఉపయోగకరంగా ఏమీ లేదు. ఏవైనా ప్రశ్నలు? కుడి పాటు మూవింగ్. కాబట్టి యొక్క ఎలా ఒక శీఘ్ర ఉదాహరణకు చూద్దాం నేను మీరు చెప్పారు ఎందుకంటే జావాస్క్రిప్ట్ పనిచేస్తుంది చేస్తుంది ఈ మంచి విషయాలు మరియు మాకు వెబ్ పేజీలు సవరించడానికి అనుమతిస్తుంది. యొక్క నిజానికి చర్య లో చూద్దాం. కాబట్టి, ఉదాహరణకు, ఈ HTML ఫైల్ పడుతుంది. నేను మీరు దృష్టి కేంద్రీకరించాలి విషయం ఒక బటన్ ఈ ప్రత్యేక ట్యాగ్, id search_button తో. ఇది కేవలం పేజీ ఉంది. కాబట్టి ఇప్పుడు యొక్క చూసేలా ఏమి మనం నిజంగా చేయవచ్చు. Well, ఎప్పుడు అనుకుందాం మీరు ఆ బటన్ క్లిక్ మేము ఒక alert-- చేయాలనుకుంటున్నాము మీరు బటన్ క్లిక్. యొక్క మేము అలా ఎలా చూద్దాం. కాబట్టి ఈ విషయం కాదు window.onload-- ఆ మీరు కనుక, తరగతి చూసిన క్విజ్ తెలుసుకోవాల్సిన అవసరం లేదు. కానీ ఈ ప్రాథమికంగా సరే, కాల్, చెప్పారు ఈ ఫంక్షన్ విండో లోడ్లు. కాబట్టి కేవలం రకమైన సెటప్ కోడ్ వార్తలు. గురించి చాలా ఆందోళన లేదు. నేను మీరు దృష్టి కేంద్రీకరించాలి ఇక్కడ ఉంది. మేము var searchButton సమానం చెప్పడానికి document.getElementByID search_button. మీరు ఊహించినట్లుగా, కాబట్టి ఈ ఏమి, అది చెప్పారు సరే, మూలకం కనుగొనేందుకు వెళ్ళి ID search_button తో. ఇప్పుడు మేము కలిగి మరియు నేను ఉన్నాను వాస్తవ మూలకం ఒక లో నిల్వ వెళుతున్న వేరియబుల్ searchButton. ఇప్పుడు మేము నిజంగా ఆ మూలకం ఉపయోగించవచ్చు మరియు దానిని మార్చడం, లేదా దాని విలువలు యాక్సెస్, ఆ వంటి విషయాలు. మేము నిజానికి ప్రారంభించవచ్చు వెబ్ పేజీ సన్నిహితంగా. ఇక్కడ నేను ఇప్పుడు నేను ఆ, సరే, చెప్పడానికి ఇది క్లిక్ చేసినప్పుడు ఆ బటన్, ఈ అనామక ఫంక్షన్ కాల్. కాబట్టి ఈ అజ్ఞాతం విధులు ఉపయోగకరమైన మారింది. మరియు ఫంక్షన్ ఏమి చేస్తుంది? సరే, కేవలం ఈ కాల్స్ హెచ్చరిక ఫంక్షన్ మరియు దాని చెప్పారు మీరు శోధన బటన్ క్లిక్. నేను ఎక్కడ వెళ్ళడానికి ఉంటే ఏం జరుగుతుందో ఈ HTML నివసిస్తున్నారు మరియు నేను బటన్ క్లిక్ నేను ఒక ఫాన్సీ కొద్దిగా హెచ్చరిక పొందుతారు మీరు బటన్ క్లిక్ చెప్పారు. కాబట్టి విషయాలు దృష్టి ఇక్కడ document.getElementByID ఒక నిర్దిష్ట HTML గెట్స్ ఇచ్చిన ID తో మూలకం. ఇప్పుడు మేము సెట్ ఏమి జరుగుతుందనే విషయాన్ని నిర్దిష్ట మూలకం క్లిక్. ప్రేక్షకులు: మేము సైన్ అన్ని ఉంచాలి? హన్నా BLUMBERG: క్షమించాలి? ప్రేక్షకులు: మేము ఉందా భౌతికంగా ఆ అన్ని కోడ్? హన్నా BLUMBERG: మేము ఉందా భౌతికంగా ఆ అన్ని కోడ్? అవును. బాధించే ఈ రకమైన కాదు? ఈ కోడ్ యొక్క చాలా ఉంది. ప్రేక్షకులు: మీరు ఏదో దిగుమతి కాలేదు. హన్నా BLUMBERG: కుడి. మేము ఏదో వాడవచ్చు. మరియు లో ముఖ్యంగా లో ఓహ్, అంతే నాకు చెప్పడం నేను విభాగం నేర్పిన కలిగి. ముఖ్యంగా, లెట్స్ j క్వెరీ లైబ్రరీ ఉపయోగించడానికి, నిజంగా ఎందుకంటే దీర్ఘ మరియు నిజంగా బాధించే మరియు నేను సులభతరం చెయ్యగలరు అనుకుంటున్నారా మరియు పొట్టిగా మరియు వ్రాయడం సులభం. కాబట్టి క్వెరీ జావాస్క్రిప్ట్ లైబ్రరీ. సో జావాస్క్రిప్ట్ ప్రోగ్రామింగ్ ఉంది భాష; j క్వెరీ ఒక గ్రంథాలయం. మరియు అది సులభంగా విషయాలు కొంత చేస్తుంది. ఇది మారుతున్న మరియు వెళుతున్న చేస్తుంది ఒక HTML పత్రం చాలా సులభంగా. ఇది నిర్వహణ ఈవెంట్స్ సులభతరం చేస్తుంది. ఇది సులభం యానిమేషన్ చేస్తుంది మరియు సులభంగా అజాక్స్ చేస్తుంది. కాబట్టి యొక్క రెండు దూకి తెలియజేయండి ప్రస్తుతం ఆ విషయాలు. క్షమించండి. మేము అలా ముందు, కొన్ని ప్రాథమిక సింటాక్స్. ఇది చాలా కాల్స్ ఏమిటి j క్వెరీ లైబ్రరీ వంటి చూడండి. మేము ఈ డాలర్ ఉపయోగించే sign-- PHP కు ఎలాంటి సంబంధం సైన్, కేవలం పేరు inconvenient-- సెలెక్టర్, డాట్, ఆపై ఒక చర్య. కనుక కొన్ని చూద్దాం ఆ కాంక్రీటు ఉదాహరణలు. కాబట్టి ఈ వాస్తవానికి అదే ఈవెంట్ స్లయిడ్ నుండి కోడ్. కాబట్టి ఈ సుదీర్ఘ, అగ్లీ విషయం అవుతుంది ఈ చాలా NICER చిన్న విషయం. కాబట్టి యొక్క ఈ విచ్ఛిన్నం చేయడానికి ప్రయత్నించండి తెలియజేయండి. ఈ OK, jQuery-- ఈ డాలర్, చెప్పారు , j క్వెరీ sign-- నాకు విండో కనుగొనేందుకు. కాబట్టి ఆ సెలెక్టర్ ఉంది. లోడుచేస్తుంది చేసినప్పుడు, ఈ ఫంక్షన్ కాల్. తద్వారా ప్రతిదీ లోపల. అలాగే. సో ఫార్, సో గుడ్? అయితే సరే. ఇప్పుడు, j క్వెరీ, నన్ను కనుగొనడానికి ID search_button తో విషయం. మరియు అది ఏ క్లిక్, ఈ ఫంక్షన్ కాల్. ఆపై ఈ ఫంక్షన్ యొక్క సరిగ్గా అదే. జస్ట్ హెచ్చరిక కొద్దిగా, మీరు శోధన బటన్ క్లిక్. కనుక ఇది నిజంగా మంచిది. ఇది నిజంగా కుదించబడుతుంది మరియు మా కోడ్ సులభతరం. నేను మీకు తెలుసా ఎలా అది ID search_button వార్తలు మరియు తరగతి search_button ఇష్టం లేదు? ప్రేక్షకులు: హాష్ ట్యాగ్? హన్నా BLUMBERG: అవును. ఈ హాష్ గుర్తు, అది కేవలం CSS వంటిది. , మేము కాబట్టి CSS తో, గుర్తు ID ద్వారా ఏదో ఎంచుకోండి కోరుకుంటే, మేము పౌండ్ సైన్ ఉపయోగిస్తారు. మరియు మేము ఎంచుకోండి కోరుకున్నారు తరగతి ఏదో, మేము డాట్ ఉపయోగించడానికి. గ్రేట్. అర్ధవంతం? కాబట్టి క్వెరీ కోరుకుంటున్నాము కేవలం మా జీవితం సులభం. అవును. ప్రేక్షకులు: సో నేను కొద్దిగా తికమక ఉన్నాను అనామక ఫంక్షన్ ఎలా పనిచేస్తుంది. మీరు ఈ anonymouse పేరును ఫంక్షన్, ఫంక్షన్? అది ఎలా అంటారు? హన్నా BLUMBERG: ఖచ్చితంగా. సో ఫంక్షన్ కేవలం ఒక కీవర్డ్ అని నేను ఒక ఫంక్షన్ నిర్వచించే గురించి ఉన్నాను అన్నారు. ప్రేక్షకులు: OK, ఓహ్. హన్నా BLUMBERG: OK? మరియు తర్వాత మేము ఒక దానిని పాస్ వాదన యొక్క తీసుకుందాం ఆలోచన క్లిక్ ఫంక్షన్ కు ఈ అంతర్గత one--. కాబట్టి యేః, ఆ ఫంక్షన్, కాబట్టి ఈ అనామక ఫంక్షన్, అసలైన వాదన అవుతుంది. కాబట్టి, JavaScript గుర్తు మేము విలువలు విధులు చికిత్స చేయవచ్చు. ప్రేక్షకులు: OK, ఓహ్. హన్నా BLUMBERG: అవును. "నాకు అది ఇష్టం OH." నీస్. ఇతర ప్రశ్నలు? సమయం? MARIA ZLATKOVA: బాగుంది. గుడ్. హన్నా BLUMBERG: బ్రహ్మాండం. కొన్ని శీఘ్ర ఉపయోగకరమైన j క్వెరీ ఉన్నాయి. నేను వెళ్ళి వెళుతున్న కాదు ఈ అన్ని ద్వారా. ఈ స్లయిడ్లను ఉంటుంది ఆన్లైన్ కొద్దిగా పైకి తరువాత, కాబట్టి మీరు లేదు తనిఖీ చేయవచ్చు కొద్దిగా తర్వాత దాన్ని. కానీ సాధారణంగా, సాధారణ మేము చెప్పటానికి ఇక్కడ నమూనా కలిగి హే, OK, j క్వెరీ, ఇక్కడ నా అప్పుడు ఇక్కడ సెలెక్టర్ మరియు ఒక చర్య. మరియు మీరు ఆక్సెస్ వంటి విషయాలను చేయగలము ఒక రూపం యొక్క విలువ, కొన్ని HTML యాక్సెస్ యూజర్ ఏమి నియంత్రణ ఒక రూపం, ఆ వంటి విషయాలు సమర్పించారు. అవును. ప్రేక్షకులు: సో పరీక్ష, మేము అవసరం చూడాలని నుండి చాలా తెలుసు j క్వెరీ డాక్యుమెంటేషన్. కాబట్టి మేము క్వెరీ కాపీ / పేస్ట్ ఇచ్చిన మా మోసగాడు షీట్ డాక్యుమెంటేషన్, పేరు లైన్ డ్రా? ఇలా ఎన్ని మేము తెలుసు చేయాలి? హన్నా BLUMBERG: గ్రేట్ ప్రశ్న. ప్రశ్న తప్పనిసరిగా మీరు ఇచ్చిన j క్వెరీ డాక్యుమెంటేషన్ యాక్సెస్ చేయలేరు పరీక్ష సమయంలో, ఎంత మీరు తప్పక తెలుసా? మేము మీరు వచ్చి ఆశించే కాదు కొన్ని యాదృచ్ఛిక ఫంక్షన్ తో మేము Google మీరు ఆలోచించే. ఫెయిర్ గేమ్ అని విషయాలు నేను చేస్తాను ఉంటాయి జనరల్ వాక్యనిర్మాణం కేవలం రకమైన చెప్పడానికి ID ద్వారా ఎంచుకోండి సామర్థ్యం మరియు కాబట్టి కేవలం CSS వంటి తరగతి ద్వారా. ఆపై అసలు విధులు తమను, మేము అవకాశం మీరు చెబుతాడని. అవును. ప్రేక్షకులు: సో మీరు ఎంచుకున్నప్పుడు తరగతి డాట్ అర్థం. హన్నా BLUMBERG: అవును, సరిగ్గా. గుడ్. మీరు తరగతి ఎంచుకోండి చేసినప్పుడు, అది జరగబోతోంది బదులుగా పౌండ్ సైన్ డాట్ వుంటుంది. అవును. ప్రేక్షకులు: మీరు అనుకుంటున్నారా తేడా వెళ్ళి ID ద్వారా మరియు తరగతి ఎంచుకోవడం మధ్య? హన్నా BLUMBERG: ఖచ్చితంగా. ఎంచుకోవడం మధ్య వ్యత్యాసం తరగతి ID ఎంచుకోవడం. మరియా చెప్పారు కనుక ఒక కొద్దిగా ముందు, అక్కడ మాత్రమే ఒక HTML మూలకం ఉంటుంది ఇచ్చిన ID తో, తరగతి అయితే, ఇది సమూహం కొంత మమ్మల్ని అనుమతిస్తుంది కలిసి వివిధ అంశాలను, కాబట్టి సంబంధించిన విషయాలు, కానీ అదే. ఆ ప్రశ్నకు సమాధానం ఉందా? ఆసమ్. అవును. ప్రేక్షకులు: మీరు బహుళ ఏం అదే తరగతి లో ఆ విషయాలు? హన్నా BLUMBERG: ఏమవుతుంది మీరు బహుళ విషయాలు కలిగి ఉంటే అదే తరగతి ఉంటాయి? కాబట్టి, ఉదాహరణకు, మేము అయితే కేవలం స్వచ్ఛమైన JavaScript ఉపయోగించి మేము వంటి ఏదో ఒకటి ఉంటుంది document.getElementsByClass. మరియు ఆ నిజానికి అప్పుడు ఏమి రాబడి మూలకాల యొక్క ఒక శ్రేణి. మరియు మీరు iterate గాని వాటిని మీరు కోరుకుంటున్న ఒక కనుగొనడానికి లేదా. ఇది ఇవ్వాలని మాత్రం కాదు మీరు ఒక మూలకం. ఇది మీరు ఇవ్వాలని జరగబోతోంది అంశాల వ్యూహం. గ్రేట్ ప్రశ్న. ఇంకా ఏమైనా? ఆసమ్. నేను మీరు తెలిసి ఉంటే అనుకుంటున్నాను ఏ j క్వెరీ మీరు, pset చూసిన మీరు అన్నిటికి ఉండాలి. ప్రశ్న? అరెరే. నేను నిజంగా నేర్పిన కలిగి. రిలాక్స్. ఇది జరిమానా ఉంటాం. నేను అక్కడ పొందుతారు. యొక్క AJAX గురించి మాట్లాడటానికి లెట్. కాబట్టి అజాక్స్ ఫంక్షన్ బాగా అవతరిస్తుంది, యొక్క ఇది దేనిని తో ప్రారంభిద్దాం. ఇది ఒక ఎక్రోనిం ఉంది. ఇది కాలంతో సంబంధంలేని ఉన్నచో జావాస్క్రిప్ట్ మరియు XML. మరియు XML ప్రధానంగా అవతరిస్తుంది ఉంది [వినబడని] మా డేటా యొక్క రకం. కానీ మేము నిజంగా XML ఉపయోగించలేదు. బదులుగా, మేము JSON ఉపయోగించండి. కాబట్టి ప్రాథమికంగా, అది కొన్ని data-- వార్తలు అసమకాలిక, JavaScript, మరియు డేటా ఈ సందర్భంలో, JSON లో. మరియు మా లక్ష్యం మేము చెప్పిన, వంటి కొద్దిగా ముందు, ఒక చేయడానికి చెయ్యలేరు ఉంది అభ్యర్థన, ఆ అభ్యర్థన ఉందా దాని విషయం నేపథ్య, కానీ కొనసాగుతుంది మనం చెయ్యవలసింది ఉద్దేశించి పనులను. మరియు ఆ సమాచారాన్ని అప్పుడు ఉన్నప్పుడు సిద్ధంగా, అప్పుడు మేము పొందుపరచడానికి చేస్తాము. కాబట్టి యొక్క ఏమి చూసేలా నిజానికి కనిపిస్తోంది. మరియు ఈ మీరు ఉండాలి తెలిసిన కొద్దిగా pset8 నుండి, మీరు ఒక పొందవచ్చు కేవలం మారింది. కాబట్టి ఇక్కడ ఒక చెల్లుబాటులో j క్వెరీ వార్తలు ఫంక్షన్ మేము వాటిని ఈ డాలర్ సైన్ గురించి తెలుసుకోవాలంటే. కనుక ఇది j క్వెరీ ఫంక్షన్, .getJson చెప్పారు. మరియు ఈ పనిచేస్తుంటాయి అది ఉంది ఒక URL ని మరియు కొన్ని parameters-- పడుతుంది నేను విషయంలో అనుకుంటున్నాను pset8, అది నచ్చింది URL articles.php మరియు పారామితులు = కొన్ని పోస్టల్ కోడ్ వెళ్ళడానికి ఉంది. మరియు ఇది సరే, ఒక అభ్యర్థన చేయడానికి, చెప్పారు ఇచ్చిన పారామితులు ఈ URL. మరియు ఆ కేవలం జరుగుతుంది. అది ముగుస్తుండగా, అంతే గాని విజయవంతంగా పూర్తి అన్నారు లేదా అది విఫలం చెప్పారు. సో ఈ కాల్ సమానం రాబ్ మరియు ఏదోఒకటి అతనిని అడగండి. అతను తిరిగి కాల్ మరియు అప్పుడు అతను గాని నేను పూర్తయింది లేదా నేను విఫలమైంది చెప్పడానికి వెళ్ళడం. మీరు ఎక్కడ సందర్భంలో పూర్తి, మీరు OK, నేను పూర్తయింది, చెప్పటానికి. ఆపై మీరు ఈ ఫంక్షన్ కాల్. ఈ సందర్భంలో, అది ఒక చేస్తాడు కొన్ని సమాచారాన్ని తీసుకుని ఆ ఫంక్షన్. మేము సాధారణంగా శ్రద్ధ ఒకటి, డేటా మేము నిజంగా తిరిగి ఆ డేటా .getJSON కాల్ ఫలితంగా. మరియు మీరు అది తో ఏదో ఒకటి చెయ్యాలి. Pset8 యొక్క సందర్భంలో, మేము ఒక జాబితా ప్రదర్శించబడుతుంది. Fail ఒక ఫంక్షన్ అవతరిస్తుంది అభ్యర్థన విఫలమైతే ఆ అంటారు సంసార కారణం. మరియు pset8 విషయంలో, మేము దానిని console.log. ఆ ఏదైనా ప్రశ్నలు? అవును. ప్రేక్షకులు: మేము ఫంక్షన్ తీటా ఉపయోగించవచ్చా బదులుగా ఫంక్షన్ యొక్క, textStatus, jqHXR. హన్నా BLUMBERG: ఖచ్చితంగా. కాబట్టి యేః, నేను pset అనుకుంటున్నాను, మేము ఫంక్షన్ డేటా చూసింది. కనుక ఇది కేవలం సరే, అవును ఉన్నారు వార్తలు. మేము pset లో చూసిన ఉంది. ఆ పూర్తిగా మంచిది. మీరు కోరుకుంటే ఈ కేవలం మరింత సమాచారం ఉపసంహరించుకునేలా, ఈ విషయాలు అని మీరు .getJSON నుండి పొందలేరు. మంచి ప్రశ్న. ఇంకా ఏమైనా? అవును. ప్రేక్షకులు: సో .getJSON అజాక్స్? హన్నా BLUMBERG: OK. కాబట్టి ఈ గమ్మత్తైన భాగంగా రకం. ఇది అనుమతించే ఒక j క్వెరీ ఫంక్షన్ మీరు అసమకాలిక కాల్లను చేయడానికి. మరియు ఆ అసమకాలిక కాల్స్, ఆ మనం అజాక్స్ వంటి సూచిస్తున్నాడు చేసిన. అవును. ఆ నాకు నిజంగా చాలా సమయం పట్టింది నేను ఒక విద్యార్థిగా ఉన్నప్పుడు దూరంగా లాగండి. ప్రేక్షకులు: మీరు మళ్ళీ ఆ చెప్పగలదు? హన్నా BLUMBERG: అవును. నేను మళ్ళీ ఆ చెప్పగలను? ఈ .getJSON ఫంక్షన్, అది ఒక j క్వెరీ ఫంక్షన్. మరియు అది చేయడానికి జరగబోతోంది ఒక అసమకాలిక కాల్. మరియు ఈ అసమకాలిక కాల్స్, మేము చేసిన అజాక్స్ వంటి ఆ సూచించడం జరిగింది. ఏదైనా ఇతర ప్రశ్నలు? మేము వదిలి కేవలం ఒక జంట నిమిషాలు. మరియు మరియా అన్నారు భద్రత మూసివేయాలని ఆపై మేము వెళుతున్న కేవలం గురించి చెయ్యటానికి. MARIA ZLATKOVA: అద్భుతం, సరే. కాబట్టి ఈ కేవలం ఒక జంట పడుతుంది is-- సెకన్లు ఈ పైగా చూడండి. మరియు ఈ నిజంగా గొప్ప విషయం కాదు. ఎందుకు ఎవరైనా నాకు తెలియజేయవచ్చు? ఏం foo లో జరగబోతోంది మరియు మారవచ్చు కాలేదు శక్తివంతంగా చెడు ఏదో వలన మరియు ఏ అని? అవును. ప్రేక్షకులు: ఉంటే ఆ వాదన కంటే ఎక్కువ 12 అక్షరాలు జారీ అది ఓవర్ఫ్లో కాలేదు. MARIA ZLATKOVA: కుడి. పర్ఫెక్ట్. దీన్ని ఏమని పిలుస్తారు? మీరు కేవలం ప్రస్తావించాడు. ప్రేక్షకులు: బఫర్ ఓవర్ఫ్లో. MARIA ZLATKOVA: అయ్యో, ఓవర్ఫ్లో బఫర్. కాబట్టి ఈ విషయం మేము బఫర్ ఓవర్ఫ్లో వంటి చూడండి. మరియు మేము, foo యొక్క లోపల చూడండి మేము మా బఫర్, సి నిర్వచించిన చేసిన 12 పరిమాణము. అయితే, ప్రధాన లో, మేము లేదు అన్ని వద్ద ఏ విధంగా తనిఖీ లేదో కాబట్టి argv1-- రెండవ వాదన ఉంది. మేము లేదో తనిఖీ లేదు అది పరిమాణం తగిన ఉంది. కనుక మేము ఒక కలిగి ముఖ్యంగా ప్రమాదకర యూజర్ అని కొన్ని వాదన ఉంచారు ఎవరు 12 కంటే ఎక్కువ, మరియు అప్పుడు సమర్థవంతంగా ఆ హద్దులు దాటి వాదన, కొన్ని ఎక్జిక్యూటబుల్ కోడ్ వచ్చింది అతను చెడు ఏదో చేయాలని ప్రయత్నిస్తోందని దానితో; అప్పుడు ఈ, ఏమి జరుగుతుంది తిరిగి భర్తీ చేస్తాం foo ఫంక్షన్ చిరునామా, ఎప్పుడు ఫంక్షన్ దీనివల్ల ఆ కోడ్ అమలు వెళ్లారు. మరియు అప్పుడు చెడు విషయాలు జరిగి. ఈ ప్రతి ఒక్కరూ సమంజసం లేదు? మరియు మేము ఈ వ్యతిరేకంగా ఎలా కాపాడుతుంది? ఏదైనా సూచనలు? సాధారణంగా, లోపలి సమర్థవంతంగా foo, ఎలా మేము నిర్ధారించుకోండి తనిఖీ చేయవచ్చు ఆ జరిగే కాదు? ప్రేక్షకులు: పరిమాణం 12 మించిపోయింది ఉంటే, మీరు అదనపు మెమరీని కేటాయించాల్సిన ఉంటుంది? MARIA ZLATKOVA: సూచన ఉంది, కేటాయించాలని పరిమాణం అదనపు మెమొరీ మించిపోయింది. అసలైన, మేము ఏదో ఒక చేయవచ్చు అలాగే ఆ కంటే సరళమైన చాలా. మేము కేవలం స్ట్రింగ్ పొడవు పొందవచ్చు ఎంటర్ ఉంది ఆ వాదన, ఆ తక్కువ ఉంటే తనిఖీ కంటే ఎక్కువ లేదా 12 సమానం మనం కోరుకున్న ఏమి ఉంది మనం అనుకుంటున్న ఎందుకంటే ఉండాలి అది మా బఫర్ యొక్క సరిహద్దులు దాటకుండా. మరియు అది పోతే అప్పుడు ఉంటే, మేము వాదన తో పని చేయవచ్చు. అది ఉంటే ఆపై, మేము నిజంగా కావలసిన యూజర్ సమర్థవంతంగా Yello కు. కానీ ఈ మేము అలా ఎలా. అవును. ప్రేక్షకులు: మీరు కుడ్ memcpy నిజమైన శీఘ్ర వివరించేందుకు? MARIA ZLATKOVA: ఓహ్, సారీ. అవును. Memcpy సరే, ఏమి is-- క్షమించండి పడుతుంది. Memcpy సంసార పడుతుంది బార్ లో, సంసార ముగిసింది కమాండ్ లైన్ వాదన గా foo లోకి. కనుక ఇది argv1 తీసుకోవాలని జరగబోతోంది. Argv1 ఇక్కడ బార్ అంటారు. కనుక ఇది బార్ తీసుకోవాలని జరగబోతోంది మరియు సి లోకి కాపీ జరగబోతోంది. ప్రేక్షకులు: OK. MARIA ZLATKOVA: మరియు అది జరగబోతోంది మూడవ వాదన కేవలం సూచిస్తుంది copy-- ఎంత సి లోకి కాపీ జరగబోతోంది. ప్రేక్షకులు: అమ్మో. కాబట్టి ఈ ఒక యొక్క కాపీ అది అన్ని. MARIA ZLATKOVA: అవును, ఇది అన్ని అనుకరించటం లో. YEP. మొదటి, మేము బార్ కాదు నిర్ధారించుకోండి అది ఒక పాయింటర్ ఎందుకంటే సమాన శూన్యం. అప్పుడు మేము బార్ యొక్క స్ట్రింగ్ పొడవు పొందడానికి. మేము అది అని నిర్ధారించుకోవాలి కంటే తక్కువ లేదా 12 సమానం. మరియు తర్వాత మేము చేసిన ఎందుకంటే ఖచ్చితంగా చేసిన, మేము నిజంగా చెయ్యవచ్చు memcpy మరియు ఆ సరే అని అనుకోవచ్చు. ఏవైనా ప్రశ్నలు? గ్రేట్. నేను రెండు నిజమైన లేదా తప్పుడు ప్రశ్నలు. ఎవరైనా వెంటనే నాకు వివరంగా చెప్పగలరా ఈ నిజమైన లేదా తప్పుడు ఉంటే? అవును, అది తప్పు. సరిగ్గా. రెండూ తప్పు. ఒకే పాస్వర్డ్ ఉపయోగించి కాబట్టి ఎప్పుడూ నిజంగా మంచి ఆలోచన ఎవరైనా తెలిస్తే ఎందుకంటే మీ పాస్వర్డ్ను వారు కేవలం చెయ్యవచ్చు మీ అన్ని ఇతర ఖాతాల యాక్సెస్. ఆపై చిహ్నాలు ఏమీ భద్రతా నిర్ధారించడానికి. మేము సాధారణంగా HTTPS కోసం చూడండి ఉండాలి బదులుగా HTTP మరియు URL. మరియు కొన్ని ఇతర రకాల మేము చెప్పిన చేసిన దాడులు, డేవిడ్ పేర్కొన్న ఆ , SQL ఇంజెక్షన్ ఉపన్యాసాలిచ్చేందుకు. మేము ఇప్పటికే చూసిన మేము don't-- ఉంటే CS50 ప్రశ్న ఫంక్షన్ ఖచ్చితంగా ఆ SQL చేస్తుంది ఇంజెక్షన్ జరగదు. కానీ మేము CS50 ఉపయోగించి ఉండకపోతే, కోట్, unquote "ప్రశ్న లో," మేము నిర్ధారించుకోండి ఉంటుంది అని వినియోగదారు ఇన్పుట్ నిజానికి కొన్ని SQL కాదు అన్ని కలిగించే ప్రశ్న మా పట్టికలు తరువాతనే లేదా చెడు ఏదో మా డేటాబేస్ తో జరిగే. సెషను హైజాకు ఉంది దాడి మరొక రకం ఆ ఉన్నప్పుడు కొన్ని చెడు జరుగుతుంది వ్యక్తి కొన్ని బాధితురాలి సెషన్ ఉపయోగిస్తుంది లాగిన్ ID సమాచారాన్ని యాక్సెస్. కాబట్టి ఆ చాలా చిన్నవిషయం ఉదాహరణకు ఉంది వంటి మేము ఒక పబ్లిక్ కంప్యూటర్ ఉంటే, అప్పుడు చెడు వ్యక్తి మరియు అప్పుడు లాగ్లను వారు సేవ్ ఉన్నాయి కుక్కీలను ఉన్నాయి. మరియు కుకీలను సెషన్ కోసం మార్చవద్దు. అప్పుడు మేము బాధితుడు లో వెళ్ళండి ఆపై వెబ్ సైట్ లోకి లాగిన్. కుకీలను మార్చలేని ఒక నిర్దిష్ట సెషన్ కోసం. ఆపై బాధితుడు లోకి లాగ్ అప్పుడు వెబ్సైట్ మరియు ఆకులు. ఆపై వ్యక్తి వెనక్కు అప్పుడు ఇప్పటికీ వారి సెషన్ ID ఉపయోగించవచ్చు వారి సమాచారాన్ని ప్రాప్తి. కాబట్టి ఆ యొక్క ఒక ఉదాహరణ వార్తలు జరిగి ఎలా. ఆపై నేను చాలా ఆందోళన కాదు నిర్దిష్ట కోడ్ లేదా ఏదైనా గురించి ఈ కలిగిస్తుందనే ఆ వంటి, కానీ ఆలోచన విధమైన కలిగి ఏమి ఈ ప్రమేయం వేరియబుల్స్ ఉన్నాయి. అప్పుడు శీర్షిక అభిసంధానించడం డేటా దాడి మరొక రకం డేవిడ్ గురించి మాట్లాడారు ఉంది. మరియు అది కేవలం సూచిస్తుంది ఉన్నప్పుడు జరుగుతుంది ఏమి ప్రతిస్పందన, HTTP మా శీర్షిక లోపలి స్పందన సరిగా శుద్ధపరచకపోతే. మరియు ఉదాహరణకు ఖాళీలను ఏ, ఎవరైనా శీర్షిక ఒకటి తిరిగి రాస్తుంది ఉంటే విలువలు తప్ప మరేమీ కలిగి అవి ఏమి contain-- ఉండాలి మరియు నిజానికి ఒక 200 ఉదాహరణకు, కలిగి సరే స్థితి కోడ్ను వారు అప్పుడు సమర్థవంతంగా హానికరమైన చేయగల విషయాలు వారు కోరుకుంటున్నాము లేదు చేసినప్పుడు. కానీ నేను చాలా ఆందోళన కాదు నిర్దిష్ట కోడ్ గురించి చాలా ఆ, ఈ కారణం కావచ్చు అవగాహన కేవలం విధమైన ఆ వంటి ఉన్నత స్థాయి విషయాలను. నేను ఈ అన్ని భావిస్తున్నాను మేము కవర్ కలిగి. అమేజింగ్. ఎవరైనా ఏ ఏ ప్రశ్నలు మేము కవర్ విషయాలు? అవును. ప్రేక్షకులు: సో ఒక విధమైన మరింత రవాణా ప్రశ్న. కంటెంట్ ప్రధానంగా దృష్టి పెట్టిన క్విజ్ 1 తర్వాత విషయాలపై? MARIA ZLATKOVA: సో ప్రశ్న, కంటెంట్ క్విజ్ 1 తర్వాత విషయాలపై ప్రధానంగా దృష్టి? కాబట్టి దృష్టి తర్వాత ఉంది మినహా క్విజ్ 1, మేము విషయాలు మీద దృష్టి అవసరం Pset5 మరియు డేటా నిర్మాణాలు చాలా మేము కవర్ ఆ. మరియు మేము ఆ చెప్పలేను మేము ముందు ఏదైనా విస్మరించవచ్చు అది అలాగే అది మీద ఆధారమై ఎందుకంటే ఆ. కాబట్టి ఆ దృష్టి, ప్లస్ Pset5 పదార్థం లింక్ జాబితాలు, స్టాక్స్ సహా వంటి, క్యూలు, మరియు ప్రతిదీ హన్నా వెళ్ళి ఆ. హన్నా BLUMBERG: కుడి. అవును, మేము అన్ని సి stuff మీద వెళ్ళింది చాలా చాలా త్వరగా ప్రారంభించి. కానీ ఆ సమీక్ష నిర్ధారించుకోండి. తిరిగి వెళ్ళండి మరియు క్విజ్ 0 సమీక్ష చూడటానికి. ఒక జంట మరింత రవాణా నోట్స్, కేవలం సమయంలో, మీ దృష్టిని కలిగి. మేము కార్యాలయం గంటల పొందబోతున్నారు రెండు సోమవారం మరియు మంగళవారం రాత్రి. వారు MD 119 లో మాత్రం చేస్తున్నారు. ఈ కాబట్టి, అన్ని వెబ్ సైట్ మీరు, కంగారుపడవద్దు వినడానికి లేకపోతే. MARIA ZLATKOVA: 11:00 8:30. హన్నా BLUMBERG: అవును, 11:00 8:30. మేము అక్కడ ఉంటాం. మేము ప్రశ్నలకు సమాధానం అక్కడ ఉంటాం. ఇది చాలా చల్ల మరియు వినోదంగా ఉంటుంది. మీరు అబ్బాయిలు ఏవైనా ప్రశ్నలు అడగవచ్చు మీరు క్విజ్ 1 లో కలిగి. మరియు క్విజ్ 1 న ఉంది బుధవారం, కాబట్టి అదృష్టం. మీరు బహుశా ఏవైనా ప్రశ్నలు ఉంటే ఇక్కడ ఒక పైన ఒక మాకు చర్చ ఆలోచన. కూల్. చాలా కృతజ్ఞతలు. MARIA ZLATKOVA: ధన్యవాదాలు చాలా, అబ్బాయిలు. ప్రేక్షకులు: అవును. [అప్లాజ్]