[Powered by Google Translate] [వీక్ 7]
[డేవిడ్ J. మలన్ - హార్వర్డ్ యూనివర్శిటీ]
[ఈ CS50 ఉంది. - CS50.TV]
అన్ని కుడి. తిరిగి స్వాగతం. ఈ CS50, మరియు ఈ వారం 7 ప్రారంభంలో ఉంది.
చిన్న ప్రకటనల యొక్క జంట:
Pset5, ఇప్పుడు పురోగమిస్తున్న, లేదా వెంటనే ఉండాలి
మరియు చాలా నిజాయితీగా, నాకు అని పిలవబడు, ఈ మరింత సవాలు మధ్య ఉంటాయి లేదు
కోర్సు యొక్క సమస్య సెట్లు, ఈ ఇప్పుడు నాకు మైల్ తెలియజేయండి
ఈ వారం కంటే ఎక్కువ ఎప్పుడైనా మీరు వరకు వేచి లేదు కాబట్టి, బుధవారం రాత్రి, సే
లేదా గురువారం రాత్రి సైన్ ఈత కొట్టడానికి
ఈ ఖచ్చితంగా ఒక ఆసక్తికరమైన pset ఉంది. మేము ఫన్ అని.
మీరు నిజంగా ఇది పూర్తిగా సరైన పొందండి మరియు అప్పుడు అని పిలవబడే బిగ్ బోర్డు సవాలు పోతే,
మీరు కోర్సు యొక్క సిబ్బంది కొన్ని హాస్యాన్ని మ్యాచ్ అవకాశాన్ని కలిగి ఉంటారు
మరియు మీ సహ విద్యార్థులను కొన్ని.
ఏ బిగ్ బోర్డ్, ఒకసారి మీరు మీ స్పెల్ తనిఖీ పని కలిగి ఉంది
మీరు, ఒక ఆదేశం అమలు తర్వాత cs50.net వెళ్ళండి చేయగలరు
పూర్తిగా మొత్తం సమయం మరియు RAM మొత్తం మరియు మరింత తర్వాత ప్రారంభించడానికి, మరియు
మీరు మీ అమలు మనం ఉపయోగించిన కోర్సు యొక్క హోమ్ పేజీలో ఇక్కడ ప్రదర్శించటానికి.
మీరు ఇక్కడ ఈ వారిని యొక్క మొత్తం బంచ్ సిబ్బందిని జాబితా చేసే మీరు గమనించవచ్చు
వారాంతంలో నుండి, సిబ్బంది ప్రతి ఇతర అధిగమించాలని ప్రయత్నించండి ఆహ్లాదంగా భావించారు.
ఇక్కడ గోల్ సిబ్బంది అధిగమించాలని కాదని తెలుసుకుంటారు.
కూడా నేను సంఖ్య 13 వద్ద మాత్రమే ఇక్కడ ఉన్నాను.
పూర్తిగా ప్రారంభించడానికి, కానీ చూడడానికి అవకాశం ఎంత తక్కువ RAM
మరియు ఎలా కొన్ని CPU సెకన్లు మీరు మీ సహచరుల vis-à-vis కొన్ని ఉపయోగించవచ్చు.
>> నేను ఆ కెవిన్ మైఖేల్ స్చ్మిడ్, ఒప్పుకుంటే చేస్తాము
ప్రస్తుతం TFS ఒకటిగా సంఖ్య 1 స్థానంలో,
ఈ మేము సాధ్యం కాదు కాల్ ఒక అమలు
అతను లోడ్ కోసం దాదాపు 0 RAM మరియు దాదాపు 0 సెకన్లు ఉపయోగించి చేసే ఇచ్చిన.
కాబట్టి మేము కెవిన్ ఆఫ్లైన్ చూసుకుంటాము. [నవ్వు]
కెవిన్ ఇక్కడ పరీక్షకు తెస్తున్నాయి కొన్ని నైపుణ్యాలు ఉన్నాయి.
మేము మేము భావిస్తున్న ఆలోచన విషయాలు ఒకటి కూడా CS50x పురోగమనంలో ఉన్న ఒక వారంలో ఇప్పుడు
మరియు మీరు అబ్బాయిలు చాలా ఆ విద్యార్థులు ఉంటాయి ఈ ప్రయోగం ఒక భాగం.
మేము ఒక స్క్రాచ్ ప్రాజెక్టు submit సమానంగా ఉంది, ఇది వారి pset0 భాగంగా అడిగారు
యొక్క వారికి ఆసక్తి - ఒక ఆట, కళ యొక్క ఒక పరస్పర భాగాన్ని ఒక యానిమేషన్ లేదా వంటివి -
ఒక 1 - వారు ప్రపంచానికి హలో చెప్పి మరియు అయిన, అని 2 నిమిషాల వీడియో, వారు ఉన్నాయి.
నేను మీతో ఇప్పటివరకు సమర్పించబడింది చేసిన వీడియోలను కేవలం ఒక జంట భాగస్వామ్యం కావలసిన ఆలోచన
మాకు, సిబ్బందిలో కనీసం, అది నిజంగా అద్భుతమైన ఉంది ఎందుకంటే
మరియు ప్రపంచవ్యాప్తంగా నుండి ఈ వారిని చూడటానికి స్ఫూర్తిగా - ప్రపంచవ్యాప్తంగా దేశాలు -
ఇంటర్నెట్ లో ఒక కంప్యూటర్ సైన్స్ కోర్సు వరకు, అన్ని విషయాలను, లో ట్యూనింగ్
ఇది వారి స్వంత అధ్యయనాలు కొనసాగాలని అనుకుంటున్నారా కాబట్టి, లేదో
వారు, ఒక కొత్త దిశలో వారి కెరీర్లు తీసుకొవాలనుకోవటము
వారు, తమ స్వీయ జ్ఞానం ఖాళీని పూరించడానికి కావలసిన
మీరు అబ్బాయిలు బహుశా ఇక్కడ ఉన్నాయి అదే కారణాల అందువలన కొన్ని.
>> నేను ఇక్కడ మీరు అటువంటి విద్యార్థి ఇస్తాయి. మీరు వాల్యూమ్ కేవలం కొద్దిగా పెంచుకోవచ్చు.
ఇక్కడ మా విద్యార్ధి 1 నిమిషాల సమర్పణలు ఒకటి.
హలో, ప్రపంచం. నేను Malaga, స్పెయిన్ లో ఇక్కడ ఇండస్ట్రియల్ ఇంజనీరింగ్ విద్యార్థి am.
నేను కంప్యూటర్ సైన్స్ ప్రేమ ఎందుకంటే నేను నిజంగా ఏమి, ఈ ఆన్లైన్ కోర్సు గురించి సంతోషిస్తున్నాము am
మరియు నేను నిజంగా నేను అన్వేషించడానికి పొందుతారు అభినందిస్తున్నాము.
నేను మీరు అబ్బాయిలు ఇవన్నీ ఒకే తెలుసుకోవచ్చు వాస్తవం
కానీ బదులుగా నేను Malaga ఉన్నాను హార్వర్డ్ ఉండే, ఎంత అద్భుతం?
Well, నేను ఫెర్నాండో am, మరియు ఈ CS50 ఉంది. మీరు అబ్బాయిలు చూడండి.
[నవ్వు] మేము ముఖ్యంగా ఇష్టం మరొక క్లిప్, మీరు ఈ పెద్దమనుషుల ఇంగ్లీష్ బలంగా కాదని పొందుతారు.
అతను అది యంత్రం అనువదించారు కనిపిస్తుంది, అనువాదాలు తాము ఒక బిట్ అసంపూర్ణ కాబట్టి
కానీ ఈ ఇప్పటివరకు అలాగే మా అభిమాన ఒకటి.
[♪ ♪]
హలో, ప్రపంచం. [జపనీస్ మాట్లాడటం]
[ఆంగ్ల చాలా నమ్మలేని ఎందుకంటే నేను జపనీస్ లో అభినందించడానికి ఉన్నాయి.]
[నేను Gifu నగరం, జపాన్ నుండి సందేశం డెలివర్ ఉన్నాయి.]
[నేను చూడవచ్చు, 20 సంవత్సరాలలో మొదటిసారి ఒక విద్యార్థి ఉంటుంది.]
[నేను ఈ అవకాశాన్ని మరియు edX ఇచ్చిన హార్వర్డ్ విశ్వవిద్యాలయం చాలా కృతజ్ఞత వద్ద.]
[గోల్ఫ్ ఒక గిటార్ మరియు నా అభిమాన విషయం నడుస్తున్న.] [నవ్వు]
[♪ ♪]
[ఎందుకు మీరు నేను cs50x హాజరు ప్రయత్నిస్తున్నప్పుడు అనుకుంటున్నారు.]
[హార్వర్డ్ విశ్వవిద్యాలయం, ఇది నా కోరికతో.]
[ముఖ్యంగా నేను సుదూర ఉనికిని జపాన్ నివసించారు am ఉంటే.]
[నేను edX ఉన్నప్పుడు. ఉనికి యొక్క వెంటనే తెలుసు ప్రయత్నించండి అనుకున్నారు]
[మీరు I. నేర్చుకోవడం వయస్సుకు సంబంధం కాబట్టి భావించడం లేదు]
[Cs50 నా కోరికతో. నా పేరు Kazu, మరియు ఈ cs50 ఉంది.]
[♪ ♪] [చప్పట్లు మరియు ప్రోత్సహిస్తున్నారు]
మాది మరో ఇష్టమైన ఒకరి నుండి ఇక్కడ ఈ సమర్పణ ఉంది.
[♪ ♪] [మలన్] Google మీరు ఈ పోటిలో తెలిసి అయితే.
>> మరియు తర్వాత చివరగా, బహుశా పూజ్యమైన పురస్కారాన్ని ఆ పోస్ట్ దట్ గాట్ ఇతరులు జంట.
[విద్యార్థులు] అయ్యో! >> [మలన్] మేము వినండి ఉంటుంది. ఈ చిన్నది, చాలా దగ్గరగా వినండి.
[పురుషుడు స్పీకర్] మీ పేరు ఏమిటి? >> లూయీ.
[పురుషుడు స్పీకర్] ఇది ఏమిటి? >> [నవ్వులు] CS50. [నవ్వు]
[మలన్] అతను అయితే, పడుతుంది రెండు లేదు.
ఇక్కడ మేము గత వెళ్ళండి.
నా పేరు లూయీ, మరియు ఈ CS50 ఉంది.
[నవ్వు] ఈ తరువాత CS50x ఉంది.
ఇంట్లో పాటు అనుసరిస్తూ మీరు ఆ అన్ని ధన్యవాదాలు
ఇప్పటివరకు చేసిన పాల్గొనటం జరిగింది.
నేడు, మేము, డేటా నిర్మాణాలు మా చర్చ ముగించారు
అత్యంత ప్రధానమైన కొన్ని కనీసం,
మరియు తర్వాత మేము HTML మరియు వెబ్ ప్రోగ్రామింగ్ గురించి మా సంభాషణ కొనసాగుతుంది.
నిజానికి, మేము కొన్ని ఏడు వారాల ప్రోగ్రామింగ్ యొక్క ఫండమెంటల్స్ చూడటం గత ఖర్చు చేసిన -
అల్గోరిథంలు, డేటా నిర్మాణాలు, మరియు వంటి -
మరియు మీరు ఇప్పటివరకు ఎదుర్కొని ఉండవచ్చు సి,
తప్పనిసరిగా భాషలు అత్యంత అందుబాటులో లేదు
తో ఆ కొన్ని ఆలోచనలను అమలు.
కాబట్టి, ఈ వారం వారం నుంచి మరియు తరువాత
మేము చివరకు సాధారణంగా పూర్తి తక్కువ స్థాయి భాష అని పిలుస్తారు సి, నుండి మార్పు చేయగలరు
విషయాలను ఎక్కువ వాటిని PHP, JavaScript మధ్య స్థాయి, మరియు వంటి,
మేము, మేము గత కొన్ని వారాల్లో నేర్చుకున్నాడు చేసిన అదే పాఠాలు తీసుకోబడినది చూస్తారు ఇది
కానీ మీరు పొందుతారు ఆ శ్రేణుల మరియు హాష్ పట్టికలు వంటి వాటిని ప్రకటించి మరియు శోధించడం మరియు క్రమబద్ధీకరించేందుకు
భాషలు తాము మేము ఉపయోగించి ప్రారంభిస్తాము ఎందుకంటే చాలా సులభంగా మారింది
మరింత శక్తివంతమైన అవుతుంది.
కానీ మొదటి, చెట్లు యొక్క అప్లికేషన్.
ఇది సమాచారం కుదించుము అవసరం ఈ రోజుల్లో సాధారణ ఉంది.
ఏ సందర్భంలో మీరు డిజిటల్ సమాచారాన్ని రకమైన కుదించుము అనుకుంటున్నారో?
>> అవును. >> [విద్యార్థి] మీరు వెబ్ మీద అది పంపే అవసరం ఉన్నప్పుడు.
అవును, మీరు వెబ్ మీద ఏదో పంపాలనుకుంటున్నారా ఉన్నప్పుడు.
మీరు ఒక పెద్ద ఫైల్ డౌన్లోడ్ చేయాలనుకుంటే, అది ఇతర ముగింపు న ఎవరైనా ఉంటే ఆదర్శ ఉంది
ఒక జిప్ ఫార్మాట్ లేదా అలాంటిదే ఉపయోగించి ఫైల్ కంప్రెస్ ఉంది
మీరు లేకపోతే ప్రసారం చేయవచ్చు కంటే తక్కువ బిట్స్ పంపిస్తున్నాం కనుక.
కాబట్టి మీరు సమాచారం కుదించుము చెయ్యాలి?
అప్రమేయంగా అవసరం కంటే తక్కువ బిట్స్ ను ఉపయోగించి దానిని అన్ని దిమ్మల డౌన్.
వారాల 0 మరియు 1 తిరిగి అనుకుంటున్నాను ఎందుకంటే ఈ ఒక ఆసక్తికరమైన విషయం రకం
మనం ASCII మరియు బైనరీ మాట్లాడి మేము ప్రత్యేకంగా గురించి ASCII మాట్లాడారు ఉన్నప్పుడు
అక్షరాలు ప్రాతినిధ్యం 8 బిట్స్ ను ఉపయోగించి వంటి
అక్షరం 65 ద్వారా ప్రాతినిధ్యం దీని వలన, అనేక 97 ఉంటుంది చిన్నబడి
అయితే మీరు 7 లేదా 8 బిట్స్ ఉపయోగించే, 65 లేదా 97 సూచిస్తాయి.
కానీ క్యాచ్ ఆంగ్ల అక్షరమాల లో కొన్ని అక్షరాలు ఉన్నాయి ఉంది
ఇతరులు వలె జనాదరణ లేని.
Z, అన్ని ప్రముఖ కాదు Q అన్ని ప్రముఖ కాదు, కానీ ఒక మరియు E ప్రముఖ సూపర్ ఉన్నాయి.
మరియు ఇంకా ఈ అక్షరాలు అన్ని అప్రమేయంగా ప్రపంచ కేవలం, 8 బిట్స్ యొక్క సంఖ్యను ఉపయోగిస్తుంది.
కనుక ఇది తెలివిగా బదులుగా ప్రతి అక్షరానికి 8 బిట్స్ ను ఉపయోగించి యొక్క ఉన్నారు కాదు
కూడా చాలా అరుదుగా, Q మరియు Z వలె ఉపయోగిస్తారు
మనం ఒక మరియు E మరియు S మరియు అత్యంత ప్రాచుర్యం అక్షరాలు కోసం తక్కువ బిట్స్ ఉపయోగిస్తే
మరియు, తక్కువ ప్రజాదరణ అక్షరాలు ఎక్కువ బిట్స్ ఉపయోగిస్తారు
సాధారణ సందర్భం కోసం లెట్స్ ఆప్టిమైజ్ ఉండటం ఆలోచన,
ఇది చాలా జరిగే అవకాశముంది ఏమి ఆప్టిమైజ్ చేయడానికి ప్రయత్నిస్తున్న యొక్క కంప్యూటర్ సైన్స్ లో థీమ్
మరియు, అవును, జరిగే విషయముల పై కొంచం సమయం, కొంత స్థలం ఖర్చు
కాని తప్పనిసరిగా తరచుగా.
కాబట్టి యొక్క ఒక ఉదాహరణ తీసుకుందాం.
>> మేము చాలా సమర్థవంతంగా సమాచారాన్ని కోడ్ చేయటానికి కావలసిన అనుకుందాం.
మీరు, మోర్స్ కోడ్ గురించి ఏదో తెలుసుకోవటం పెరిగింది ఉండవచ్చు
మరియు అసమానత, మీరు నిజమైన కోడ్ తెలియదు ఉంటాయి
కానీ మీరు చుక్కలు మరియు డాష్లు కనీసం ఈ సిరీస్ అని గుర్తు ఉండవచ్చు.
ఉదాహరణకు, E - ఈ పూర్తి సమర్థవంతమైన కోడింగ్ మరియు నోటీసు ఆ అత్యంత ప్రాచుర్యం అక్షరం -
beeps తక్కువ ఉపయోగిస్తుంది.
మోర్స్ కోడ్ అన్ని బీప్-బీప్-బీప్-బీప్-బీప్-బీప్ గురించి మరియు స్వరాల పట్టుకున్న
గాని సమయం లేదా ఎక్కువ సమయం స్వల్ప కాలాలు కోసం.
వంటి డాట్ చే సూచిస్తారు E, ఒక సూపర్ చిన్న బీప్, కేవలం బీప్, మరియు ఆ E. ప్రాతినిధ్యం వహించే రీతిలో
దీనికి విరుద్ధంగా, T బీప్ వంటి సుదీర్ఘ బీప్ ఉంటుంది [ధ్వని పొడిగిస్తుంది] ఉంటుంది,
మరియు ఆ T. ప్రాతినిధ్యం వహించే రీతిలో
మీరు Z విషయంలో చూస్తే, దీనికి విరుద్ధంగా, ఎందుకంటే కానీ, ఇప్పటికీ చాలా చిన్న యొక్క
Z వ్యక్తీకరించడానికి మీరు బీప్, బీప్ [ఇక ధ్వని], బీప్, బీప్ [పొట్టి ధ్వని] పెట్టారు.
తక్కువ సాధారణ ఎందుకంటే కాబట్టి అది ముగిసిన.
కానీ ఇక్కడ gotcha మోర్స్ కోడ్ కొంచెం దోషపూరిత ఉంటుంది
ఆ వెంటనే దానిని decodable కాదు.
ఉదాహరణకు, మీరు తీగ బీప్ కొన్ని చివరిలో వినే అనుకుందాం [చిన్న], బీప్ [దీర్ఘ].
నేను ఏమి సందేశం వచ్చింది? ఒక డాట్ మరియు ఒక డాష్. ఏ ప్రాతినిధ్యం లేదు?
[విద్యార్థి] A. >> [మలన్] బహుశా.
ఇది T. తరువాత E ఉంటుంది
ఇతర మాటలలో, మోర్స్ కోడ్, ఇది మూల కేసు గరిష్టంగా ఈ సూత్రం, ప్రభావితం అయితే
అది వెంటనే decodability కూడా ఇస్తున్నాయి లేదు.
అంటే, ఈ చుక్కలు మరియు డాష్లు విన్న లేదా అందుకుంటున్న వారు మానవుడు
బ్రేక్ అక్షరాల మధ్య ఉండే ఏదో, గుర్తించడానికి ఉంది
ఆ బ్రేక్ ఎక్కడ మీరు తెలియకపోతే, మీరు ET లేదా దీనికి విరుద్ధంగా ఒక గందరగోళ కాబట్టి.
>> కాబట్టి మీరు ఏమి ఉండవచ్చు? మోర్స్ కోడ్ లో మీరు అక్షరాలు ప్రతి మధ్య విరామం కాలేదు.
కానీ pausing విషయాలు వేగవంతం మొత్తం బిందువు కౌంటర్ యొక్క రకం.
ఈ అధ్వాన పరిస్థితి లేదు అక్కడ ఒక కోడ్ వచ్చింది సో వాట్ బదులుగా ఉంటే
పేరు E ఎ, ఉదాహరణకు, ఒక ఉపసర్గ -
ఇతర మాటల్లో చెప్పాలంటే, నమూనాలను ప్రముఖ అక్షరాలు ఇంకా చిన్న లేదో చేయగలిగితే
తక్కువ ప్రజాదరణ అక్షరాలు కోసం దీర్ఘ, కానీ సాధ్యం గందరగోళం ఉంది?
హఫ్ఫ్మన్ పేరు గల ఒక వ్యక్తి సంవత్సరాల క్రితం హఫ్ఫ్మన్ కోడింగ్ అని ఈ పథకం కనిపెట్టాడు
వాస్తవానికి మనం మాట్లాడే సమయంలో కాస్త ఖర్చు చేసిన డేటా నిర్మాణాలు ప్రభావితం
ఈ గత వారం, ప్రత్యేకంగా చెట్లు, బైనరీ చెట్లు -
ఇది 2 పిల్లలు కంటే ఎక్కువ ఒక బైనరీ చెట్టు అర్థం.
ఇది బహుశా, బహుశా హక్కు పిల్లలు ఎడమ చైల్డ్ ఉంది, అంతే.
కాబట్టి ఎవరైనా ఒక సందేశాన్ని పంపాలని భావిస్తున్న మాత్రమే చర్చ కొరకు అనుకుందాం
ఈ కనిపిస్తోంది. ఇది పూర్తి అర్ధంలేని కానీ ఇది కలిగివుంటుంది, Bs, CS, డిఎస్, మరియు Es.
మరియు మీరు వాస్తవానికి మొత్తం గణనను ఉంటే, Bs, CS, డిఎస్, మరియు Es
తరువాత, అక్షరాలు మొత్తం ద్వారా తిరగడానికి
ఇక్కడ ఈ చిన్న చార్ట్ అక్షరాల 45%, Es 20% ఉన్నాయి, చెప్పారు
10% Bs, మొదలగునవి.
కాబట్టి ఇతర మాటలలో, ఉంటాయని అక్కడ కోట్ స్ట్రింగ్
మీరు పంపాలని కొన్ని సందేశాన్ని కేవలం ఉంది.
ఇది, వీలైనంత కొన్ని అక్షరాలు వంటి ఉపయోగించవచ్చు కేవలం అర్ధంలేని నిర్మాణము
కానీ నిజానికి E గుర్తింపు పొందింది ఆ సందర్భంలో, యొక్క
మరియు B మరియు C ఉంటాయి కనీసం ప్రముఖ, వర్ణమాల యొక్క ఈ 5 అక్షరాలు కనీసం.
కాబట్టి మేము ఎలా, ఒక ఎన్కోడింగ్ తో రాబోయే వెళ్ళే
ఒక బైనరీ ఎన్కోడింగ్ ఈ అక్షరాలు ప్రతి 0 సె మరియు 1s ఒక నమూనా
E ఒక చిన్న నమూనా చేసి B మరియు C కొద్దిగా పొడవుగా నమూనాలు అని విధంగా,
మళ్ళీ, ఆలోచన మేము తక్కువ బిట్స్ ఎక్కువ సమయం ఉపయోగించడానికి కావలసిన ఉండటం
మరియు మాత్రమే ఒక సమయంలో మరింత బిట్స్.
హఫ్ఫ్మన్ కోడింగ్ ప్రకారం, మీరు చెట్ల అడవి సృష్టించవచ్చు.
ఒక కథ లైన్ విధమైన చెట్లు మరియు వాటిని అభివృద్ధి చేసే ప్రక్రియ ఉంటుంది ఇక్కడ ఉన్నాయి.
యొక్క ప్రారంభించండి.
>> నేను, మీరు 5 చెట్లు, మాట్లాడటం, ఈ అటవీ ప్రారంభం ప్రతిపాదించారు
ఇది ప్రతి ఒక అర్ధరహిత వృక్షం.
చెట్టు వంటి ఒక సర్కిల్ ద్వారా ఇక్కడ ప్రాతినిధ్యం కేవలం ఒకే నోడ్, కూడి ఉంటుంది.
కాబట్టి ఈ విషయాలు ప్రతి ఒక సి struct కావచ్చు
మరియు లోపల సి struct యొక్క ఫ్రీక్వెన్సీ COUNT ప్రాతినిధ్యం ఫ్లోట్ కావచ్చు
మరియు తర్వాత బహుశా లేఖ ప్రాతినిధ్యం ఒక చార్.
కాబట్టి, ఇప్పుడు కోసం, ఉన్నత స్థాయి కొన్ని పాత సి struct ఈ నోడ్స్ యొక్క భావిస్తున్నాను కాని.
ఈ 5 చెట్లు, ఒకే నోడ్ కలిగిన ప్రతి యొక్క ఒక అడవి.
హఫ్ఫ్మన్ ప్రతిపాదిత మేము ఆ చెట్లు కలిపి ప్రారంభమయ్యే ఏమిటి
పెద్దది చెట్లు చిన్నవాటి పౌనఃపున్య గణనలు కలిగి
ఒక కొత్త రూట్ నోడ్ వాటిని కలిపే ద్వారా.
ఇక్కడ అక్షరాలు మధ్య, సౌలభ్యం కోసం నేను ఎడమ నుండి కుడికి వారిని విభజించిన చేసిన గమనించి
ఆ ఖచ్చితంగా అవసరమైన, మరియు ప్రకటన కాదు, అయితే చిన్న నోడ్స్
ప్రస్తుతం 10% మరియు 10% ఉన్నాయి.
కాబట్టి హఫ్ఫ్మన్ మేము ఒక కొత్త చెట్టు లోకి ఆ 2 చిన్న నోడ్స్ విలీనం ప్రతిపాదించారు
అప్పుడు ఒక కొత్త మాతృ నోడ్ పరిచయం మరియు ఆ పేరెంట్ ఒక ఎడమ బాల మరియు కుడి బాల ఇవ్వాలని
B ఏకపక్ష ఎడమ మరియు C ఏకపక్ష కుడి ఉంటుంది.
ఆపై హఫ్ఫ్మన్ మరింత లెట్స్ ఇప్పుడు కేవలం ఎడమ చైల్డ్ భావిస్తారు ప్రతిపాదించారు
ఈ చెట్ల ఒక ఎల్లప్పుడూ వంటి 0 ద్వారా ప్రాతినిధ్యం అవుతోంది
మరియు కుడి బాల ఎప్పుడు సంఖ్య 1 ప్రాతినిధ్యం అవుతోంది.
>> మీరు చాలా కాలం మీరు స్థిరమైన ఉన్నారు వాటిని కుదుపు ఉంటే అది పెద్ద విషయం కాదు.
కాబట్టి ఇప్పుడు మేము ఈ అడవిలో నాలుగు వృక్షాలు.
నేను ఎడమ నాలుగు ఇప్పుడు ఎందుకంటే చెట్టు -
మరియు ఇది చాలా అది ఈ విధంగా పెరుగుతుంది అనేది ఒక చెట్టు కాదు
అది ఇప్పుడు 0.2 ఇద్దరు పిల్లల తల్లిదండ్రుల యొక్క విధమైన ఉన్న ఒక కుటుంబం చెట్టు వంటి మరింత -
ఆ పేరెంట్ లో మేము 0.2 డ్రా చేసిన గమనిస్తారు.
మేము రెండు పిల్లల పౌనఃపున్య గణనలు జోడించారు మరియు కొత్త నోడ్ మొత్తం మొత్తం ఇచ్చాను.
కాబట్టి ఇప్పుడు మేము ఈ విధానాన్ని పునరుక్తి.
రెండు చిన్న నోడ్స్ కనుగొను ఆపై ఒక కొత్త చెట్టు వాటిని చేరడానికి
మరియు తర్వాత మరింత విధానాన్ని పునరుక్తి.
ప్రస్తుతం మేము కొన్ని అభ్యర్థులు, 20%, 15%, మరియు మరొక 20% కలిగి ఉన్నాయి.
ఈ సందర్భంలో, మనం టై బ్రేక్ ఉంటుంది. మేము కక్ష్య చేయవచ్చు.
మేము నిరంతరంగా చెయ్యాలి.
ఈ సందర్భంలో, నేను ఏకపక్ష, ఎడమ ఒక తో వెళ్తారో
ఇప్పుడు నాకు 35% అని ఒక కొత్త మాతృ ఇవ్వాలని 20% మరియు 15% విలీనం
దీని కుడి చైల్డ్ 1, మరియు ఇప్పుడు మేము అడవి కేవలం మూడు వృక్షాలు 0, దీని ఎడమ సంతానం.
మీరు బహుశా ఈ వెళ్లి కౌంటీ చూడగలరు.
మేము ఈ రెండు అంతకంటే ఎక్కువ సార్లు పునరావృతం ఉంటే, మేము, కేవలం ఒక పెద్ద చెట్టు చూడాలని
దీని అంచులు 0 సె మరియు 1s తో లేబుల్ చేయబడ్డాయి అన్ని.
మళ్ళీ దాన్ని యొక్క లెట్.
35% ఆ చెట్టు యొక్క మూలం. 20% మరియు 45%, కాబట్టి మేము 35% మరియు 20% విలీనం చూడాలని.
ఇప్పుడు మేము ఇక్కడ ఈ చెట్టు ఉన్నాయి. మేము కలిసి ఆ జోడించడానికి మేము 55% కలిగి ఉన్నాయి.
ఇప్పుడు అడవిలో రెండు చెట్లు ఉన్నాయి.
మేము ఈ ఒక చివరి మీకు, మరియు ఆశాజనక గణితశాస్త్ర అన్ని ఫ్రీక్వెన్సీలను జోడించండి
వారు నుండి మేము వాటిని లెక్కించబడుతుంది ఉండాలి ఎందుకంటే 100% వరకు జోడించవచ్చు ను-వెళ్ళండి.
ఇప్పుడు మేము ఒక చెట్టు ఉన్నాయి.
కాబట్టి ఈ ఒక హఫ్ఫ్మన్ కోడింగ్ వృక్షం.
ఇది రకమైన మాటలతో అక్కడ పొందడానికి కొంత సమయం తీసుకున్నప్పటికీ, కానీ నిజానికి లూప్ ఒక తో
లేదా సంభవించే ఫంక్షన్ తో, మీరు అప్ అందంగా ఫాస్ట్ ఈ విషయం నిర్మించేందుకు.
కాబట్టి ఇప్పుడు మేము, ఒక కొత్త నోడ్ కలిగి, మరియు ఈ అంతర్గత నోడ్స్ అన్ని malloc'd చేశారు
బహుశా, మార్గం వెంట.
మేము ఒక మార్గం కలిగి కాబట్టి ఇప్పుడు ఈ చెట్టు ఎగువన మేము 100% ఉన్నాయి, కాని గమనించండిప్పుడు
ఈ కొత్త గొప్ప-మునిమనమడు-తాత నుండి గొప్ప-మునిమనమడు-మునుమనవళ్లను అన్ని
ఆకులు అన్ని దిగువన అన్ని మార్గం.
>> మనం ఇప్పుడు చేయబోతున్నామని, లేఖ E ప్రాతినిధ్యం వహించే ప్రతిపాదించారు ఉంది
మేము కేవలం సంఖ్య 1 ఉపయోగిస్తారు. ఎందుకు?
మేము E గా పిలువబడే ఆకు క్రిందికి చివరి మూలం నుండి ఈ చెట్టు ప్రయాణించి ఉంటే ఎందుకంటే,
మేము కేవలం ఒక అంచు, కుడి అంచు అనుసరించండి మరియు కుడి 1 వద్ద కోర్సు యొక్క లేబుల్ చేస్తుంది.
కాబట్టి హఫ్ఫ్మన్ కోసం ఇక్కడ సూత్రప్రాయంగా బైనరీ లో E యొక్క ఎన్కోడింగ్ కేవలం 1 ఉండాలి అని.
మరియు ఆ అందంగా భీకర సమర్థవంతం. నిజంగా ఆ కంటే ఏ చిన్న మరవలేను.
దీనికి విరుద్ధంగా, ఒక మీరు తర్కం అనుసరించండి ఉంటే, ప్రాతినిధ్యం అవతరిస్తుంది
బదులుగా బిట్స్ ఏ నమూనా ద్వారా? 01.
కాబట్టి ఒక చెయ్యడానికి,, మేము root వద్ద మొదలు మరియు మేము వదిలి వెళ్లి మేము కుడివైపు వెళ్ళు
ఇది మేము ఒక 0, ఆ తర్వాత ఒక 1 అర్థం.
కాబట్టి మేము ఒక నమూనా 0 మరియు 1 తో లేఖ ప్రాతినిధ్యం ఉంటుంది.
ఇప్పుడు మేము ఇప్పటికే వెంటనే decodability ఒక లక్షణాన్ని కలిగి ఉన్నాయి గమనించి
మేము మోర్స్ కోడ్ లో లేదు.
ఈ నమూనాలు రెండు అందంగా చిన్న అయినప్పటికీ - E 1 బిట్, ఒక 2 బిట్స్ ఉంది -
వారు ఒకటి లేదా ఇతర, అయోమయం లేదు అని గుర్తించలేకపోతే
మీరు ఒక చూడండి 1 ఉంటే మీరు చూసినట్లయితే, ఒక E గా వచ్చింది ఎందుకంటే ఒక 0 అప్పుడు స్పష్టంగా A. ఉంటుంది తీరవలసినదే ఒక 1
అదేవిధంగా, D ఏది? 001.
సి ఏమిటి? 0001.
మరియు B ఏమిటి? 0000.
మరియు తిరిగి, మనం శ్రద్ధ అక్షరాలు అన్ని ఆకులు వద్ద ఎందుకంటే
మరియు వాటిలో ఏవీ, మూలం నుండి ఆకు మార్గం లో మధ్యవర్తుల ఒకరకమైన
2 అక్షరాలు 'విభిన్న రకాల ఎన్కోడింగ్లని ఏకీకరించి ప్రమాదం ఉంది
ఈ బిట్ విధానాల అన్ని నిర్ణయాత్మక ఎందుకంటే.
0000 ఎల్లప్పుడూ B. ఉంటుంది
మీరు ఇతర కోసం ఒక అక్షరం తికమక అని ఎక్కడో మధ్య ఏ నోడ్ ఉంది.
ఇక్కడ సూత్రప్రాయంగా ఏది?
>> ఇందులో అత్యంత ప్రాచుర్యం లేఖ - ఈ సందర్భంలో E లో -, అత్యల్ప ఎన్కోడింగ్ సంపాదించిన చేసింది
A, తర్వాత అత్యల్ప ఎన్కోడింగ్ సంపాదించిన చేసింది
మేము ఇప్పటికే కనీసం ప్రముఖ పొందండి-వెళ్ళి ఉన్నారు ఎలాంటి తెలిసిన మరియు B మరియు C,
10% ఫ్రీక్వెన్సీ ప్రతి వద్ద, వారు పొడవైన ఎన్కోడింగ్ ఉండాల్సిందని.
కాబట్టి ఈ ఇప్పుడు అర్థం అని మీరు కంప్రెస్ ఒక సందేశాన్ని పంపడానికి కావాలా
ఇంటర్నెట్ లేదా ఒక ఇమెయిల్ లేదా వంటి లో,
బదులుగా ప్రామాణిక ASCII ఉపయోగించి కంటే, మీరు ఒక హఫ్ఫ్మన్ కోడెడ్ సందేశాన్ని పంపవచ్చు
మీరు లేఖ E పంపండి అనుకుంటే దానిద్వారా, మీరు ఒక బిట్ పంపండి.
మీరు ఒక ఒక పంపడానికి, మీరు 2 బిట్స్, 01, బదులుగా 8 బిట్స్ పంపడం పంపండి
మొదలైనవి మరొక 8 బిట్స్ మరియు తరువాత మరొక 8 బిట్స్ తరువాత.
కానీ gotcha ఇక్కడ ఉంది.
ఇది కేవలం ఆలిస్ నుండి బాబ్ పంపడం ప్రారంభించడానికి ఈ చెట్టు నిర్మించడం మరియు తగిన కాదు
తక్కువ బిట్ నమూనా, ASCII నుండి స్ట్రింగ్,
ఆలిస్ కూడా ఏమి బాబ్ సమాచారం ఉంటుంది ఎందుకంటే
బాబ్ తన సంపీడన సందేశాన్ని చదువుతారు మాత్రం ఉంటే?
[వినబడని విద్యార్థి ప్రతిస్పందన] >> ఆ ఏమిటి?
[వినబడని విద్యార్థి ప్రతిస్పందన] చెట్టు అంటే >>.
లేదా మరింత ప్రత్యేకంగా, ఆ ఎన్కోడింగ్లని ఏమిటో,
ఈ కథ సమయంలో మేము ఒక సమయంలో ఒక తీర్పు మాట్లాడారు వలన.
మేము 2 వివిధ 20% నోడ్సుమధ్య ఏకపక్ష పిక్ వచ్చింది గుర్తుంచుకోండి?
కాబట్టి అది బాబ్, గ్రహీత, తన సొంత చెట్టు తిరిగి ఆ సందర్భంలో కాదు
బహుశా తాను ఇంత కొంచెం విభిన్నంగా అలైస్ నుండి చెట్టు సృష్టిస్తుంది ఎందుకంటే.
అంతేకాకుండా, బాబ్ కూడా అసలు సందేశం తెలుసు లేదు
ఆలిస్ అతనికి పంపుతోంది అయితే, కోర్సు యొక్క, సంపీడన సందేశం ఎందుకంటే.
>> ఈ వంటి కుదింపుతో క్యాచ్ ఉంది కాబట్టి, అవును, ఆలిస్ బిట్స్ పూర్తి చాలా సేవ్ చేయవచ్చు
మొదలైనవి ఒక కోసం E కోసం 1 మరియు 01 పంపడం ద్వారా,
కానీ ఆమె కూడా మ్యాపింగ్ అక్షరాలు మరియు బిట్స్ మధ్య ఏమి బాబ్ సమాచారం ఉంటుంది
మేము ASCII ఉపయోగించకుంటే స్పష్టంగా కేవలం ASCII ఇకపై నమ్మలేని ఎందుకంటే.
కాబట్టి ఆమె ఏదో అతనికి చెట్టు పంపవచ్చు -
ఆ వలె బైనరీ డేటా లేదా ఏదో దానిని నిల్వ, వ్రాసి -
లేదా అతనికి లను చూపించే ఒక చిన్న మోసగాడు షీట్, Excel ఫైల్, పంపండి.
కాబట్టి కుదింపు ప్రభావాన్ని నిజంగా ఊహిస్తున్న మీరు పంపే చేస్తున్న సందేశాలను
, మధ్య తరహా కనీసం, అందంగా పెద్ద ఉంటాయి
మీరు ఒక సూపర్ చిన్న సందేశం పంపడం మీరు ఎందుకంటే,
మీరు సందేశాన్ని BAD పంపండి అనుకుంటే, ఇది మేము ఇక్కడ అక్షరక్రమ ఒక పదం నిర్మాణము
B-A-D, మీరు బహుశా తక్కువ బిట్స్ ఉపయోగించడానికి వెళుతున్న,
మీరు కూడా చెట్టు ఏమిటి బాబ్ తెలియజేయడానికి అయితే క్యాచ్
లేదా ఆ ఎన్కోడింగ్లని ఏమిటో, మీరు బహుశా పొదుపు అన్ని లేవని చూడాలని
తో ప్రారంభించడానికి సంపీడన విషయాలు కలిగి.
కాబట్టి ఇది నిజానికి మీరు ప్రయత్నిస్తే, సంపీడనం ఆ సందర్భంలో ఉంటుంది
కూడా జిప్ లేదా ఫైల్ ఫార్మాట్లు వంటి ఏదో మీకు తెలిసిన కావచ్చు -
అందంగా ఉండే చిన్న ఫైళ్లు కూడా ఖాళీ ఫైళ్లను -
కొన్నిసార్లు ఆ ఫైళ్ళను పెద్ద మరియు చిన్న లేదు పొందండి ఉండవచ్చు.
కానీ వాస్తవంగా, ఆ, మాత్రమే చిన్న ఫైల్ పరిమాణాలు జరుగుతుంది
కాబట్టి ఇది ఒక గిగాబైట్ ఫైలు 2 గిగాబైట్ల చేస్తుంది మాత్రం కాదు;
మేము నిజంగా బైట్లు లేదా ఒక జంట లు మాట్లాడుతూ చేస్తున్నారు.
>> జిప్ వంటి కొన్ని కార్యక్రమాలు, గుర్తించే తగినంత స్మార్ట్ ఉంటాయి
"ఈ ఒత్తిడి మరింత బిట్స్ ఖర్చు చూడాలని."
"నాకు అన్ని వద్ద మీ కోసం ఒత్తిడి ఇబ్బంది లేదు లెట్."
కాబట్టి ఈ టెక్స్ట్ ఫార్మాట్ సంపీడనం అప్పుడు ఒక మార్గం.
మేము C. ఈ వంటి ఏదో అమలు కాలేదు
ఉదాహరణకు, ఇక్కడ మేము ఈ చెట్టు ఒక నోడ్ ప్రాతినిధ్యం ఎలా ఉంది
మేము గుర్తు కోసం ఒక చార్, ఫ్రీక్వెన్సీ చలన విలువ కలిగి ఉన్న
మరియు మేము మా ఇతర డేటా నిర్మాణాలు, 2 గమనికలు తో చూసిన వంటి
NULL ఉంటుంది గాని ఇది ఎడమ బాల, కుడి 1 1,,
కానీ ఒకవేళ, అది ఒక ఎడమ బాల మరియు కుడి బాల సూచిస్తుంది.
కాబట్టి, ఈ అప్పుడు హఫ్ఫ్మన్ కోడింగ్, మరియు ఇది మీరు సమాచారం కుదించేందుకు గురించి తెలుసుకోవడానికి ఒక మార్గం
మరియు అది ఖచ్చితంగా అమలు అత్యంత సులభమైన ఒకటి
గత వారం యొక్క డేటా నిర్మాణాలు, సే, సందర్భంలో,
మరింత విశ్లేషిస్తుంది ఉనికిలో ఉన్నప్పటికీ
మీ డేటా యొక్క మరింత అధునాతనమైన ఉత్పరివర్తనలు చేయవచ్చు.
ఏదైనా చెట్లు, బైనరీ చెట్లు, లేదా టెక్స్ట్ యొక్క కుదింపు అప్పటి ప్రశ్నలు?
[విద్యార్థి] కొంత అస్పష్టత [వినబడని] స్ప్లిట్ ఉంటే వంటి 01 లోకి ఉంది,
అప్పుడు 011 అస్పష్ట, కుడి ఉంటుంది?
[వినబడని] >> మంచి ప్రశ్న. సందేహాస్పద.
ఇక్కడ ఈ చిత్రం సూచించడం ద్వారా నాకు క్లుప్తంగా లెట్.
ఎందుకంటే మీరు ఒత్తిడి ఉంటాయి అక్షరాలు, ప్రాతినిధ్యాన్ని,
ఈ అల్గోరిథం యొక్క నిర్వచనం ద్వారా ఎల్లప్పుడూ, ఆకులు ఉంటాయి
మీరు అనుకోకుండా బహుళ అక్షరాల ఉపసర్గ కోసం బిట్స్ అదే నమూనాను ఉపయోగించవచ్చు ఎప్పటికీ.
కాబట్టి ఇతర పదాలు లో, మీరు గురించి మీరు, అది ఏర్పడే ఒక సందిగ్ధత, లాగా ఉంటుంది
అనగా 001 B యొక్క ప్రారంభ లేదా C లేదా అలాంటిదే ప్రారంభం కావచ్చు.
కానీ అక్షరాలు అన్ని మేము ఎన్కోడింగ్ చేస్తున్న ఎందుకంటే ప్రకటన సందర్భంలో ఉండకూడదు
ఆకులు ఉన్నాయి.
>> అస్పష్టత మాత్రమే, మోర్స్ కోడ్ సందర్భంలో, పెరగవచ్చు
ఒకవేళ, ఉదాహరణకు, C మూలం నుండి B. మార్గం వెంట ఎక్కడో ఉంది
[విద్యార్థి] రైట్. కాబట్టి ఆ సందర్భంలో, ఒక 2 ఆకులు కలిగి. >> ఒక కలిగి - ఆ మళ్ళీ సే.
[విద్యార్థి] A 2 ఆకులు, F మరియు G, మరియు అప్పుడు G కలిగి - >> సరే. కానీ కాదు.
ఒక స్వయంగా ఆ అక్షరాలు ఎందుకంటే ఆకులు F మరియు G కలిగి కాదు F మరియు G
తాము B యొక్క ఎడమ లేదా E. యొక్క కుడి ఎక్కడో వదిలి ఉంటుంది
దీనిని నిర్వచిస్తారు, వారు ఆకులు ఉండాలి.
లేకపోతే, మీరు ఖచ్చితంగా ఉన్నాము, మేము మోర్స్ కోడ్ ఎదుర్కోవలసి వస్తుంది అని సమస్య పరిష్కారమైంది చెయ్యలేదు.
ప్రశ్న గుడ్. ఇతర ప్రశ్నలు? అన్ని కుడి.
మేము అధికారం చేసిన అవ్ట్ బిట్స్ యొక్క ఈ భావన, అది మేము నిజంగా ఉపయోగించరు చేసిన ఆ పాటు మారుతుంది
ఈ 0 సె మరియు 1s మోసంచేయటం మొదలయింది.
మేము మొట్టమొదటి సమస్య సెట్లు ఒక ఈ గురించి అడిగారు:
అవి, మీరు పెద్ద చిన్న లేదా పక్కకు మార్పిడి గురించి ఎలా గో?
లేదా, మరింత concretely, ఆ మొదటి psets ఒకటి అడిగాడు
ఎన్ని బిట్స్ మీరు అసలైన లేదా దీనికి విరుద్ధంగా చిన్న మార్పు చేయడానికి తెరవగలిగే ఉన్నాయి?
ఇక్కడ 65 మరియు 97 బైనరీ ఎలా ఏమి యొక్క శీఘ్ర రిమైండర్ ఉంది.
మరియు కూడా ఆ ప్రశ్న విధమైన, మీ మెమరీలో తగ్గింది
మీరు ఎన్ని బిట్స్ ఒరిగిందని అవసరం ఇక్కడ మళ్ళీ చూడగలరు
రాజధాని మార్చడానికి ఒక ఒక చిన్న కు? కేవలం ఒక.
>> వారు మాత్రమే ఒక స్థానాన్ని, ఎడమ నుండి మూడవ బిట్ లో ఉంటాయి.
ఒక ఒక 010, చిన్న ఉంది, అదే ఒక 011 ఉన్నాయి.
కాబట్టి ఏదో, మనం కేవలం ఆ బిట్ తెరవగలిగే ఉంటుంది
అప్పుడు మేము పెట్టుబడి లేదా అక్షరాలు చేయవచ్చు.
మేము నిజంగా ఉపయోగించి గతంలో ఇది చేసిన పరిస్థితులు ఉంటే
మరియు లేఖ రాజధాని A మరియు రాజధాని Z మధ్య ఉంటే తనిఖీ,
అప్పుడు వంటి ప్రతిఫలాన్ని - ఒక + 26 లేదా అలాంటిదే.
బహుశా మీరు అక్షరాలు ఒక గణిత మార్చారా.
కానీ మేము కేవలం ఒక్క బిట్ ఏ కుదుపు అని?
ఎలా మీరు 01000001 మరియు 01100001 వంటి కాబట్టి బిట్స్ 8 బిట్స్ ఒకటి బైట్ యొక్క విలువ తీసుకోవడం గురించి వెళ్ళటానికి?
మీరు బిట్ల ఆ నమూనాలు కలిగి ఉంటే, మేము వాటిని ఒకటి మార్చడం గురించి ఎలా వెళ్ళవచ్చు?
మేము ఇక్కడ పసుపు బిట్స్ ఈ ఇతర నమూనా పరిచయం ఏమి?
నేను మార్చడానికి కావలసిన ఒక బిట్ మినహా మొత్తం పసుపు స్ట్రింగ్ 0 సె చేస్తే
మరియు నేను bitwise ఆపరేటర్లు గా పిలిచే క్రొత్త ఆపరేటర్లు పరిచయం -
ఇది వ్యక్తిగత బిట్స్ న నిర్వహించే కోణంలో bitwise,
ఒక మొత్తం బైట్ లేదా నాలుగు బైట్లు ఒకేసారి న.
పసుపు లో ఈ నిలువు బార్ మేము రాజధాని ప్రాతినిధ్యం A ఏమి తీసుకుంటే సూచిస్తుంది
మరియు బిట్ల పసుపు క్రమం తో bitwise లేదా?
ఇతర మాటలలో, స్క్రాచ్ లో బూలియన్ వ్యక్తీకరణలు మా చర్చ తిరిగి ఆలోచించాలి C. లో
>> బూలియన్ చేయడం లేదా వాస్తవంగా అంటే, గాని మొదటి విషయం నిజమైన ఉండాలి
లేదా, రెండవ విషయం నిజమైన ఉండాలి లేదా రెండు నిజమైన ఉండాలి
మరియు అప్పుడు ఫలిత ఉత్పత్తి నిజమైన స్వయంగా.
ఇక్కడ ఈ సందర్భంలో, మనం 0 తో ed మనం 0 తీసుకుంటే పొందండి "లేదా" చెయ్యాలి? తప్పుడు లేదా తప్పుడు?
ఇప్పటికీ తప్పుడు ఉంది, చిన్న ఒక అంచనా ఉంది కాబట్టి.
దానికి బదులుగా మేము 1 లేదా 0 లేకపోతే?
ఈ ఇప్పుడు 1, కానీ ఇక్కడ జరిగే గురించి ఏమి గమనిస్తారు.
మేము రాజధాని A ప్రారంభం మరియు మేము ఇక్కడ చేస్తున్నా వంటి దాని వ్యక్తి బిట్స్ కొనసాగుతుంది "లేదా" ఉంటే,
0 లేదా పసుపు ఏది డౌన్ ఇక్కడ మాకు ఇస్తుంది? ఈ మాకు 1 ఇస్తుంది.
నిజానికి, మేము చిన్న యొక్క పెద్ద వెర్షన్ వాస్తవానికి ఏమి లేదు అనుకుందాం.
యొక్క దీన్ని వదలి వేస్తారు. నాకు ఇక్కడ ఈ వెనుకకు తరలించడానికి లెట్.
మళ్ళీ ఇది యొక్క లెట్. 0 లేదా 0 నాకు 0 ఇస్తుంది.
1 లేదా 0 నాకు 1 ఇస్తుంది.
0 లేదా 1 నాకు 1 ఇస్తుంది.
0 లేదా 0 నాకు 0 ఇస్తుంది. తదుపరి 0, తరువాత ఒక 0, తరువాత ఒక 0.
1 లేదా 0 నాకు 1 ఇస్తుంది.
మేము ముందుగానే తెలియదు కూడా కాబట్టి, ఒక చిన్న ఉంది ఏమి
కేవలం ING ద్వారా "లేదా" ఒక మేము పసుపు ఇక్కడ చేసిన బిట్స్ ఈ నమూనాతో,
మీరు సూచించే బిట్ వేగంగా కదలటం ద్వారా ఒక ఒక రాజధాని చిన్న చేయవచ్చు.
మేము వ్యక్తీకరణ వారాల క్రితం ఈ ఉపయోగిస్తారు: ఒక బిట్ వేగంగా కదలటం.
మీరు నిజంగా ఎలా programmatically చేయాలి?
మీరు సాధారణంగా ముసుగు, బిట్స్ క్రమం, అని దాన్ని ఉపయోగించండి
ఈ సందర్భంలో కేవలం ఇక్కడ ఈ సంఖ్య లాగా జరుగుతుంది
మరియు తర్వాత మీరు "లేదా" ఇది కలిసి ఈ కొత్త సి ఆపరేటర్లు ఉపయోగించి,
కాదు | |, మీరు ఏకైక ఉపయోగం | మరియు ఎందుకంటే ఎందుకు మీరు నిజంగా ఇక్కడ ఈ సమాధానం పొందుతారు?
ఈ 1s స్థానంలో, 2S స్థానంలో, 8, 4s 16s, 32s ఉంది.
కాబట్టి అది మీకు ఒక పెద్ద అక్షరం తీసుకుంటే ఒక మరియు పూర్ణాంక 32 తో bitwise లేదా, అవుతుంది
పూర్ణాంక 32 ఎందుకంటే, మీరు బిట్స్ గా చూస్తున్నప్పుడు, ఈ కనిపిస్తోంది
మీరు నిజంగా కావలసిన బిట్ ఫ్లిప్ అనగా.
మరియు అలాగే - మరియు మేము ఒక క్షణంలో కోడ్ వద్ద పరిశీలిస్తాము -
మేము మరొక దిశలో వెళ్లాలనుకుంటే అనుకుందాం.
>> మీరు ఒక చిన్న ఒక మూలధనాన్ని నుండి ఎలా గో? ఏ బిట్ మార్చడానికి అవసరం?
ఇది అదే ఇది.
మేము ఒక 0 to 1 నుండి మూడవ బిట్ మార్చడానికి కావలసిన.
మరియు మేము ఎలా చేయడం గురించి వెళ్ళవచ్చు?
మేము ఎలా ఒక బిట్ ఆఫ్ చెయ్యాలి? బిట్స్ ఏ నమూనాతో మేము ఒక బిట్ ఆఫ్ కాలేదు?
మనం ముసుగు అనేక ఫలములలో యొక్క క్రమం ఉంటే?
ముందు అయితే, మేము మొత్తం పసుపు ముసుగు 0 సె చేసిన
ఒక బిట్ మినహా మేము, ఆన్ అనుకున్నారు
ఈ సమయంలో, మేము మేము టర్న్ ఆఫ్ కావలసిన బిట్ మినహా మొత్తం ముసుగు 1s తయారు
తరువాత ఏమి ఆపరేటర్లు ఉపయోగించాలి?
మనం ", మరియు" ఉంటే? యొక్క పరిశీలించి చూద్దాం.
మేము ఇప్పుడు ఈ అయిన ఫ్లిప్, మళ్ళీ నేను 1s ఉన్న ఒక ముసుగు సృష్టించే ఉద్దేశం
నేను ఆఫ్ చెయ్యడానికి కావలసిన ఒక బిట్ మినహా
ఆపై కాకుండా "లేదా" ఇక్కడ డౌన్ పసుపు సంఖ్యలో టాప్ వైట్ సంఖ్యలు,
ఏ కలిసి నేను బదులుగా "మరియు" వారిని ఉంటే? ఇది ఒక bitwise అని మరియు ఉంది.
తార్కికంగా ఇది బూలియన్ అదే విషయం మరియు.
ఈ 0 & 1 0 నాకు ఇస్తుంది. కాబట్టి తప్పు మరియు నిజమైన FALSE.
ట్రూ మరియు నిజమైన నిజం.
మరియు ఇక్కడ ఉంది మ్యాజిక్: ట్రూ మరియు తప్పుడు ఇప్పుడు తప్పుడు, కాబట్టి మేము ఆ బిట్ ఆఫ్ చేసారు.
ఇప్పుడు కథ మిగిలిన కొంతవరకు సూటిగా ఉంటుంది.
ముసుగు మిగిలిన 1s ఎందుకంటే, అది సంఖ్యలు తెలుపు ఏమిటో పట్టింపు లేదు.
మీరు "మరియు" నిజమైన ఏదో, మీరు దాని విలువను మార్చడానికి వెళ్ళడం లేదు వెన్.
అది నిజమైతే, అది నిజమైన ఉంటుంది. అది తప్పు, అది తప్పుడు ఉంటుంది.
>> మీరు నిజమైన అని ఏదో తీసుకోవడం కానీ మేజిక్ జరుగుతుంది
తప్పుడు మరియు ఆపై మీరు "మరియు" ఇది.
ఈ సూచించే బిట్ ఆఫ్ చెయ్యడానికి ప్రభావం.
అక్కడ కాబట్టి కొద్దిగా గుప్తమైన.
వాస్తవానికి మరింత గుప్తమైన చూడండి విధంగా యొక్క నిజానికి కొన్ని కోడ్ చూద్దాం,
కానీ యొక్క tolower వద్ద ఇక్కడ ఒక లుక్ తీసుకుందాం.
నేను tolower విషయంలో చూస్తే, A, ఒక చిన్న కు రాజధాని నుండి వెళ్లి
మేము ఈ కార్యక్రమం అమలు ఎలా చూద్దాం.
ఇక్కడ ప్రధాన, మరియు ఇది ఏ ఆదేశ పంక్తి వాదనలు తీసుకొని కాదు.
నేను యూజర్ సైన్ టైప్ అన్నారు ఉత్తరం కోసం ఒక పాత్ర సి ప్రకటించారు చేస్తున్నాను
లూప్ కేవలం యూజర్ ఖచ్చితముగా ఒక నాకు రాజధాని ఇస్తుంది నిర్ధారించుకోండి కాగా నేను తెలిసిన డో ఉపయోగించడానికి
లేదా B లేదా C. .. Z, కాబట్టి వారు నాకు మరియు Z. మధ్య ఏదో ఇవ్వాలని
ఇప్పుడు నేను ఇక్కడ ఏమి చేస్తున్నాను?
నేను "లేదా" 0x20 తో ING ఈ, కానీ వాస్తవానికి సేమ్ -
మరియు మేము ఒక క్షణంలో ఈ వచ్చి ఉంటుంది - 32.
మరలా, 32 ఇక్కడ బిట్స్ ఈ క్రమం. ఎందుకు మేము ఈ తెలుసు?
జస్ట్ వారం 0 తిరిగి అనుకుంటున్నాను.
ఈ 1s స్థానంలో, 2S స్థానంలో, 4s, 8, 16s, 32s ప్రదేశం.
కాబట్టి ఈ పసుపు సంఖ్య 32 నిర్మాణము.
నేను, సాహిత్యపరంగా సంఖ్య 32 తో, ఇక్కడ bitwise "లేదా" ఇది చార్ వంటి లేఖ పడుతుంది
మరియు నేను ఏ తిరిగి వస్తుందా? ఆ చార్ యొక్క చిన్న రూపం.
ఒక క్షణం క్రితం, అయితే, నేను వేరే బేస్ విధానంలో ఈ వ్యక్తం.
ఈ ఏమి ప్రాతినిధ్యం వచ్చింది? >> [విద్యార్థి] హెక్సాడెసిమల్.
[మలన్] ఈ హెక్సాడెసిమల్ ప్రాతినిధ్యం జరుగుతుంది.
మేము ఎక్కువ హెక్సాడెసిమల్ గురించి మాట్లాడారు లేదు
కానీ ఈ వంటి సందర్భాల్లో నిజంగా అనుకూలమైన ఉంది.
>> ఇది చాలా క్లిష్టమైన ఉంది మరియు ఉన్నప్పటికీ అది 20 మరియు 32, కనిపిస్తోంది అయినప్పటికీ
అది హెక్సాడెసిమల్ నిజానికి సూపర్ అనుకూలమైన సంకేతనం ఆ అవుతుంది
హెక్సాడెసిమల్ ప్రతి 0x తర్వాత అంకెల ఎందుకంటే - మరియు ఈ ఏమీ అర్థం;
ఈ ఇక్కడ హెక్సాడెసిమల్ సంఖ్య వస్తుంది అని కేవలం మానవ సదస్సు -
ఈ అంకెలు ప్రతి 2 మరియు అప్పుడు 0, తాము ప్రాతినిధ్యం చేయవచ్చు
సరిగ్గా 4 బిట్స్ తో.
మేము దీన్ని చేస్తే, నాకు ఇక్కడ ఒక టెక్స్ట్ ఎడిటర్ తెరవడం వీలు - అసహజ స్వీయపూర్తి -
మేము ఇక్కడ ఒక చిన్న టెక్స్ట్ ఎడిటర్ లేకపోతే, సంఖ్య 0x20 4 బిట్స్ ఇక్కడ అర్థం, ఇక్కడ మరొక 4 బిట్స్ ఉంది.
మొదటి కుడివైపు 4 బిట్స్ తెలియజేసేలా యొక్క.
4 బిట్స్ తో ప్రాతినిధ్యం ఉన్నప్పుడు 0 ఏమిటి? సూపర్ సులభంగా. అన్ని 0 సె.
కాబట్టి 0 సె వంటి 4 బిట్స్.
ఎలా మీరు 2 ప్రతిబింబించవు? ఇది మేము ఈ చేసిన తరువాత సమయం అయ్యింది, కానీ 0100 యొక్క యొక్క.
ఈ 1s ప్రదేశం కాబట్టి, ఈ 2S ప్రదేశం, మరియు అప్పుడు అది ఇతర ప్రాంతాల ఏమిటో పట్టింపు లేదు.
ఇతర మాటలలో, హెక్సాడెసిమల్ లో మీరు, 0x20 అనవచ్చు
కానీ మీరు 2 గురించి అనుకుంటున్నాను మరియు అది ఎలా బైనరీ ప్రాతినిధ్యం ఉంటే,
ఏ 0 మరియు ఎలా బైనరీ ప్రాతినిధ్యం వహిస్తుంది,
ఆ ప్రశ్నలకు సమాధానాలు వరుసగా ఈ మరియు ఈ ఉంటాయి.
కాబట్టి 0x20, 8 బిట్స్ ఈ నమూనా ప్రాతినిధ్యం జరుగుతుంది
ఇది ఖచ్చితంగా మేము కోరుకునేది ముసుగు ఉంటుంది.
కాబట్టి ఈ, క్షణం కేవలం ఒక మేధో కసరత్తు
కానీ నిజానికి కోడ్ లో ఈ వంటి స్థిరాంకాలు రాయడానికి సాధారణంగా సాధారణ అని
హెక్సాడెసిమల్ లో ప్రోగ్రామర్ సులభంగా ఎందుకంటే,
అది కొంత కాగితం మరియు పెన్సిల్ అవసరం కూడా, బిట్ల ఆ నమూనా ఏమిటి గుర్తించడానికి
మీరు కోడ్ సాధారణంగా 0 సె మరియు 1s వ్యక్తం చేయలేరు ఎందుకంటే.
మీరు 00010 వెళ్ళి మొదలైనవి కాదు.
>> మీరు దశాంశ లేదా హెక్సాడెసిమల్ లేదా అష్టాంశ లేదా ఇతర సమీకరణాలు ఎంచుకోండి ఉంటుంది.
చాలా మంది కేవలం కాబట్టి ప్రతి అంకెల 4 బిట్స్ ప్రాతినిధ్యం హెక్సాడెసిమల్ ఎంచుకోండి ఉంటాయి
మరియు మీరు ఈ శీఘ్ర గణిత చేయవచ్చు.
నేను దాదాపు అదే ఇది toupper, నా చేతి దుర్చాల్సిన తెలీదు; అది దాదాపు ఒకేలా ఉంటుంది.
Toupper లేదు లేదా ఆపరేటర్లు కానీ ఈ గై మరియు df ఉపయోగించడానికి జరుగుతుంది.
Df ఏమిటి ప్రాతినిధ్యం లేదు? df? ఎవరైనా? >> [విద్యార్థి] 255.
255? కాదు 255. ఆ ff ఉంటుంది.
మేము ఒక చిన్న వ్యాయామం ఈ ఒక చెప్పను.
మీరు 0 నుంచి అయితే, అప్పుడు 1, 2, 3, 4, 5, 6, 7, 8, 9 మరియు 9 తర్వాత వస్తుంది?
మేము దశాంశ అంకెలు నుండి రకం, కానీ హెక్సాడెసిమల్ లో ఏం 9 తర్వాత వస్తుంది?
[విద్యార్థి] ఒక. >> కాబట్టి a, b, c, d.
మీరు అక్కడ d వాస్తవానికి సూచిస్తుంది బిట్స్ ఏ నమూనా నుండి గుర్తించడానికి చేయవచ్చు.
మేము గణిత లేకపోతే, మేము మీరు తిరిగి పొందడానికి ముగుస్తుంది ముసుగు ఈ సారూప్యత చూస్తారు.
ఈ f, అన్ని 1s, మరియు ఈ d. కాబట్టి df ఆ ముసుగు సూచిస్తుంది. అన్ని కుడి.
చివరికి, విషయాలు ధ్వని సూపర్, సూపర్ సాంకేతిక, చేయడం
కానీ మేము ఈ పని చేసే ఒక ప్రోగ్రామ్ను రాయడం అనుకున్నారు అనుకుందాం.
నాకు ముందుకు వెళ్లి binary.c గా పిలువబడే ఒక ఫైల్ లో ఒక ప్రోగ్రామ్ ఇది బైనరీ, తయారు చేద్దాము.
ఇప్పుడు నాకు బైనరీ అమలు మరియు నాకు కాని ప్రతికూల పూర్ణాంక కల్పించడానికి అనుమతిస్తాయి.
లెట్ యొక్క 0 సులభంగా మరియు టైప్ చెయ్యండి.
ఈ ఇప్పుడు దాని బైనరీ ప్రాతినిధ్యం లో పూర్ణాంకం అవుట్ ముద్రిస్తుంది ప్రోగ్రామ్.
నేను మళ్ళీ ఈ ఆట ప్లే మరియు కేవలం 1 టైప్ చేస్తే, నేను 1 యొక్క 32-bit ప్రాతినిధ్యం కావాలి.
నేను 2 మళ్ళీ ఇలా చేస్తే, నేను ఆ కావాలి.
నేను 7 చేస్తే, నేను ముందుకు చివరలో కొన్ని 1s పొందండి మరియు ఉండాలి.
నేను bitwise కార్యకలాపాలను ఈ మైల్ అది మారుతుంది
మీరు నిజంగా అదే ఒక ఇతర విషయం చేయవచ్చు.
మీరు డైనమిక్ ఈ ముసుగులు సృష్టించవచ్చు.
Bitwise కార్యకలాపాలు పాల్గొన్న ఈ ఒక చివరి ఉదాహరణ పరిశీలించండి.
ఇక్కడ కోడ్ మొదటి భాగం, అనేక వినియోగదారును ప్రాంప్ట్
మరియు మీరు నాకు కాని ప్రతికూల పూర్ణాంక ఇవ్వాలని పేర్కొన్నారు.
కాబట్టి పాత పాఠశాల stuff యొక్క విధమైన ఉంది.
కానీ ఇక్కడ ఆసక్తికరమైన రకం ఏదో ఒకటి ఉంది.
>> నేను బైనరీ లో అనేక ప్రింటింగ్ గురించి గో?
నేను మొదటి ఏమి నుండి ఏమి iterate?
కనీసం పరికరంలోని, సాధారణంగా ఒక పూర్ణాంకానికి యొక్క పరిమాణం ఏమిటి? >> [విద్యార్థి] 4.
ఇది 4. కాబట్టి 4 * 8 32 - 1 31 ఉంది.
నేను 31 నుండి లెక్కించడానికి ప్రారంభ నేను అలా అయితే, ఆ, అది అవుతుంది, సూచిస్తుంది
కేవలం సంభావితంగా, ఇక్కడ ఈ గై ఇది 31 వ bit లేదా అత్యధిక ఆర్డర్ bit,
ఈ బిట్ 0 మాత్రం ఉంటుంది.
కాబట్టి ఈ బిట్ 01 ఉంది ... bit 31.
కాబట్టి ఈ కోడ్ ఏమి ఉంది?
అది గుప్తమైన కనిపిస్తోంది అయినప్పటికీ, కేవలం డౌన్ 31 నుండి 0 to iterating ఉంది, లూప్ ఈ గమనించండి. అంతే.
కాబట్టి ఆసక్తికరమైన భాగంగా ఇప్పుడు ఇక్కడ ఈ 5 లైన్స్ లో ఉండాలి.
ఈ లైన్ లో నేను ఒక వేరియబుల్ అని ముసుగు ప్రకటించారు కాబట్టి గమనించండి
ఈ పసుపు సంఖ్యల మా కథ అనుగుణంగా ఉన్నట్లు.
మరియు ఈ ఏమి ఉంది?
ఈ మేము ముందు, ఎక్కువగా చూడలేదు చేసిన మరొక bitwise ఆపరేటర్లు ఉంది.
ఇది ఎడమ షిఫ్ట్ ఆపరేటర్ యొక్క.
ఈ ఆపరేటర్లు చేస్తుంది.
ఇక్కడ సంఖ్య 1, మరియు మీరు నేను షిఫ్ట్, ఎడమ షిఫ్ట్, ఎడమ
మీరు ఆ వ్యక్తి 1 చేస్తోంది ప్రభావం ఆ ఏమి ఆలోచిస్తాడు?
అక్షరాలా అది పైగా తగ్గుతుంది.
సంఖ్య 1 మీరు ఎడమవైపు చేసుకున్నది మరియు మీరు, 31 నేను ప్రారంభించడం ప్రారంభించండి అయితే
ఆ ఏమి ఉండబోతుంది? ఈ సంఖ్య 1 తీసుకొని ఇక్కడ పైగా 31 ప్రదేశాలలో మారిపోయే అవకాశముంది.
మరియు దాని వెనుక స్పష్టంగా ఏ ఇతర అంకెలు ఉన్నాయి ఎందుకంటే,
ఆ సిద్ధంగా 0 సె భర్తీ చేయబడుతుంది.
కాబట్టి మీరు కోర్సు యొక్క ఈ వలె కనిపిస్తుంది సంఖ్య 1, కలిసి ప్రారంభిస్తాము -
మరియు నాకు సెంటర్ లో దాని పై డ్రా తెలియజేయండి.
మీరు ఎడమ విషయాలను ముందడుగుగా మరియు తరువాత, ఈ వ్యక్తి తప్పనిసరిగా ఈ విధంగా వెళ్తాడు.
కానీ వెంటనే మీరు అలా వంటి, ఒక 0 సైన్ నిండి ఉంటుంది
మీరు సారి బదిలీ, అది ఈ విధంగా వెళ్లి మరొక 0 సైన్ నిండి ఉంటుంది
>> మీరు మళ్లీ బదిలీ మరియు తరువాత మరొక 0 సైన్ నిండి ఉంటుంది
మీరు 1 << i 31 ప్రదేశాలలో ఈ పనిని చేస్తే, మీరు ఒక ముసుగు పొందడానికి ముగుస్తుంది
ఆ, దీర్ఘ ఒక 1 దీని ఎడమవైపున ఒక 32 అక్షరాలు
ఇది మిగిలిన అన్ని ఒక 0 ఉంటాయి.
మరియు ఈ వంటి ఎడమ ఒక సంఖ్య బదిలీ, జనాంతికంగా, అవుతుంది
కూడా యాదృచ్ఛికంగా, మరియు కొన్నిసార్లు సౌకర్యానికి,
ఆ నంబర్ కు ఏమి ప్రభావం? >> [విద్యార్థి] ఇది రెట్టింపు.
ఇది రెట్టింపు ఎందుకంటే కాలమ్ ప్రతి - 1s స్థానంలో, 2S స్థానంలో, 4s స్థానంలో,
8 స్థానంలో, 16s స్థానంలో - మీరు ఎడమ వెళ్ళండి అన్ని రెట్టింపు అయినందున they're.
లేదా, మీరు 1s బదిలీ ఉన్నప్పుడు మీరు సంఖ్య విలువ రెట్టింపు వదులుకోవడానికి వెళుతున్న.
మీరు అంకెలు యొక్క ఆసక్తికరమైన పరివర్తనలు చేయడం అవుతుంది
2 యొక్క శక్తులు ఈ విధంగా అన్నిచోట్ల శక్తుల ద్వారా.
కాబట్టి ఎలా పని చేస్తుంది?
ఈ అప్పుడు, నాకు అది కావాలి ఖచ్చితంగా స్థానంలో 1 మినహా అన్ని 0 సె ఉన్న ఒక ముసుగు ఇస్తుంది
toupper.c నుండి దొంగిలించబడిన ఇది తరువాత ఈ వ్యక్తీకరణ,
కేవలం యూజర్ టైప్ చేసి n స్వీకరించవలసి అని,
"మరియు" ఆ ముసుగు తో, మరియు మీరు పొందడానికి వెళ్తున్నారు?
ఆ ముసుగు నగర ఒక 1 లేదు ఒక 1 పొందడానికి వెళుతున్న,
లేదా మీరు అక్కడ లేకుంటే ఒక 0 పొందడానికి వెళుతున్న.
కాబట్టి ఈ కార్యక్రమం సమర్ధవంతంగా, అది ఒక లూప్ ఉంది లేదు
మరియు అది, ఇక్కడ ఒక 1 అప్పుడు, ఇక్కడ, అప్పుడు ఇక్కడ ఒక 1 తో 1 ఒక ముసుగు సృష్టిస్తుంది
మరియు అది ఇక్కడ యూజర్ యొక్క ఇన్పుట్ ఒక 1 బిట్ ఉంది ఇలా bitwise మరియు ట్రిక్ ఉపయోగిస్తుంది?
>> ఇక్కడ యూజర్ యొక్క ఇన్పుట్ ఒక 1 బిట్ ఉందా? మరియు అలా అయితే, సాహిత్యపరంగా 0 ప్రింట్ ఇంకా, 1 ప్రింట్.
మేము బదులుగా 8 యొక్క 32 బిట్స్ చేస్తున్నా ఎందుకు ఆ కనుక మేము, ints ఈ చేస్తున్నా
కానీ అప్పుడు పరిచయం చేసాము ఈ bitwise మరియు, ఈ bitwise OR, ఉంది
తరచుగా భయంకరమైన ఉపయోగపడిందా లేని మరియు ఈ ఎడమ షిఫ్ట్ ఆపరేటర్లు,
వారు ఉంటుంది అవ్ట్ కానీ మారుతుంది.
నిజానికి, మీరు Booleans యొక్క వ్యూహం లాగ ప్రాతినిధ్యం వహిస్తే
కేవలం నిజమైన లేదా తప్పుడు ప్రాతినిథ్యం, ​​మీరు లేదో ట్రాక్ అనుకున్నారు అనుకుందాం
300 విద్యార్థులు నిండిన ఒక గది, ఉంటుంది
మీరు 300 bools పొందండి అందువలన మీరు, bool రకం పరిమాణం 300 యొక్క వ్యూహం డిక్లేర్ కాలేదు
ఎవరైనా ఇక్కడ మరియు తప్పుడు లేకపోతే ఉంటే మరియు మీరు నిజమైన ప్రతి సెట్ చేయవచ్చు.
ఎందుకు ఆ డేటా నిర్మాణంలో ఆ ప్రాతినిధ్యం సమర్ధవంతమైనది?
దాని డేటా నిర్మాణం, 300 bools యొక్క వ్యూహం రూపకల్పన గురించి దురదృష్టకరం?
హుడ్ కింద, వాస్తవానికి, ఒక bool ఏమిటి?
ఈ కూడా తెలిసిన కాదు విషయం.
ఏ bool ఉంది అది మారుతుంది.
మేము విధమైన రూపొందించినవారు గుర్తుంచుకో ఆ cs50.h ఫైల్ తో,
ఇది కూడా ప్రామాణిక bool ఉన్నాయి.
అది bool విషయానికి వస్తే సి, అయితే, రకమైన మూగ ఉంది.
ప్రతి bool ప్రాతినిధ్యం 8 బిట్స్ ఉపయోగిస్తుంది, ఇది పూర్తిగా వ్యర్ధమైనది
సహజంగా, మీరు ఒక bool ప్రాతినిధ్యం ఎన్ని బిట్స్ అవసరం ఎందుకంటే? కేవలం 1.
కనుక దీనిని మారుతుంది మీరు ఇప్పుడు bitwise ఆపరేటర్లు తో సామర్థ్యం కలిగి ఉంటే
కూడా ఒక బైట్ లో కూడా ఒక చార్ వ్యక్తిగత బిట్స్ సవరించడానికి,
మీరు తెలివితక్కువదని ఏదో ప్రాతినిధ్యం అవసరం మెమరీ తగ్గుతుంది కాలేదు అది మారుతుంది
8 ఒక అంశం ద్వారా హాజరు శైలి డేటా వంటి నిర్మాణం.
బదులుగా నిజమైన లేదా తప్పుడు ప్రాతినిథ్యం ఎనిమిది బిట్స్ ను ఉపయోగించి, మీరు వాచ్యంగా ఒక ఉపయోగించవచ్చు
తరగతి ప్రతి ఎనిమిది విద్యార్థులకు ఒకే బైట్ ఉపయోగించి
మరియు తక్కువ స్థాయి వ్యూహాలను ఈ రకాల ఉపయోగించి 0 to 1 వ్యక్తి బిట్స్ నుండి toggling.
ఇది నిజంగా శక్తి ముగిసింది. Bitwise కార్యకలాపాలు గురించి ఏవైనా ప్రశ్నలు ఉన్నాయా?
>> అవును. >> [విద్యార్థి] అక్కడ ఒక ప్రత్యేకమైన లేదా ఆపరేటర్?
అవును. ఈ కనిపించే ఒక ప్రత్యేక లేదా ఆపరేటర్లు, ^, క్యారెట్ గుర్తు ఉంది
ఇది మాత్రమే మొదటి విషయం లేదా రెండవ విషయం ఒక 1 అని అవుట్పుట్ కోసం ఒక 1 చేయబడుతుంది.
మీరు ఒక 1 లేదా పక్కకు ఒక 0 విలోమం చేసుకోవచ్చు ~ ఉన్నాయి, కూడా ఒక లేదు.
మరియు మేము చూసిన ఒక వ్యతిరేకం ఒక కుడి Shift ఆపరేటర్లు, >> కూడా ఉంది.
అన్ని కుడి. యొక్క అత్యధిక స్థాయి ఇప్పుడు విషయాలు తీసుకుందాం.
మేము టెక్స్ట్ గురించి మాట్లాడటం ప్రారంభించారు మరియు అప్పుడు అది ఒత్తిడి
మరియు బిట్స్ తక్కువ సంఖ్యలో టెక్స్ట్ ప్రాతినిధ్యం;
మేము ఇప్పుడు ఒక bitwise స్థాయిలో విషయాలు రెట్టింపు ప్రారంభించవచ్చు ఎలా ఒక బిట్ మాట్లాడుకున్నారు.
లెట్ యొక్క ఇప్పుడు ప్రాతినిధ్యం వరకు 10,000 అడుగుల తిరిగి జూమ్
గ్రాఫిక్స్ వంటి మరింత సంక్లిష్ట విషయాలను.
ఇక్కడ మేము జర్మనీ యొక్క ఒక జెండా కలిగి, ఇక్కడ మేము ఫ్రాన్స్ యొక్క ఒకటి.
ఉదాహరణకు GIF లు - ఈ మీకు తెలిసిన ఫైల్ ఫార్మాట్లు ప్రాతినిధ్యం ఉండవచ్చు.
మీరు. Gif ముగుస్తుంది వెబ్ లో ఒక చిత్రం చూసిన ఉంటే,
ఈ ఒక గ్రాఫిక్స్ మార్పిడి ఫార్మాట్.
విధమైన ఇక్కడ ఈ రెండు జెండాలు కుదింపు తమను అప్పిచ్చు
బహుశా స్పష్టమైన ఏ కారణం కోసం? >> [వినబడని విద్యార్థి ప్రతిస్పందన]
పునరావృతం చాలా కుడి, ఉన్నాయి?
జర్మనీ యొక్క ఫ్లాగ్ పంపేందుకు గాను, తెరపై ఒక చిత్రం గా ఈ యొక్క అనుకుంటున్నాను
మీ స్క్రాచ్ రోజుల తర్వాత తిరిగి.
మీరు ఒక చిత్రం సృష్టించే వ్యక్తి పిక్సెళ్ళు లేదా చుక్కలు అక్కడ రీకాల్ ఉండవచ్చు.
>> నల్లని చుక్కలు మరియు నల్ల చుక్కలు మరొక మొత్తం వరుస యొక్క మొత్తం వరుస ఉంది.
మేము నిజంగా జూమ్ మేము చూడగలిగిన నల్లని చుక్కలు వరసలు కొంత ఉంటుంది
మేము Photoshop లో రాబ్ మొహం మీద జూమ్ చేసినప్పుడు చాలా ఇష్టం.
మేము లోతైన మరియు చిత్రం లోతుగా మరియు లోతైన వచ్చింది, వెంటనే
మీరు ఆ సందర్భంలో తన కంటికి కంపోజ్ చదరాలు అన్ని pixelation చూసిన ప్రారంభించింది.
ఇక్కడ అదే ఒప్పందం. మేము కొంచెం జూమ్, మీరు వ్యక్తిగత చుక్కలు చూస్తాము.
Well, ఈ బిట్స్ ఒక వ్యర్థాలను రకం.
జెండా మూడవ నలుపు మరియు జెండా మూడవ పసుపు మరియు మొదలైనవి ఉంటే,
ఎందుకు మేము ఏదో ఈ జెండా కుదించుము కాదు?
నమూనా కొంత భిన్నమైనది అయినప్పటికీ కూడా ఫ్రెంచ్ జెండా కుదించుతుంది కాలేదు.
ఇది GIF ఫైల్ ఫార్మాట్ ఒక సమాచారం నష్టపోకుండా కుదింపు ఫార్మాట్ అవుతుంది
మీరు ఇక్కడ జర్మన్ ఫ్లాగ్ వంటి ఒక చిత్రం పడుతుంది అర్థం
మీరు నాణ్యత త్యాగం లేకుండా బిట్స్ చాలా దూరంగా త్రో చేయవచ్చు.
ఇది JPEGs ఇలా విరుద్ధంగా ఉంటుంది
మాకు చాలా బహుశా మరింత తెలిసిన.
Facebook ఫోటోలు మరియు Flickr ఫోటోలు మరియు వంటి
వారు అప్లోడ్ చేసినప్పుడు దాదాపు ఎల్లప్పుడూ JPEGs సేవ్ చేయబడతాయి,
లాసే - - మీరు బిట్స్ తీసివేసినట్లు లేదు వస్తే ఫార్మాట్ కానీ JPEGs ఒక లాసే ఉంది
కానీ మీరు కూడా నాణ్యత తీసివేసినట్లు.
కాబట్టి మీరు Photoshop తో ఫోటోలు కుదించుము లేదా Facebook వాటిని అప్లోడ్ చేస్తే
లేదా, ఒక నిజంగా crappy ఫోన్ లో వాటిని
మీరు, చిత్రాన్ని చాలా splotchy మరియు pixelated పొందడానికి మొదలవుతుంది తెలుసు
ఇది కంప్యూటర్ లేదా ఫోన్ ద్వారా సంపీడన చేయబడిన ఎందుకంటే మరియు ఆ
ద్వారా అక్షరాలా దూరంగా సమాచారం విసిరే.
కానీ GIF ఇది సిద్ధంగా వాటిని కంటే ఇది తక్కువ బిట్స్ ఉపయోగించే లో అద్భుతమైన ఉంది
ఏ సమాచారం కోల్పోకుండా.
>> మరియు అది తప్పనిసరిగా ఈ క్రింది అలా చేయడం లేదు.
పైగా, ఒక BMP వంటి ఫైల్ లో నిల్వ కంటే బ్లాక్, బ్లాక్, బ్లాక్, బ్లాక్ కోసం ఒక RGB ట్రిపుల్ కావచ్చు
బ్లాక్, బ్లాక్, బ్లాక్, బ్లాక్, బ్లాక్ బ్లాక్, బ్లాక్, బ్లాక్ మరియు మొదలైనవి,
బదులుగా, GIF ఫార్మాట్ ", బ్లాక్" సే అన్నారు
తరువాత, "ఈ 100 సార్లు రిపీట్" లేదా అలాంటిదే.
"బ్లాక్, ఈ 100 సార్లు పునరావృతం, బ్లాక్ ఈ 100 సార్లు, పునరావృతం ..."
"ఎల్లో, ఈ 100 సార్లు పునరావృతం."
మరియు అందువలన ఎడమవైపున పిక్సెళ్ళు, ముఖ్యంగా, గుర్తు
తరువాత ఏదో మళ్ళీ మళ్ళీ ఆ పిక్సెల్ పునరావృత భావన నిర్దేశిస్తుంది.
కాబట్టి GIF లు అప్పుడు ఏ సమాచారం కోల్పోకుండా తాము కుదించవచ్చు.
కానీ మీరు ఉపయోగించడం gif లు ఆ అల్గోరిథం ఉంటే, అంచనా వచ్చింది ఉంటే,
వారు పరిమాణం ఒకే విధంగా ఉన్నప్పటికీ ఈ జెండాల ఇది,
ఒక GIF వంటి డిస్క్ లో సేవ్ చేసేటప్పుడు తక్కువగా ఉండబోతుంది? >> [విద్యార్థి] జర్మనీ.
జర్మనీ తక్కువగా ఉండబోతుంది? ఎందుకు?
[విద్యార్థి] మీరు పునరావృతం ఎందుకంటే చాలా చాలా సార్లు అడ్డంగా
మరియు మీరు మరొక సమయంలో పునరావృతం. ఖచ్చితంగా >>.
GIF కనుగొన్న వ్యక్తులు రకమైన ఏకపక్ష నిర్ణయించుకుంది ఎందుకంటే
పునరావృతం అడ్డంగా మరియు పార్శ్విక కొనుగోలు చేయాల్సి ఉంటుంది.
ఫ్రెంచ్ జాతీయ కంటే జర్మన్ ఫ్లాగ్ లో పక్క ఇక్కడ చాలా పునరావృతం ఉంది.
మేము నిజంగా ఈ GIF లు కలిగి నా హార్డు డ్రైవు ఒక ఫోల్డర్ ప్రారంభం అయితే,
మీరు నిజంగా ఇక్కడ జర్మన్ ఫ్లాగ్ 2 కిలోబైట్ లు మరియు ఫ్రెంచ్ ఒక 4 లు అని చూడగలరు.
ఇది ఒక రెండు సార్లు ఇతర ఒక యాదృచ్చికంగా నిర్మాణము
కానీ నిజానికి ఫ్రెంచ్ జెండా పెద్ద అని కేస్.
>> మేము గ్రాఫిక్స్ గురించి ఇక్కడ మాట్లాడుతూ ఉన్నప్పటికీ, అదే ఆలోచనలు వర్తించే
కొద్దిగా క్లిష్టమైన అని జెండాలు చిత్రాలను వంటి లేదు విషయాలు.
మీరు ఒక ఆపిల్ యొక్క ఒక చిత్రం పడుతుంది ఉంటే, ఖచ్చితంగా నకిలీ చాలా ఉన్నాయి ఉంది
కాబట్టి మేము ఏదో డిఫాల్ట్ నేపథ్యం నీలం అని గుర్తు
మరియు, కుడి చేతి చిత్రం, సూచించారు వంటి
ఈ చిత్రంలో ప్రతి పిక్సెల్ యొక్క రంగు గుర్తుంచుకోండి.
కాబట్టి మేము సమాచారం కోల్పోకుండా అక్కడ దూరంగా బిట్స్ విసిరివేయగలరు.
ఆపిల్ ఇప్పటికీ కేవలం కనిపిస్తుంది.
ఇక్కడ ఈ ఉదాహరణ, మీరు ఒక చిత్రం లో ఏమి చూడవచ్చు.
ఈ పాత పాఠశాల చిత్రం రీల్స్ వస్తే అక్కడ టాప్ చిత్రంలో ప్రాతినిధ్యం
మీరు ఇంట్లో గత ఒక RV డ్రైవింగ్ చెట్టు ఉన్నాయి.
ఆ వాన్ ఎడమ నుండి కుడికి గత డ్రైవ్ మరియు, ఏ స్పష్టంగా మారుతున్న లేదు?
హౌస్ ఎక్కడైనా వెళ్ళడం లేదు, మరియు చెట్టు ఎక్కడైనా వెళ్ళడం లేదు.
కదిలే మాత్రమే విషయం ఈ విషయంలో వాన్ ఉంది.
మార్పు చేయకుండా నేపధ్యం సూచిస్తుంది కనుక, మీరు సినిమాలు లో ఏం చేయవచ్చు
అదేవిధంగా కేవలం ఫ్రేమ్ల మధ్య లో మారదు అని సమాచారం తీసివేసినట్లు ఉంది.
ఈ సాధారణంగా ఇంటర్ఫ్రేమ్ కుదింపు అంటారు
అనగా ఈ ఫ్రేమ్ దీనికి దాదాపు ఒకే కనిపిస్తుంటే,,
లెట్స్ డిస్కులో ఒకేలా ఏదైనా సమాచారాన్ని నిల్వ ఇబ్బంది లేదు
ఈ మాధ్యమిక ఫ్రేమ్లతో, యొక్క మాత్రమే ఉన్నప్పుడు ఒకసారి కీ ఫ్రేములు ఉపయోగించడానికి అనుమతిస్తున్నట్లు
వాస్తవానికి కొద్దిగా తెలివి తనిఖీ విస్తారంగా కేవలం సమాచారాన్ని నిల్వ.
>> దీనికి విరుద్ధంగా, ఒత్తిడి వీడియో మరొక విధానం, ఇక్కడ ఈ రెండవ మరియు తక్కువ ఉదాహరణ ఉంది
బదులుగా దుకాణం కన్నా 30 ఫ్రేములు, ఎందుకు మీరు బదులుగా 15 ఫ్రేములు రెండవ నిల్వ లేదు ఎక్కడ?
అయితే అందంగా, సంపూర్ణ ప్రవహిస్తున్న సినిమా కంటే,
కొద్దిగా, కొద్దిగా పాత పాఠశాల, నత్తిగా మాట్లాడటం యొక్క కనిపించడం ఉండవచ్చు
కానీ నికర ప్రభావం లేకుంటే అవసరమైన కావచ్చు కంటే తక్కువ బిట్స్ ఉపయోగించడానికి ఉంటుంది.
కాబట్టి ఇది తర్వాత మాకు వదిలి లేదు?
మీరు కుదింపుతో వెళ్ళే పేరు ఇంకా ఒక పక్కన ఒక బిట్.
ఆ మరింత సమాచారం కోసం, ఇక్కడ CS175 వంటి తరగతి పడుతుంది.
ఇక్కడ వీడియో లోపల మరొక ఉదాహరణకు.
బీ కదిలే మాత్రమే విషయం ఉంటే,
మీరు నిజంగా ఆ మధ్య ఫ్రేమ్లలో సమాచారం దూరంగా విసిరివేయగలరు
పువ్వు మరియు స్కై మరియు ఆకులు మార్చడం లేదు ఎందుకంటే.
కానీ ఇప్పుడు యొక్క ఒక చివరి విషయం పరిగణలోకి తెలియజేయండి.
తదుపరి 5 నిమిషాల్లో మేము ఉపన్యాసంలో ఎప్పటికీ వెనుక సి వదిలి? అవును. కాదు psets లో, అయితే.
చివరి C గురించి కథ మరియు అప్పుడు మేము చాలా సెక్సీ స్టఫ్ పొందండి
HTML మరియు వెబ్ మరియు హుర్రే పాల్గొన్నారు. అన్ని కుడి.
ఇక్కడ మేము వెళ్ళండి. ఆ ప్రేరణ ఉంది.
ఇది మనం గణగణమని ద్వని చేయు అమలు కార్యక్రమాలు రాయడం తర్వాత ఈ సమయంలో అవుతుంది.
మరియు గణగణమని ద్వని చేయు, మేము చాలా చక్కని మొదటి వారంలో నుండి చెప్పారు చేసిన సోర్స్ కోడ్ పడుతుంది
మరియు వస్తువు కోడ్ లో మారుస్తుంది.
ఇది C తీసుకుని 0 సె మరియు 1s గా మారుస్తుంది.
ఆ వంటి చాలా సులభమైనది కాదు ఎందుకంటే నేను రకమైన కొన్ని వారాల కోసం మీరు అబద్ధం చేసిన.
>> మీరు గణగణమని ద్వని చేయు వంటి అమలు చేసేటప్పుడు హుడ్ కింద జరగబోతోంది మరింత చాలా ఉన్నాయి.
నిజానికి, ఒక ప్రోగ్రామ్ కంపైల్ ప్రక్రియ నిజంగా సంగ్రహించబడతాయి,
మీరు సంకలనం రోబ్ యొక్క వీడియో నుండి గుర్తు అవుతుంది కాబట్టి,
ఈ 4 దశలను లోకి: ముందు ప్రాసెసింగ్, స్వయంగా కంపైల్ కలపడం మరియు కలుపుతుంది.
అయితే తరగతి లో మేము మరియు ప్రపంచంలోని చాలా మంది ప్రజలు సాధారణంగా ఈ దశలను సంగ్రహించేందుకు
కేవలం "కంపైల్."
కానీ మేము ఈ వంటి సోర్స్ కోడ్ తో ప్రారంభం ఉంటే, ఈ బహుశా సరళమైన సి కార్యక్రమం రీకాల్
మేము సంకలనం అది అప్ ఈ మాదిరి ముగిసే రీకాల్, ఇప్పటివరకు వ్రాయలేదు.
అయితే ఒక మధ్యంతర దశ వాస్తవానికి, మరియు ఆ దశలను కింది విధంగా ఉన్నాయి.
ఈ విషయం, ఈ మరియు మా కార్యక్రమాల అగ్రభాగాన ఉంది
# ఉన్నాయి
# మాకు ఏమి కలిగి ఉంటుంది?
నా ఫైల్లోకి ఇది చాలా ఎక్కువ కాపీలు మరియు ముద్ద stdio.h విషయాలు కాబట్టి ఎందుకు?
నేను stdio.h విషయాలు శ్రద్ధ లేదు? ఆసక్తి అక్కడ ఏమిటి?
కంపైలర్ అప్పుడు వాట్ ఐ మీన్ తెలుసు కాబట్టి Printf ప్రకటించిన దాని నమూనా,
నేను printf ఈ ఫంక్షన్ గురించి ఉన్నప్పుడు.
కాబట్టి ఉంది కంపైల్ లో 1 అడుగు ముందు ప్రాసెసింగ్, అనగా గణగణమని ద్వని చేయు వంటి ప్రోగ్రామ్
లేదా గణగణమని ద్వని చేయు తో వచ్చే కొన్ని సహాయక కార్యక్రమం, క్రింద మీ కోడ్ టాప్ చదువుతుంది
ఎడమ, మరియు అది # గుర్తు చూస్తాడు ఏ సమయంలో, కొన్ని వంటి కీవర్డ్ తరువాత
అది కాపీ మరియు మీ ఫైల్ ఈ సందర్భంలో stdio.h లో అతికించి, ఆ ఆపరేషన్ను అమలు చేస్తుంది.
ఆ దశ 1 ఉంది.
అప్పుడు మీరు ఎందుకంటే భారీ కాపీ, కేవలం జరిగిందని అతికించండి ఉద్యోగం యొక్క మరో పెద్ద సి ఫైలుని కలిగి.
>> దశ 2 ఇప్పుడు కంపైల్ ఉంది.
కానీ కంపైల్ ఈ కనిపించే సోర్స్ కోడ్ పడుతుంది అవుతుంది
మరియు, ఈ కనిపించే దానిని యదావశాత్తు
ఆ పరిచయం కోసం అంటారు? >> [విద్యార్థి] అసెంబ్లీ. >> అసెంబ్లీ భాష.
ఈ నిజానికి మీరు మరింత వివరంగా ప్రవేశిస్తాడు చేస్తాము మీరు CS61 తీసుకుంటే ఏదో ఉంది.
ఇది మీరు 0 సె మరియు 1s మీరే రాసే పొందవచ్చు దాదాపు దగ్గరగా ఉంది
కానీ భావన కనీసం కొంత చేస్తుంది విధంగా విషయాలను రాయడం.
, ఈ యంత్రం సూచనలు ఉన్నాయి, మరియు మేము ఇక్కడ ప్రధాన విధి క్రిందికి స్క్రోల్ ఉంటే
ఈ పుష్ బోధన లేదు అని గమనించి, సూచనల తరలించడానికి బోధన తీసివేయడం,
బోధన కాల్, మొదలగునవి.
మీరు మీ కంప్యూటర్ ఇంటెల్ ఇన్సైడ్ కలిగి విన్నప్పుడు,
మీ Mac లేదా PC లో ఒక Intel CPU కలిగి, ఆ అర్థం ఏమిటి?
ఒక CPU Intel కొన్ని సూచనలు understanding వంటి సంస్థలు నిర్మించిన వస్తాడు.
వారు, ఏ swap వంటి విధులను ఏమిటో ఆలోచన లేదా ప్రధాన ప్రతి దీనిని కలిగి
కానీ వారు, వంటి చాలా తక్కువ స్థాయి సూచనలు జోడించడానికి ఏమి తీసివేయడం, పుష్ లేదు
తరలించడానికి కాల్, మొదలైనవి ఉన్నాయి.
కాబట్టి మీరు అసెంబ్లీ భాషలోకి సి కోడ్ కంపైల్ సమయంలో,
మీ చాలా యూజర్ ఫ్రెండ్లీ కనిపించే కోడ్, ఈ కనిపించే ఏదో మార్చబడుతుంది
ఆ సాహిత్యపరంగా మరియు CPU నుండి చిన్న యూనిట్లలో చుట్టూ బైట్లు లేదా 4 బైట్లు తరలిస్తుంది.
అయితే చివరకు, చేసినప్పుడు గణగణమని ద్వని చేయు మీ ప్రోగ్రామ్ యొక్క ఈ ప్రాతినిధ్యం తీసుకోవాలని సిద్ధంగా ఉంది
0 సె మరియు 1s, అప్పుడు సమీకరించడం అని అడుగు జరుగుతుంది లోకి,
గణగణమని ద్వని చేయు పరిగెడుతున్నప్పుడు మరియు ఈ మళ్లీ ఒక కన్ను యొక్క బ్లింక్ జరుగుతుంది.
మేము ప్రారంభించిన, ఈ వంటి ఫైల్ అందిస్తుంది, మరియు అప్పుడు అది ఈ 0 సె మరియు 1s దానిని మారుస్తుంది.
మరియు మీరు ఒక సమయంలో తిరిగి వెళ్లి వాస్తవానికి చర్య ఈ చూడాలనుకుంటే,
- నేను లోకి hello1.c--ఈ మేము చూసాము చాలా కార్యక్రమాలు ఒకటి వెళ్ళి ఉంటే
సాధారణంగా మేము గణగణమని ద్వని చేయు hello1.c ఈ సేకరించబోతుంది అని మరియు ఈ మాకు a.out ఇస్తుంది.
మీరు బదులుగా దీన్ని-S జెండా ఇవ్వాలని విరుద్ధంగా ఉంటే, మీరు ఏమి చూస్తారు hello1.s ఉంది
మరియు మీరు నిజంగానే అసెంబ్లీ భాష చూస్తారు.
>> నేను చాలా చిన్న ప్రోగ్రామ్ కోసం ఈ చేయడం కానీ నేను మీరు పెనుగులాట వెనుకకు వెళ్లి ఉంటే
లేదా పునరుద్ధరించు లేదా మీరు రాసిన చేసిన కార్యక్రమం వారు ఆసక్తి యొక్క
, వాస్తవానికి CPU ఉంచుతారు వాటిని వంటి నిజానికి ఉంది ఏమి చూడాలనుకుంటే
మీరు గణగణమని ద్వని చేయు ఆ-S జెండా ఉపయోగించవచ్చు.
కానీ చివరకు ఒక gotcha ఇప్పటికీ ఉంది.
ఇక్కడ హలో, ప్రపంచం యొక్క నా అమలు సూచించే 0 సె మరియు 1s ఉంటాయి.
అయితే నా కార్యక్రమంలో ఇతరుల ఫంక్షన్ ఉపయోగిస్తారు.
కాబట్టి ప్రక్రియ అయినప్పటికీ నేను, hello.c పడుతుంది
ఇది అసెంబ్లీ కోడ్ లోకి కంపైల్ అవుతుంది, మరియు అప్పుడు అది, 0 సె మరియు 1s లోకి సమావేశమై అవుతుంది
సమయం ఈ సమయంలో outputted చేసే 0 సె మాత్రమే మరియు 1s
వాటిని నా కోడ్ నుండి ఫలితం.
కానీ printf రాసిన వ్యక్తి, వారు 20 సంవత్సరాల క్రితం వారి కోడ్ కంపైల్
మరియు అది ఇప్పుడు, ఉపకరణంపై ఎక్కడో ఇన్స్టాల్ యొక్క
కాబట్టి మేము ఏదో, నా 0 సె మరియు 1s అతని లేదా ఆమె 0 సె మరియు 1s విలీనం కలిగి
మరియు ఆ లింక్ అని పిలుస్తారు కంపైల్ యొక్క 4 వ మరియు ఆఖరి దశ, దగ్గరికి తీసుకువస్తుంది.
కాబట్టి ఎడమ చేతి వైపు మేము ముందు గా ఖచ్చితమైన చిత్రం కలిగి:
hello.c అసెంబ్లీ కోడ్ 0 సె మరియు 1s సాధ్యపడుతుంది.
కానీ, నా కోడ్ లో ప్రామాణిక I / O లైబ్రరీ ఉపయోగించిన రీకాల్
మరియు ఆ stdio.c గా పిలువబడే ఒక ఫైల్ లేదు ఎక్కడో కంప్యూటర్లో అర్థం
లేదా కనీసం సంకలనం వెర్షన్ దాని ఎందుకంటే కొన్ని సంవత్సరాల క్రితం ఎవరైనా
అసెంబ్లీ కోడ్ లోకి stdio.c సంకలనం చేసి, తర్వాత 0 సె మరియు 1s యొక్క మొత్తం బంచ్.
ఈ స్థిర లేదా ఒక డైనమిక్ లైబ్రరీ గా పిలిచే దాన్ని ఉంది.
ఇది ఉపకరణం ఎక్కడో కూర్చున్న కొన్ని ఫైల్.
>> కానీ చివరగా, నేను నా 0 సె మరియు 1s తీసుకోవాలని మరియు ఆ వ్యక్తి యొక్క 0 సె మరియు 1s
మరియు ఏదో, వాటిని కలిసి లింక్ అక్షరాలా కలిపి ఆ 0 సె మరియు 1s
a.out లేదా hello1 లేదా ఎలాగైనా అనే ఒకే ఒక ఫైల్ లోకి నా కార్యక్రమం
తుది ఫలితంగా 1s మరియు నా ప్రోగ్రామ్ కంపోజ్ అని 0 సె అన్ని ఉంటారు.
మీరు గణగణమని ద్వని చేయు ఉపయోగించి చేసిన అన్ని ఈ సమయంలో ఈ సెమిస్టర్ కాబట్టి
మరియు మరింత ఇటీవల, గణగణమని ద్వని చేయు అమలు చేయడానికి తయారు అమలు
ఈ దశలను తక్షణమే యొక్క విధమైన సంభవించే కానీ చాలా ఉద్దేశపూర్వకంగా జరిగింది.
మరియు మీరు, అవి CS61, కంప్యూటర్ సైన్స్ లో కొనసాగితే
ఈ మీరు చర్మము అక్కడ ఆఫ్ చేస్తాము ఆ పొర
సామర్థ్యం, ​​సురక్షిత చిక్కులను, మరియు ఈ క్రింది స్థాయి వివరాలు వంటి గురించి మాట్లాడటం.
కానీ మేము వెనుక సి వదిలి చేయబోతున్నారు.
యొక్క ముందుకు వెళ్లి ఇప్పుడు మా 5 నిమిషాల విరామం లెట్
మరియు మేము తిరిగి వచ్చినప్పుడు: ఇంటర్నెట్.
అన్ని కుడి. మేము తిరిగి ఉంటాయి.
మీరు చూస్తారు ఎందుకంటే ఇప్పుడు మేము, HTML వద్ద కేవలం మా రూపాన్ని ప్రారంభం
HTML కూడా నిజానికి చాలా సులభం
కానీ నిజంగా వెబ్ ప్రోగ్రామింగ్ వద్ద సాధారణంగా, సాధారణంగా నెట్వర్కింగ్,
మరియు ఈ సాంకేతికతలు అన్ని కలిసి ఎలా వస్తాయి
మాకు ఇంటర్నెట్ పైన అధునాతనము ప్రోగ్రామ్లను సృష్టించడానికి అనుమతిస్తుంది
ఇప్పటివరకు కంటే మేము ఈ నలుపు మరియు తెలుపు Windows లో చేయగలిగారు చేసిన.
నిజానికి, సెమిస్టర్ ఈ సమయంలో మేము సాపేక్షంగా తక్కువ వీలు ఉంటుంది అయినప్పటికీ
PHP, HTML, CSS, JavaScript, SQL మరియు మరిన్ని,
చాలా మంది విద్యార్ధులు వెబ్ ఆధారిత అని ఫైనల్ ప్రాజెక్ట్లను వైపు చేయండి
మీరు చూస్తారు వంటి, నేపథ్య మీరు ఇప్పుడు సి లో ఎందుకంటే
ఈ అధిక స్థాయి భాషలు వర్తించే చాలా ఉంది.
>> మరియు మీరు, మీ చివరి ప్రాజెక్ట్ గురించి ఆలోచిస్తూ ప్రారంభం వంటి
ఇది చాలా ప్రాబ్లం సెట్ 0 లాగా, మీరు ప్రోత్సహించింది ఉంటాయి
స్క్రాచ్ లో మీకు ఆసక్తి అత్యంత ఏమీ,
చివరి ప్రాజెక్ట్ సి మీ ఏర్పడిన జ్ఞానం మరియు అవగాహన రావడానికి మీ అవకాశం
లేదా PHP లేదా జావాస్క్రిప్ట్ లేదా స్పిన్ కొరకు ఇష్టం
మరియు చూడండి ప్రపంచం సాఫ్ట్వేర్ మీ స్వంత భాగం సృష్టించండి.
మరియు ఆలోచనలతో సీడ్ మీకు, మీరు ఇక్కడ వెళ్ళవచ్చు ఆ projects.cs50.net తెలుసు.
ప్రతి సంవత్సరం, మేము ప్రాంగణంలో అధ్యాపకులు మరియు సిబ్బంది ఆలోచనలు మరియు విద్యార్థి సంఘాలు సేకరించడానికి
కేవలం, కంప్యూటర్లను ఉపయోగించి పరిష్కరించవచ్చు అని ఆసక్తికరమైన విషయాలు వారి సలహాలను అందించడానికి
, వెబ్సైట్లు ఉపయోగించి సాఫ్ట్వేర్ ఉపయోగించి.
మీరు, మీ సొంత ఆలోచన వచ్చి కష్టపడుతూ చేస్తున్న అయితే
అందరూ ఈ సంవత్సరం చివరి నుండి ఆలోచనలను స్క్రోలు ద్వారా.
ఇది ముందు మరొకటి అని ఒక ప్రాజెక్ట్ పరిష్కరించడానికి ఖచ్చితంగా సరే.
మేము, ప్రాంగణంలో లాండ్రీ యొక్క స్థితి చూసిన కోసం అనేక అనువర్తనాలను చూసిన
భోజనశాల మెను నడిపించడానికి అనేక అనువర్తనాలు,
కోర్సు పట్టిక మరియు వంటి నడిపించడానికి అనేక అనువర్తనాలు.
నిజానికి, భవిష్యత్ ఉపన్యాసంలో మరియు భవిష్యత్తు సెమినార్లు లో,
మేము వాణిజ్యపరంగా అందుబాటులో రెండు, కొన్ని బహిరంగంగా అందుబాటులో API లు మిమ్మల్ని ప్రవేశపెడుతుంది
మీరు డేటాను ప్రాప్తి అలాగే ఇక్కడ అందుబాటులో ప్రాంగణంలో CS50 నుండి తద్వారా
మరియు తర్వాత అది ఆసక్తికరమైన చేయవచ్చు.
మేము వివరణ విడుదల చేసినప్పుడు కొన్ని రోజుల్లో ఫైనల్ ప్రాజెక్టులు ఎక్కువ,
కానీ ఇప్పుడు, మీరు ఒకటి లేదా రెండు స్నేహితులతో సోలో పని లేదా మీకు
మీకు ఆసక్తి అత్యంత ఏదైనా ప్రాజెక్ట్.
ఇంటర్నెట్.
మీరు ముందుకు వెళ్లి మీ ల్యాప్టాప్ లో అక్కడ, మీరు మొదటిసారి facebook.com వెళ్ళండి
ఇటీవల లాగిన్, మరియు హిట్ నమోదు వల్ల. ఏమి ఖచ్చితంగా జరుగుతుంది?
>> దశలను మీరు మీ కంప్యూటర్ లో నమోదు కొట్టాడు, మొత్తం బంచ్
అద్భుతంగా సంభవించే విధమైన ప్రారంభించండి.
కాబట్టి Facebook వంటి ఎడమ, వెబ్ సర్వర్ మీద ఇక్కడ మీరు, కుడివైపున ఇక్కడ ఉంది
మరియు ఏదో మీరు HTTP, హైపర్టెక్స్ట్ ట్రాన్స్ఫర్ ప్రోటోకాల్ అనే ఈ భాష ఉపయోగిస్తున్నారు.
HTTP ఒక ప్రోగ్రామింగ్ భాష కాదు. ఇది ఒక ప్రోటోకాల్ మరింత.
ఇది intercommunicating ఉన్నప్పుడు వెబ్ బ్రౌజర్లలో మరియు వెబ్ సర్వర్లు ఉపయోగించే విధానాలు యొక్క ఒక సమూహం.
మరియు దీని అర్థం ఈ విధంగా ఉంది.
చాలా వాస్తవిక ప్రపంచంలో లాగా, ఈ సంప్రదాయాల కలిగి
మీరు ఇక్కడ నాకు humoring పట్టించుకోవడం లేదు ఉంటే మీరు మొదటి సారి కొన్ని మానవ సాధించినట్లయితే,
నేను, మీరు వరకు వచ్చి, అనవచ్చు "హాయ్, నా పేరు డేవిడ్ ఉంది." >> హాయ్, డేవిడ్. నా పేరు సామి ఉంది.
"హాయ్, డేవిడ్. నా పేరు సామి ఉంది."
కాబట్టి ఇప్పుడు మేము వెర్రి మానవ ప్రోటోకాల్ యొక్క ఈ విధమైన నిమగ్నమై ఉన్నాయి
నేను ప్రోటోకాల్ ప్రారంభించారు పేరు, సమ్మి, స్పందిచారు
మేము చేతులు కదిలిన తర్వాత, మరియు లావాదేవీల పూర్తయింది.
HTTP ఆత్మ కలిగి ఉంటుంది.
మీ వెబ్ బ్రౌజర్ అభ్యర్థనలు www.facebook.com చేసినప్పుడు,
మీ బ్రౌజర్ నిజంగా చేస్తున్న, మాట్లాడటానికి, దాని చేతి విస్తరించి ఉంది
సర్వర్ మరియు అది ఒక సందేశాన్ని పంపడానికి మాత్రమే.
మీరు పొందడానికి ఏమి అనుకుంటున్నారు - ఆ సందేశం సాధారణంగా get వంటిది? -
నాకు సాధారణంగా ఒక URL చివరలో ఒక స్లాష్ ద్వారా సూచిస్తారు, ఇది హోమ్ పేజీ పొందండి.
మరియు అందువల్ల మీరు నేను మాట్లాడుచున్నాను ఏ భాష తెలిసిన, నేను బ్రౌజర్ మీరు చచ్చేది
నేను, HTTP వెర్షన్ 1.1 మాట్లాడుచున్నాను ఆ
మరియు కూడా మంచి కొలత కోసం, నేను మీరు చెప్పడానికి వెళుతున్న నేను యొక్క హోమ్ పేజీ కావలసిన హోస్ట్
facebook.com ఉంది.
సాధారణంగా, మీరు తెలియకుండా ఒక వెబ్ బ్రౌజర్, మానవ,
మీరు కేవలం, www.facebook.com టైప్ చేసినప్పుడు ఇంటర్నెట్ అంతటా ఈ సందేశం పంపుతుంది
>> మీ బ్రౌజర్లో నమోదు చేయండి.
ఏ Facebook స్పందిస్తారు లేదు?
ఇది కొన్ని ఒకేలా కనిపించే గుప్తమైన వివరాలు కూడా చాలా అంటాడు.
నాకు ఇక్కడ Facebook యొక్క హోమ్ పేజీకి ముందుకు వెళ్ళి తెలపండి.
ఇది మీరు సమయం మొత్తం లాగిన్ అయి ఉంటే మాకు చాలా బహుశా చూడండి ఎప్పుడూ స్క్రీన్
కానీ ఇది నిజానికి వారి హోమ్ పేజీ.
మేము Chrome లో ఇలా చేస్తే, మీరు ఈ చిన్న కాంటెక్స్ట్ మెనూల పుల్ అప్ చేయవచ్చు గమనిస్తారు.
Chrome ఉపయోగిస్తోంది, Mac OS, Windows, Linux, లేదా వలె లేదో,
మీరు క్లిక్ లేదా ఎడమ క్లిక్ నియంత్రించండి, మీరు సాధారణంగా, ఈ కనిపించే మెనూ పుల్ అప్ చేయవచ్చు
కొన్ని ఎంపికలు నిరీక్షించు పేరు, ఇది ఒక వీక్షించండి ఉంది.
మీరు సాధారణంగా వ్యూ మెను వెళ్లి చుట్టూ poking ద్వారా ఈ విషయాలను పొందవచ్చు.
ఉదాహరణకు, ఇక్కడ చూడండి కింద, డెవలపర్ అదే విషయం.
నేను ముందుకు వెళ్లి వీక్షించండి కు వెళుతున్న.
ఏం మీరు చూస్తారు మార్క్ facebook.com ప్రాతినిధ్యం వ్రాశారు HTML ఉంది.
ఇది ఇక్కడ పూర్తి మెస్, కానీ మేము దీర్ఘ ముందు ఈ కొంచెం సెన్స్ చేస్తుంది చూస్తారు.
కానీ ఇక్కడ కొన్ని నమూనాలు ఉన్నాయి. ఈ వంటి అంశాలు క్రిందికి స్క్రోల్ లెట్.
ఒక మానవ కోణ పరిధుల ఈ నమూనా చదవగలరు, అయితే అక్కడ గమనించే కోసం ఈ కష్టం
ఎంపిక, విలువ వంటి కీలక పదాలు, కొన్ని కోట్ తీగలు వంటి లు.
ఈ పేరు, మీ పుట్టిన సంవత్సరం ఏమిటి పేర్కొన్న చాలా మొదటిసారి సైన్ అప్ చేసినప్పుడు.
పుట్టిన సంవత్సరాల ఆ డ్రాప్ డౌన్ మెను ఏదో ఇక్కడ ఏర్పడుతుంది
HTML, హైపర్టెక్స్ట్ మార్కప్ లాంగ్వేజ్ అని ఈ భాషలో.
ఇతర మాటలలో, మీ బ్రౌజర్ వెబ్ పేజీ అభ్యర్థించినప్పుడు,,
అది HTTP అనే ఈ సమావేశం మాట్లాడుతుంది.
కానీ facebook.com ఆ అభ్యర్థన ఏ స్పందించడం లేదు?
>> మేము ఒక క్షణంలో చూస్తారు ఇది, ఈ గూఢలిపి సందేశాలు కొన్ని అంటాడు.
కానీ దాని ప్రతిస్పందన చాలా HTML, హైపర్టెక్స్ట్ మార్కప్ లాంగ్వేజ్ రూపంలో ఉంది.
ఒక వెబ్ పేజీ వ్రాసిన ఉంది దీనిలో అసలు భాష.
మరియు ఒక వెబ్ బ్రౌజర్ నిజంగా అప్పుడు, ఈ కనిపించే ఏదో అందిన తర్వాత, ఏమిటి లేదు
ఇది ఎడమ, పైనుంచి చదువుతుంది, మరియు ఏ సమయంలో ఈ కోణ పరిధుల ఒక చూస్తాడు
ఎంపిక వంటి కీవర్డ్ తరువాత, అది సరైన విధంగా ఆ మార్కప్ భాష ప్రదర్శిస్తుంది.
ఈ సందర్భంలో, అది సంవత్సరాల ఎంచుకోండి ప్రదర్శిస్తుంది.
కానీ మళ్ళీ, ఈ కు పూర్తి మెస్ ఉంది.
Facebook డెవలపర్లు ఉదాహరణకు, శైలి కోసం 5 0 వ్యక్తం ఎందుకంటే ఈ కాదు.
వారు వ్రాసే కోడ్ అత్యంత ఎందుకంటే ఇది వాస్తవానికి, అందంగా వ్రాసిన
బాగా, చక్కగా వ్యాఖ్యానించారు ఇండెంట్, మరియు వంటి
కానీ కోర్సు యంత్రాలు, కంప్యూటర్ల, బ్రౌజర్లు నిజంగా ఇది తప్పకుండా ఇవ్వాలని లేదు
మీ కోడ్ బాగా శైలి పరంగా.
మరియు వాస్తవానికి, Tab కీ అన్ని సార్లు నొక్కండి పూర్తిగా వ్యర్థమైన యొక్క
మరియు మీ కోడ్ అంతటా అన్ని వ్యాఖ్యలను ఉంచడానికి మరియు నిజంగా వివరణాత్మక వేరియబుల్ పేర్లు ఎంచుకోవడానికి
బ్రౌజర్ పట్టించుకోరు ఉంటే ఎందుకంటే, మీరు రోజు చివరిలో చేస్తున్నా అన్ని బైట్లు వృధా చేస్తుంది.
>> కాబట్టి అది కూడా facebook.com కోసం కోడ్ మూల, ఏ చాలా వెబ్ సైట్ పోవడమే అవుతుంది
ఇంటర్నెట్ లో cs50.net మరియు ఈ ఇతర మొత్తం వెబ్సైట్లకు
సాధారణంగా బాగా రాశారు మరియు వ్యాఖ్యానించారు మరియు చక్కగా ఇండెంట్ మరియు వంటివి,
వెబ్సైట్ ఇంటర్నెట్ లో పెట్టబడింది సాధారణంగా ముందు, కోడ్ minified ఉంది,
అనగా HTML మరియు CSS - మేము త్వరలో చూస్తారు ఏదో -
మేము వెంటనే చూస్తారు JavaScript కోడ్ కుచించబడింది,
దీర్ఘ వేరియబుల్ పేర్లు మారింది వస్తే X మరియు Y మరియు Z,
మరియు అన్ని కాబట్టి చదవగలిగే చూడండి చేస్తుంది ఆ తెల్లని అన్ని అన్ని, దూరంగా విసిరిన
- మీరు ఈ విధంగా గురించి అనుకుంటే, ఫేస్బుక్ ఒక బిలియన్ పేజీ ఒక రోజు హిట్స్ గెట్స్ ఎందుకంటే
ఆ క్రేజీ లైక్ ఏదో - సో వాట్ ఒక ప్రోగ్రామర్ కేవలం ఆసన అని ఉంటే
ఎప్పటికీ మరింత కోడ్ కొన్ని పంక్తి స్పేస్ టు బార్ ఒక అదనపు సమయంలో హిట్?
Facebook సంరక్షిస్తుంది ఉంటే అంత ఏమిటి ఆ తెల్లని
బైట్లు అన్ని ఇంటర్నెట్ మీద ప్రజలు తిరిగి పంపడానికి?
స్పేస్ బార్ హిట్టింగ్ ఒకసారి మీరు మీ ఫైల్ లో ఒక అదనపు బైట్ ఇస్తుంది.
మరియు ఒక బిలియన్ ప్రజలు అప్పుడు, ఆ రోజు హోమ్ పేజీ డౌన్లోడ్ కొనసాగండి
మీరు ఇంటర్నెట్ ఎంత ఎక్కువ పంపవలసిన చేశారు?
ఏ మంచి కారణం కోసం ఒక గిగాబైట్.
మరియు మంజూరు, వెబ్సైట్లు చాలా కోసం ఈ, ఒక స్కేలబుల్ సమస్య కాదు
కానీ Facebook కోసం, Google కోసం, అత్యంత ప్రాచుర్యం యొక్క కొన్ని వెబ్సైట్లను కోసం
గొప్ప ప్రోత్సాహకం మీ కోడ్ మెస్ ఎలా తయారు ఆర్థికంగా లేదు
మీరు అప్పుడు ఒత్తిడి పాటు వీలైనంత కొన్ని బైట్లు వంటి ఉపయోగించే కాబట్టి
జిప్ లాగ ఉపయోగించి, ఒక అల్గోరిథం, gzip అని
బ్రౌజర్ ఆటోమేటిక్ గా మీ చేసే. కానీ ఈ భయంకర ఉంది.
మేము ఇతరుల వెబ్ సైట్ ల గురించి ఏదైనా నేర్చుకోవడానికి ఎప్పటికీ మరియు వెబ్ పేజీలు ఎలా రూపొందించాలో
మేము ఈ మాదిరిగా కు ఉంటే.
>> కాబట్టి అదృష్టవశాత్తూ, Chrome మరియు IE మరియు Firefox వంటి బ్రౌజర్ ఈ రోజులు
సాధారణంగా అంతర్నిర్మిత డెవలపర్ ఉపకరణాలు వస్తాయి.
నేను ఎలిమెంట్ లేదా తనిఖీ ఇక్కడ డౌన్ వెళ్ళి ఉంటే నిజానికి, నేను, డెవలపర్ చూడండి వెళ్ళండి
మరియు, స్పష్టంగా డెవలపర్ ఉపకరణాలు కు వెళ్ళండి
నా స్క్రీన్ దిగువన ఉన్న ఈ విండో బయటకు.
తెలియని టాబ్లను చాలా ఇక్కడ ఉంది ఎందుకంటే ఇది మొదటి ఒక చిన్న భయపెట్టడం యొక్క
కానీ నేను దిగువన ఎడమవైపు ఎలిమెంట్స్ అన్ని మార్గం క్లిక్ చేస్తే,
Chrome ఖచ్చితంగా చాలా స్మార్ట్ ఉంది. ఈ కోడ్ యొక్క అన్ని ఎలా అర్థం తెలుసు.
కాబట్టి Chrome ఏమి అది Facebook యొక్క HTML మొత్తం శుభ్రపరుస్తుంది ఉంది.
తెల్లని అక్కడ కాదు ఉన్నప్పటికీ, ఇండెంటేషన్ని, అక్కడ కాదు
ఇప్పుడు నేను మరింత క్రమానుగతంగా ఈ వెబ్ పేజీ నావిగేట్ ప్రారంభించవచ్చని గుర్తించాము.
ఇది HTML5 అనే భాషలో రాసిన ప్రతి వెబ్ పేజీ, ఈ తో ప్రారంభం కావాలి ఆ అవుతుంది
ఈ DOCTYPE ప్రకటన, మాట్లాడటానికి: <! DOCTYPE html>
, ఇది కాంతి మరియు బూడిద అక్కడ రకం, కానీ ఈ ఫైలులో కోడ్ యొక్క మొట్టమొదటి లైన్
మరియు కేవలం "హే, ఇక్కడ కొన్ని HTML5 వస్తుంది. ఇక్కడ ఒక వెబ్ పేజీ వస్తుంది.", బ్రౌజర్ చెబుతుంది
ఆ మించి మొదటి బహిరంగ బ్రాకెట్ ఈ విషయం, ఒక ఓపెన్ బ్రాకెట్ HTML టాగ్, నిర్మాణము
నేను లోతైన లో ఈత కొట్టడానికి ఉంటే ఆపై - ఈ బాణాలు పూర్తిగా అర్థరహితమని;
వారు కేవలం ప్రదర్శన కొరకు, వారు ఫైల్ నిజానికి ఉండవు -
Facebook యొక్క HTML టాగ్ యొక్క లోపల, ఒక ఓపెన్ బ్రాకెట్ తో ప్రారంభమయ్యే ఏదైనా గమనించి
తరువాత పదం ట్యాగ్ అని ఉంది.
కాబట్టి HTML టాగ్ లోపల తల ట్యాగ్ మరియు ఒక శరీరం ట్యాగ్ కాదు.
తల tag లోపల ఇప్పుడు Facebook కోసం మొత్తం మెస్ ఉంది
వారు మార్కెటింగ్ మరియు ప్రకటనల కోసం మెటాడేటాను మరియు ఇతర విషయాలు చాలా ఉన్నాయి ఎందుకంటే.
>> మేము స్క్రోల్ డౌన్ అయితే, డౌన్ డౌన్, డౌన్, అది ఎక్కడ యొక్క చూసేలా. ఇక్కడ ఉన్నది.
ఈ ఒక కొంతవరకు సుపరిచితమే.
Facebook హోమ్ పేజీ యొక్క శీర్షిక, మీరు మీ టైటిల్ బార్ లో టాబ్ లో చూస్తే,
Facebook స్వాగతం ఉంది - సైన్ అప్ లేదా మరింత తెలుసుకోండి, లాగిన్ అవ్వండి.
, మీరు Chrome యొక్క టైటిల్ బార్ లో చూడండి అంటూ ఏమి
అంతే కోడ్ ప్రాతినిధ్యం ఎలా ఉంది.
మేము తల లో మిగతా వాటి విస్మరించండి ఉంటే, ఒక వెబ్ పేజీ యొక్క GUTS చాలా శరీరంలో ఉంటాయి
మరియు అది Facebook యొక్క కోడ్ మరింత సంక్లిష్ట రూపం అన్నారు ఆ అవుతుంది
అనేక విషయాలు కంటే మేము, అది సంవత్సరాల్లో నిర్మించిన చెయ్యబడిన కనుక ప్రారంభంలో వ్రాయండి చేస్తాము
కానీ లిపి టాగ్లు యొక్క మొత్తం చాలా, JavaScript కోడ్ ఉన్నది
ఆ వెబ్ సైట్ చాలా ఇంటరాక్టివ్ చేస్తుంది:
తక్షణమే JavaScript వంటి భాషలను ఉపయోగించి స్థితిని చూసిన.
ఒక పేజీ యొక్క ఒక విభాగం, ఇది ఒక DIV అని ఏదో ఉంటుంది.
కానీ మేము వివరాలు ను ముందు, దూరంగా ప్రయత్నించండి
మరియు మాట్లాడటానికి, Facebook 1.0 యొక్క ఒక సాధారణ వెర్షన్ చూడండి.
ఇక్కడ వెబ్ పేజీల హలో, ప్రపంచం ఉంది.
ఇది చాలా ఎగువన ఆ DOCTYPE ప్రకటన ఉంది
ఇది మిగతా వాటి నుండి చిన్న భిన్నంగా ఉంటుంది.
మేము ఒక వెబ్ పేజీ లో వ్రాయడానికి గత్యంతరం <ప్రారంభం అన్నారు! ఆ లైన్ తప్ప అక్కడ
మరియు HTML లో వ్యాఖ్యలు అనే తప్ప.
కానీ చాలా వరకు, ఒక వెబ్ పేజీ లో ప్రతిదీ ఓపెన్ బ్రాకెట్, కీవర్డ్, దగ్గరగా బ్రాకెట్ ఉంది.
>> ఈ సందర్భంలో మీరు సాధ్యమయ్యే వెబ్ పేజీల సరళమైన చూడగలరు.
, HTML టాగ్ ఒక తల ట్యాగ్ కలిగి మరియు ఒక శరీరం ట్యాగ్ కలిగి
కానీ టాగ్లు ప్రారంభ మరియు ఆఫ్ స్టాపింగ్ ఈ భావన ఉంది అని గుర్తించలేకపోతే.
ఈ HTML కోసం ప్రారంభ ట్యాగ్ ఉంటుంది, ఈ దగ్గరి ట్యాగ్ లేదా ముగింపు ట్యాగ్ ఉంటుంది.
వారు భావాన్ని కలిగి ఉండటం యొక్క విధమైన అని గమనించండి ఆ దగ్గరగా ట్యాగ్ లేదా ముగింపు ట్యాగ్
ఈ ముందుకు యొక్క లోపల స్లాష్ ఉంది.
ఇంతలో, ఇక్కడ ఒక బహిరంగ తల ట్యాగ్ మరియు ఇక్కడ సన్నిహిత తల ట్యాగ్ లేదు.
>> ఓపెన్ టైటిల్ మరియు సన్నిహిత శీర్షిక టాగ్ ఇక్కడ ఉన్నాయి.
నేను పూర్తిగా ఏకపక్షంగా ఒక లైన్, టైటిల్ ఉంచాము వాస్తవం.
అది ఒక లైన్ చక్కగా సరిపోయే చేస్తుంది వంటి ఇది అనిపించింది, నేను ఒక జంట సమయాలను నమోదు కొట్టిన ఇబ్బంది లేదు.
ఇంతలో, ఐ డిడ్ శరీరం కేవలం ఇంత స్పష్టంగా ఉండాలి ఇండెంట్.
HTML ఒక అందమైన మూగ భాష అని గమనించండి.
నిజానికి, తిరిగి రోజు WYSIWYG సంపాదకులు ఉన్నాయి ముందు
మరియు మీరు, చెప్పగలదు పేరు Microsoft Word "ఈ సాహసించు, ఈ ఇటాలిక్స్ తయారు"
మీరు నిజంగా 20 + సంవత్సరాల క్రితం వ్యాసాలలో చిన్న ఆదేశాలను టైప్ చేస్తుంది
మీరు చెప్పే కారణమైన, "ఈ టెక్స్ట్ బోల్డ్ తయారు చేయడం ప్రారంభించారు. ఈ టెక్స్ట్ బోల్డ్ స్టాప్ మేకింగ్."
"ఈ టెక్స్ట్ ఇటాలిక్స్ తయారు చేయడం ప్రారంభించారు. ఈ టెక్స్ట్ ఇటాలిక్స్ స్టాప్ మేకింగ్."
>> ఆ HTML లేదా ఏ మార్కప్ లాంగ్వేజ్ ఏమిటి.
ఈ మొదటి tag "హే, బ్రౌజర్. ఇక్కడ కొన్ని HTML వస్తుంది.", అన్నారు
తదుపరి tag "హే, బ్రౌజర్. ఇక్కడ తల, నా వెబ్ పేజీ యొక్క శీర్షిక వచ్చింది." అన్నారు
"హే, బ్రౌజర్. ఇక్కడ శీర్షిక వచ్చింది."
మరియు ఇక్కడ పైగా, "హే, బ్రౌజర్. అంతే శీర్షిక కోసం మాత్రమే."
కాబట్టి ఈ ప్రపంచంలో, బ్రౌజర్ హలో కంటే ఎక్కువ అక్షరాలు ప్రదర్శించడానికి ఇకపై తెలుసు ఎలా ఉంది
శీర్షిక బార్లో.
ఇంతలో, ఈ విధంగా చెప్పాడు, "అది తల ఉంది."
ఈ "ఇక్కడ శరీరం వస్తుంది ఇక్కడ అసలు అంశం." అన్నారు - హలో, ప్రపంచం, సాహిత్యపరంగా పదాలు.
మరియు ఈ ఇక్కడ చెప్పింది, "ఆ శరీరం కోసం ఇది. HTML కోసం ఇలాంటి."
కాబట్టి బ్రౌజర్లు అందంగా మూగ ఉంటాయి.
వారు కేవలం ఎడమ పైనుంచి ఈ విషయాన్ని, రీడ్, మరియు ఖచ్చితంగా వారు చెప్పినట్లే ఏమి.
నిజానికి ఇక్కడ చిన్న ఉదాహరణ చేయండి యొక్క లెట్.
నాకు TextEdit అవి ఇక్కడ నా Mac లో ప్రోగ్రామ్లు సాధారణ ప్రారంభం లెట్.
Windows మీరు Notepad.exe ఉపయోగించవచ్చు.
కానీ ఈ వెబ్ పేజీలను తయారు చేయడం ప్రారంభించారు ఏమిటంటే ఉంది.
నేను ముందుకు వెళ్లి ఈ ఫైలు ఈ కోడ్ కాపీ చేసి అతికించిన వెళుతున్న.
నేను, ముందుకు వెళ్ళి, నా డెస్క్ టాప్ పై సేవ్ వెళుతున్న
మరియు నేను, hello.html ఈ సేవ్ వెళుతున్న
మరియు ఇప్పుడు ఫైల్ hello.html పేరు పెట్టారు.
ఇక్కడ ఇది నా డెస్క్టాప్ మీద ఉంది.
నాకు ఇప్పుడు బ్రౌజర్ లో వెళ్ళి బ్రౌజర్లో లాగండి లెట్.
మరియు voila, ఇక్కడ నా మొదటి వెబ్ పేజీ.
టాబ్ శీర్షిక హలో అని గమనించండి, శీర్షిక టాగ్ ప్రకారం ప్రపంచంలో,
హలో, ప్రపంచం నా వెబ్ పేజీ యొక్క శరీరం అని మరియు నోటీసు,
మరియు హుర్రే, నేను ఇంటర్నెట్ మీద ఉన్నాను.
>> ఈ ఫైలు ఇంటర్నెట్ లో కాదు ఎందుకంటే నేను, నిజంగా, కుడి కాదు.
ఇది నా స్థానిక హార్డు డ్రైవు ఆ విశేష వద్ద న నిర్మాణము.
కానీ ఆలోచన ఉంటుంది. మేము ఇప్పుడు అవసరం అన్నీ కు అప్ లోడ్ వెబ్ సర్వర్.
కానీ మొదటి యొక్క అసలైన కొంచం సంక్లిష్టత మరియు మరికొంత శైలీకృతం పరిచయం తెలియజేయండి.
ఈ సరళమైన, ఉంటే విసుగు, వెబ్ పేజీ.
మేము ఉపయోగించవచ్చు టాగ్లు ఇతర రకాల అది మారుతుంది.
ఉదాహరణకు, ఇక్కడ పసుపు నేను 2 కొత్త టాగ్లు పరిచయం చేసాము.
ఈ రోజు ఎక్కువ ప్లే, కానీ గుర్తించరు అని లింక్ tag
ఏదో మిగతా వాటి నుండి విభిన్నంగా కనిపిస్తుంది.
లింక్ tag, గుణాలు అంటారు ఏమి పడుతుంది
మరియు ఒక లక్షణం ట్యాగ్ యొక్క ప్రవర్తన మార్పు విషయం.
ఈ సందర్భంలో ఈ, పేర్లు, లింక్ ఉత్తమ ఎంపిక కాదు, ఎందుకంటే అది యొక్క రకం అర్థరహిత యొక్క
కానీ ఈ లింక్ ట్యాగ్ నా వెబ్ పేజీ యొక్క లోపల styles.css అని ఫైలు ఉన్నాయి, ముఖ్యంగా అన్నారు.
మీరు C యొక్క # ఆదేశం ఉన్నాయి ఈ వంటి సాదృశ యొక్క ఆలోచించవచ్చు.
Styles.css, మేము ఈ రోజు ఆడటానికి కాదని పూర్తిగా వేరే భాష సూచిస్తుంది
కానీ సౌందర్యం కోసం ఉంది: ఫాంట్ పరిమాణం రంగులు, padding, ఇండెంటేషన్ని, అంచులు,
మరియు సౌందర్యం వివరాలు ఆ రకమైన అన్ని.
ఇంతలో, స్క్రిప్ట్ tag, క్రియాశీలంగా పోలి ఉంటుంది
కానీ కొన్ని CSS, ఆ భాష కంటే, అది మరొక భాష, JavaScript ఉన్నాయి.
కాబట్టి ఇతర మాటలలో, ఈ 2 టాగ్లు తో నేను చివరికి నా సొంత వెబ్ పేజీ రాయడానికి చేయగలరు
కానీ నేను లేదా ఎవరో రాసిన ఆ కోడ్ ఆకర్షించు
కాబట్టి మేము ఇతరుల నిల్చుకోండి చేయవచ్చు, మేము, మంచి డిజైన్ అభ్యాసం చేయవచ్చు
సాధారణ కోడ్ అవుట్ కారక.
నేను 10 విభిన్న వెబ్ పేజీలను పొందారు ఉంటే, అంటే నా అలంకారం కొన్ని
చాలా # ఒక ప్రత్యేక ఫైలు లోకి ఉన్నాయి వంటి కారణం బయటకు ఉంటుంది.
కాబట్టి మేము అక్కడ చేస్తున్నారు.
కానీ వాస్తవానికి యొక్క మొదటి ఈ ఫైలు మరింత ఆసక్తికరంగా తెలియజేసేలా.
>> మళ్ళీ, ఈ కేవలం TextEdit ఉంది. నేను ఇంకా ఇంటర్నెట్ లో సాంకేతికంగా కాదు, కానీ మేము అక్కడ పొందుతారు.
నేను కంటే హలో, ప్రపంచం ఒక చిన్న పెద్ద చేయడానికి ఇష్టపడతాను.
కాబట్టి హలో, యొక్క కక్ష్య బోల్డ్ కోసం అని పిలవబడు.
మళ్లీ, కథ ఒకటే: హలో, కామా, ఈ సాహసోపేతమైన సంపాదించడం ప్రారంభించండి
ప్రపంచ బోల్డ్ ముద్రించబడింది మరియు ఈ బోల్డ్ ఈ ప్రింటింగ్ అనగా ఆపండి అని అర్ధం అవుతుంది.
నాకు ముందుకు వెళ్లి నా ఫైలు సేవ్, Chrome తిరిగి వెళ్ళి తెలపండి, నేను కాబట్టి మేము, అది బాగా చూడవచ్చు లో జూమ్ చేస్తాము
మరియు రీలోడ్, మరియు మీరు ఆ ప్రపంచంలో బోల్డ్ ప్రస్తుతం చూస్తారు.
వెబ్ అన్ని హైపర్లింక్లను గురించి, కాబట్టి యొక్క ముందుకు వెళ్లి మనం:
నా ఇష్టమైన వెబ్ సైట్, youtube.com, యొక్క అని పిలవబడు.
రీలోడ్, సేవ్. సరే. ఇప్పుడు వెబ్ సైట్ యొక్క hideousness పాటు రెండు సమస్యలు ఉన్నాయి.
1, నేను ఇక్కడ ఎంటర్ నొక్కండి, అందంగా ఖచ్చితంగా అనుకుంటున్నాను. నేను చేసాను.
నేను, మేము శైలి గురించి బోధనలు చేసిన ఏ సాధన, నేను కూడా ఇండెంట్, Enter ని మాత్రమే
కానీ నా ప్రపంచం హక్కు పక్కనే ఉంది.
ఎందుకు ఈ? బ్రౌజర్లు మాత్రమే మీరు వాటిని చేయడానికి చెప్పండి ఏమి.
నేను "ఇక్కడ బ్రేక్ లైన్స్. చొప్పించు పేరా ఇక్కడ విడిపోయారు.", బ్రౌజర్ చెప్పారు లేదు
నేను రిటర్న్ 30 సార్లు కొట్టినప్పుడు బ్రౌజర్ కాబట్టి, ఇది పట్టింపు లేదు
ఇది ఇప్పటికీ ప్రపంచంలో పక్కన నా కుడి ఉంచాలి జరగబోతోంది.
నేను నిజంగా ఇక్కడ లేదు, ఏదో వంటి చెబుతున్న లైన్ విరుపును ఉంది.
>> మరియు వాస్తవానికి, ఒక లైన్ బ్రేక్ ఒక విచిత్రమైన విషయం రకం
మీరు నిజంగా మరొక లైన్ వెళ్లడం ప్రారంభం కాదు ఎందుకంటే, అప్పుడు, ఏదో ఒకటి
మరియు తర్వాత ఒక కొత్త లైన్ వెళ్లడం ఆపడానికి. ఇది ఒక అణు ఆపరేషన్ ఉంటాము.
మీరు దీనిని లేదా మీరు లేదు. మీరు ఎంటర్ నొక్కండి, లేదా మీరు లేదు.
కాబట్టి br వేరే tag యొక్క కొద్దిగా ఉంది, మరియు నేను రెండు ఓపెన్ క్రమం మరియు దాన్ని మూసివేసి అవసరం
ఒకేసారి.
ఆ కోసం వాక్యనిర్మాణం ఈ ఉంది.
సాంకేతికంగా, మీరు, HTML యొక్క కొన్ని వెర్షన్లలో ఈ వంటి ఏదో ఒకటి కాలేదు
ఏదో మొదలు మరియు తప్పించడానికి తనకు కారణం ఎందుకంటే కానీ ఈ కేవలం తెలివితక్కువదని ఉంది
మీరు బదులుగా ఒకేసారి అన్ని చేయవచ్చు ఉంటే.
ఆ HTML5 ఖచ్చితంగా, ఈ స్లాష్ అవసరం లేదు రియలైజ్
కాబట్టి మీరు, అది లేని పాఠ్యపుస్తకాలు మరియు ఆన్ లైన్ వనరుల చూస్తారు
కానీ మంచి కొలత కోసం యొక్క మేము ఇప్పటివరకు చూసిన ఆ సౌష్టవం సాధన తెలియజేయండి.
ఈ టాగ్ రెండు ప్రారంభమైంది మరియు మూసివేసిన అర్థం.
కాబట్టి ఇప్పుడు నాకు ఇక్కడ తిరిగి వెళ్లి, నా ఫైలు సేవ్ చేసేలా.
సరే, అది నాకు తెలుసు వెబ్ తప్ప, మంచి చూడటానికి ప్రారంభ యొక్క, రకమైన క్లిక్ చేయదగిన ఉంటుంది
మరియు ఇంకా ఇక్కడ YouTube ఏదైనా దారి కనిపించడం లేదు.
ఇది ఒక లింక్ కనిపిస్తోంది అయినప్పటికీ ఎందుకంటే అలా బ్రౌజర్, ఆ ప్రకారం SE తెలియదు
నేను ఈ లింక్ ఆ బ్రౌజర్ చెప్పడం ఉన్నాయి.
>> దీన్ని మార్గం యాంకర్ ట్యాగ్ ఉపయోగిస్తారు:
<లింక్ చెప్పడం యొక్క పాత పాఠశాల మార్గం ఇది అతి సూచన, ఒక href,
= "Http://www.youtube.com">
మరియు, అది కొంచెం చదవగలిగే నాకు కేవలం ఒక కొత్త లైన్ వెళ్ళడం వీలు
మరియు నేను ఫాంట్ పరిమాణం ముడుచుకునే చేస్తాము.
నేను ఇంకా పూర్తి వున్నాను? నం ఈ వైరుధ్యాన్ని ఉన్నట్లు జరగబోతోంది.
ఈ ట్యాగ్ ANCHOR ట్యాగ్ నిజానికి ఒక లక్షణం పడుతుంది
దాని ప్రవర్తన సవరణ, మరియు ఆ లక్షణం విలువ స్పష్టంగా YouTube యొక్క URL.
కానీ వైరుధ్యాన్ని గమనించి, మీరు చూడాలని URL యొక్క కనుక ఆ
మీరు క్రింద మరియు లింక్ చేస్తున్న ఆ పదం ఉండాలి అర్థం కాదు.
అయితే, ఈ వంటి ఏదో ఉంటుంది.
నేను ఈ పదం దగ్గరగా ANCHOR ట్యాగ్ ఉపయోగించి ఒక హైపర్లింక్ స్టాప్ మేకింగ్ చెప్పే.
నేను ఇలా లేదు గమనించండి.
1, ఇది అందరి సమయం వేస్ట్ అవుతుంది మరియు ఇది అవసరం కాదు.
>> ఒక ట్యాగ్ మూసివేయడానికి, మీరు మాత్రమే మళ్ళీ ట్యాగ్ యొక్క పేరు గురించి.
మీరు లక్షణాలను కలిగి చెప్పకుండా.
కాబట్టి, తిరిగి వెళ్ళి ఆ యొక్క సేవ్ చేసేలా. సరే, voila, ఇప్పుడు అది నీలం మరియు hyperlinked ఉంది.
నేను క్లిక్ చేస్తే, నేను నిజానికి YouTube కు గో.
నా వెబ్ పేజీ ఇంటర్నెట్లో అయినప్పటికీ కాబట్టి, అది, కనీసం ఒక HTML
మేము ఇంటర్నెట్ అప్ పట్టుకునేలా ఉంటే, మేము నిజంగా youtube.com వద్ద ఇక్కడ ముగిస్తుంది.
నేను తిరిగి వెళ్ళే మరియు ఇక్కడ నా వెబ్ పేజీ యొక్క. కానీ ఈ గమనిస్తారు.
మీరు స్పామ్ లేదా ఒక ఫిషింగ్ అటాక్ సంపాదించిన ఉంటే,
ఇప్పుడు మీరు కూడా దీనిని కేవలం ఐదు నిమిషాల తర్వాత సామర్ధ్యాన్ని కలిగి ఉంటాయి.
మేము www.badguy.com లాగ ఇక్కడ వెళ్ళి చేయవచ్చు
లేదా ఏ నమూనాలను వెబ్సైట్, మరియు మీ ఖాతా తనిఖీ చెప్పగలను.
[నవ్వు] ఇప్పుడు ఈ నేను క్లిక్ వెళుతున్న కాదు ఇది badguy.com, వెళ్ళండి అన్నారు
నేను ఆ దారితీస్తుంది పేరు సంఖ్య ఆలోచన ఉంది ఎందుకంటే. [నవ్వు]
>> కాని ఇప్పుడు నిజంగా అక్కడ ముగుస్తుంది సామర్ధ్యాన్ని కలిగి ఉంటాయి.
కాబట్టి మేము నిజంగా కేవలం ఉపరితల గీతలు మొదలు పెడుతున్నారు.
మేము పర్ సే ప్రోగ్రామింగ్ లేదు; మేము మార్కప్ భాష రాస్తున్నాం.
కానీ వెంటనే మేము, HTML లో మా పదజాలం అవుట్ రౌండ్
మేము PHP, ఒక నిజమైన ప్రోగ్రామింగ్ భాష పరిచయం చేస్తాము
ఆ, స్వయంచాలకంగా CSS ఉత్పత్తి, మాకు స్వయంచాలకంగా HTML రూపొందించడానికి అనుమతిస్తుంది
కాబట్టి మేము చెప్పిన అమలు బుధవారం ప్రారంభమవుతుంది ఆ,
మా స్వంత సెర్చ్ ఇంజిన్ మరియు మరింత.
రెండు రోజుల ఆ పైన కాని. మేము మీరు చూస్తారు.
>> [CS50.TV]