కెవిన్ స్చ్మిడ్: అందరూ హలో. CS50 సదస్సు స్వాగతం Node.js. న నా పేరు కెవిన్ ఉంది. నేను ఒక CS50 TF ఉన్నాను. నేను విధమైన నిజంగా సంతోషిస్తున్నాము వంటి రెడీ ఈ సదస్సు గురించి. నేను Node.js చాలా బాగుంది అనుకుంటున్నాను. నేను ఈ సదస్సు ఉపయోగించవచ్చు ఆశిస్తున్నాము మంచి, నేను ఊహిస్తున్నాను, ఆధారాన్ని మీ చివరి ప్రాజెక్టులు ఉంటే కొన్ని మీరు ఉపయోగించి ఆసక్తి Node.js. లాగ మేము విధమైన ద్వారా సదస్సు ఆఫ్ ప్రారంభిస్తాము కేవలం కొద్దిగా గురించి మాట్లాడటం నేపథ్య వ్యాప్తిని రకం అప్పుడు Node.js యొక్క దృక్కోణాలను, మరియు మేము కొన్ని కోడ్ ఉదాహరణలు తరలించడానికి చేస్తాము. నేను ఒక వెబ్ సైట్ లో కోడ్ ఉంటుంది, మరియు మీరు కోడ్ చూడవచ్చు. మరియు సెమినార్, నేను చర్చ చేయ్యి మీరు Node.js ఏర్పాటు ఎలా గురించి మీ కంప్యూటర్లో. OK. కాబట్టి యొక్క ప్రారంభించడానికి వీలు. కాబట్టి నేను కేవలం గురించి మాట్లాడు అంచనా వెబ్ సర్వర్లు, నిజంగా, మొదటి. మరియు ఈ చర్చను ప్రారంభించడానికి, నేను ప్రాథమికంగా నుండి ఇది ఒక రేఖాచిత్రం కలిగి CS61 ఉపయోగిస్తారు పాఠ్య పుస్తకం, ఇది ప్రాథమికంగా పరస్పర చూపిస్తుంది మీ వెబ్ వంటి క్లైంట్ విధానం, మధ్య బ్రౌజర్ లేదా మీ లక్ష్యం క్లయింట్ లేదా వంటి అలాంటిదే, మరియు ఒక వెబ్ సర్వర్. కాబట్టి ఈ రకమైన పోలి ఉంది మీరు ఉపన్యాసంలో చూసిన చిత్రాన్ని బుధవారం అక్కడ ప్రాథమికంగా మేము కొన్ని కలిగి Google Chrome వంటి క్లైంట్ విధానం. ఆపై మెట్టు ఉంది క్లయింట్ ఒక అభ్యర్థనను పంపుతుంది. కాబట్టి ఏదో వంటి బాగా వీలు యొక్క ఉంటుంది సందర్శించండి నేను, CS50.net తెలియదు. కాబట్టి మేము ఆ విజ్ఞప్తిని జారీ. మరియు ఎవరైనా పేరుతో గుర్తు ఎలా తెలుపుతుంది ప్రోటోకాల్ అభ్యర్థన నిర్మాణాత్మక చేయాలి? Yep. ప్రేక్షకులు: [వినబడని]. కెవిన్ స్చ్మిడ్: ఖచ్చితంగా. కాబట్టి అది కుడి, HTTP వంటిది? ఎలా కోసం ప్రధానంగా వివరణ ఆ అభ్యర్థన వాస్తవానికి వేశాడు చేయాలి అవ్ట్, ఎందుకంటే రోజు చివరిలో, ఆ అభ్యర్థన నిజంగా కేవలం వంటిది ఒక స్ట్రింగ్ ప్రాథమికంగా నేను ఈ మీరు చెప్పారు. మరియు వివరణ ఆ కోసం HTTP ఉంది. కాబట్టి ఒక ప్రోటోకాల్ వంటిది. కాబట్టి అప్పుడు సర్వర్ పొందుతుంది ఆ అభ్యర్థన. కాబట్టి మీరు అబ్బాయిలు ఒక వెబ్ సర్వర్ ఇన్స్టాల్ CS50 పరికరంలోని. ఇది అపాచీ ఉంది. మరియు ఈ వారం మీరు సమస్యను పని ఉన్నప్పుడు ఏడు సెట్, మీరు నిజంగా కృషి చేస్తాము వెబ్ సర్వర్ తో. కాబట్టి సర్వర్ ఆ అభ్యర్థన అందుకుంటుంది మరియు అది రకమైన గీతలు ఉంది దాని తల మరియు బాగా వంటి చెప్పారు నేను ఈ తో ఏమి? కాబట్టి అది, నిర్ణయించుకుంటాడు ఆధారంగా ఇది రకమైన సంప్రదించవలసి ఉంటుంది వనరు యొక్క. మరియు ఆ వనరుల ఒక ఉంటుంది వివిధ విషయాలను చాలా. ఒక విధంగా, అది కావచ్చు కేవలం ఒక స్టాటిక్ HTML ఫైల్. కనుక ఇది కొన్ని వంటి ఉండవచ్చు కోసం వంటి అని HTML మీ వ్యక్తిగత వెబ్సైట్. ఇది ఒక చిత్రం వంటి స్టాటిక్ ఫైలు కావచ్చు లేదా మీరు ఒక చిత్రం. ఇది కూడా మాట్లాడటం కలిగి డేటాబేస్ రకమైన MySQL డేటాబేస్ వంటి. కనుక ఇది ఎల్లప్పుడూ కమ్యూనికేట్ లేదు ఒక వనరు, కానీ లో తో కొన్ని సందర్భాల్లో, ఇది అనుకొనుట. కాబట్టి అప్పుడు దీన్ని ఏమి ఆ తర్వాత అది వెళుతున్న ఉంది ప్రతిస్పందన తిరిగి పంపండి. మరియు ఈ కోసం స్పందన కూడా HTTP పేర్కొన్న. కాబట్టి అప్పుడు క్లయింట్ అది అందుకోవచ్చు. ఇది కాకుండా త్రాగటానికి మరియు ప్రాసెస్ చేయవచ్చు. ఆపై మీరు ఒక వెబ్ పేజీ ను వంటి Google లేదా CS50.net లేదా మీరు వెళ్లిన సంసార. OK? కాబట్టి ఈ ప్రాథమిక పరస్పర అని మేము వ్యవహరించే కావడం చేస్తున్నారు. మరియు మేము చాలా చక్కని మాత్రం ఈ భాగం దృష్టి పరస్పర, సర్వర్. OK. కూల్. ఎవరైనా ఇప్పటివరకు ఏ ప్రశ్నలు? OK. మేము అందువల్ల వంటి, వెబ్ సర్వర్ పొందుతుంది ఈ HTTP అభ్యర్థన మరియు ఈ సమస్యలు HTTP ప్రతిస్పందన. మరియు వంటి మేము, ముందు మాట్లాడారు CS50 ఉపకరణం, వెబ్ సర్వర్ Apache ఉంది. మీరు అబ్బాయిలు పని కాబట్టి P, ఏడు సెట్ మీరు పని చూడాలని Apache వెబ్ సర్వర్. మీరు నిజంగా పని ఎప్పటికీ నేరుగా చాలా Apache తో. మీరు విధమైన Apache కొద్దిగా ఆకృతీకరించుటకు మీరు వాస్తవిక ఆతిథ్య లేదా పేర్కొనండి v ఆతిథ్య, మరియు మేము పొందుతారు కొద్దిగా ఆ. కానీ సాధారణంగా, Apache వెబ్ సర్వర్ PHP రకమైన పని ఏర్పాటు యొక్క బాక్స్. మీరు కనుక ఏమి నిజంగా జరుగుతుంది ఉంది సే, వంటి మీ వెబ్ సైట్ ఒకటి, స్థానిక హోస్ట్ స్లాష్ index.php లేదా ఏదో, మీ బ్రౌజర్ ఉంది పంపుతుంది అభ్యర్థన, ఆపై Apache కూర్చొని అక్కడ మరియు అది చేయడానికి సంఖ్యలు. మరియు చర్య అమలు చేయడం ఆ index.php లో కోడ్ మరియు అప్పుడు తిరిగి పంపుతుంది. కాబట్టి ఆ ఉంది. కాబట్టి మేము విధమైన ఈ మాట్లాడారు. కాబట్టి అది కేవలం ఒక స్థిర ఫైలు ఉంటారనే లేదా సమస్య కొన్ని PHP కోడ్ అమలు మరియు ప్రతిస్పందన. రావచ్చు తద్వారా ఒక సాధారణ ప్రశ్న అప్ బాగా, ఎలా మేము నిజంగా మర్చిపోయావా బహుళ వినియోగదారులు కలిగి అదే సమయంలో? మీరు ఒక వెబ్ రాసే అలా ఊహించే సర్వర్, మీరు ఒక వెబ్ సర్వర్ కలిగి ఉంటే మీరు ఏదో రాయడానికి ప్రయత్నిస్తున్న సి లేదా అలాంటిదే వంటి, ప్రధానంగా మీరు గురించి ఆలోచించవచ్చు ఎలా ఉన్నాయి కోడ్ రకమైన జరిగి అభ్యర్థనను స్వీకరిస్తారు, కానీ అది అన్ని ఈ పని చేయడానికి ఉంది. ఇది, ఉదాహరణకు, సంప్రదించవలసి ఉంటుంది డేటాబేస్ లేదా అలాంటిదే. కుడి? అది ఆ రకమైన చేయరు ప్రాసెసింగ్ ఆపై ప్రతిస్పందన పంపిన. కాబట్టి అధిక వంటిది స్థాయి అవగాహన. కానీ వెంటనే స్పష్టమైన కాదు ఎలా మీరు చేయవచ్చు కాబట్టి ఆ ఇద్దరు వ్యక్తులు లేదా కూడా 1,000 మంది పనిచేస్తుంది మీ అదే సమయంలో వెబ్ సర్వర్. కాబట్టి Apache ఉపయోగించే పరిష్కారం లు లేదా ప్రక్రియలు అంటారు. కాబట్టి మీరు విన్న ఉండవచ్చు ముందు ఈ నిబంధనలు. ఇది మీరు కలిగి ఉంటే సరే, కానీ భావిస్తున్నాను కోసం మార్గాలు వంటి థ్రెడ్లు లేదా విధానాల గురించి ఒక ఆపరేటింగ్ సిస్టమ్ లేదా ఒక వినియోగదారు ప్రోగ్రామ్ లేదా అలాంటిదే లేదా ఒక వెబ్ సర్వర్ విధమైన బహుళ అమలు ఒకేసారి విషయాలు. కాబట్టి మీరు పదం వినే ఉంటారు మరణశిక్ష దారాలు వంటి. మీరు చేస్తున్నట్లు కనుక ఇది రకమైన ఉంది బహువిధి విధమైన. మరియు మీరు బాక్స్ లో చూసిన ఉంటే మీ ల్యాప్టాప్, లేదా అలాంటిదే, మీరు చెయ్యగలరు మల్టీకోరుతో, మీరు ఉంది వివిధ రెండు వివిధ దారాలు అమలు CPU యొక్క భాగాలు చేసుకోగలను నిజానికి అదే సమయంలో జరిగే. కాబట్టి ఈ నిజంగా శక్తివంతమైన. మరియు ఈ Apache యొక్క రకం ఈ సమస్యకు పరిష్కారం. కాబట్టి రకమైన సమస్యలని వంటి ఉన్నాయి అయితే ఈ పద్ధతిలో ఉన్న? కాబట్టి నేను రకమైన అక్కడ ఏముందిరా అంచనా. కానీ వాటిని రెండు విధమైన మెమరీ చాలా ఉపయోగించడానికి. ఇది సృష్టించడానికి చాలా ఖరీదైన ఒక థ్రెడ్ లేదా ఒక ప్రక్రియ. మరియు తార్కికం భాగం కేవలం మీకు ఒక సి కార్యక్రమం అమలు చేసినప్పుడు మీ ప్రధాన వంటి మరియు ఆ కాల్స్ మరొక ఫంక్షన్, ఆ ఉంది స్టాక్ రకమైన. కాబట్టి దారాలు కూడా పూర్తిగా ఒక అవసరం ప్రత్యేక స్టాక్ ఇది చాలా పెద్ద కావచ్చు. మరియు మీరు ఊహించే ఉంటే టన్నుల కలిగి మీ వెబ్ సైట్ లో వినియోగదారులు, మీరు కలిగి ఉంటుంది వివిధ దారాలు చాలా. ఆ స్టాక్స్ చాలా ఉంది నిర్వహించండి మరియు నిర్వహించడానికి. కాబట్టి ఇది పెద్ద మెమరీ వినియోగం. ఆపై, యొక్క మీరు మాత్రమే ఉంటుంది అని పిలవబడు ఒక CPU, లేదా యొక్క మీరు పిలవబడు మీరు కంటే ఎక్కువ లు ఆ multicores. కుడి? కాబట్టి యొక్క మీరు 10 లు కలిగి చెప్పారు మరియు మీరు కేవలం ఐదు CPU లు కలిగి. మీరు రకమైన ఈ పనిని ఉంటుంది మీరు ప్రస్తుత మధ్య మారడానికి మీరు ఎందుకంటే నడుస్తున్న ఉండే ఒకేసారి అన్ని 10 అమలు కాదు. మరియు ఒక సందర్భంలో స్విచ్ అని. మరియు ఆ పదం నిజానికి ఒక జంట యొక్క ఉంది వివిధ సందర్భాలలో, కానీ కేవలం చేసుకుందాం మారే వంటి ఆలోచించి రెండు దారాలు మధ్య. ఆ అందమైన ఖరీదు ఎందుకంటే ప్రధానంగా మీరు చేయాల్సిందల్లా మీరు ఉంది మీరు చేస్తున్న ఏమి ఆపాలి, సేవ్ అమలు థ్రెడ్ రాష్ట్ర మరియు తర్వాత ఎక్కడైనా మారడం. కాబట్టి అందరూ రకమైన చూడండి లేదు ఎందుకు దారాలు మరియు ప్రేరణ ప్రక్రియలు కొద్దిగా స్థూలమైన కావచ్చు? మరియు మీరు ఒక ప్రశ్న ఉందా? OK. కూల్. ఎవరైనా ఏ ప్రశ్నలు? OK. కాబట్టి మేము రెండవ కోసం తిరిగి ఒక దశకు ఉంటే, రకమైన వంటి ఉంది మేము గురించి చేసే పరిశీలన వెబ్ అప్లికేషన్లు చాలా. మరియు ఆ నిజంగా అని వాటిని చాలా నిజానికి చెయ్యమని చాలా ఉపయోగకరమైన ఒక థ్రెడ్ పనిచెయ్యాలి. కాబట్టి ఎవరైనా ప్రారంభమయింది P వద్ద అన్ని ఏడు సెట్? కాబట్టి మీరు బహుశా వివరించడానికి అనుకుంటున్నారు భాగాలు కొన్ని? మీరు ప్రవేశించినపుడు పని లేదా అలాంటిదే? ప్రేక్షకులు: నం కెవిన్ స్చ్మిడ్: OK. ఫరవాలేదు. క్షమించాలి. కానీ సాధారణంగా, పి సెట్ లో, మీరు విధమైన చాలా తయారు కావడం కొన్ని పొందడానికి ఒక డేటాబేస్ ప్రశ్నలు డేటాబేస్ నుండి సమాచారాన్ని. మరియు మీ కోడ్ చేస్తూ అన్నారు, ఆ Apache ప్రక్రియ లేదా Apache థ్రెడ్ చేస్తూ అన్నారు ఇది సంప్రదించడానికి కలిగి ఉండగా డేటాబేస్ విధమైన చేస్తాడు ఉంది కూర్చోవడం మరియు చేస్తాడు డేటాబేస్ ప్రత్యుత్తరం కోసం వేచి. ఇప్పుడు ఆ పెద్ద ఒక పోలికే ఉండకపోవచ్చు డేటాబేస్ మీ మీద ఎందుకంటే పరిష్కరించేందుకు CS50 ఉపకరణం, కుడి? కానీ నెట్వర్క్ యొక్క రకమైన ఉంది అక్కడ జాప్యం ఇప్పుడు వెబ్ ఎందుకంటే సర్వర్కు దాని సొంత అభ్యర్థనను జారీ ఉంది సంభాషించడానికి డేటాబేస్ డేటాబేస్ మరియు ఆ పొందండి సమాచారం తిరిగి. కాబట్టి ఇప్పుడు నేను ఉన్నాను, నాకు వేచి వంటిది వెళ్ళి నుండి ఏదో డేటాబేస్ ఆపై ఒక ఉంది జరగబోతోంది వేచి చాలా. అర్ధవంతం లేదు? మరియు కొన్ని విషయాలు కోసం ఆ చెడు కాదు. ఇది కేవలం ఉంది, ఉదాహరణకు, యాక్సెస్ మెమరీ, ఇష్టం లేదు భయంకరమైన I / O జాప్యం. నేను ఉన్నప్పుడు, I / O జాప్యం, నేను ఏమి సూచిస్తూ వంటి ఎలాంటి వంటిది ఇన్పుట్ అవుట్పుట్. కానీ వంటి, డిస్క్ లో ఫైలు యాక్సెస్ నేను స్టాటిక్ HTML సర్వ్ కోరుకుంటే దాఖలు కదండీ న లేదా అలాంటిదే, నేను రకమైన ఉంటుంది కొంతసేపు ఆపడానికి, ఆ ఫైల్ను చదవడానికి డిస్కునుండి, ఆపై లో లో ఆ ప్రక్రియ పించేది. నేను ఉపయోగకరంగా పని చేయడం లేదు. ఈ ప్రతిదీ నిజం కాదు, కానీ పి సెట్ వంటి అనువర్తనాల్లో సాధారణం ఏడు మరియు అప్లికేషన్లు చాలా మీరు కాదు అని నిజానికి చాలా ఆలోచించడమే. నేను ఆలోచన ఉన్నప్పుడు, నేను అర్థం గణన పని వంటి. కాబట్టి గణన పని ఏదో ఉంటుంది వంటి సే, మీరు కోరుకుంటే కేవలం కంప్యూటెడ్ ఒక వెబ్ సర్వర్ వ్రాయండి n వ ఫైబొనాక్సీ సంఖ్య. ఒక ముఖ్యంగా పోలికే లేదు సరదాగా వెబ్ సర్వర్. నేను ఆ సైట్ ఆశించే కాదు తరువాత Facebook, కానీ కొన్ని ఉంది గణన పని రకం. మరియు మీరు ఆ స్థానంలో ఊహించే ఆసక్తికరమైన కొన్ని ఇతర రకమైన గణన పని. యొక్క మీరు ఏదో రాసే పిలవబడు పట్టాను లెక్కించారు ఇద్దరు వ్యక్తుల మధ్య విభజన లేదా అలాంటిదే. కాబట్టి ఆ రకమైన కలిగి చేస్తుంది గణన, కుడి? అప్పుడు కూడా, మీరు ఇప్పటికీ కలిగి చేయడానికి బహుశా కోసం వేచి చాలా చేయడానికి మీరు చూడటానికి ఒక డేటాబేస్ ప్రశ్నించడానికి కలిగి అప్ ఎవరు లేదా తో స్నేహితులు ఉంది అలాంటిదే. కాబట్టి భావన ఆ రకమైన ఉంది యొక్క గణన పని. అర్ధవంతం లేదు? ఎవరైనా ఏవైనా ప్రశ్నలు ఉందా? ఓహ్ మరియు నేను అక్కడ చాట్ సర్వర్లను చాలు అంచనా చాట్ సర్వర్లను రకమైన ఎందుకంటే ఈ మరో మంచి ఉదాహరణ. ఒక చాట్ సర్వర్ లేదు చాలా ఆలోచన చేయడానికి. ఇది కేవలం ప్రజలను కోసం వేచి ఉంది సందేశాలు మరియు అప్పుడు పంపండి వారు, వాటిని పంపడానికి. OK? కాబట్టి మళ్ళీ రీక్యాప్,, Apache మరియు ఆ చీలిక ఒక ఇట్లాంటి వెబ్ సర్వర్లు దారాలు మరియు ప్రక్రియల చాలా ఇది రకమైన వృధా అవుతుంది. నేను రావచ్చు ఆ ప్రశ్న అంచనా నుండి మనం చేయాలి ఉంది బహుళ తంతుల మరియు ప్రక్రియలు? మనం కేవలం ఒక కలిగి ఉంటే? కాబట్టి యొక్క రకమైన ఒక చిత్రాన్ని పెయింట్ వీలు ఇలా ఉంటుంది ఏమి. కాబట్టి యొక్క మాత్రమే ఒక థ్రెడ్ ఉపయోగించడానికి. OK? కాబట్టి కేవలం ఒక థ్రెడ్ ఈ ఊహించే. యొక్క మేము నిజంగా చేయడం లేదు అనుకుందాం ఎక్కువ ఉపయోగకరంగా - మరియు నేను ఉన్నప్పుడు ఉపయోగకరమైన, నేను గణన పని అర్ధం - ముందు ఆ బహుళ తంతుల. కాబట్టి యొక్క రకమైన ఏకీకృతం ఉత్తరం ఒక త్రెడ్ లోకి ప్రతిదీ. కాబట్టి మనం ఒక త్రెడ్ ఆ రకమైన కలిగి ఉంటే కేవలం లూప్ లో చుట్టూ వెళ్లి నిరంతరం తనిఖీలు ఏదో చేశారు కొత్త జరిగే. ఉదాహరణకు, ఏదో కొత్త జరిగింది నేను నుండి తిరిగి ఏదో వచ్చింది అర్ధము పంపిన డేటాబేస్, లేదా ఎవరైనా నాకు కొత్త HTTP అభ్యర్థన. కాబట్టి ఆ ఈవెంట్స్ ఒకరకమైన ఆ కుడి, జరిగే? ఆపై నేను చెయ్యగలరు ఉన్నప్పుడు ఆ కొత్త జరిగే విషయాలు ఈ అదే థ్రెడ్ లో ఉంది ఉరి, ఈ సింగిల్ థ్రెడ్ మరణశిక్ష, నేను కొన్ని కోడ్ కాల్ చేసే నిర్దిష్ట విషయం నిర్వహించడానికి. ఉదాహరణకు, నేను ఏదో వస్తే తిరిగి డేటాబేస్ నుండి, నేను అమలు కాలేదు నా ఇది చిన్న గణన భాగం నిజానికి విషయం సిద్ధం యూజర్ తిరిగి పంపడానికి. కాబట్టి సమంజసం ఆ రకమైన చేస్తుంది? కానీ నిజంగా ఏవి ఈ చిక్కులు? కుడి? మేము వ్రాసిన ఎందుకంటే కోడ్ అని చాలా - మరియు నేను ముందుకు జంప్ వెళుతున్న ఆ సరే ఉంటే స్లయిడ్లను. మీరు పట్టించుకోవడం లేదు చేస్తే, నేను కేవలం తిరిగి ఒక దశకు. కాబట్టి విషయం ఈ రకమైన ఉంది కార్యక్రమం లూప్ అని. OK? మరియు అది ప్రాథమిక రకంగా Node.js. ఆలోచనకు Node.js నిజంగా ఒక వెబ్ వంటి చేస్తోంది కాబట్టి సర్వర్ ఒక త్రెడ్ ఉంది ఉంది ప్రాథమికంగా ఒక లూప్ లో జరుగుతున్న ఉంది క్రింద ఒక అయితే ఒక రకమైన వంటి నిరంతరం ఆ Node.js హుడ్ తనిఖీ, మేము కొత్త విషయాలు అందిందా? అది నిర్వహించేవారు రన్ చేస్తుంది మీరు ఏర్పాటు. కానీ గోవా మంచి ప్రశ్న ఎలా మేము ఈ జరిగే చేయవచ్చు వాటికి తో? నేను ఇక్కడ సి కోడ్ ఒక లైన్ పెట్టే ఇది బయలుపరచుచున్నారు వంటిది కనిపిస్తోంది ఒక కుడి, ఫైల్? నేను ఆమె ఒక ఆల్బమ్ తో వచ్చాడు. మొక్కు ఒక కొత్త ఫైల్ను తెరవడం వచ్చింది. కాబట్టి మార్గం ఆపరేటింగ్ కోసం మా సి కోడ్ - మరియు నేను ఫైళ్లు ఎంపిక కారణం ఉండిఉండవచ్చు ఈ మేరకు రకం ఎందుకంటే మేము లో సి లో చేసిన I / O పని ఇన్పుట్ అవుట్పుట్ ఆ భావాన్ని. కాబట్టి మేము ఈ కోడ్ కాల్ ఈ f ఓపెన్ చేస్తుంది. మరియు తర్వాత మా తదుపరి లైన్ కార్యక్రమం, మేము ఇప్పుడు f పని చేయవచ్చు. కాబట్టి ఈ ఏదో ఒక ఉదాహరణ ఉంటుంది ఆ ఏకకాలిక లేదా వంటిది మొదటి లైన్ ఎందుకంటే నిరోధించడాన్ని అక్కడ మేము మేము వరకు వేచి ఫైలు ఓపెన్ పొందడానికి. కాబట్టి రెండవ లైన్, మేము తెలిసిన మేము f తో పని, కానీ ఈ అర్థం చేసే రెండవ లైన్ నిజంగా అమలు కాదు మొదటి లైన్ జరుగుతుంది వరకు. అర్ధవంతం లేదు? కాబట్టి ఈ ఉంచాలి చెడు ఉంటుంది కార్యక్రమం నిర్వహణ లో. మరియు ఆ కారణం ఉంది నిలబడుతుంది ఈ రకమైన, కుడి? కాబట్టి ఈ మాకు తిరిగి స్వాధీనం అవుతాయి ఇదే. ఇప్పుడు మేము కూడా ఉండదనే బహుళ తంతుల ప్రయోజనం లేదా ప్రక్రియలు మేము వచ్చింది ఎందుకంటే Node.js. లో ఒక త్రెడ్ అందరికి తెలుస్తుంది ఉందా? ప్రేక్షకులు: వేచి. కాబట్టి భర్తీ ఏమిటి? కెవిన్ స్చ్మిడ్: ఓహ్, అవును అలా. నేను ను వెళుతున్న భర్తీ. OK. ఏదో వచ్చింది కాబట్టి ఏం ఆ ఇలా? కాబట్టి ఏమి నేను సంపాదకీయం ఇప్పుడు ఉంటే f కొద్దిగా తెరిచి? నేను అదే లో ప్రయాణిస్తున్న నేను ముందు రెండు వాదనలు. నేను ఇప్పటికీ కొత్త పాట ప్రేమ ఆమె తో వచ్చిన. కానీ నేను మూడవ విషయం ప్రయాణిస్తున్న నేను ఇది ఈ వేరియబుల్ కోడ్ అంటారు. కానీ కోడ్ నిజానికి ఏమిటి ఈ సందర్భంలో? ఇది ఒక సాధారణ సి వేరియబుల్ వంటిది? ఇది కుడి, ఒక ఫంక్షన్ ఉంది? మరియు ఆ కారణం కొద్దిగా అదృష్టము ఉండవచ్చు నేను నిజానికి ఇప్పుడు ప్రయాణిస్తున్న వంటి రెడీ ఒక మరో ఫంక్షన్ పని. ఈ గురించి గమనించండి ఒక జంట విషయాలు కాబట్టి. ఒకటి, నేను నిజానికి కాల్ లేదు కోడ్ ఫంక్షన్. కాబట్టి మీరు కోడ్ చూడలేదు ఎడమ బ్రాకెట్, కుడి బ్రాకెట్. నేను కోడ్ లో ప్రయాణిస్తున్న నేను. మరియు సి లో, ఈ నిజానికి ఏం చేస్తారు నిజమైన నాకు ఒక పాయింటర్ అందించగలరు కోడ్ మరియు ఈ అమలు కాలేదు. మీరు కానీ కేవలం దాని గురించి ఆలోచించటం అమలు కోడ్ ప్రయాణిస్తున్న ఉన్నప్పుడు ఆ మోపడం ఉంది. కానీ దీని అర్థం అని ఇప్పుడు అలా నా ప్రోగ్రామ్ మిగిలిన ఇతర విషయాలను, ఇతర చేయడం కొనసాగించవచ్చు అంశాలను, నిజంగా వేచి, కానీ అయితే మా తలలు వెనుక లో కలిగి ఆ ఫైలు యొక్క ఓపెన్, అమలు ఎగువన కోడ్. అర్ధవంతం లేదు? ఇప్పుడు Node.js ఆలోచనకు ఉంది f తో stuff లో కోడ్ భాగం అందంగా చిన్న మరియు సాధారణ ఉండాలి నిజంగా మరియు ముక్కుసూటి మరియు కాదు ఇంటెన్సివ్ చాలా గణన. ఇది మరొక ఫైల్ తెరిచి ఉంటుంది, కానీ ఉండవచ్చు కూడా అందంగా త్వరగా ఉండాలి అది మరొక F ఏమి చెప్పాలి ఎందుకంటే తెరిచి ఈ ఇతర కోడ్ కాల్. కాబట్టి కేవలం క్లియర్, f ఉండాలి ఆ తెరిచి కొత్త కాటి పెర్రీ పాట చేస్తుంది పూర్తి mp3, ఆ చేస్తాడు అందంగా చాలా వెంటనే తిరిగి. మరియు తర్వాత మేము చేయడం కొనసాగించవచ్చు ఇతర విషయాలను ఎందుకంటే ఇప్పుడు f అన్ని ఓపెన్ కాల్ ప్రాథమికంగా చెప్పండి ఇది ఉంటుంది అంతర్లీన f ఓపెన్ కోడ్ తెరుస్తాను మరియు మీరు ఈ తెరవడం పూర్తి చేసినప్పుడు మీరు తిరిగి వచ్చినప్పుడు దాఖలు లేదా, ఆ కోడ్ అమలు. అయితే ఆ కోడ్ నడవదు. మరియు మీరు ఒక ప్రశ్న? ప్రేక్షకులు: మీరు కొన్ని అర్థం అనిపించింది గణన జోడించడం సార్లు ఇంటెన్సివ్ కోడ్ విధమైన బ్రేక్ [వినబడని] నిర్వహించే వ్యవస్థను. [వినబడని]? కెవిన్ స్చ్మిడ్: ఒక గొప్ప ప్రశ్న. నేను నిజానికి ఎలా ఒక ఉదాహరణ కలిగి మీరు గణన ఇంటిగ్రేట్ కాలేదు కొద్దిగా లో ఇంటెన్సివ్ కోడ్. కాబట్టి మేము కోడ్ ఉదాహరణలు ను, నేను ఒక తీసి ఖచ్చితంగా ఉంటుంది. సరేనా? ధన్యవాదాలు. మీ పేరేంటి? ప్రేక్షకులు: ఆరోన్. కెవిన్ స్చ్మిడ్: ఆరోన్ చాలా వస్తుంది ఇది మంచి పాయింట్, నేను కలిగి ఉంటే కొన్ని గణన ఇంటెన్సివ్ కోడ్ f భాగంగా, మిగిలిన తో stuff నా ప్రోగ్రామ్ అమలు కాదు మరియు వినడానికి కాదు అన్ని వరకు కొత్త అభ్యర్థనలను లేదా ఏదైనా అంశాలను పూర్తి. నేను సాధారణంగా నోడ్ కోడ్ వ్రాసే ఉంటే నేను వెళుతున్న వంటి ఏదో తప్ప మేము చూడండి తర్వాత సూచించారు కోడ్ ఉదాహరణలు, నేను ఖచ్చితంగా ఆ ఉండాలి నా కోడ్ టై లేదు ఈ ఈవెంట్ లూప్. అర్ధవంతం లేదు? OK. కూల్. కాబట్టి Node.js ఈ ముసాయిదా అందించే మీరు నడిచే ఈ కార్యక్రమం నిర్మించవచ్చు సర్వర్ల. కనుక ఇది ఏసిన్క్రోనస్ ఆలోచనలకి ఉంది అయితే, I / O గ్రంధాలయాలు కాని నిరోధిస్తోంది మేము చేసిన ప్రామాణిక C లైబ్రరీలను , పని వంటి మీరు కేవలం మేము చేసిన అదే విధంగా వాటిని ఉపయోగిస్తుంది f వాటిని ఉపయోగిస్తున్నాము తెరుస్తుంది మరియు స్టఫ్ ఆ నిరోధించడాన్ని ఎందుకంటే మీరు నిజంగా వేచి తెరవడానికి ఫైలు. కానీ Node.js మీరు ఆ ఇస్తుంది మరియు ప్రాథమికంగా Google యొక్క V8 లోకి నెలకొల్పుతుంది కారణం ఇది జావాస్క్రిప్ట్ ఇంజిన్ Chrome ప్రాసెసింగ్ వద్ద ఫాస్ట్ అని జావాస్క్రిప్ట్ ఎందుకంటే ఈ V8 ఇంజన్ కలిగి. నేను ఆ ఒకటి లాగా తెలుసు WWDC డెవలపర్ సమావేశాలు విషయం వారు కేవలం ఒక సమూహం త్రో పేరు ప్రాసెసర్లు లేఖ సంఖ్య విషయాలు మరియు ఈ విధంగా బాగుంది చెప్పటానికి. కానీ వాళ్లు బాగుంది ఈ ఎందుకంటే జావాస్క్రిప్ట్ - లేదా ఉండవచ్చు మీరు తెలిసిన తెలియకపోతే జావాస్క్రిప్ట్ ఇంకా మేము వచ్చింది కారణంగా ఇది ఉపన్యాసాలు - కానీ జావాస్క్రిప్ట్ ఒక వివరించబడుతుంది భాష. మరియు ఈ చాలా ముఖ్యమైన విషయం. కాబట్టి అది మా వెబ్ కోసం ముఖ్యం సర్వర్లు కుడి, వేగవంతంగా? మరియు మేము జావాస్క్రిప్ట్ అమలు ఉంటే అర్థం ఆ కోడ్ కేవలం పాత వ్యాఖ్యాత అది నెమ్మదిగా ఉండవచ్చు. ఈ కలిగి నుంచి నోడ్ ప్రయోజనాలు సూపర్ ఫాస్ట్ V8 వ్యాఖ్యాత. వారు అనే ఉంటే నేను తెలియదు ఎందుకంటే నుదిటి V8 స్లాప్ విషయం, కానీ OK. నేను కొన్ని ఉదాహరణలు తయారు చేసిన ఈ URL వద్ద. సదస్సు తరువాత, నేను విధమైన వెళుతున్న మీరు నోడ్ సెట్ పొందడంపై మాట్లాడటానికి అప్, కానీ ఇప్పుడు కోసం, నేను కేవలం విధమైన కావలసిన కొన్ని కోడ్ ఉదాహరణలు నడవడానికి. కాబట్టి మీరు వెంట అనుసరించండి అనుకుంటే, అన్ని సోర్స్ కోడ్ అందుబాటులో ఉంది. OK? నేను ఈ URL చెప్పను కొద్దిగా అప్. మరియు తర్వాత నేను వెళుతున్న టెర్మినల్ మారడం. అందరూ ఈ URL తో మంచి? నేను మారేలా వెళుతున్న ఇక్కడ నా టెర్మినల్కు. ఇక్కడ కోడ్ అని నేను ఈ రోజు కోసం కలిగి. ఎందుకు మనం ప్రారంభం కాదు simpler.js దాఖలు? ఇతర విషయం ఈ అన్ని కోడ్ రాయగల అన్నారు జావాస్క్రిప్ట్ ఇది మీరు లేదా తెలిసిన కాకపోవచ్చు. నేను ఒక జంట విషయాలు ఉంది అనుకుంటారో చాలా జావాస్క్రిప్ట్ కోడ్ రకమైన ఉంది వాక్యనిర్మాణం మరియు నిర్మాణం చాలా పోలి ఉంటుంది సి, వంటి మీరు రకమైన ఎంచుకొని తద్వారా మీరు సహకరించు. నేను చాలా రాయడానికి ప్రయత్నించాము ఒక విధంగా ఈ ప్రారంభ కోడ్ యొక్క తద్వారా సి పోలి కొంచెం చదవగలిగే. కానీ మేము పురోగతి, నేను ఉంటాం అదనపు కొన్ని చూపిస్తూ JavaScript యొక్క లక్షణాలు అని రకమైన బాగున్నాయి. కానీ యొక్క ఈ నమూనా కార్యక్రమం చూద్దాం. నేను ప్రతిదీ అక్కడ నరికి ఆ అంచనా. నేను నిజమైన పరిష్కరించడానికి వెళుతున్న ఆ సరే లేదా కాదు ఫాస్ట్ ఉంటే. నేను దీన్ని అన్నారు ఏమి లేదు. కొద్దిగా మెరుగ్గా ఉంది? మీరు var మరియు stuff చూడగలరు? OK. కాబట్టి మొదటి లైన్ జావాస్క్రిప్ట్ ఉంది ఒక వేరియబుల్ వెర్షన్ ప్రకటన. కాబట్టి కేవలం ఈ చేస్తాను హైలైట్ కాబట్టి ఈ కేవలం వంటి C. లో లాగా నాకు మాట్లాడుతూ ఇండెక్స్ మూడు సమానం లేదా అలాంటిదే. కాబట్టి నేను రకాన్ని లేదు. జావాస్క్రిప్ట్ రకాల కలిగి, కానీ అది చాలా డైనమిక్ ప్రకృతిలో టైప్, కాబట్టి దానిపై రకం ఎలాంటి తెలియజేయలేదు. కనుక ఇది కేవలం var ఉంది. ఆ వేరియబుల్ వంటిది. OK? నేను ఈ వేరియబుల్ HTTP కాల్ వెబ్. మరియు నా కుడి వైపు, నేను కలిగి నేను HTTP లో ఉంచాలి కావలసిన ఆ వ్యక్తీకరణ. మరియు ఈ HTTP అవసరం చెప్పారు. కాబట్టి ఈ రకమైన ఉన్నాయి ఉంటుంది. ఇది కొంచెం వంటి శక్తివంతమైన కంటే ఉన్నాయి కోణంలో ఉన్నాయి కేవలం కాపీ మరియు శీర్షిక పేస్ట్ అని ఫంక్షన్ నమూనాలను కోసం దాఖలు లేదా రకం వివరణలతో సంసార. కానీ అవసరం నిజానికి అన్నారు మాకు కోడ్ పొందడానికి. అందువలన మీరు కూడా ఆలోచించవచ్చు కొన్ని కోడ్ దిగుమతి. సో ఎక్కడా Node.js మాడ్యూల్ లో వ్యవస్థ లేదా వస్తువు, వారు అన్ని ఈ కలిగి HTTP సర్వర్ కోడ్ కాబట్టి నేను ఉన్నాను నా సొంత కోసం ఇది పొందడంలో ఈ కార్యక్రమంలో వ్యక్తిగత ఉపయోగం. OK? కాబట్టి నేను ఈ చర్య నేను రాసిన చేసిన. నేను పేర్కొనాలి లేదు గమనించవచ్చు తిరిగి టైప్ లేదా రకం వాదనలు మళ్లీ. కాబట్టి రకమైన వదులుగా టైప్ భావన ఆ రకమైన. అది పడుతుంది రెండు వాదనలు, అభ్యర్థన మరియు ప్రతిస్పందన. కాబట్టి సంభావితంగా రకమైన వంటిది మేము కలిగి చిత్రాన్ని నుండి తెలిసిన తెరపై ఎందుకంటే ముందు మేము ఈ అభ్యర్థనను మేము యూజర్ నుండి కలిగి. మరియు తర్వాత మేము ఒక ప్రతిస్పందన కలిగి మేము విషయాలు వ్రాయగలరు. కాబట్టి ఈ మొదటి లైన్ చేస్తుంది 200 res.writeHead మరియు ఈ కంటెంట్ రకం టెక్స్ట్ సాదా. కాబట్టి యొక్క కొద్దిగా దూరంగా ఈ ముక్క తెలియజేయండి. కాబట్టి యొక్క res.write దృష్టి వీలు కొద్దిగా కోసం. కాబట్టి వ్రాయండి, రప్పించింది, మరియు తల వ్రాయండి విధమైన రాయడానికి కేవలం మార్గాలు ప్రతిస్పందన విషయాలు. OK? ఎవరైనా గుర్తు చేస్తే, తల వ్రాయండి HTTP ఉపన్యాసం నుండి, మీరు అబ్బాయిలు వద్ద శీర్షికలు గుర్తు HTTP విషయం పైన? అందుచే నేను కేవలం డెమో లేదు నిజమైన త్వరగా శీర్షికలు. ఆ సహాయకారిగా? లేదా తప్పక మేము విధమైన - OK. ఖచ్చితంగా. కాబట్టి మీ బ్రౌజర్ google.com వెళుతుంది లేదా అలాంటిదే, నిజానికి కొంచెం ఉంది - ఈ ఒక రహస్య వంటిది - కొంత సమాచారం వంటి ఉంది కేవలం కంటే గొట్టం ద్వారా వస్తుంది చిన్న శోధన మరియు ప్రతిదీ. కాబట్టి మీరు ఈ చూపించడానికి, నేను వెళుతున్న కర్ల్ అనే ప్రోగ్రామ్ ఉపయోగించడానికి. OK? కాబట్టి ఈ మీరు అమలు విషయం మీ Mac OSX లైన్ లో ఉపకరణం లేదా సంసార. కాబట్టి నేను వలయములుగా లేకపోతే HTTP google.com, నేను HTML చూడండి వెళుతున్న. మరియు ఈ, న్యాయంగా, కేవలం విధమైన మీరు చెబుతుంది ఆ HTML మీ బ్రౌజర్ కాకపోతే www మళ్ళించడం స్వయంచాలకంగా నిర్వహించడానికి దారిమళ్ళింపు. ఈ కేవలం HTML, కానీ నేను వెళుతున్న నేను ఫ్లాగ్ ఈ హైఫన్ వలయములుగా జోడించడానికి. OK? మరియు ఈ చూపించబోతున్నాను నాకు శీర్షికలు. కాబట్టి ఈ కూడా వచ్చే సమాచారం ద్వారా నేను ప్రతిస్పందన వచ్చినప్పుడు. OK? కాబట్టి ఎగువన, మీరు ఈ చూడండి HTTP 301 శాశ్వతంగా తరలించడానికి. మరియు ఈ రకమైన ముఖ్యం ఎందుకంటే ఈ స్థితి కోడ్ సూచిస్తుంది. ఇక్కడ 301, స్థితి కోడ్ ఉంది ప్రధానంగా కేవలం ఒక పూర్ణాంకం ఇది ఆ బ్రౌజర్ లేదా ఎవరైతే చెబుతుంది మీరు నటిస్తారు ఉంటే, ఈ చదవడానికి మీరు బ్రౌజర్ ఉన్నాము మరియు మీరు ఈ చూస్తున్నారని, ప్రాథమికంగా ఇప్పుడు మీరు చూడండి మరియు మీరు ఒక 301 చూడండి, మీరు నాకు తెలుసు ఆధారంగా ప్రత్యేక ఏదో చేయాలని 301, లేదా ఏదో ప్రత్యేక జరిగిన 301 ఆధారంగా. కనుక ఇది శాశ్వతంగా తరలించబడింది చెప్పారు. ఆపై, ప్రాథమికంగా, మనం కీ విలువ జతలను కొంత. కాబట్టి మేము స్థానాన్ని పొందడానికి www.google.com ఉంది. ఆపై రకమైన అన్ని ఈ ఇతర స్టఫ్, కానీ ప్రాథమికంగా, ఏ స్థానం మాట్లాడుతూ కొత్త స్థానము www.google.com ఉంది. మీరు google.com వెళ్ళండి అయితే ఇప్పుడు, మీరు విధమైన బ్లింక్ యొక్క బ్రౌజర్ రకం చూడండి మళ్లించేవరకు అప్పుడు రెండవ మరియు కోసం మళ్లీ www.google.com కు. కాబట్టి స్పందనలు కలిగి ఈ పీఠికలను. మరియు విషయాలను అభిప్రాయపడుతున్నారు. కాబట్టి యొక్క మేము నిజంగా విజయవంతమయ్యాయి అని పిలవబడు ఒక వెబ్ పేజీ సందర్శించడం లో. కాబట్టి నాకు వీడలేదు - ఒక మంచి వెబ్సైట్ ఏమిటి? నేను మంచి ఆలోచన వద్ద చెడు ఉన్నాను అక్కడికక్కడే వెబ్సైట్లు. ప్రేక్షకులు: వికీపీడియా. కెవిన్ స్చ్మిడ్: OK. యొక్క వికీపీడియా తెలియజేసేలా. ఇక్కడ నేను తరలించారు. పయత్నం. నేను ఉంది? అవును, నేను. OK. నేను www ఏమి వచ్చింది. నేను www వెళుతున్న. మీరు చూడగలరు గా, ఇక్కడ అన్ని HTML ఉంది బ్రౌజర్ ప్రాసెస్ అని వికీపీడియా కోసం. కానీ నేను ఇక్కడ స్క్రోల్ ఉంటే, నేను ఎగువన చూస్తారు - వావ్, చాలా ఉంది ఇక్కడికి HTML - కానీ నేను ఇక్కడ ఎగువన చూడవచ్చు ఉంది వంటి వ్యతిరేకంగా ఈ 200 స్థితి కోడ్ నేను ముందు చూసిన 301. మరియు అది ఒక nice ఉంది గమనించవచ్చు అది ప్రక్కన స్నేహపూర్వక OK. కాబట్టి ఈ మంచి హోదా కోడ్ వంటిది. 200 సంఖ్య తెలిసిన కనిపిస్తోందా? అవును నేను simpler.js చేశాడు, ఉన్నప్పుడు నేను అక్కడ ఒక 200 రాశారు. కాబట్టి ప్రాథమికంగా చెప్పండి మాట్లాడుతూ బ్రౌజర్ లేదా ఎవరైతే ను ప్రయత్నిస్తున్నారు వారు విజయం సాధించారు ఈ. లేదా వంటి మేము ఆ రకమైన చాలా విజయవంతమయ్యాయి. మరియు ప్రత్యేక వాక్యనిర్మాణ ఈ రకమైన ఉంది జావాస్క్రిప్ట్ లో ఒక చాటి కంటెంట్ రకం వంటి ఈ కీల చిత్రం మరియు టెక్స్ట్ సాదా వంటి ఈ విలువలు. కాబట్టి మీరు ప్రతిస్పందన చూస్తే మేము , ముందు వికీపీడియా నుండి వచ్చింది - నేను స్క్రోల్ ప్రయత్నించండి వెళుతున్న కొద్దిగా వేగంగా అప్ - మీరు సర్వర్ వంటి ఈ కీలు ఈ విలువలు Apache. కాబట్టి మీరు కీస్ మరియు విలువలతో పొందారు. మరియు మీరు ఈ పేర్కొనవచ్చు తిరిగి పంపడానికి ఏమి నోడ్. కాబట్టి ఈ కొన్ని, వాస్తవానికి రకమైన ఉంది మార్గాలు, మరియు కొన్ని మార్గాల్లో ఇది కాదు నిజంగా, కానీ కొద్దిగా తక్కువ స్థాయి మీరు చెయ్యదగిన PHP కోడ్ కంటే పి రాస్తూ ఏడు సెట్ ఎందుకంటే PHP మరియు Apache విధమైన కొన్ని శ్రద్ధ వహించడానికి మీరు ఈ విషయాలు. PHP, మీరు డిఫాల్ట్ అధిగమించవచ్చు మీ సొంత శీర్షికలు వ్రాయడం ద్వారా ప్రవర్తన. కానీ ఈ కోసం, మేము పొందుటకు మా స్వంత శీర్షికలు అవుట్ రాయడానికి. కాబట్టి ఆ లైన్ తెలుస్తుంది లేదు అందరూ, రాసే తలలు లైన్? OK. పరమాద్భుతం. కాబట్టి అప్పుడు నేను నేను ప్రతిస్పందన ముగించారు ప్రపంచ హలో చెప్పి. OK. దేవులపల్లి ఒక ఫంక్షన్ ఉంది అభ్యర్థన నిర్వహణ అని. కాబట్టి ఇప్పుడు నేను నిజంగా రకమైన చేయాల్సిందల్లా ఈ ఫంక్షన్ తో ఏదో, కుడి? ఇక్కడ నేను చేసేది ఈ ఉంది var సర్వర్ సమానం చేస్తుంది లైన్ HTTP.create సర్వర్, మరియు నేను అభ్యర్థన నిర్వహణ పాస్. కాబట్టి ఈ నోడ్ యొక్క రకం సర్వర్ సృష్టించే విధంగా. నేను ప్రయాణిస్తున్న నేను గమనించవచ్చు అభ్యర్థన నిర్వహణ. కాబట్టి ఈ createServer చెప్తుంటాడు నేను మీరు ఒక నాకు ఇవ్వదలచిన ఫంక్షన్ సర్వర్, మరియు ఆ సర్వర్ పొందుతుంది ఒక స్పందన, నేను మీరు ఈ కాల్ నిర్వహణ ఫంక్షన్ అభ్యర్థన. OK? కాబట్టి ఆ లైన్ చాలా చక్కని వెంటనే పూర్తి. కాబట్టి var సర్వర్ లైన్ కుడి జరుగుతుంది మీరు చాలా చక్కని అలా తర్వాత. నా ఉద్దేశ్యం, అది కొన్ని అంతర్గత ఏర్పాటు ఉంటుంది మీరు వుంటుంది తెలుసు రాష్ట్ర ఆ అభ్యర్థన నిర్వహణ ఫంక్షన్ కాల్, కానీ ఇది అక్కడ కూర్చుని జరగబోతోంది మరియు కాదు సే పంపిన వినియోగదారు ఉంది నాకు ఇంకా ఒక అభ్యర్థన? వినియోగదారు ఇంకా నాకు ఒక అభ్యర్థనను పంపించారు? కనుక ఇది బ్లాక్ కాదు. OK? కాబట్టి ఈ చేస్తుంది ఇది రప్పించింది ఇప్పుడు ఈ కోడ్ ఒక పాయింటర్ నిల్వ, ఈ అభ్యర్థనను నిర్వహణ ఫంక్షన్, మరియు ఆ కోడ్ అమలు చేస్తుంది ఎవరైనా ఒక అభ్యర్థన. మరియు తర్వాత మేము server.listen చేయండి. 1337 అందంగా ఏకపక్ష ఉంది. నేను ఎటువంటి కారణం ఉంది ఆ సంఖ్య ఎంపికలో. ఇది పూర్తిగా యాదృచ్ఛిక ఉంది. దేవులపల్లి పోర్ట్ నిర్దేశిస్తుంది. కాబట్టి చాలా వెబ్ సర్వర్లు మీరు చూస్తారు వారు ఆ రకమైన ఎందుకంటే పోర్ట్ 80 ఉపయోగించడానికి యొక్క కన్వెన్షన్. నేను ఇలా వెళ్ళి ఉంటే, నేను తెలియదు, Wikipedia.org, మరియు నేను పెద్దప్రేగు 8 చాలు - వో ఓహ్, మీరు చూడలేరు. క్షమించండి. కానీ నేను వికీపీడియా లేకపోతే - నేను ఇక్కడ వ్రాయుటకు చేస్తాము కేవలం కాబట్టి ఇది కెమెరా స్పష్టమవుతుంది. కానీ నేను ఒక బ్రౌజర్ ఈ తీసుకుంటే తెలుపు ఒక పెద్దప్రేగు 80, వెళ్ళండి Wikipedia.org పోర్ట్ 80 వద్ద. కనుక ఇది యునైటెడ్ స్టేట్స్ ఉంది ఎలా వంటిది మీరు రవాణా ఇక్కడ వంటి అనేక పోర్ట్లు రకం విషయాలు. కాబట్టి ఈ ప్రత్యేక వెళ్ళండి వంటిది ఈ సర్వర్లో ఉంచండి. OK. కాబట్టి నేను 1337 ఎంచుకున్నాడు. సంఖ్యల మొత్తం శ్రేణి ఉంది మీరు ఎంచుకోవచ్చు ఆ. పూర్తిగా ప్రత్యేక కాదు. కానీ నేను ఇప్పుడు ఏమి వెళుతున్న నేను నోడ్ అమలు వెళుతున్న ఉంది. నాకు నిజంగా ప్రవేశించే ఒక జంట మీరు చూడగలరు కాబట్టి డౌన్ పంక్తులు. నేను నోడ్ వెళుతున్న మరియు నేను simpler.js అమలు అన్నారు. మరియు మేము ఎలా పొందాలో గురించి మాట్లాడదాము నోడ్ కొద్దిగా ఏర్పాటు. కానీ ఇప్పుడు అది కేవలం సర్వర్ అమలు. కాబట్టి ఒక విషయం మేము ప్రయత్నించవచ్చు ఇది గుర్తించలేకపోవచ్చు అద్భుతమైన మేము నిజంగా చేయవచ్చు అని ఉంటుంది కర్ల్ లో యాక్సెస్ ప్రయత్నించండి. నేను కర్ల్, మరియు చేయవచ్చు నా యంత్రం స్థానిక హోస్ట్ ఉంది. మీరు కూడా ఈ వ్రాసిన చూస్తారు కొన్నిసార్లు ఈ వంటి. స్థానిక హోస్ట్ మరియు 127.0.0.1 ఒకరకమైన మీ హోమ్ కంప్యూటర్ వంటి. కనుక ఇది మాట్లాడినట్లే ఉంది మీ స్వంత కంప్యూటర్. OK. ఆపై నేను 1337 చెప్పగలను. నేను లైన్ అమలు చేస్తే, ఇది ప్రపంచ హలో చెప్పారు. నేను విషయం చూడండి కోరుకుంటే ఆ కలిగి కంటెంట్ రకం టెక్స్ట్ సాదా లేదా సంసార, నేను కూడా ఇక్కడ ఈ ఉంచారు కాలేదు. మరియు ఇది సరే చెప్తుంది గమనించవచ్చు. నేను టెక్స్ట్ సాదా ఉన్నాయి. మరియు ఈ ఇతర రకమైన అన్ని ఉంది నోడ్ లో జోడిస్తుంది అంశాలను అక్కడ నాకు. ఆ ముఖ్యం సూపర్ కాదు. నేను అర్థం, సాంకేతిక రకమైన ఉన్నాయి ఒకరకమైన వద్ద యొక్క అంశాలను కేవలం చూపించడానికి గురించి మాట్లాడటానికి చల్లని, కానీ మీరు, నేను కూడా పవర్ ఉంటుంది చుట్టూ ఈ మార్చడానికి. కాబట్టి నేను కొంత జోడించవచ్చు ఆ వంటి అంశాలను యొక్క. తరువాత ఇప్పుడు, నేను చూస్తే నా అవుట్పుట్, ఆ ఉంటుంది. కాబట్టి ఈ పీఠికలను కొన్ని విషయాలు అర్థం ఆ వంటి బ్రౌజర్లు మరియు విషయాలు. మరియు శీర్షికలు ప్రాథమికంగా ఒక బ్రౌజర్ తెలియజేయవచ్చు ఎలా విషయం ప్రతిస్పందనకు. మీరు, ముందు కుకీలను యొక్క విన్న చేసిన ఉంటే లేదా మీరు చిరాకు చేసిన ఉంటే కుక్కీలను సెట్ ఒక వెబ్ పేజీ ద్వారా, లేదా కుకీ బ్లాక్ లేదా ఆన్ అలాంటిదే. మీరు నిజంగా కుక్కీలను సెట్ చేయవచ్చు ఈ పీఠికలను లో. కాబట్టి వారు ఎలా ఒక బ్రౌజర్ చెప్పండి కొన్ని సందర్భాల్లో ప్రవర్తన. OK. కాబట్టి ఆ simpler.js ఉంది. ఎవరైనా ఏవైనా ప్రశ్నలు ఉందా సోర్స్ కోడ్ ఫైల్లో? OK. కూల్. కాబట్టి యొక్క ఆ నుండి r తొలగించడానికి మరియు simple.js చూడండి. కాబట్టి ఈ చాలా చక్కని ఉంది అదే కార్యక్రమం. నేను కొంచెం భిన్నంగా రాసింది నేను హైలైట్ యొక్క క్రమం కోరుకున్నాడు ఎందుకంటే జావాస్క్రిప్ట్ కొన్ని లక్షణాలు. కాబట్టి గమనించి ఆ అభ్యర్థన నిర్వహణ ఫంక్షన్ పూర్తిగా అదృశ్యమయ్యాయి. Yep ఓహ్, మీరు ఒక ప్రశ్న ఉందా? ప్రేక్షకులు: అవును, వాదనలు ఆ పంపుతారు అని ఫంక్షన్, వారు ఏవి? కెవిన్ స్చ్మిడ్: కాబట్టి ఉంటాయి జావాస్క్రిప్ట్ వస్తువులు. Node.js డాక్యుమెంటేషన్, ఇది ప్రాథమికంగా పద్ధతులు ఏమిటో చెప్పారు వాటిని అందుబాటులో. మేము కేవలం యాక్సెస్ జరిగే రాసే తలలు మరియు ముగింపు అని ఈ పధ్ధతి మరియు ఆ వంటి అంశాలను. కానీ మొత్తం బంచ్ ఉంది మరింత పద్ధతులు. మరియు ఉదాహరణకు, వాటిలో ఒకటి వంటి REC పై ముఖ్యంగా, మీరు చేయవచ్చు rec.method లాగ ఇది రెడీ ఇది ఒక HTTP పొందండి లేదా మీరు చెప్పండి HTTP పోస్ట్ విజ్ఞప్తులపై ఆ వంటి విషయాలు. కాబట్టి వివిధ అన్ని రకాల ఉంది లక్షణాలు, కానీ వారు రెండూ జావాస్క్రిప్ట్ వస్తువులు, మరియు వారు ఒక కలిగి వాటిని జత విధులు మీరు ఆ విషయాలు వ్రాయగలరు. OK? కాబట్టి ఆ అభ్యర్థన నిర్వహణ గమనించవచ్చు పూర్తిగా వెళ్లిపోయిన. కానీ నేను అభ్యర్థనలో ఉందని కోడ్ నిర్వహణ ఇప్పటికీ ఉంది. నేను ఇప్పటికీ ఈ res.writeHead కలిగి మరియు నేను ఇప్పటికీ ఈ res.end కలిగి. మరియు ఈ లో ఒక ఉదాహరణ ఏమిటి జావాస్క్రిప్ట్ ఒక ఈ ఆలోచన అజ్ఞాత ఫంక్షన్. మరియు అనామక ఒక ప్రత్యేకమైన పేరు వంటిది ఇది కోసం వాచ్యంగా కాదు ఎందుకంటే ఒక పేరు. ఏ ఫంక్షన్ అభ్యర్థన ఉంది అక్కడ నిర్వహణ. పేరు లేదు, కానీ ఇప్పటికీ ఒక వాదన తీసుకొని ఉంది. నేను ఇప్పటికీ REC మరియు res వచ్చింది. నేను ఇప్పటికీ కోడ్ కలిగి. ఈ ఖచ్చితంగా ఉత్తమంగా ఉంటుంది జావాస్క్రిప్ట్ కోడ్. నేను లేకుండా ఒక ఫంక్షన్ ప్రకటించవచ్చు స్పష్టంగా ఒక పేరు ఇచ్చి. ఇది మొదటి ఒక చిన్న గందరగోళంగా ఉంది. కొన్ని వంటి ఉపయోగకరమైన అంశాలు ఉన్నాయి మీరు చేసే ఈ అనామక చర్యలు. ఎవరైనా ఈ ఏ ప్రశ్నలు ఉందా, లేదా ఇది, కేవలం కోసం, సరే ఉంది విధమైన కేవలం ఆమోదించే ఇది ఇదే చేస్తాను? Yep? ప్రేక్షకులు: విధులు మొదట జావాస్క్రిప్ట్ లో తరగతి? కెవిన్ స్చ్మిడ్: వారు మొదటి ఉన్నాయి జావాస్క్రిప్ట్ లో తరగతి. మరియు కేవలం ఆ ఈ భావనలు వంటి ఒక అనామక ఫంక్షన్ లో ప్రయాణిస్తున్న ఈ JavaScript వర్తించే మీరు కోసం మీ చివరి ప్రాజెక్టు లో రాయవచ్చు చాలా వెబ్ బ్రౌజర్. ఉదాహరణకు, జావాస్క్రిప్ట్ లో లో మీ బ్రౌజర్, ఇది కొంతవరకు కూడా ఈవెంట్ కోణంలో నడిచే ఏ మీరు చేస్తాము యూజర్ ఈ క్లిక్ చేసినప్పుడు ఉంది బటన్, నేను మీరు ఈ కోడ్ అమలు చేయండి. కనుక ఇది యొక్క ఆలోచనలు రకమైన ఉంది క్లయింట్ వైపు ఒక మౌస్ క్లిక్ లేదా అవి కొన్ని చిత్రంపై మౌస్ మీ వెబ్ పేజీ, ఈ కోడ్ అమలు. ఆ సర్వర్లు దరఖాస్తు చేసుకోవచ్చు. కాబట్టి ఆ రకమైన ఉత్తేజకరమైన వంటిది JavaScript ఒక నిజంగా ఎందుకు కారణం తగిన లేదా కొంతమంది ఇది ఒక అని ఈ రకమైన అనుకూలంగా భాష ఈవెంట్ డ్రైవర్ సర్వర్ మీరు ఎందుకంటే ఈ అనామక చర్యలు. మీరు మొత్తం ఆలోచన కలిగి ఇది ఏసిన్క్రోనస్ కోడ్. OK. ఎవరైనా ఏ ప్రశ్నలు? OK. కాబట్టి ఆ simple.js ఉంది. కాబట్టి యొక్క ఒక మరింత చూద్దాం లేదా ఒక జంట మరింత. కాబట్టి ఈ sleep.js ఉంది. కాబట్టి తెలిసిన ఎవరైనా ఉంది సి ఫంక్షన్ నిద్ర? ముందు ఉపన్యాసాలు బహుశా ఒక నుండి లేదా అలాంటిదే? కనుక ప్రాథమికంగా నేను లో తరలిస్తారు సెకన్లు సంఖ్య లేదా మీరు U ఉపయోగిస్తున్నట్లయితే మిల్లీసెకన్ల అనేక నిద్ర లేదా nanoseconds. మరియు ప్రధానంగా కార్యక్రమం కేవలం చేయవు సమయం యొక్క మొత్తం అమలు. కుడి? మరియు అది చివరికి నిద్రలేచాను చేస్తుంది అప్పుడు కేవలం అమలు చేస్తాము కార్యక్రమం. కాబట్టి ఈ సర్వర్ విధమైన ఇస్తుంది నిద్ర యొక్క ముద్ర. కాబట్టి మేము అదే మేము గుర్తించాము శీర్షిక వంటి తో 200 res.writeHead ముందు, కానీ మేము ఈ చేస్తున్నారు ఫంక్షన్ సెట్ సమయం ముగిసింది అని. సెట్ సమయం ముగిసింది కూడా అందుబాటులో ఉంది మీ వెబ్ బ్రౌజర్ Google Chrome లేదా Safari లేదా సంసార. మరియు ప్రధానంగా ఇక్కడ ఏమి ఇది ఒక ఫంక్షన్ లో తీసుకొని ఉంది. నోటీసు, మళ్ళీ, అది ఒక ఉంది అజ్ఞాత ఫంక్షన్. మేము ఎందుకంటే ఆ చల్లని రకంగా ఒక లోపల ఒక అనామక ఫంక్షన్ ఉపయోగించి అజ్ఞాత ఇందులో కొద్దిగా అదృష్టము ఉంటుంది. కానీ ఇది, ఆ ఫంక్షన్ తీసుకొని ఈ విధంగా మరియు - ప్రధానంగా చెప్పడం రచనలు నేను, 5,000 మిల్లీ సెకన్లలో ఉంది మీరు ఆ ఫంక్షన్ అమలు ఇది కేవలం హే ప్రతిస్పందన ముగుస్తుంది మరియు రాశారు. ఈ వంటి యొక్క ముద్ర ఇస్తుంది నిద్ర, కానీ మార్గం ఇది నిజానికి పనిచేస్తుంది మేము ద్వారా అమలు చేస్తాము ఉంది చాలా త్వరగా ఈ లైన్. మేము ఏదో రాస్తున్నాం. మరియు తర్వాత మేము కూడా ద్వారా అమలు చేస్తాము చాలా త్వరగా ఈ లైన్. మేము నిజంగా వెళ్ళి లేదు ఐదు సెకన్ల వేచి. మేము అమలు చూడాలని తక్షణమే ఈ కోడ్. ఆపై, మళ్ళీ, ఈ చిన్న ఉంది ఇప్పుడు ఈ విషయం కలిగి ఈవెంట్ లూప్ ప్రధానంగా కేవలం ఉంది రిజిస్టర్స్ నిరంతరం ఒక వాటర్షెడ్ల మరియు ఒక లో గడియారం చూడటం థ్రెడ్ మరియు సామెత, ఐదు సెకన్లు ఉంది ఇంకా ఆమోదించింది? అది చూసినపుడు ఆ రెండవ చేతి ఐదు సెకన్ల లేదా వంటి తరలించబడింది సంసార, అది మేల్కొని చెప్పారు ఓహ్, నేను చేయాలని ఉన్నాయి? ఓహ్ నేను ఈ కోడ్ అమలు చేయాలి. అది చేస్తాడు హే res.end అమలు. మరలా, మేము ఇక్కడ వేచి ఎప్పుడూ చేస్తున్నారు. కాబట్టి అది కాదు ఆ లోపలి ఈ కోడ్ ఈ ఫంక్షన్ ఐదు తీసుకోవాలని అన్నారు అమలు సెకన్లు. ఈ కోడ్ చాలా చక్కని రన్ చేస్తుంది కు క్షణంలో కనీసం సాపేక్ష మేము మాట్లాడుతూ ఐదు సెకన్ల గురించి ముందు ముందు. కాబట్టి కేవలం, చర్య లో ఈ చూపించడానికి నేను Node.sleep.js చేయవచ్చు. మరియు ఏదో నేను మెస్ చేశాడు? బహుశా. క్షమించాలి. మేము ఈ పరిష్కరించడానికి చెయ్యగలరు చూద్దాం. OK. కాబట్టి ఖచ్చితంగా Node.js. ఉపయోగించడానికి ఎందుకూ. OK. కేవలం ఒక క్షణ. OK. నేను ఇది ఏమి. కాబట్టి సమస్య అని నా ఇతర టాబ్లో ఇక్కడ, అప్పటికే నోడ్ నడుస్తున్న అదే చిరునామా, 1337. మేము చూస్తే ఈ, విసిరాడు తద్వారా లోపం అది నిజమైన దగ్గరగా, చిరునామా లో ఉంది , EADDRINUSE ఉపయోగించడానికి. నేను ఇప్పటికే ఇక్కడ 1337 వాడుకుంటున్నారని. నేను ఇప్పుడు ఈ ఆపివేయడంలో, మరియు అలా అయితే , ఆశాజనక, ప్రతిదీ ఈ అమలు ప్రయత్నించండి జరిమానా ఉంటుంది. OK. కాబట్టి మీరు మాత్రమే ఒక విషయం విధమైన కలిగి ఉంటాయి యొక్క ఒకేసారి ఒక పోర్ట్లో. మరొక పరిష్కారం నాకు ఉండేది ఆ కార్యక్రమం సవరించడానికి మరియు చేయడానికి ఇది 1338 లేదా ఏదో వంటి ఉంటుంది ఆ వంటి. కానీ ఇప్పుడు నిద్ర నడుస్తుంటే. కాబట్టి యొక్క వాస్తవానికి అది ప్రయత్నించండి బ్రౌజర్ ఈ సమయంలో అది ఎందుకంటే ఒక చూడటానికి చిన్న unexciting ఇది అగ్రంలో. నేను ఆ వెళ్ళండి వెళుతున్న 127 చిరునామా మళ్ళీ 1337. మరియు ఉంటే మీరు చూడగలరు - నేను మీకు తెలియదు - కానీ నా బ్రౌజర్ యొక్క చాలా, చాలా తీసుకొని లేదా ఐదు సెకన్ల వంటి లోడ్ సమయం. మరియు ఆ తర్వాత, ఎట్టకేలకు ప్రతిస్పందన ముగిసింది. మరియు మీరు చూడలేరు ఎందుకంటే విషయం నేను చేస్తే కొద్దిగా తరలించబడిన, కానీ ఉంది ఈ కొద్దిగా చిన్న, మీరు ఇది హే చెప్పారు చూడగలరు. నేను హే వచ్చింది, కానీ ఐదు సెకన్ల తర్వాత. మరియు అది చూడటానికి కొద్దిగా క్లీనర్ కావచ్చు ఇక్కడ టెర్మినల్ దీన్ని, నేను ఉన్నాను ఒక చేయబోవడం - యొక్క ఇక్కడ తెలియజేసేలా - యొక్క ఆ చిరునామా కర్ల్ తెలియజేసేలా మళ్ళీ 1337 తో. మరియు కిరణాలనుపయోగించి కూర్చుని ఉంటుంది ఇక్కడ ఐదు సెకన్ల. కానీ గమనించి ఆ సర్వర్ ప్రతిస్పందనలు అంగీకరించవచ్చు. కనుక ఇది హే ముద్రిస్తుంది. మరియు ప్రధానంగా, ఈ ప్రదర్శించడం ఏమి నేను ఈ ఇతర టాబ్ లో చేయవచ్చు - కాబట్టి యొక్క నేను మరో ట్యాబ్లో దీన్ని పిలవబడు, నేను కర్ల్ మరియు అదే చేయ బోతున్నాను విషయం మళ్ళీ. మరియు నేను ఈ వదలివేయడానికి ప్రయత్నించండి వెళుతున్న అదే సమయంలో అబ్బాయిలు ఆఫ్. నేను ఈ వెళుతున్న మరియు నేను ఇక్కడ పైగా రేసుల్లో మరియు నేను ఉన్నాను మళ్ళీ అది చేయబోవడం. మరియు యొక్క దానిని తయారు చేద్దాము కాబట్టి మీరు వాటిని రెండు చూడవచ్చు. హే ముద్రిత ఒక మరియు ఒక ముద్రించిన హే అన్ని మార్గం వద్ద - యొక్క మళ్ళీ ఆ ప్రయోగం తెలియజేసేలా. అసలైన, యొక్క ఈ ఉపయోగించడానికి వీలు ఆ సరే ఉంటే, మోసపూరిత. కాబట్టి నేను షెల్ విషయం ఉపయోగించడానికి వెళుతున్న నాకు ప్రధానంగా రెండు కాపీలు అమలు అనుమతిస్తుంది సమాంతరంగా ఈ కార్యక్రమం. కనుక ఇది మొదటి ప్రోగ్రామ్ రన్ మరియు చేస్తాము సమాంతరంగా రెండవ కార్యక్రమం. నేను ఎంటర్ నొక్కండి చేస్తే ఇప్పుడు, అది జరగబోతోంది ఆ అభ్యర్థన చాలా చక్కని చేయడానికి తక్షణమే అదే సమయంలో. కాబట్టి యొక్క ఈ ఒక షాట్ ఇవ్వాలని వీలు. కాబట్టి ఇప్పుడు రెండు ప్రక్రియలు చెప్పారు గమనించవచ్చు. మరియు మీరు ఆసక్తిగా, ఆ 27,000 సంఖ్య ప్రాథమికంగా ప్రక్రియ ID ఉంది. మరియు తర్వాత వారు ముద్రించిన, గమనించవచ్చు హే అదే సమయంలో. ఇది మేము ఐదు వేచి వచ్చింది వంటి కాదు ఆ తర్వాత ఒక మరియు తరువాత కోసం సెకన్లు, ఐదు సెకన్ల తరువాత రెండవ పొందండి. కాబట్టి ఆ రకమైన, కొన్ని మార్గాల్లో, అంతే నిజంగా సాక్ష్యంగా, కానీ కాదు ఇది కాదు అని స్పష్టమైన సాక్ష్యం ఐదు సెకన్ల వేచి మరియు నిరోధించడంలో వంటి మొత్తం థ్రెడ్. చల్లని OK. కాబట్టి ఆరోన్ ముందు ఒక ప్రశ్న అడిగారు ఉంది, బాగా మేము ఏదో లేకపోతే - Yep? ప్రేక్షకులు: వేచి. ఎలా అని భిన్నంగా printf బఫర్, అయితే? అది స్వయంచాలకంగా అలా లేదు? ఎందుకు మేము దాని గురించి ఆందోళన లేదు? కెవిన్ స్చ్మిడ్: ఓహ్, మీరు చేయగలిగే ఒక సమయం, చెప్పటానికి? ప్రేక్షకులు: printf బఫర్ ఇష్టం లేదు ఖచ్చితమైన ఇదే? కెవిన్ స్చ్మిడ్: printf బఫర్? ప్రేక్షకులు: అవును. OK. వారు క్విజ్లు ఒకటి లేదు ఎలా మీరు కుడి printf గురించి మాట్లాడటం ఏదో మరియు అది ఒక విరామం చేశారు రెండవ, మరియు మీకు లూప్ పది కలిగి సార్లు, ఇది పది సెకన్లు వేచి మరియు చేస్తాము అప్పుడు కలిసి ప్రతిదీ printf? కెవిన్ స్చ్మిడ్: OK, ఓహ్. ప్రేక్షకులు: ఇది అదే చేస్తున్నది విషయం ఈ సందర్భంలో? కెవిన్ స్చ్మిడ్: కాబట్టి ప్రశ్న ప్రధానంగా మాజీ క్విజ్లు ఒకటి లో లేదా ఏదో, ఒక ప్రశ్న లేదని ప్రధానంగా మీరు ముద్రణ F 10 చెప్పుకోవాలంటే అప్పుడు సమయంలో విషయాలు మరియు లో వంటి నిద్రపోయాడు ఆ ముద్రించిన ప్రక్రియ, కొన్ని కారణాల కోసం చివరిలో, అది నేను స్క్రీన్ పై బయటకు ఆ డంప్. కాబట్టి వివిధ రెండు రకం ఉంది ఇక్కడ భావనలు. నేను ఒక విషయం, ఈ లో అంచనా కేసు, వివిధ రెండు వ్యవహరించే విధమైన ప్రజలు సర్వర్ కోరింది అదే సమయంలో విషయాలు కోసం. మరియు ఆ printf రకమైన కారణం ఆ వంటి వేచి మరియు అన్ని బయటకు డంపుల ఒకేసారి మరింత సంబంధిత యొక్క ఎలా printf రకమైన - కాబట్టి మార్గం printf వాస్తవానికి ఉంది అమలు ఇది ప్రాథమికంగా ఉండాలనేది రాయడానికి ఆపరేటింగ్ సిస్టమ్ మాట్లాడటానికి ఓదార్పును అంశాలను. కనుక ఇది ఆ అన్ని చేయాలనుకుంటున్నారా లేదు మీరు printf చెప్పినప్పుడు stuff వెంటనే కొన్ని స్ట్రింగ్ ఆ రవాణా రవాణా దానికి ఉంటే ఖరీదైన ప్రతిసారీ అలా. మీరు చేస్తే, హే మీ ప్రోగ్రామ్ printf నిజానికి ఆ ప్రింట్ కాదు వెంటనే ఓదార్పును. అది సరే, నేను రాసింది, అనవచ్చు. మీరు ఇవ్వాలని కోసం, తర్వాత రకమైన వేచి నిజానికి ముందు కొంచం కన్సోల్ కు రాసిన. కాబట్టి ఆ సందర్భంలో అని కారణం - మరియు ఇది సంబంధం ఉంది నిద్ర - నిద్ర విధమైన కేవలం అని ఉంది ప్రదర్శించేందుకు అక్కడ లోపలికి వ్రాయుటకు లేదు వాస్తవం ఇది ఏకకాలంలో. కానీ ఆ కారణం కేవలం ఉంది ప్రదర్శన మీరు లేదు కాబట్టి అనేక పరిచయాలకు తయారు ఆపరేటింగ్ సిస్టమ్. కానీ ఇక్కడ, మేము నిజంగా ప్రయత్నిస్తున్న ఈ నిద్ర విషయం కేవలం షో మేము సందర్శించడం ఇద్దరు వ్యక్తులు ఉన్నప్పుడు ఈ వెబ్సైట్, ఉంచండి మాత్రం కాదు వాటిని చెప్పాను వెళుతున్న పేరు ఒక లైన్ లో నేను ఉన్నపుడు మీరు సహాయం, మరియు ఉంటుంది పూర్తిగా ఈ తర్వాత మీరు సహాయం పూర్తి ఐదు సెకన్ల, అప్పుడు నేను వెళుతున్న తదుపరి వ్యక్తి పై తరలించు. కాబట్టి మొదటి వ్యక్తి యొక్క అభ్యర్థనను లేదు ఆ సంఘటన లూప్ టై అర్ధమే ఉంటే. కానీ ఇక్కడ నిజానికి ఒక ఉదాహరణ టై అని ఏదో ఈవెంట్ లూప్ అప్. ఇక్కడ ఒక భయంకరమైన ఫంక్షన్ ఉంది n వ ఫైబొనాక్సీ లెక్కించడానికి. ఇది అక్షరాలా మీరు దారుణంగా మార్గం n వ ఫైబొనాక్సీ సంఖ్య గణించడం. మరియు ఈ కేవలం గుర్తించడానికి నిజానికి ఉంది ఈ ఎక్కడి నుండి వచ్చింది, వాస్తవానికి అక్కడ - నేను మీరు దానిని కనుగొనేందుకు వెళ్ళడానికి ప్రయత్నించవచ్చు - కానీ చాలా సుదీర్ఘ బ్లాగ్ వంటి ఉంది ఎవరైనా రాసిన పోస్ట్. ఇది ఆ Reddit విషయాలు ఒకటి వంటిది. కానీ ఎవరైనా Node.js విమర్శించారు, మరియు వారు ఒక ఉదాహరణగా ఈ ఉపయోగించవచ్చు. నేను రకమైన కేవలం మీరు రెండు చూపించు కోరుకున్నాడు వేర్వేరు కోణాల్లో కేవలం పొందడానికి భావనల యొక్క సాధారణ అవగాహన ఈ రెండు విషయాలు వెనుక. కానీ ఈ, కేవలం ఒక భయంకరమైన ఎంపిక భయంకరమైన అసమర్థంగా గణన లెక్కించడానికి కేంద్రీకృతమైన n వ ఫైబొనాక్సీ సంఖ్య. కాబట్టి కేవలం ఒక వైపు గమనిక వంటి, ఎందుకు ఇది భయంకరమైన ఒక విధంగా వంటి? Yep? ప్రేక్షకులు: మీరు సే 1,000 తో. 999 మరియు 998 లోకి 1,000 విడిపోయి. ఈ ప్రతి రెండు విషయాలు పోయింది. ఈ ప్రతి రెండు విషయాలు పోయింది. కెవిన్ స్చ్మిడ్: కుడి. ప్రేక్షకులు: అన్ని మార్గం డౌన్. కెవిన్ స్చ్మిడ్: ఖచ్చితంగా. కనుక కేవలం, కెమెరా కోసం పునరావృతం నేను 1,000 లేదా ఏదో వంటి మీద కల్ల కాల్ ఆ వంటి, ఇది స్పష్టంగా కంటే తక్కువ కాదు లేదా ఒక సమానం నేను వెళుతున్న మిగతా కేసు వెళ్లి, నేను వెళుతున్న 999 కల్ల ప్లస్ 998 కల్ల కాల్. ఆపై చాలా చక్కని అన్ని ఆ 999 చేస్తుంది కల్ల ఆ పని రకమైన ఈ స్థాయిలో. మీరు డౌన్ వెళ్ళి ఉంటే, ఇది మరింత అనవసరమైన ఉంది కంటే, కానీ మీరు కేవలం కంప్యూటింగ్ కల్ల 998 గెట్స్ అనుకుంటున్నాను మాకు అందంగా దగ్గరగా 999 కల్ల కు. కాబట్టి మేము నిజంగా కొంచెం ఉండాలి మేము రకమైన తిరిగి ఎలా గురించి తెలివైన ఈ, కానీ మేము తిరిగి లేదు అన్ని ఈ విషయాలు. కాబట్టి మీరు, ఈ అతిపెద్ద ఊహించే కేవలం భయంకరమైన ఉంది ఆ అతిపెద్ద చెట్టు. కానీ ఎలాగైనా, OK. కాబట్టి ఆ కల్ల ఉంది. ఇది కేవలం అమలు కొంత సమయం పడుతుంది. Yep? ప్రేక్షకులు: [వినబడని]. కెవిన్ స్చ్మిడ్: ఓహ్, మీరు చేయగలిగే ప్రశ్న పునరుక్తి? ప్రేక్షకులు: [వినబడని]. కెవిన్ స్చ్మిడ్: ఓహ్ ఈ కేవలం కోడ్ ఉంది ఆ విధమైన న చేస్తాడు సర్వర్లో. కాబట్టి ఈ కనిపిస్తాయి ఉండదని బ్రౌజర్ లేదా ఏదైనా. ఇది ఏ మేము ప్రధానంగా అని ఉన్నప్పుడు ఇక్కడ యూజర్ చాలా చక్కని చేస్తుంది మళ్ళీ వారి అభ్యర్థనను, మేము విధమైన చెయ్యరాదు, మేము కాల్ చూడాలని సర్వర్లో ఈ ఫంక్షన్. మరియు తర్వాత మేము ఫలితంగా తిరిగి పొందుతారు ఆ ఫంక్షన్ కాల్ నుండి. మరియు తర్వాత మేము ప్రింట్ చేస్తాము యూజర్ దానిని. యూజర్ నిజంగా వ్యవహరించే లేదు చాలా ఈ ఫంక్షన్ తో. ప్రశ్న ఉంది? అర్ధవంతం లేదు? OK. కూల్. మరలా, మేము ఈ మొత్తం res.writeHead చేయండి మేము ప్రింట్ ఇక్కడ విషయం శీర్షిక. ఆపై నేను చేయడం ద్వారా ప్రతిస్పందన ముగింపు మేజిక్ సంఖ్య కల్ల 45 ఉంది. కాబట్టి ఈ సర్వర్ అమలు అనుమతిస్తాయి. నేను ఒక నోడ్ fib.js. వెళుతున్న కాబట్టి ఇప్పుడు నా కల్ల సర్వర్ రన్. మరియు ఇక్కడ, నేను వెళుతున్న ఈ ఒకటి చేయడానికి. OK? కాబట్టి నేను, కర్ల్ చెప్పడానికి వెళుతున్నాను. దీనిని తక్కువ కొంత సమయం చెప్పారు కానీ త్వరలో ఇది పూర్తి చేస్తుంది ఆ 45 వ ముద్రిస్తుంది సంఖ్య ఫైబొనాక్సీ. ప్రేక్షకులు: [వినబడని]. కెవిన్ స్చ్మిడ్: ఇది తప్పక అందంగా వెంటనే పూర్తిచేశారని. కనుక ఇది ఐదు నుంచి ఆరు సెకన్ల తీసుకోవాలి. నేను కేవలం V8 ఉండటం సూపర్ ఉంది తెలియదు ఫాస్ట్, కానీ ఏ సందర్భంలో, ఈ ఒక ఉంది లక్ష్యంతో చాలా చిన్న ఉదాహరణ మరియు ఒక కాని అల్పమైన యొక్క వికారంగా గణన. కాబట్టి ఒక తర్వాత, ఈ పొందండి. కానీ ఇప్పుడు, నేను ఏమి ఉంటే అదే రకమైన నేను తయారు పేరు ముందు ప్రయోగం అదే సమయంలో రెండు అభ్యర్థనలు? ఇక్కడ నేను ఒక కర్ల్ వెళుతున్న ఆ చిరునామా మరియు నేను వెళుతున్న మరో కర్ల్ చేయడానికి. మరియు మేము కోసం చెప్పినా, గుర్తు మేము ప్రధానంగా ఇది ఉన్నప్పుడు, సర్వర్ నిద్ర ఐదు సెకన్ల తర్వాత, వారు అందంగా చాలా రెండు కుడి తిరిగి వచ్చింది అదే సమయంలో. ఇది ప్రత్యేకంగా కట్టివేయబడి లేదు. కానీ ప్రస్తుతం ఇది ప్రయత్నించండి. OK, మేము మా రెండు ప్రక్రియలు వచ్చింది. ఆ ప్రక్రియ ID లు ఉన్నాయి గుర్తుంచుకోండి. ఈ కొద్దిగా అన్నారు మేము నిలిచిపోయినట్లు అయితే ఇబ్బందికరమైన. కాబట్టి యొక్క ఇక్కడ ఉండడానికి వీలు మరియు వేచి. కాబట్టి వాటిని ఒకటి వచ్చి ఉండాలి తిరిగి వంటి తర్వాత - OK, కాబట్టి ఒక తిరిగి వచ్చింది. కానీ ఎందుకు రెండవ కాదు ఒక ఇంకా తిరిగి వచ్చి? Yep? ప్రేక్షకులు: సర్వర్ ఏమీ కాదు ఇది పెద్ద సంఖ్య కంప్యూటింగ్ సమయంలో. కెవిన్ స్చ్మిడ్: కుడి. కాబట్టి స్పందన ఆ సర్వర్ నిజంగా ఏమీ చేయలేకపోతే ఆ ఫైబొనాక్సీ సంఖ్య కంప్యూటింగ్ యొక్క. కాబట్టి ఇప్పుడు నేను తిరిగి నా రెండు విషయాలు వచ్చింది. కానీ నేను కోడ్ గురించి ఆలోచించడం అంచనా కొంచెం, ఎలా అది పనిచేస్తోందని మరియు ప్రతిదీ. ఇక్కడ ఈ ఫంక్షన్ కోడ్ అని నేను అది అమలు ఈ సర్వర్ తెలిపియున్నాను ఒక కొత్త ఇన్కమింగ్ అభ్యర్థనను పొందుతుంది. కనుక ఇది కేవలం ఈ ద్వారా అమలు చేస్తాడు మొత్తం కోడ్, మరియు అప్పుడు అది వెళుతున్న ఈవెంట్ లూప్ తిరిగి కొనసాగించటానికి కొత్త సంఘటనలు కోసం తనిఖీ. ప్రధానంగా మేము జరుగుతున్న ఏ సర్వర్ ఉంది కొత్త విషయాలు వినడం. మొదటి వ్యక్తి 45 ఏంటి అడుగుతుంది. మేము లెక్కించడానికి ఈ కోడ్ అమలు. ఈ కోడ్ పడుతుంది సుమారుగా ఐదు అమలు ఆరు సెకన్లు. అప్పుడు మేము ఈవెంట్ లూప్ తిరిగి వెళ్ళడానికి మరియు కొత్త అభ్యర్థనలను కోసం తనిఖీ. కాబట్టి ఈ మీరు ఉంటే, ఎలా ఒక ఉదాహరణ అని పిలవబడే లెక్కిస్తాయి అని విషయాల్లో కట్టుబడి, లేదా గణన చాలా ఉపయోగించే, శక్తి, కానీ వంటి ఇంటెన్సివ్ గణన - నేను ఈ గురించి చెప్పటానికి ఒక విషయం అంచనా ఈ ఫంక్షన్, పూర్తిగా చేస్తున్న చాలా భాగం, అందంగా ఉపయోగకరమైన పని కుడి. మొత్తం సమయాన్ని ఆ బ్యాక్ ఫంక్షన్ అమలు, ఇది అందంగా ఉంది చాలా ఎక్కువ సమయం ఖర్చు కేవలం కంప్యూటింగ్ ఆ nth ఫైబొనాక్సీ సంఖ్య. కానీ మేము కేవలం ఒక థ్రెడ్ కలిగి పరిష్కరించేందుకు. Apache నమూనాలో, ఉన్నప్పుడు ఇద్దరు వ్యక్తులు , 45 కల్ల పొందడానికి అభ్యర్ధన చేసిన మేము రెండు వేర్వేరు దారాలు వచ్చేది. ఆపై ఆపరేటింగ్ సిస్టమ్ యొక్క ఉద్యోగం యూజర్ స్థాయి, లేదా ఉండేది లు నిర్వహించే కోడ్, చేసిన చేస్తుంది ఆ కోసే ఉంది CPU, లేదా మీరు బహుళ CPU లు కూడా, CPU లు అంతటా సమానంగా వాటిని పంపిణీ వారు ముగింపు రెండు ఉన్నాయి కాబట్టి సుమారు అదే సమయంలో. కాబట్టి కేవలం మేము యొక్క క్రమం చేయవచ్చు ఎలా మీరు చూపించడానికి - మరియు ఈ ఒక మొత్తం ఖచ్చితంగా లేదు పరిష్కారం, కానీ విధమైన మేము ఎలా తయారు బ్యాక్ ఇక్కడ వచ్చి చేయండి కొద్దిగా. కాబట్టి నేను ఇక్కడ కలిగి అనే ప్రోగ్రామ్ కల్ల C. మరియు ఈ ప్రాథమికంగా ఉపయోగించే అని నోడ్ యొక్క గుణకాలు మరో చైల్డ్ ప్రాసెస్ మాడ్యూల్. నేను కూడా చేసిన టాప్ రకం వద్ద ఉన్నాయి నేను ఒక పౌండ్ చేయరు వంటి పిల్లల process.h లేదా ఏదో. ఇప్పుడు నేను ఈ CP వేరియబుల్ యాక్సెస్ ఇది నా కార్యాచరణను కలిగి. కాబట్టి ఇప్పుడు నేను ప్రతిస్పందన లో ఏమి చేస్తున్నానో నిర్వహణ నేను ఈ ప్రోగ్రామ్ను అమలు చేస్తున్నాను ఉంది డాట్ కల్ల 45 స్లాష్. సో నేను చేసిన - మరియు నేను వెళుతున్న ఒక కోసం ఈ కార్యక్రమం బయటకు అడుగు కొద్దిగా - నేను ఒక సి కార్యక్రమం వ్రాయలేదు అని ప్రాథమికంగా కంప్యూట్ n వ ఫైబొనాక్సీ సంఖ్య. ఇక్కడ నేను వ్రాయలేదు ఒక కార్యక్రమం సి లో ఈ కంప్యూట్. నేను కంపైల్ చేయవచ్చు, మరియు నేను అమలు చేయవచ్చు ఇది కమాండ్ లైన్ వద్ద. మరియు అది లెక్కించడానికి వెళుతున్న 45 వ ఫైబొనాక్సీ సంఖ్య. కనుక ఇది కేవలం పడుతుంది గమనించే కాలం చాలా చక్కని. నేను బహుశా డాష్ 03 ఉపయోగిస్తారు చేశారు ఇది లేదా అలాంటిదే ఆప్టిమైజ్, కానీ నేను సాధారణ ఇష్టపడ్డారు కంపైలర్ సెట్టింగులు. మరియు అది ముద్రిస్తుంది. కానీ ఇప్పుడు, నేను రకమైన పుర్తిచేశాడతను తియ్యగా, తప్పు ఫైలు. నేను అదే పనులే ముందు శీర్షిక. అప్పుడు నేను ఈ cp.exec చేయండి. కాబట్టి ఈ చేయబోవడం ఇది ఉంది ఈ కార్యక్రమం అమలు అన్నారు. కానీ ఈ పనులు మార్గం ఉంది వేచి మాత్రం కాదు పూర్తి ప్రోగ్రామ్. ఇది కేవలం ప్రాథమికంగా చెప్పారు ఈ కార్యక్రమం అమలు. కాబట్టి ప్రాథమికంగా ఈ టైప్ ప్రాంప్ట్ రకమైన ఆదేశం. ఆపై, మీరు పూర్తి చేసినప్పుడు ఇది, ఈ ఫంక్షన్ అమలు. కాబట్టి ఇప్పుడు మేము ఈ పొందండి మొత్తం పునరుద్ధరించబడింది విషయం వంటి మేము ఎదురు లేదు. ఆ రకమైన సమంజసం లేదు? Yep? ప్రేక్షకులు: [వినబడని]? కెవిన్ స్చ్మిడ్: ఈ నిజంగా దీన్ని ఒక కొత్త ప్రక్రియ ప్రారంభించిన. కాబట్టి ఈ కొన్ని మార్గాల్లో, నిజానికి, , చెడు సూపర్ చెడు కాదు, కానీ ఉంది ముఖ్యమైన ఈ రకమైన అని చెప్పటానికి ఒక వైపు, తిరిగి వెళుతున్న, Apache మేము దారాలు మరియు ప్రక్రియలు పేరు మోడల్ ప్రతి అభ్యర్థన లేదా కోసం ప్రతి అభ్యర్థనను ప్రక్రియలు. కాబట్టి ఈ సారూప్యత రకం Apache చేస్తుంది ఏమి. కొన్ని సందర్భాల్లో, ఇది కేవలం ఒక కొత్త ఉపయోగిస్తుంది కొంచెం కాంతి థ్రెడ్, ఒక ప్రక్రియ కంటే బరువు, కానీ Apache అని ఒక కొత్త ప్రక్రియ forking ముగుస్తుంది మేము ఇక్కడ ఏం రకం ఇది పరిపూర్ణంగా డాట్ స్లాష్ కల్ల 45 చేయడం ద్వారా. మరియు ఆ సందర్భంలో, మేము రకమైన బాధ ప్రక్రియల అదే ఖర్చులు. కాబట్టి ఈ మీరు చేయవచ్చు కేవలం ఒక విషయం. కానీ కేవలం నడుస్తున్న ఈ విధమైన చూపించడానికి. మరియు ఈ చర్చ కేవలం నిజంగా దృష్టిపెట్టింది ఒక వంటి కార్యక్రమాలు ఆలోచనలకి ప్రదర్శించడం వేర్వేరు కోణాల్లో చూపించడానికి మార్గం ఎలా ఆ వంటి సర్వర్లు రూపొందించడానికి. నేను అలా అయితే కాబట్టి ఈ ఇప్పుడు అప్పుడు నడుస్తున్న, మరియు మళ్ళీ, నేను రెండు ప్రక్రియ ID లు వచ్చింది. యొక్క కేవలం గురించి చూద్దాం విషయాలు అభిప్రాయపడుతున్నారు. కాబట్టి వారు ఆరోహణ గమనించవచ్చు. తుడుచుకోవాలనిపించలేదు. ముందు 27.122 ఎందుకంటే. కాని ఇక్కడ గ్రహించండి, వారు తిరిగి వచ్చి సుమారు అదే సమయంలో. ఇప్పుడు, ఒక మంచి ప్రశ్న గురించి గోవా ఎందుకు కేసు, దీని ఉద్యోగం అని ఉంది ఇది విధమైన ఈ విషయాలు చేయడానికి ఇప్పుడు ఉంది రకమైన ప్రతి తో ఫెయిర్ ప్లే ఇతర, ఈ రెండు ఉదాహరణలలో నేను నడచి డాట్ స్లాష్ కల్ల 45 లేదా ఆ నోడ్ నడుపుతున్నాడు? విధమైన ఇది ఫెయిర్ చేస్తుంది వారిద్దరూ రకమైన రన్టైమ్ సమతుల్య పెట్టడానికి? ప్రేక్షకులు: [వినబడని]. కెవిన్ స్చ్మిడ్: అవును. కాబట్టి ప్రాథమికంగా, నేను డాట్ స్లాష్ కల్ల చేసినప్పుడు 45 లేదా అలాంటిదే, ఇప్పుడు అది రకమైన ఆపరేటింగ్ విధానం వరకు ఆ కార్యక్రమాల runtime నిర్వహించడానికి. ఇప్పుడు వాటిని షెడ్యూల్ చేయవచ్చు వివిధ CPU లు లేదా దానిపై వాటిని షెడ్యూల్ చేయవచ్చు. ఇది ఒక సమయం కోసే చేయవచ్చు CPU వారు పొందుతారు పొందేంత లేదా ఒక CPU అమలు. తెల్లవార్లూ వెనుక ఆలోచన. అందరికి తెలుస్తుంది ఉందా? కాబట్టి ఇప్పుడు నోడ్ నిజంగా ఒక ప్లే లేదు ఈ పనులు అప్ విభజన భాగంగా. OK. కాబట్టి దాదాపు ఇది ఉదాహరణలు కోసం ఉంది. నేను కేవలం ఒక మరింత విషయం చూపించు కోరుకున్నాడు ఈ చాలా ఇప్పటివరకు ఎందుకంటే పూర్తిగా సూపర్ ఆచరణాత్మక కాదు కొన్ని సందర్భాల్లో. నేను ఈ ఇంటికి బాలయోగి చేయవచ్చు మాట్లాడటానికి మరియు ఏదో మరియు వంటి మాట్లాడుతూ, బాగా నేను రకమైన ఆ చర్చ బయటకు వచ్చింది నేను కోసం ఒక ఫైబొనాక్సీ సర్వర్ చేయవచ్చు నా చివరి ప్రాజెక్టు. ఇక్కడ కేవలం విధమైన ఒకటి మరింత ఉదాహరణకు ఆశాజనక ఉంటుంది - బహుశా కాదు, కాని - కొంచెం ఆఖరి ప్రాజెక్టులకు సంబంధిత మరియు ఆ వంటి విషయాలు కోసం ముందుకు ఆలోచిస్తూ. కాబట్టి ఈ chat.js. ఉంది కాబట్టి ఈ రకమైన కొన్ని నమూనా ఇష్టం ఉంది మీరు వాడేవారు సర్వర్లో కోడ్ ఒక చిన్న చాట్ సర్వర్ ఏర్పాటు మీరు చూసిన Facebook చాట్ లేదా సంసార. నేను ఈ Facebook వంటి చెప్పడం లేదు చాట్, కానీ ఈ రకమైన ఉంది బహుశా బహుశా మంచి కాదు, కానీ - ఒక మంచి వంటి మంచి - ఒక చాట్ కోసం శ్రీకారం మీ వెబ్సైట్ కోసం సర్వర్ ఒక చివరి ప్రాజెక్ట్ కోసం. కాబట్టి యొక్క చేయుచున్నాడు చూద్దాం. కాబట్టి మేము ఈ ప్రత్యేక విషయం చేస్తున్నారు ఎగువన, ఈ SIO var Socket.IO అవసరం సమానం. కాబట్టి ఈ అది కాదు ఆ మరొక విషయం నిజానికి తో కూడినది వచ్చిన నోడ్ కానీ మీరు ఇన్స్టాల్ చేయవచ్చు. ఇది ఒక నోడ్ మాడ్యూల్ ఉంది. కనుక ఇది కేవలం కొన్ని వంటిది నోడ్ పొడిగింపు. SocketIO నిజంగా నిజానికి ఉంది చల్లని రకంగా. ఇది ప్రధానంగా ఒక సంగ్రహణం ఉంది ఇది చాలా దానికి మీరు అనుమతిస్తుంది ఉంది లేదు కమ్యూనికేషన్ యొక్క ఈ ప్రవాహం ఉంటుంది ఒక వెబ్ మధ్య బ్రౌజర్ మరియు ఒక వెబ్ సర్వర్. కాబట్టి ఇప్పటివరకు చాలా భాగం, మేము కలిగి చేసిన ఈ చాలా త్వరగా ఒక రెండవ లేదా రెండు ఒక వెబ్ మధ్య రెండవ సమాచార బ్రౌజర్ మరియు వెబ్ సర్వర్. కాబట్టి ఇది ప్రధానంగా google.com, పొందండి వెళ్ళండి యొక్క stuff, అది తిరిగి పంపడానికి, మరియు మేము పూర్తి చేసిన. మేము వరకు తిరిగి మాట్లాడటం ఎప్పుడూ చేస్తున్నారు యూజర్ రకాల మరేదో. కాని Socket.IO మరియు ఇలాంటి రకమైన విషయాలు - మరియు SocketIO నిజానికి ఒకటి వంటి నిర్మించబడింది విషయాలు WebSocket విధమైన ఇది అందుబాటులో ఉంది HTML5 భాగంగా - మీరు ఈ అనుమతిస్తుంది నిరంతర సంభాషణ. మరియు ఈ ఒక చాట్ సర్వర్ బాగా ఉపయోగపడుతుంది విషయం రకం ఇది ఎందుకంటే రకమైన లో ఒక నిరంతర సంభాషణ వంటి కొన్ని మార్గాల్లో ఎందుకంటే మీరు చాటింగ్ చేస్తుంటే ఎవరైనా, మీరు ఇప్పుడు కేవలం ఒక పంపవచ్చు అప్పుడు పైపు డౌన్ సందేశాన్ని, మరియు సర్వర్ డౌన్ సందేశం పంపగలరు మీరు ఇతర వ్యక్తికి పైపు చాట్. ఆపై మీరు ఈ కలిగి ఆ వంటి మార్పిడి. కాబట్టి ఏ రకంగా SocketIO మంచిది. SocketIO WebSockets ఉపయోగించే కారణం ఒక విషయం ఆ లో కేవలం సాదా పాత WebSockets పాటు, ఇది కూడా ప్రధానంగా కొన్ని ఉపాయాలు చేస్తుంది ఇది బ్రౌజర్ అనుకూలంగా చేయడానికి. ఇంటర్నెట్ ఎక్స్ప్లోరర్ వలె కాబట్టి బ్రౌజర్లు దురదృష్టవశాత్తు WebSockets మద్దతు లేదు కుడి బాక్స్ బయటకు. కాబట్టి ఇది చల్లని చక్కగా కొన్ని ఇతర రకమైన ఉపయోగించే అనుమతించడానికి Adobe Flash తో విషయాలు మీరు క్రాస్ బ్రౌజర్ మద్దతు కలిగి. కాబట్టి ఆ నిజంగా ఉపయోగం. మరియు వాస్తవానికి, నేను రకమైన నాకు తెలుసు ఇక్కడ సమయం నడుస్తున్న, కానీ CS50 చర్చించండి, మీరు ఎప్పుడూ ఏదో చూసిన వంటి, నేను తెలియదు, ఖాళీ విధంగా ఉంది ఈ పోస్ట్ లేదా ఏదో సందేహాలకు ఆ వంటి, ఆ ఫీచర్? ఆ SocketIO ఉంది. కాబట్టి ఎవరైనా టైప్ చేయడం మొదలుపెట్టినప్పుడు ఒక సమాధానం లేదా చేయడానికి బాక్స్ చర్చించడానికి ఏదో, మీ బ్రౌజర్ ఏమిటి లేదు SocketIO లో అని రకమైన ప్రసరిస్తుంది ఎవరో చెప్పారు ఆ సంఘటన ఈ పోస్ట్ సందేహాలకు. అప్పుడు సర్వర్, OK, చెప్పారు నేను చేయాలని ఉన్నాయి? ఇప్పుడు నేను ఆ ఇతర అబ్బాయిలు చెప్పడానికి కలిగి ఎవరు CS50 ఉన్నాయి చూస్తున్న చర్చించండి ఈ పోస్ట్ ఎవరైనా సందేహాలకు ఆ. కాబట్టి ఆ SocketIO ఏమిటి రకంగా ఈ నిరంతర రకమైన, మంచి సంభాషణ ప్రవాహం. OK. నేను ఇక్కడ ఏమి కలిగి - మరియు మేము ఉన్నాము కనెక్షన్లు శ్రేణి ఎడతెగని కొద్దిగా కోసం - నేను నేను మరొక వినండి ఉంది. అందువలన Socket.IO లో మార్గం ఉంది యొక్క ఈ పోర్ట్ న వినేందుకు వీలు మాట్లాడుతూ. ఆపై నేను కనెక్షన్ దీన్ని. అందువలన ప్రధానంగా సాకెట్ IO యొక్క ఉంది మేము ఒక అందుకున్నప్పుడు, చెప్పడం మార్గం కనెక్షన్, నేను మీకు కావలసిన ఈ కోడ్ అమలు. మరియు బదులుగా REC కలిగి గమనించవచ్చు మరియు అక్కడ జారీ res నేను సాకెట్ కలిగి. మరియు ఈ సాకెట్ ఆలోచన ప్రధానంగా ఈ ఉంది మీకు వ్రాసి చదవగలరు విషయం ఆ వినియోగదారు యొక్క ఉంది బహుశా సందేశాలను. మరియు మీరు పంపుతామని సందేశాలను ఆ సాకెట్ ద్వారా వెళ్ళవచ్చు. అర్ధవంతం లేదు? కాబట్టి ఈ నిరంతర విషయం. నేను ఏమి నేను Socket.emit కాల్. మరియు ఎమిట్ అందంగా పడుతుంది చాలా పోసింది. మొదటి వాదన ఒక స్ట్రింగ్ ఉంది కేవలం రకమైన ప్రాతినిధ్యం మీరు వెలువరించే చేస్తున్న విషయం. కాబట్టి ఈ సందర్భంలో, నేను ఉపయోగించే చేసిన ఈ స్ట్రింగ్ కొత్త సందేశం. మరియు కేవలం ప్రాథమికంగా చెప్పాడు చేసే నేను ఈ విషయం రకం, పంపడం, ఒక కొత్త సందేశం. కాబట్టి మీరు నిర్దిష్ట రకాల వినవచ్చు కొత్త సందేశం లేదా ఎలాగైనా వంటి బిందువు ఉపయోగించి. కాబట్టి కనెక్షన్ మరియు యూజర్ ఉంటే, అక్కడ పంపిన మీరు, మేము బిందువు కాల్ చూడండి ఆ ప్రాతినిధ్యం ఇతర తీగలు ఉంటాయి యూజర్ సందేశాలను రకాల. కాబట్టి మీరు ఈ ఎమిట్ కలిగి ప్రధానంగా ఉంది ఈ సందేశం రకాల ఒకటి, మరియు అప్పుడు ప్రతిస్పందనగా ఏదో ఈ సందేశం రకాల ఒకటి నేను ఈ కొత్త సందేశం వెలువరించే వెబ్. మేము connections.push విస్మరించండి చూడాలని రెండవ కోసం. కానీ నేను Socket.on యూజర్ పంపిన, చెప్పటానికి. కాబట్టి ఇప్పుడు రకమైన ఇష్టం ఎప్పుడు యూజర్ నాకు ఒక సందేశాన్ని పంపుతుంది, నేను మీరు మీరు ఈ కోడ్ అమలు. మరియు గమనించవచ్చు ఆ అజ్ఞాత ఫంక్షన్ ఈ వేరియబుల్ తీసుకుంటోంది ప్రధానంగా అన్నారు ఇది డేటా అని యూజర్ యొక్క సందేశం. గురించి చర్చ కాబట్టి ఇప్పుడు చూద్దాం రకం కనెక్షన్లు శ్రేణి. కాబట్టి ఈ ఒక చాట్ క్లయింట్ కోసం రూపొందించబడింది ప్రాథమికంగా అందరూ రకమైన ఎక్కడ అదే చాట్ రూమ్. కాబట్టి ప్రాథమికంగా, మనం ఉంచడానికి అవసరం చుట్టూ కొన్ని శ్రేణి ప్రాథమికంగా లో చాటింగ్ ప్రజలందరి కొన్ని మార్గాల్లో, భావన కల్పిస్తుంది ఉంటే. కుడి? మేము వాళ్ళని తెలుసుకోవాలి ఎందుకంటే కాబట్టి మేము సందేశాలను పంపించవచ్చు ఉంటాయి ఇతర వ్యక్తులు మాకు పంపే. కాబట్టి ఈ కోడ్ చేస్తుంది యూజర్ ఒక సందేశాన్ని పంపుతుంది - ఆ రకమైన ఉంది ఈవెంట్ - మేము ఈ కోడ్ అమలు చూడాలని. మరియు మనం ఏమి మేము ఈ ద్వారా అమలు ఉంది మేము కనెక్షన్లు అని ఆ శ్రేణి. మరియు ప్రతి కనెక్షన్ కోసం చాలా చక్కని మాది అని మినహా ఆ ఈ కోడ్ చెప్పే, మేము ఒక కొత్త పంపండి ఆ జత సందేశంతో సందేశాన్ని సమాచారం. మీరు ఇక్కడ గమనించవచ్చు చేస్తే, నేను చేసిన ఉన్నప్పుడు యూజర్ అసలైన కొత్త చేస్తుంది కనెక్షన్ నేను జోడించిన JavaScript.push పద్ధతి, ఈ ఉంది ప్రధానంగా కేవలం వంటి జోడించండి మాట్లాడుతూ ఒక విలువ ఆ సాకెట్ మా కనెక్షన్లు శ్రేణి. ఈ కోడ్ నడుస్తుంది కాబట్టి ఇప్పుడు, అది ఆ నిర్దిష్ట విషయాలు పంపండి కనెక్షన్లు. కాబట్టి ఈ మంచి ప్రారంభ స్థానం ఒక చాట్ సర్వర్ తయారీకి లేదా ఇలాంటి ఏదో. మరియు చల్లని విషయం రకంగా అని మీరు వంటి కోసం ఇక్కడ చూడండి మరియు ఆ కోడ్ విడుదల మరియు ఆ వంటి అంశాలను ఒకటే జావాస్క్రిప్ట్ కోడ్ రకం అని మీరు సంప్రదించుటకు బ్రౌజర్లో వ్రాయండి సర్వర్తో. SocketIO రకమైన ఎందుకు కాబట్టి ఆ చక్కగా మరియు ఆ విధంగా ఉపయోగకరమైన. ఓహ్ మరియు మరో విషయం నిజమైన త్వరగా. ఒక CS50 చివరి ప్రాజెక్ట్ గత సంవత్సరం ఉంది ప్రాథమికంగా ఒక చాట్ అమలు Node.js. లో సర్వర్ నేను Harvardchats.org అని కానీ నేను కాదు - OK. నేను URL ఏమిటి ఖచ్చితంగా తెలియదు, కానీ నేను తర్వాత ఆ పంపగలరు. కానీ రకమైన చల్లని ఏమి మీరు Node.js. తో చేయవచ్చు నేను సాధారణంగా, మీరు అబ్బాయిలు కలిగి, ఆశిస్తున్నాము ఒక Node.js ఉపయోగపడుతుంది మంచి భావం కోసం మరియు ఎలా మీరు బహుశా అనువర్తించడానికి మీ చివరి ప్రాజెక్ట్. నేను కొన్ని ఎక్కువ పంపించడం ఉంటుంది ఈ పాటు వనరులను. మరియు గారూ. ధన్యవాదాలు. [అప్లాజ్]