[விமர்சனம்: வினாடி வினா 1] [அலி Nahm, Oreoluwa Barbarinsa, லூகாஸ் Freitas, ராப் Bowden] [ஹார்வர்ட் பல்கலைக்கழகம்] [இந்த CS50 உள்ளது.] [CS50.TV] [லூகாஸ் Freitas] அனைவரையும் வரவேற்க. இந்த வினாடி வினா 1 விமர்சனம் இருக்கிறது. ஒரு பொறுப்பாகாமை, இது - அதாவது, நாம் மறைக்க முயற்சி செய்ய போகிறோம் சாத்தியம், ஆனால் எவ்வளவு பொருள் என்று அர்த்தம் இல்லை என்று நாம் வினாடி வினா 1 இருக்க முடியும் என்று விஷயங்கள் அனைத்தையும் உள்ளடக்கியதாக போகிறோம். எனவே நீங்கள் ஒரு விரிவுரை பாருங்கள், பிரிவுகள், நீங்கள் எல்லாம் எடுத்து கொள்ள வேண்டும். வினாடி வினா 1 புதன், அடுத்த புதன்கிழமை போகிறது. எனவே படிக்க வேண்டும். அது முதல் வினாடி வினா போன்ற, அழகான மிகவும், இருக்க போகிறது அதன் வடிவம் பற்றிய, ஆனால் அது அநேகமாக மிகவும் கடினமாக இருக்க போகிறது. நான் 50 போது குறைந்தது, கடந்த ஆண்டு, நான் அதை மிகவும் கடினமாக இருந்தது. எனவே நிறைய படிக்க. நான் தரவு கட்டமைப்புகள் மறைக்க போகிறேன் ஹஃப்மேன் கோடிங். இந்த, மக்கள் நிறைய சிக்கலாக உள்ளது என்று ஒன்று உள்ளது ஆனால் நான் முடிந்தவரை எளிதாக அதை செய்ய முயற்சி போகிறேன். அனைத்து முதல், நாம் என்ன நீங்கள் வினாடி வினா 1 அறிய வேண்டும் ஆகிறது நான் முன்வைக்க போகிறேன் என்று தரவு கட்டமைப்புகள் ஒவ்வொரு கருத்தியல் விளக்கங்கள் புரிந்து கொள்ள. என்று நீங்கள் இல்லை என்று அர்த்தம் உண்மையில் உங்கள் வினாடி வினா 1 ஒரு ஹாஷ் அட்டவணை செயல்படுத்த. நீங்கள் ஒரு முழு ஹாஷ் அட்டவணை செயல்படுத்த வேண்டாம்; ஒருவேளை நாம் முயற்சி செய்கிறேன் நீங்கள் சில செயல்பாடுகளை செயல்படுத்த செய்ய, மிகவும் பொதுவான செயல்பாடுகளை, ஆனால் நீங்கள் எல்லாம் செயல்படுத்த செய்ய போவதில்லை. அதை நீங்கள் ஒவ்வொரு தரவு கட்டமைப்பு பின்னால் கருத்தை புரிந்து, அது தான் முக்கியம் மேலும் நீங்கள் சி குறியீடு முடியும் என்று, அவர்கள் ஒவ்வொரு தரவு கட்டமைப்பு வேண்டும் தான் மிகவும் பொதுவான செயல்பாடுகளை. மேலும், சுட்டிகள் மற்றும் structs பரிசீலனை செய்ய முடியும் அவர்கள் இந்த தரவு கட்டமைப்புகள் நிறைய தோன்றும், ஏனெனில். முதல், பட்டியல்கள் இணைக்கப்பட்ட. இணைப்பு பட்டியல்கள் உண்மையில் வரிசைகள் போலவே இருக்கின்றன, ஆனால் ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு வரிசை வித்தியாசம், அனைத்து முதல், ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு மிக நெகிழ்வான அளவு உள்ளது என்று ஆகிறது அணிகளை நீங்கள் வரிசை ஒரு மிக பெரிய அளவு தேர்வு செய்ய ஒன்று இருக்கும் போது, அதனால் நீங்கள் அந்த வரிசையில் அனைத்து உங்கள் தரவு சேமிக்க முடியும் போகிறோம் என்று அல்லது நீங்கள் வரிசை நெகிழ்வான நீளம் வேண்டும் malloc பயன்படுத்த வேண்டும். தொடர்புடைய பட்டியல்கள் அது மட்டும் இன்னும் உறுப்புகள் மிகவும் எளிது, இணைக்கப்பட்ட பட்டியலில் மேலும் கூறுகளை வைத்து அல்லது உறுப்புகள் நீக்க. உண்மையில், நீங்கள் இணைக்கப்பட்ட பட்டியலில் வரிசைப்படுத்தப்பட்ட வேண்டும் என்றால், நீங்கள் தேட மற்றும் நிலையான நேரத்தில் அம்சங்களை நீக்க முடியும், எனவே ஓ (1) நேரம், எனவே அது மிகவும் வசதியாக உள்ளது. நீங்கள், முனைகளில் எப்போதும், malloc நினைவில் கவனமாக மற்றும் இலவச இருக்க வேண்டும் நீங்கள் இல்லை என்றால், நீங்கள் நினைவக கசிவை வேண்டும் தான். எனவே தொடர்புடைய பட்டியல்கள் - ஒரு முனை வரையறை தான் நாம் அங்கு என்ன போல இருக்கிறது. நான் எண்ணாக N வைத்தேன், ஆனால் நீங்கள் விரும்பும் எந்த தரவு சேமிக்க முடியும். நீங்கள் ஒரு சரம் சேமிக்க வேண்டும் என்றால், அது நன்றாக இருக்கிறது. நீங்கள் ஒரு struct சேமிக்க வேண்டும் என்றால், அது உனக்கு என்ன வேண்டுமோ,, ஒரு இரட்டை நன்றாக இருக்கிறது. நான் இங்கே உதாரணங்கள் எண்ணாக N வைத்து. நீங்கள் அடுத்த முனையில் ஒரு சுட்டிக்காட்டி இருக்கிறது. எனவே, அடிப்படையில், ஒரு இணைக்கப்பட்ட பட்டியலில் சில தரவு உள்ளது, பின்னர் அடுத்த முனை புள்ளிகள். அது இணைக்கப்பட்ட பட்டியலில் கடைசி உறுப்பு என்றால், அது வெற்று சுட்டி நடக்கிறது. எனவே இந்த ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு உதாரணம் ஆகும். சரி, இப்போது நான் ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு உறுப்பு சேர்க்க வேண்டும் என்றால் நாம் என்ன செய்ய வேண்டும் என்று பார்ப்போம். முதல், ஒரு செயல்பாடு நுழைவு வகை வெற்றிடத்தை இருக்கும் நான் எதையும் திரும்ப வேண்டும் இல்லை, ஏனெனில். நான் ஒரு வாதம் ஒரு முழு எண்ணாக எடுத்து செல்கிறேன், நான் சேர்க்க வேண்டும் என்ன செய்ய வேண்டும், ஏனெனில். அதனால் நான் என்ன செய்ய வேண்டும் முதல் விஷயம் என்ன? சரி, நான் newnode மீது malloc வேண்டும், அதனால் முதல் வரி. நான் ஒரு இணைக்கப்பட்ட பட்டியலில் வைத்து, ஒரு புதிய கணு உருவாக்கி இருக்கிறது. அதனால் நான் என்ன செய்ய முடியும்? சரி, நாம் என்று தொடர்புடைய பட்டியல்கள் எங்கள் செயலாக்கங்கள் வர்க்கம், நாம் எப்போதும் ஒரு பூகோள மாறி தலை வைத்து. எனவே நாம் என்ன செய்ய முடியும் தலைவர் மாற்ற ஆகிறது. நான் இந்த புதிய கணு புதிய தலைவர் இருக்க செய்ய முடியும், இது முந்தைய தலையில் சுட்டிக்காட்ட நடக்கிறது. நாம் எப்படி செய்ய முடியும்? நான் என்ன செய்ய வேண்டும் முதல் விஷயம் , மதிப்பு புதிய முனை 'N' மாற்ற ஆகிறது செயல்பாடு இயற்றப்பட்ட. பின்னர் newnode அடுத்த தலைவர் போகிறது. தலைவர் newnode போகிறது. எனவே அது மிகவும் எளிது. ஒரு முனை நீக்குதல், நாம் அதை செய்ய முடியும் - நாங்கள் அதை செய்ய முடியும் ஒரு வழி சொல்ல வேண்டும், சரி, நான் நீக்க வேண்டும் என்றால், எடுத்துக்காட்டாக, 3, நான் என்ன செய்ய முடியும் முந்தைய முனை சுட்டி ஆகிறது 3 அடுத்த முனை. அதனால் நான் அந்த மாதிரி ஏதாவது செய்ய வேண்டும். ஆனால் இல்லை என்று செய்து பிரச்சனை என்ன? நான் ஒரு நினைவக கசிவு இல்லை, அதனால் நான் இனி எண் 3 அணுகல் இல்லை. அந்த பிரச்சனை நான் அந்த முனை விடுவிக்க முடியும் போவதில்லை என்று ஆகிறது. நான் நினைவக கசிவு மற்றும் (புரிந்து) என்னை வெறுக்க போகிறது வேண்டும் போகிறேன். எனவே, அதற்கு பதிலாக அந்த செய்து, நான் அநேகமாக ஒரு தற்காலிக சுட்டிக்காட்டி வேண்டும். அதனால் நான் திறக்க வைத்தேன். அதை நான் நீக்க வேண்டும் என்று முனை சுட்டி போகிறது. பின்னர் நான் அடுத்த முனை புள்ளி முந்தைய முனைகளில் நகர்த்த முடியும் நான் நீக்க வேண்டும் என்று முனை. இறுதியாக, நான் சுட்டிக்காட்டி விடுவிக்க முடியும். நான் அங்கு உருவாக்கப்பட்ட என்று சுட்டிக்காட்டி விடுவிக்க வேண்டும்? நான், தான் இல்லை - வேறுபாடு இந்த முனை malloc பயன்படுத்தி உருவாக்கப்பட்டது என்று, இந்த ஒரு சில ஸ்டேக் ஒரு வெற்று சுவிட்ச் என அறிவிக்கப்பட்டது போது அது, குவியல் தான். எனவே நான் அதை விடுவிக்க இல்லை. சரி. எனவே இப்போது அடுக்குகள் பற்றி பேசுகிறேன். அடுக்குகள் மிகவும் நேரடியான உள்ளன. நாம் அணிகளை பயன்படுத்தி வர்க்கம் அடுக்குகள் மற்றும் வரிசைகளை செய்தார், ஆனால் நீங்கள் பழக்கமான இருக்க வேண்டும் - தான் எச்சரிக்கையாக இருக்க வேண்டும் நீங்கள் அதே தொடர்புடைய பட்டியல்கள் பயன்படுத்தி வரிசைகளில் உள்ள அடுக்குகள் செய்ய முடியும் என்று. நீங்கள் ஒரு வரிசை இருந்தால், அதனால், என்ன ஒரு அடுக்கு இருக்க வேண்டும்? ஒரு அடுக்கு, முதல், ஒரு அளவு வேண்டும் வேண்டும். நீங்கள் இப்போது அந்த ஸ்டாக் அளவு என்ன சேமிக்க வேண்டும். மேலும் நீங்கள், எண்கள், இந்த வழக்கில், ஒரு வரிசை வேண்டும் ஆனால், நீங்கள் விரும்பினால், அது ஒரு வரிசை முடியும் சரங்களை, struct ஒரு வரிசை, நீங்கள் சேமிக்க வேண்டும் என்று எதையும். ஸ்டாக் பற்றி: ஒரு அடுக்கு ஒரு இணைக்கப்பட்ட பட்டியலில் வித்தியாசம் ஸ்டாக் நீங்கள் மட்டுமே ஸ்டாக் வைக்கப்பட்டது கடந்த உறுப்பு அணுக வேண்டும் என்று ஆகிறது. அது முதல், கடந்த என்று. நீங்கள் தட்டுக்களில் ஒரு அடுக்கு வேண்டும் போல், நீங்கள் ஸ்டேக் மேல் ஒரு தட்டில் வைத்து, நீங்கள் மற்ற தட்டுக்களும் அணுக வேண்டும் என்று முதல் தட்டில் நீக்க வேண்டும். இது அடுக்குகள் கொண்ட ஒரே விஷயம். நான், எடுத்துக்காட்டாக, ஒரு அடுக்கு ஒரு உறுப்பு சேர்க்க வேண்டும் என்றால், நான் என்ன செய்ய வேண்டும்? அதை தள்ள என்று, அதை அழகாக நேரடியான தான். நீங்கள் செய்ய வேண்டியது முதல் விஷயம் சரிபார்த்து என்றால், ஸ்டாக் அளவு அதிக அல்லது ஸ்டாக் திறன் சமமாக இல்லை. நீங்கள் ஏற்கனவே முழு கொள்ளளவு இருக்கும் என்றால், நீங்கள் வேறு எதையும் சேர்க்க முடியாது, ஏனெனில். இல்லை என்றால், பின்னர், நீங்கள் வெறும் அடுக்கு உறுப்பு சேர்க்க வேண்டும். இறுதியாக, அளவு அதிகரிக்கவில்லை. எனவே அது மிகவும் நேரடியான தான். அதனால் நான் எண் 2 சேர்க்க. நான் எடுக்க வேண்டும் என்றால், நான் அகற்ற வேண்டும் என்று அர்த்தம் சேர்க்க மற்றும் உறுப்பு மதிப்பை திரும்ப என்று கடந்த உறுப்பு, நான் பார்க்க வேண்டும் முதல் விஷயம் ஸ்டா காலியாக இல்லை என்று ஆகிறது. அது காலியாக இருந்தால்,, நான் எதையும் திரும்ப முடியாது, ஏனெனில். அந்த வழக்கில், நான் -1 திரும்ப ஒப்படைக்கிறேன். இல்லையெனில், நான் குறிப்பிட்ட அளவு குறைத்தல் போகிறேன், மற்றும் எண்கள் (s.size) திரும்ப. நான் ஏன் அளவை குறைத்தல் மற்றும் s.size, திரும்ப? இந்த வழக்கில், ஸ்பெக் அளவு 4 உள்ளது, ஏனெனில் அது, தான் நான் நான்காவது உறுப்பு திரும்ப வேண்டும், சரியான? ஆனால் நான்காவது உறுப்பு குறியீட்டு என்ன? மூன்று. நான் அளவு என்பதால் - 3 போகிறது, நான் (s.size) s.numbers திரும்ப முடியும் அது 3 தான். அதனால் தான் குறியீட்டு தான். இப்போது வரிசைகளில். வரிசை மிகவும் அதிகமாக தான் இருக்கும். ஒரே ஒரு வித்தியாசம், அதற்கு பதிலாக கடந்த கொண்ட, முதல் வெளியே இருக்கிறது நீங்கள் முதலில் வெளியே, முதல் வேண்டும். நீங்கள் ஒரு நிகழ்ச்சியில் செல்ல காத்திருக்கிறோம் ஒருவேளை என்றால், நீங்கள் பதிலாக ஒரு வரிசையில் ஒரு ஸ்டேக் இருந்தால் நீங்கள் மகிழ்ச்சியாக இருக்க முடியாது. வர கடைசி நபர் இருப்பது கச்சேரி நுழைய முதல் நபர் இருக்கும். ஒருவேளை நீங்கள் மகிழ்ச்சியாக இருக்க முடியாது. வரிசையில், பெற முதல் நபர் வெளியே முதல் நபர். எனவே ஒரு வரிசை வரையறை, வரிசையில் அளவு கொண்ட தவிர, நீங்கள் ஸ்டேக் தலைவர் குறியீட்டு இது தலை, வேண்டும் வேண்டும். இப்போது முதல் உறுப்பு எனவே. என்கியூ அடுக்குகள் மிகுதி அதே விஷயம். நீங்கள் மிகவும் அப்பாவியாக இருந்தால், நீங்கள் தான் சொல்ல வேண்டும், நான், மிகுதி செய்தது போல், நான் அதே காரியத்தை செய்ய முடியும். அது திறன் தாண்டி இல்லை என்றால் நான் பார்க்க முடியும். அது இருந்தால், நான் மற்றபடி நான் புதிய மதிப்பை ஏற்றுமதி செய்ய முடியும், தவறான திரும்ப பின்னர் அளவு அதிகரிக்கவில்லை. ஆனால் ஏன் இந்த தவறு? இந்த உதாரணம் பார்க்கலாம். நான் பொருட்களை ஒரு கொத்து என்கியூ முயற்சி செய்கிறேன், பின்னர் நான் dequeue மற்றும் என்கியூ போகிறேன். அங்கு கட்டளைகளை நிறைய இருக்கிறது, ஆனால் அது மிகவும் எளிது. நான் 5 என்கியூ, அதனால் 5 சேர்க்க வேண்டும், பின்னர் 7, 1, 4, 6, மற்றும் நான் ஏதாவது dequeue வேண்டும், இது நான் முதல் உறுப்பு நீக்க போகிறேன் என்று அர்த்தம். அதனால் நான், எண் 3 நீக்க போகிறேன்? முதல் உறுப்பு. சரி. நான் வேறு ஏதாவது என்கியூ முயற்சி என்றால், இப்போது, என்ன நடக்க போகிறது? என் செயல்படுத்த படி, நான் குறியீட்டு q.size அடுத்த எண்ணை போட போகிறேன். இந்த வழக்கில், அளவு 8 ஆகிறது, எனவே குறியீட்டு 8 கடந்த நிலையில் இங்கே இருக்கும். நான் இங்கே 1 என்கியூ முயற்சி என்றால், நான் கடந்த நிலையில் மேற்சேர்க்கை முற்றிலும் தவறு எந்த எண் 1, செய்ய. நான் என்ன செய்ய வேண்டும் சுற்றி மற்றும் முதல் நிலை செல்ல இருக்கிறது. ஒருவேளை நீங்கள் நன்றாக, நான் பார்க்க வேண்டும், என்று நான் உண்மையில் அங்கு ஏதாவது வைத்து கொள்ளலாம். இல்லை என்றால், நான் தான், ஓ, புதிய முழு கொள்ளளவு, சொல்ல உண்மையில் திறன் இருக்கிறது - 1, மற்றும் நீங்கள் அங்கு ஒரு உறுப்பு வைக்க முடியாது. ஆனால் பிரச்சனை என்ன? பிரச்சனை என்று நான் இங்கே எல்லாம் dequeue என்றால் பின்னர் நான் வேறு ஏதாவது சேர்க்க முயற்சி, அது கூறுவேன், நன்றாக, நீங்கள் 0 இது முழு கொள்ளளவு, இருந்தது. எனவே, உங்கள் வரிசையில் போய்விட்டது. நீ சுற்றி வேண்டும், மற்றும் சுற்றி போர்த்தி ஒரு வழி நீங்கள் தொலைநோக்கு மற்றும் மற்ற psets கற்று மோட் பயன்படுத்தி என்று. நீங்கள் q.size + q.head செய்ய வேண்டும் ஏன் புரிந்து கொள்ள வீட்டில் அதை முயற்சி செய்யலாம் மோட் திறன், ஆனால் நீங்கள் இங்கே பார்க்க என்றால், நாம் அது வேலை செய்யும் என்று பார்க்க முடியும். எனவே கடந்த எடுத்துக்காட்டாக, 8 q.size இருந்தது அது இங்கே வரிசைக்கு இந்த நிலையில் ஏனெனில் மற்றும் தலைவர், 1 இருந்தது. எனவே 8 + 1, 9 இருக்கும். மோட் திறன் 9 0 இருக்கும். அதை குறியீட்டு 0 போக வேண்டும். நாம் சரியான நிலையில் இருக்க வேண்டும். பின்னர் வீட்டில் வரிசை முயற்சி. சில முக்கியமான விஷயங்கள்: ஒரு அடுக்கு ஒரு வரிசை இடையிலான வித்தியாசத்தை புரிந்து கொள்ள முயற்சி. வீட்டில், என்கியூ, dequeue, புஷ் மற்றும் பாப் செயல்படுத்த மிகவும் பழக்கமான பெற முயற்சி. நீங்கள் அவர்கள் ஒவ்வொரு பயன்படுத்த வேண்டும் போது புரிந்து கொள்ள. எனவே Pokémons ஒரு கொத்து 10 விநாடிகள் ஓய்வெடுக்க விடுங்கள். இப்போது மீண்டும் தரவு கட்டமைப்புகள் செல்லலாம். அட்டவணைகள் புல. நிறைய பேர் புல அட்டவணைகள் பயந்து. பிரச்சனை 6 அமைக்க உள்ள, எழுத்துப்பிழை சரிபார்ப்பு. புல அட்டவணைகள் மற்றும் முயற்சிகளின், மக்கள் நிறைய அவர்கள் பயந்து கிடைக்கிறது. அவர்கள் புரிந்து கொள்ள மிகவும் கடினமாக இருக்கும் என்று நான் நினைக்கிறேன். சரி? [ராப் Bowden] பிரச்சனை 5 அமைந்தது. பிரச்சனை சரி, 5 அமைந்தது. நன்றி ராப். சரி. ஆறு கடுப்புடன் N 'பஃப், ஆமாம் இருந்தது. பிரச்சனை சொற்பிழை திருத்தி இருந்து 5 அமைந்தது, மற்றும் நீங்கள் ஒரு ஹாஷ் அட்டவணை அல்லது ஒரு முயற்சி அல்லது பயன்படுத்த வேண்டியிருந்தது. நிறைய பேர் அவர்கள் புரிந்து கொள்ள சூப்பர் கடினமாக இருந்தது என்று நினைத்தேன், ஆனால் அவர்கள் உண்மையில் மிகவும் எளிமையான இருக்கும். ஒரு ஹாஷ் அட்டவணை அடிப்படையில், என்ன? ஒரு ஹாஷ் அட்டவணை இணைக்கப்பட்ட பட்டியல்கள் ஒரு வரிசை ஆகும். ஒரு வரிசை மற்றும் ஒரு ஹாஷ் அட்டவணை இடையே ஒரே ஒரு வித்தியாசம் ஹாஷ் அட்டவணை நீங்கள் ஒரு ஹாஷ் சார்பு என்று ஒன்று இருக்கிறது என்று. ஒரு ஹாஷ் சார்பு என்றால் என்ன? நீங்கள் இங்கே வாசிக்க முடியும் என்றால் எனக்கு தெரியாது. இந்த ஒரு ஹாஷ் அட்டவணை ஒரு உதாரணம் ஆகும். எனவே நீங்கள் 31 உறுப்புகள் ஒரு வரிசை என்று பார்க்க முடியும். மற்றும் நாம் ஒரு ஹாஷ் அட்டவணை செய்ய ஒரு ஹாஷ் சார்பு இருக்கிறது என்று ஒரு முக்கிய மொழிபெயர்க்க போகிறது, ஒவ்வொரு ஒரு குறியீட்டு எண்ணாக. என்றால், எடுத்துக்காட்டாக, நான் பி ஹாரிசன் தேர்வு செய்ய வேண்டும் என்றால், நான் என் ஹாஷ் செயல்பாடுகளை பி ஹாரிசன் வைக்க வேண்டும், மற்றும் ஹாஷ் சார்பு 24 திரும்ப வேண்டும். அதனால் நான் 24 பி ஹாரிசன் சேமிக்க வேண்டும் என்று எனக்கு தெரியும். அதனால் தான் ஒரு வரிசை கொண்ட ஒரு ஹாஷ் அட்டவணை கொண்ட வித்தியாசம். ஹாஷ் அட்டவணை நீங்கள் சொல்ல போகிறது என்று ஒரு செயல்பாடு வேண்டும் அங்கு நீங்கள் சேமிக்க வேண்டும் என்று தரவு சேமிக்க. ஹாஷ் சார்பு, நீங்கள் ஒரு ஹாஷ் சார்பு பார்க்க வேண்டும் என்று தீர்மானிக்கும் மற்றும் நன்கு விநியோகிக்கப்படுகிறது. நீங்கள் இங்கே பார்க்க முடியும் என, நான் சேமிக்க வேண்டும் என்று தரவு நிறைய உண்மையில் 19 என்று பார்க்கிறீர்கள் அதற்கு பதிலாக அனைத்து இலவச இருந்த 31 மற்றும் 30 மற்றும் 29, பயன்படுத்தி. அதனால் நான் பயன்படுத்தப்படும் என்று ஹாஷ் சார்பு நன்றாக விநியோகம் இல்லை. நாம் நன்கு விநியோகிக்கப்படுகிறது என்று சொல்லும் போது, அது, நாம் வேண்டும் என்று அர்த்தம் சுமார், குறைந்தபட்சம் 1 அல்லது ஒவ்வொரு 2 - போன்ற, வரிசைகள் உள்ள குறியீடுகள் ஒவ்வொரு 1 அல்லது 2 ஒரு வித்தியாசம். நீங்கள், சுமார், வரிசையில் ஒவ்வொரு இணைக்கப்பட்ட பட்டியலில் கூறுகள் அதே எண்ணை வேண்டும். அது, ஹாஷ் அட்டவணை கச்சிதமாக புல அட்டவணைகள் பார்வையிட சரிபார்க்க எளிது. பின்னர் மரங்கள். இந்த ஒரு மரம் இருக்கிறது. கணினி அறிவியல் மரங்கள் சில காரணங்களால் கீழே தலைகீழாக இருக்கின்றன. எனவே இங்கே நீங்கள் மரத்தின் வேர் மற்றும் இலைகள் உள்ளன. நீங்கள் பெற்றோர்கள் மற்றும் குழந்தை பெயரிடும் முறை தெரிந்து கொள்ள வேண்டும். ஒவ்வொரு முனையும் பெற்றோர் கீழே இருக்கும் என்று முனைகள் அதன் பிள்ளைகள் உள்ளனர். அதனால், எடுத்துக்காட்டாக, 2, அங்கு 3 மற்றும் மற்ற குழந்தை பெற்றோர் போகிறது 3 1 பெற்றோர் மற்றும் உள்ளன என்று மற்ற குழந்தைகள் இருக்கும் போது. மேலும் 1 ம் 3 குழந்தை இருக்க போகிறது, மற்றும். நாம், மிகவும் சுவாரசியமான ஒன்று, ஒரு பைனரி தேடல் மரம் எனப்படும், இது ஒரு முனை வலது அனைத்து மதிப்புகள் இங்கே, வலது போகிறீர்கள் - வலது, ரூட் உறுப்பு விட போகிறீர்கள். வலது அதனால் நான் இங்கே எண் 5 இருந்தால், அனைத்து உறுப்புகள் 5 விட அதிகமாக இருக்கும், மற்றும் இடது உள்ளன அனைத்து உறுப்புகள் 5 குறைவாக இருக்கும். ஏன் இந்த பயனுள்ளதாக இருக்கும்? சரி, நான் எண் 7 இங்கே இருந்தால் சரிபார்க்க வேண்டும் என்றால், எடுத்துக்காட்டாக, நான் முதல் 5 சென்று நான் பார்க்க போகிறேன், 5, 7 பெரிய அல்லது குறைவாக உள்ளது? இது அதிக தான், எனவே நான் அது மரம் வலது இருக்க வேண்டும் நடக்கிறது என்று தெரியும். அதனால் நான் பார்க்க மிகவும் குறைவான பொருட்களை வேண்டும். ஒரு பைனரி தேடல் மரம், முனை செயல்படுத்த, நான், தரவு வேண்டும் போகிறேன் அதனால் எண்ணாக N; நீங்கள் ஒரு சரம் வேண்டும் அல்லது நீங்கள் விரும்பிய எதையும். நீங்கள் அதிகமாக உள்ளது என்பதை வரையறுக்கும் மீது கவனமாக இருக்க வேண்டும், குறைவாக உள்ளது. எனவே நீங்கள் சரங்களை இருந்தால், உதாரணமாக, நீங்கள் வரையறுக்க முடியும் வலது எல்லாம் பெரிய நீளம் நடக்க போகிறது என்று, இடது கீழ் நீளம் செய்ய போகிறோம், அது உண்மையில் நீங்கள் தான். நான் எப்படி BST கண்டுபிடிக்க செயல்படுத்த முடியும்? நாம் செய்ய வேண்டும் முதல் விஷயம் ரூட் NULL என்றால் பாருங்கள். அது NULL என்றால், அது தான் இல்லை என்று அர்த்தம் நீங்கள் கூட ஒரு மரம், உரிமை இல்லை, ஏனெனில்? எனவே நான் தவறான திரும்ப. இல்லையெனில், நான் எண்ணிக்கை அதிகமாக இருந்தால் பார்க்க போகிறேன் ரூட் மதிப்பை விட. நான் வலது உறுப்பு கண்டுபிடிக்க முயற்சி போகிறேன் மரம். நான் இங்கே மறுநிகழ்வு பயன்படுத்தி வருகிறது என்று பார்க்கிறீர்கள். அது குறைவாக இருந்தால், நான் இடது பார்க்க போகிறேன். இறுதியாக, இல்லையெனில், அது அதிக குறைவாக அல்லது இல்லை என்றால், அது மதிப்பு தன்னை தான் அர்த்தம். அதனால் நான் உண்மையான திரும்ப. நான் என்றால், என்றால், என்றால் பயன்படுத்தப்படும் என்று இங்கே பார்க்கலாம். மேலும், நினைவில் வினாடி வினா 0, நாம், என்றால், என்றால் என்று ஒரு பிரச்சனை நீங்கள் திறமையின்மை கண்டுபிடிக்க வேண்டும் என்று, மற்றும் திறமையின்மை நீங்கள் பயன்படுத்தப்படுகிறது என்று ஆகும். நீங்கள் வேறு, வேறு, பயன்படுத்தப்படும், மற்றும் வேறு. என்றால், வேறு என்றால் இங்கே வேறு, நான் வேறு பயன்படுத்த வேண்டும்? யாரும் - அப்படியா? [மாணவர் பேசும், செவிக்கு புலப்படாமல்] அந்த சரியான நேரம். எனவே அவர், அது ஒரு விஷயமே இல்லை என்று சொல்கிறார் ஏனெனில் நாம் முன் அந்த திறமையின்மை என்று, சில நிபந்தனை திருப்தி ஒருவேளை ஏனெனில், எனவே நீங்கள் ஒரு செயலை, ஆனால் நீங்கள் மற்ற நிலைமைகள் அனைத்து சரிபார்க்க போகிறோம். ஆனால் இந்த வழக்கில், அதை இப்போதே திரும்பினார், அது ஒரு விஷயமே இல்லை. எனவே நீங்கள் வேறு பயன்படுத்த வேண்டாம். இறுதியாக, அது முயற்சிகளின் பற்றி பேசுகிறேன், இது எல்லோருக்கும் பிடித்த உள்ளது. ஒரு முயற்சி வரிசைகள் ஒரு மரம் உள்ளது. அது மதிப்புகள் பார்க்க மிக வேகமாக, ஆனால் அது நினைவகம் நிறைய பயன்படுத்துகிறது. அது வார்த்தைகளை வடிகட்ட வழக்கமாக தான், எனவே நீங்கள் உங்கள் தொலைபேசி ஒரு தொலைபேசி புத்தகம் போன்ற, எடுத்துக்காட்டாக, எனக்கு தெரியாது, செயல்படுத்த வேண்டும் நீங்கள் பி தட்டச்சு செய்ய முடியும் வேண்டும் மற்றும் பி மக்கள் பெயர்கள் உதாரணமாக, ஒரு முயற்சி பயன்படுத்தி செயல்படுத்த மிக எளிது. நீங்கள் எப்படி ஒரு முயற்சி ஒரு முனை வரையறை என்ன? நீங்கள் is_word போகிறது என்று ஒரு bool வேண்டும். என்று, அந்த முனை முன் அனைத்து எழுத்துக்களை பயன்படுத்தி என்று குறிக்கிறது நீங்கள் ஒரு வார்த்தை அமைக்க முடிந்தது, பின்னர் நீங்கள் முனைகளில் சுட்டிகளையும் ஒரு வரிசை வேண்டும். நாம் ஒரு தாய் முனைகளில் வரிசை, கணு * வரிசை என்று பார்க்க முடியும்? சரி? எனவே அந்த வேலை எப்படி பார்க்க. எழுத்துப்பிழை சரிபார்க்க, நாங்கள் 27 உறுப்புகள் வரிசை, நாம் அனைத்து கடிதங்கள் மற்றும் மேற்கோளைச் வேண்டும், ஏனெனில். நான் பலகையில் எழுத முடியும் வேண்டும் என்பதால், இங்கே முன் நான் 2 பயன்படுத்த போகிறேன். சரி. எனவே இந்த முயற்சி ஒரு உதாரணம் ஆகும். நான் முதல் முனை வரையறை என்றால், நான் 2 உறுப்புகளுக்கும் ஒரு வரிசை வேண்டும் பூஜ்ய 2 சுட்டிகள் இருக்கின்றன, அதனால் நான் 'ஒரு' மற்றும் 'பி' வைத்து அந்த. நான் is_word என்று ஒரு bool வேண்டும் போகிறேன். அது முதல் ஒரு தவறான இருக்க போகிறது, , ஏனெனில் அதற்கு முன் நீங்கள் எந்த எழுத்துக்கள் இல்லை. எனவே ஒரு வெற்று வார்த்தை ஒரு வார்த்தை அல்ல. அது தவறு. நான் இந்த அகராதி 'ஒரு' சேர்க்க வேண்டும் என்றால், நான் என்ன செய்ய வேண்டும்? நான் 'ஒரு' ஒரு புதிய கணு malloc வேண்டும், பின்னர் உண்மை அதன் வார்த்தை சேர்க்க. அதனால் தான் 'ஒரு' உண்மை இருக்க போகிறது என்று சிலர் பிரதிபலிக்கிறது. பயன்? நான் 'பி.ஏ.' சேர்க்க வேண்டும் என்றால், நான் 'ப', ஐந்து malloc 1 வேண்டும், பின்னர் நான், தவறான பூலியன் அமைக்க போகிறேன் தன்னை 'ப' ஒரு வார்த்தை அல்ல, ஏனெனில். பிறகு நான் வேறு 'ஒரு' ஒரு, அதனால் 'பி.ஏ.' malloc போகிறேன், பின்னர் நான் அதை உண்மை ஒரு வார்த்தை அமைக்க போகிறேன். 'பி.ஏ.' ஒரு வார்த்தை. நான் பார்க்க வேண்டும், பின்னர் 'ப', இந்த அகராதியில் என்றால் நான் முதல் ஒரு, 'ப' செல்ல முடியும். நான் கீழே போய், நான் வார்த்தை பாருங்கள், அது தவறான என்கிறார். எனவே அது ஒரு வார்த்தை இல்லை. நான் 'பி.ஏ.' சரி பார்க்க வேண்டும் என்றால், நான் முதலில் ஒரு 'ப' சென்று, பின்னர் 'ஒரு' செல்ல, நான் உண்மை என்று பார்க்க, அவன் அதை ஒரு வார்த்தை. பயன்? நிறைய பேர் முயற்சிகளின் மூலம் குழப்பி கிடைக்கும். இல்லை? இறுதியாக, ஹஃப்மேன் கோடிங். ஹஃப்மேன் கோடிங் மிகவும் பயனுள்ளதாக இருக்கிறது நினைவகத்தில் சேமிக்க மற்றும் உரை கோப்புகளை சுருங்க, ஏனெனில் நீங்கள் உதாரணமாக, 'ஒரு' மற்றும் 'இ' பயன்படுத்த நிறைய தடவை, நீங்கள் எவ்வளவு 'கே' அல்லது 'Z' பயன்படுத்தினால் உங்கள் ஆவணங்கள், ஆனால் எனக்கு தெரியாது. ஒவ்வொரு ஒற்றை தன்மை வெறும் 1 பைட் கொண்ட, ஒவ்வொரு - நாம் ஆஸ்கி அட்டவணையில் வேண்டும் என்று 256 எழுத்துக்கள் மிகவும் உகந்த அல்ல, நீங்கள் மிகவும் பயன்படுத்த சில எழுத்துக்கள் உள்ளன தான், ஒருவேளை நீங்கள் அந்த குறைவான நினைவகம் பயன்படுத்த வேண்டும். நான் எப்படி ஹஃப்மேன் கோடிங் பயன்படுத்த வேண்டாம்? நாம் ஒரு ஹஃப்மேன் மரம் செய்ய வேண்டும்.  ஒரு ஹஃப்மேன் மரம் முனைகள் கடிதம், 'சி', 'B', 'ஒரு', போன்ற இருக்க போகிறது என்று ஒரு சின்னமாக வேண்டும் என்று, நீங்கள் என்ன கடிதம், வார்த்தை உரை தோன்றும் என்று அதிர்வெண் என்று ஒரு அதிர்வெண், நீங்கள், ஒரு ஹஃப்மேன் மரம் உருவாக்கி என்று பின்னர் ஹஃப்மேன் மரம் இடது சுட்டி போகிறது என்று ஒரு முனை மற்றும் வலது சுட்டி போகிறது என்று மற்றொரு முனை. அதனால் தான் ஒரு மரம் போல. எப்படி நீங்கள் ஒரு ஹஃப்மேன் மரம் கட்ட வேண்டும்? நீங்கள் குறைந்த அதிர்வெண்கள் வேண்டும் என்று 2 முனைகளில் எடுக்க போகிறோம். நீங்கள் ஒரு டை இருந்தால் நீங்கள் 2 முனைகளில் எடுக்க போகிறோம் அத்துடன் குறைந்த ஆஸ்கி மதிப்புகள் வேண்டும் என்று. நீங்கள் அந்த 2 முனைகளில் ஒரு புதிய கிளையை உருவாக்க போகிறோம் அந்த பெற்றோர் முனை இணைந்து அதிர்வெண் போகிறது. பின்னர் நீங்கள் காட்டில் இருந்து 2 குழந்தைகள் நீக்க போகிறோம் மற்றும் பெற்றோர் அவர்களுக்கு பதிலாக. நீங்கள் மட்டும் காட்டில் 1 மரம் வரை என்று மீண்டும் செல்கிறோம். எனவே நீங்கள் ZAMYLA ஒரு ஹஃப்மேன் மரம் செய்ய வேண்டும், எப்படி பார்க்க வேண்டும். நீங்கள் அனைத்து கடிதங்கள் 'ஏ' தவிர அதிர்வெண் 1 என்று இங்கே பார்க்க முடியும்; அதிர்வெண் 2 என்று. அதனால் நான் ASCII மதிப்பு மற்றும் அதிர்வெண் வரிசையில் வைத்து அனைத்து கடிதங்கள் ஐந்து முனைகளில் உருவாக்கப்பட்டது. நான் முதல் மரம் உருவாக்க வேண்டும் என்றால், அது, 'L' மற்றும் 'எம்' இருக்கும். அது இங்கே இருக்கிறது. ஜோடி அதிர்வெண் 2 இருக்கும் + 1 1 தான், பின்னர் குறைந்த அதிர்வெண்கள் அடுத்த 2 'ஒய்' மற்றும் 'Z' இருக்கின்றன. 2 ஒரு அதிர்வெண் - பின்னர் நான் இருப்பது அவர்களுக்கு அனைத்து வேண்டும். எனவே அடுத்த ஒரு குறைந்த ASCII மதிப்பு வேண்டும் என்று தான் இது தான்! 'ஏ' மற்றும் 'எல்'. எனவே நான் புதிய முனை உருவாக்க, இறுதியாக, அது 4 மற்றும் 2, அதனால் 2 இடது போகிறது. இந்த ஹஃப்மேன் மரம் உள்ளது. நான் சில உரை எழுத வேண்டும் பின்னர் என்றால், போன்ற ஹஃப்மேன் மரம் பயன்படுத்தி, உரை மாற்ற பைனரி மிகவும் எளிதானது. நான் இடது நகரும் ஒரு 0 மற்றும் வலது நகரும் என்று சொல்ல உதாரணமாக, ஒரு 1 என்ன பிரதிநிதித்துவம் போகிறது? எனவே போன்ற 1, 1, சரி, சரி, பின்னர் மிகவும் விட்டு 0, எல் இருக்கும், பின்னர் 1, 0, 0. எனவே 1, 0, அதனால் தான் 1, 0, 'ஏ'. பின்னர் 0, 1, 'Z'. பின்னர் 1, 0, 0 - இல்லை. 0, 0 'ஒய்' இருக்கும், மிகவும் சோம்பேறி. அதனால் எனக்கு எல்லா என்று, ராப் முழுவதும் எடுத்து செல்கிறோம். [ராப் Bowden] எனவே, வாரம் 7 பொருள். நாம் மிகவும் வேகமாக செல்ல நிறைய கிடைத்துவிட்டது. பிட்வைஸ் ஆபரேட்டர்கள், இடையக வழிதல், CS50 நூலகம், பின்னர் HTML, HTTP, CSS. 15 முதல் 20 நிமிடங்கள் போன்ற அனைத்து. பிட்வைஸ் ஆபரேட்டர்கள். நீங்கள் தெரிந்து கொள்ள வேண்டும் என்று அவர்கள் 6 உள்ளன. பிட்வைஸ் மற்றும் பிட்வைஸ் அல்லது, எக்ஸ்ஓஆர், இடது மாற்றம், வலது Shift, இல்லை. வலது Shift மற்றும் நீங்கள் வெளிப்படையாக அனைத்து விரிவுரை பார்த்தேன். நாம் விரைவில் அதை இங்கே போகலாம், ஆனால் அது இந்த உள்ளன என்று 6 என்று நல்லது. பிட்வைஸ் ஆபரேட்டர்கள் நீங்கள் + 4 3 செய்யும் போது போன்ற என்று ஞாபகம். நீங்கள் 3 மற்றும் 4 பைனரி கையாள்வதில் இல்லை. பிட்வைஸ் ஆபரேட்டர்கள் மூலம் நீங்கள் உண்மையில் எண்கள் 3 மற்றும் 4 இன் தனிப்பட்ட பிட்கள் கையாள்வதில். எனவே நாம் சொல்ல வேண்டும் என்று முதல் ஒரு பிட்வைஸ், அல்ல மற்றும் அது அனைத்து பிட்கள் கவிழ்த்து ஆகிறது. நீங்கள் சி இதை எழுதி என்றால் இங்கே, நீங்கள் அதை எழுத முடியாது ~ 11011 அல்லது என்ன, நீங்கள், அதை ~ 4 போன்ற எழுத வேண்டும் பின்னர் அது 4 பைனரி பிரதிநிதித்துவம் புரட்ட வேண்டும். இங்கு, 1 இன் ~ சில பைனரி எண் 1101101 சரியாக 0 தான் அனைத்து 1 புரட்ட போகிறது மற்றும் அனைத்து 0 தான். நான் அங்கு சொல்வது போல், இந்த அடிக்கடி பயன்படுத்தும், நாம் சில பல கொண்டு வர வேண்டும் போன்ற மற்றும் நாம் ஒரு பிட் அதை பார்க்கிறேன், ஆகிறது பிட்கள் அனைவரும் இன்னும் ஒன்று தவிர, 1 எங்கே. அது பல வெளிப்படுத்த பொதுவாக எளிதாகவும் மட்டும் ஒற்றை பிட் அமைக்க அமைந்துள்ள, பின்னர் அது ~, எனவே ஒவ்வொரு மற்ற பிட் என்று ஒரு தவிர அமைக்க வேண்டும். அதனால் நாம் ஒரு பிட் மேலும் பயன்படுத்த போகிறோம் என்ன. பிட்வைஸ் அல்லது. இங்கே 2 பைனரி எண்கள், மற்றும் இந்த 2 எண்கள் இருக்கின்றன அவர்கள் ஒவ்வொரு சாத்தியமான பிரதிநிதியாக இருப்பதால், அழகான பிரதிநிதி இருக்கின்றன பிட்கள் இணைந்து நீங்கள் செயல்பட வேண்டும் என்று. நான் ஒவ்வொரு பிட் or'd போது இங்கே, நாம் தான் நேராக கீழே ஒப்பிட்டு போகிறோம். எனவே இடது பக்கத்தில் நாம் ஒரு 1 மற்றும் ஒரு 1 வேண்டும். நான் பிட்வைஸ் போது | அந்த, நான் என்ன செய்ய போகிறேன்? ஒரு. 0 மற்றும் 1 எனக்கு கொடுக்க போகிறார் | பிறகு பிட்வைஸ்? ஒரு. பிட்வைஸ் 1 மற்றும் 0 தான், ஒரு இருக்க போகிறது. பிட்வைஸ் 0 | 0 என்னை 0 கொடுக்க போகிறது. 0 வழக்கு | நான் 0 இங்கு மட்டும் வழக்கு 0 ஆகிறது. நீங்கள் உங்கள் தருக்க மறுக்கின்றது போன்ற என்று நினைக்க முடியாது. நீங்கள் உண்மை 1 மற்றும் தவறான 0 நினைத்தால் அதனால், தான் இங்கே பொருந்தும். எனவே, உண்மை அல்லது உண்மை உண்மை; உண்மை அல்லது பொய் உண்மை. தவறான அல்லது உண்மை உண்மை; தவறான அல்லது தவறான உண்மையில் தவறு என்று மட்டும் தான் உள்ளது. இங்கே நீங்கள் தெரிந்து கொள்ள வேண்டும் என்று எடுத்துக்காட்டு பிட்வைஸ் ஆபரேட்டர்கள் பயன்படுத்தப்படும் போது ஒரு நல்ல உதாரணம். இங்கே நாம் அல்லது Ox20 மூலதனத்தின் 'ஏ', நாம் ஏதாவது பெற, இரண்டாவது இந்த பார்க்க வேண்டும். நாம் அல்லது ஸ்மால் 'ஒரு' Ox20, நாம் ஏதாவது கிடைக்கும் என்றால்,. எனவே ஆஸ்கி அட்டவணை மேலே நாம். சரி. இங்கே நாம் 'ஒரு' என்று பார்க்கிறோம் - இங்கே நாம் 'ஒரு' 65 தசம இருக்கிறது. ஆனால் நான் Ox41 இது அறுபதின்ம, கொண்டு செல்ல வேண்டும். அழகாக தெரியும் நாம் வர்க்கம் அதை பார்த்தேன். நான் வர்க்கம் அதை பார்த்த நினைக்கிறேன் இது அறுபதின்ம இருந்து பைனரி மாற்ற மிகவும் எளிது என்று. எனவே இங்கே, நான் பைனரி ஒரு 4 போட வேண்டும் என்றால், என்று 0100 இருக்க போகிறது. இந்த 1 இடத்தில், 2 இடத்தில், 4 இடத்தில் இருக்கிறது, எனவே இந்த 4. நான் 0001 போகிறது இது பைனரி, ஒரு 1 பிரிக்க முடியாது. எனவே இந்த பைனரி 'ஒரு' பிரதிநிதித்துவம் இருக்க போகிறது. ஸ்மால் 'ஒரு', அது இப்போது Ox61 இருக்க போகிறது எடுத்து, அதன் பைனரி இந்த பிரித்து அங்கு, ஒரு 6 - உண்மையில் நாம் அதை செய்வோம் - எந்த அழிப்பான் உள்ளது? அழிப்பான். Ox61. எனவே பைனரி ஒரு 6 பிரித்து 4 + 2 + 0 0 போகிறது. பிளக்கும் 1 0001 இருக்க போகிறது. இந்த 2 இடையே உள்ள வேறுபாடு பார்த்து நாம் ஒரு ஸ்மால் மற்றும் மூலதன 'ஏ' இடையே ஒரே ஒரு வித்தியாசம் இந்த ஒற்றை பிட் என்று பார்க்கிறோம். சரி - இங்கே திரும்பி வரும். நாம் பிட் Ox20 என்ன பார் என்றால், இங்கே திரும்பி வரும் அதன் பைனரி ஒரு மிகவும் பிளக்கும் Ox20, 0010, 0000 ஆகிறது. Ox20, அமைக்கப்படும் என்று மட்டுமே பிட், நாம் அக்கறை என்று இந்த பிட் உள்ளது மூலதன மற்றும் ஸ்மால் 'ஒரு' இடையே மாறுவதற்கு கொண்டு. என்றால் இந்த ஒரு 'A' இது நான் அல்லது 'ஒரு',, நான் அல்லது Ox20 கொண்டு 'ஒரு', நான் என்ன செய்ய போகிறேன்? [மாணவர், செவிக்கு புலப்படாமல்] கீழ்த்தட்டு 'ஒரு', அது ஒரு 1 இந்த பிட் புரட்ட நடக்கிறது என்பதால். மற்றும் நான் அல்லது 'ஒரு' Ox20 கொண்டு, நான் என்ன செய்ய போகிறேன்? ஒரு ஸ்மால், ஏனெனில் oring 'ஒரு' Ox20 கொண்டு, நான் ஒரு 1 இந்த ஒற்றை பிட் oring செய்ய போகிறேன்; அது ஒரு விஷயமே இல்லை, அதனால், ஏற்கனவே ஒரு 1 தான். எனவே நாம் 'ஒரு' மற்றும் 'ஒரு' கிடைக்கும். பிட்வைஸ் மற்றும். மீண்டும், நாங்கள் எங்கள் தருக்க மற்றும் எண்ணும் இந்த நினைக்க முடியாது. இடது பக்கத்தில் நாம் உண்மையான & உண்மை வேண்டும். அது உண்மையாக இருக்க போகிறது, மற்றும் நிகழ்வுகளில் அனைத்து , தவறான & உண்மை அல்லது உண்மை & தவறான, அல்லது தவறான & தவறான அந்த விஷயங்கள் எதுவும் உண்மை இருக்கிறது. எனவே நாங்கள் என்ன செய்து முடிவடையும் 1000 ஆகிறது. எனவே இப்போது, இங்கே, இங்கே நான் நம்பகமானவர் பிட்வைஸ் இல்லை பயன்படுத்தப்படும் எங்கே, நாம் Ox20 எங்கே. எனவே இந்த Ox20 ஆகிறது. இப்போது நான் என்ன செய்ய வேண்டும், பிட்வைஸ் Ox20 என்ற ~. என்று அனைத்து துணுக்குகள் புரட்ட போகிறது. அதனால் நான் 1101, 1111 வேண்டும். அதனால் 'அ' ~ Ox20 எனக்கு என்ன கொடுக்க போகிறார் கொண்டு anded? நாம் உண்மையில் பற்றி சிந்திக்க வேண்டும் மட்டுமே பிட், இந்த ஒரு ஆகிறது பின்னர், இந்த பிட்கள் அனைத்து 1 அமைக்கப்பட்டுள்ளது என்றால், நாம் சரியாக என்ன 'ஏ' இருந்தது பெற போகிறோம், தவிர, ஒருவேளை, இந்த பிட் உள்ளது. இது ஒரு 1 இருந்தால், இப்போது அது ஒரு 0 அமைக்க நடக்கிறது என்பதால் இது என்ன, இந்த 0 இருக்க போகிறது கொண்டு anded ஏனெனில். எனவே 'ஏ' ~ Ox20 எனக்கு கொடுக்க போகிறது & என்ன? [மாணவர்கள் பதில், செவிக்கு புலப்படாமல்] மற்றும் 'ஏ' மற்றும் என்ன - அது 'ஒரு' தான். மற்றும் 'ஏ' & ~ Ox20 எனக்கு கொடுக்க போகிறது? 'ஏ' இந்த தற்போது 1 என்பதால். இந்த 0 Anding, அது ஒரு 0 செய்ய போகிறது இப்போது நாம் ஒரு 'ஏ' போகிறோம். இருவரும் ', ஒரு' மற்றும் இந்த வகை குறைந்தது கடந்த ஆனால், நாம் எக்ஸ்ஓஆர் வேண்டும். இது மிகவும் போல இருக்கிறது அல்லது, அது பிரத்தியேகமாக பொருள் அல்லது தவிர. இந்த நீங்கள் வழக்கமாக அல்லது உண்மையான உலக பற்றி என்ன நினைக்கிறீர்கள் போல. எனவே நீங்கள் 'எக்ஸ்' அல்லது 'Y', ஆனால் இரண்டும் செய்கிறீர்கள். இங்கே ^ 1 1 0 போகிறது. உண்மை, ஏனென்றால், இந்த ஆகிறது - அது தருக்க உண்மையான மற்றும் பொய்யான அத்துடன் வேலை இல்லை , பிட்வைஸ் & மற்றும் அல்லது செய்ய ஆனால் உண்மை ^ உண்மை பொய். அவர்கள் ஒரு உண்மையாக இருந்தால் நாம் மட்டும் உண்மை திரும்ப வேண்டும், ஏனெனில். எனவே ^ 1 1 0 ஆகிறது. என்ன ^ 1 0 பற்றி? 1. ^ 0 1 ^ 0 0 0, 1 ஆகிறது. எனவே அனைத்து சூழ்நிலையிலும் 0 பிட்வைஸ் ஏதாவது 0 0 போகிறது. 1 பிட்வைஸ் ஏதாவது 0 அல்லது 0 பிட்வைஸ் 1, அது இருந்தால் | அல்லது ^, அது ஒரு 1 வேண்டும், மற்றும் அது & என்றால் அது 0 இருக்க வேண்டும். மற்றும் 1 பிட்வைஸ் 1 1 அல்ல வழக்கு மட்டுமே பிரத்தியேக அல்லது ஆகிறது. என்று 0110 தான். எனவே இங்கே இப்போது, எக்ஸ்ஓஆர் பயன்படுத்தி - நாம் மீண்டும் 20 மணிக்கு தான். 'ஒரு' ^ Ox20 நாம் ஒப்பிட்டு இந்த 2 பிட்கள். அதனால் 1 ^ 0 எனக்கு ஒரு என்ன கொடுக்க போகிறார்? ஒரு ஒரு. 'ஒரு' ^ Ox20 எனக்கு கொடுக்க போகிறார்? ஒரு ஸ்மால். 'ஒரு' ^ Ox20 எனக்கு கொடுக்க போகிறார்? மூலதன ஏ இந்த என்ன செய்தாலும், Ox20 இந்த XORing திறம்பட இந்த பிட் என்ன புரட்டுகிறது. இந்த ஒரு 0 என்றால், அது இப்போது ஒரு 1 ஆக நடக்கிறது. இந்த ஒரு 1 என்பதால், ^ 1 1 0 ஆகிறது. எனவே எங்கள் 'ஒரு' 'ஏ' மாறிவிட்டது, மற்றும் எங்கள் 'ஏ' 'ஒரு' மாறிவிட்டது. எனவே எக்ஸ்ஓஆர் வெறும் வழக்கு புரட்டுகிறது ஒரு எளிய வழி உள்ளது. நீங்கள் வெறும் கடிதங்களை ஒரு சரம் மீது மீண்டும் கூறு வேண்டும் மற்றும் ஒவ்வொரு தன்மையை வழக்கு மாற்று, Ox20 நீங்கள் தான் எக்ஸ்ஓஆர் எல்லாம். இப்போது நாம் மாற்றத்தை விட்டு. இடது shift அடிப்படையில், போகிறது ஒரு, அல்லது இடது எண்கள் அனைத்தும் தள்ள, மற்றும் அவர்களுக்கு பின்னால் 0 செருக. எனவே இங்கே நாம் 00001101 வேண்டும். நாம், சரியான இருந்து 3 0 தள்ள போகிறோம் நாம் 01101000 கிடைக்கும். Nonbinary வகையில், நாம் உண்மையில் 13 இடது மாற்றப்படும் 3, எங்களுக்கு 104 கொடுக்கிறது கையாள்வதில் என்று பார்க்க. எனவே இடது மாற்றுவதால், நாம் இங்கே பார்க்க, எக்ஸ் << Y அடிப்படையில் x * 2 ^ ஒய் ஆகிறது. ^ 3 13 * 2, ^ 3 2 எனவே * 8 13 104 ஆகும், 8 ஆகிறது. நீங்கள் தான் பொதுவாக இரும, எப்படி ஒவ்வொரு இலக்க ஐக்கிய பற்றி நினைத்தால், நாம் சரியான இருந்து ஆரம்பித்தால், அது 1 இடத்தில், பின்னர் 2 இடத்தில், 4 வது இடத்தில் இருக்கிறார். எனவே சரியான இருந்து 0 தள்ளும், நாம் தான், 8 இடத்திற்கு 4 இடத்தில் அந்த விஷயங்களை தள்ளும் 16 இடத்தில் 8 இடத்தில் இருந்தது என்று விஷயங்களை. ஒவ்வொரு ஷிப்ட் மட்டும் 2 பன்மடங்காக்குகிகிறது. சரி? நீங்கள் 5 மாற்றப்படும் [மாணவர்] என்ன நடக்கும்? [Bowden] நீங்கள் 5 மாற்றப்படும் என்றால் நீங்கள் இலக்கங்கள் இழக்க வேண்டும். தவிர்க்க முடியாமல், ஒரே விஷயம். போல், முழு மட்டும் 32 பிட்கள் இருக்கின்றன, நீங்கள் 2 பெரிய முழு சேர்க்க என்றால், அது ஒரு முழு எண்ணாக பொருந்தும் இல்லை. எனவே அதை இங்கே அதே விஷயம். நீங்கள் 5 மாற்றப்படும் என்றால், நாம் தான் என்று ஒரு இழக்க வேண்டும். என்று ", தோராயமாக" நான் அர்த்தம் என்ன வகையான தான் நீங்கள் மிகவும் மாற்ற என்றால், நீங்கள் பிட்கள் இழக்க. சரியான மாற்றத்தை எதிர் போகிறது, நாம், இறுதியில் ஆஃப் 0 உதைத்துவிட்டு போகிறோம் மற்றும் நமது நோக்கங்களுக்காக, இடது இருந்து 0 நிரப்ப. எனவே இதை, நாம் அடிப்படையில் நாம் ஏற்கனவே என்ன செய்தேன் மாற்றுகிறார். நாம், சரியான மூன்று 0 தான் சரிந்துள்ளது என்று பார்க்கிறோம் மற்றும் நாம் சரியான 1101 அனைத்து வழி தள்ளப்படுகிறது. இந்த திறம்பட, x / 2 ^ ஒய், இது, 104 3 செய்கிறார். எனவே இப்போது, இங்கே, அது போன்ற ஒரு யோசனை. ஏன் அது சுமார் x / 2 ^ y ஆகும், மற்றும் உண்மையில் x / 2 ^ Y? நான் 4 மாற்றப்படும் இருந்தால், நான் ஒரு 1 இழந்துள்ளனர் என்று ஏனெனில். அடிப்படையில், பொதுவாக முழு பிரிவு என்ன என்று, நினைக்கிறேன். எனவே, 5/2 2 ஆகிறது. இது 2.5 இல்லை. அதை இங்கே அதே யோசனை. நாம் 2 பிரிக்க, போது நாம் வழியில் கூலி பிட்கள் இழக்க முடியாது. எனவே இப்போது - என்று பிட்வைஸ் இது தான். என்று நீங்கள் தெரிந்து கொள்ள வேண்டும் அவ்வளவுதான். நாம் வர்க்கத்தின் பார்த்தேன் பயன்பாடு வழக்குகள் நினைவில், போன்ற ஒரு பிட் மாஸ்க், பிட்வைஸ் ஆபரேட்டர்கள் பயனுள்ளதாக இருக்கும் அல்லது நீங்கள் பிட் முகமூடிகள் அவற்றை பயன்படுத்த. மூலதன கடிதங்கள் மற்றும் கடிதங்கள் சிற்றெழுத்து, மாற்றங்கள் ஒரு அழகான வகைமாதிரியான உதாரணமாக இருக்கிறது. சரி, வழிதல் தாக்குதல்கள் தாங்குவதற்கு. யார் இந்த செயல்பாடு என்ன பிரச்சனை என்பதை நினைவில்? நாங்கள் 12 பைட்டுகள் ஒரு வரிசை, 12 எழுத்துகள், அறிவித்தார் பின்னர் நாம் 12 எழுத்துகள் முழு சரம் பட்டியில் எங்கள் இடையகத்திற்குள் நகலெடுக்கிறோம். அதனால் பிரச்சனை இங்கே என்ன? ஏன் 12 - மேஜிக் எண் 12 அழகான மிகவும் உடனடியாக வெளியே எடுக்க வேண்டும்? பட்டியில் 12 க்கும் அதிகமான பாத்திரங்கள் இருக்கும் நடக்கும் என்றால்? என்ன பட்டியில் எழுத்துக்கள் மில்லியன் கணக்கான இருந்தால்? இங்கே பிரச்சினை பிரதாப்குமார் ஆகிறது. பட்டியில் நீண்ட போதுமான இருந்தால், அது முற்றிலும் வேண்டும் - 'சி', 'சி' அது மட்டும் 12 எழுத்துகள் என்று கவலை இல்லை; 'சி' என்று பல பைட்டுகள் பொருந்தும் முடியாது என்று கவலைப்படவில்லை. அது முற்றிலும் எரிப்பதை மேலெழுதும், நாம் அதை ஒதுக்கீடு செய்து 12 பைட்டுகள், மற்றும் நினைவக அது கடந்த எல்லாம் உண்மையில் அந்த இடைப்பட்ட சொந்தமானது இல்லை என்று என்ன சரம் பட்டியில் உள்ளது. எனவே இந்த வர்க்க நாம் பார்த்த படம் இருந்தது நாங்கள் எங்கள் ஸ்டேக் வளர்ந்து எங்கே. இந்த படங்களை பயன்படுத்த அல்லது மீண்டும் அவர்களுக்கு தெரிந்திருந்தால் பெற வேண்டும். நாம் ஸ்டேக் வளர்ந்து வேண்டும், நினைவக முகவரிகள் மேல் 0 தொடங்கும் கீழே உள்ள 4 பில்லியன் போன்ற கீழே வளரும். நாம் எங்காவது நினைவாக நம் வரிசை 'சி' வேண்டும் நாம் அதை சரி அடியில் பட்டியில் எங்கள் சுட்டிக்காட்டி, மற்றும் நாம் இந்த சேமிக்கப்படும் சட்ட எங்கள் திரும்ப முகவரி சுட்டிக்காட்டி நமது பெற்றோர் வழக்கமான ஸ்டாக் வேண்டும். திரும்பி முகவரி என்ன ஆகும்? முக்கிய ஒரு டைரக்டரிக்களை, ஒரு செயல்பாடு, foo அழைத்தால், அது, தான் தவிர்க்க முடியாமல், மீண்டும் பார். எனவே போது பட்டியில் வருமானம், அவர்கள் அதை என்று, foo மீண்டும் நடக்கிறது என்று தெரிந்து கொள்ள வேண்டும். எனவே மீண்டும் முகவரியை போது செயல்பாட்டை மீண்டும் திரும்ப அது என்று செயல்பாடு முகவரி ஆகும். , வசதியாக, ஏனெனில் இடையக வழிதல் தாக்குதல்களுக்கு முக்கியம் என்று காரணம் ஹேக்கர்கள் என்று திரும்ப முகவரியை மாற்ற விரும்புகிறேன். அதற்கு பதிலாக மீண்டும் foo போகிறது, நான் மீண்டும் ஹேக்கர் என்னை திரும்பி போக வேண்டும், எங்கு செல்ல போகிறேன். மேலும், வசதியாக, ஹேக்கர் அடிக்கடி செல்ல வேண்டும், அங்கு நாம் முதலில் என்று தாங்கல் தொடக்கத்தில் உள்ளது. எனவே, மீண்டும், லிட்டில் இந்திய கவனிக்க. பயன்பாட்டிற்கான ஒரு லிட்டில் இந்திய அமைப்பு ஒரு உதாரணம் ஆகும், எனவே ஒரு முழு எண் அல்லது ஒரு சுட்டிக்காட்டி தலைகீழாக பைட்டுகள் சேமிக்கப்படுகிறது. எனவே இங்கே நாம் பார்க்க - இது? சரி. நாம் Ox80, OxC0, Ox35, OxO8 பார்க்கிறோம். அறுபதின்ம இலக்கங்கள் நினைவிருக்கிறதா? நாம், லிட்டில் இந்திய அறுபதின்ம இலக்கங்கள் தலைகீழாக இல்லை 2 அறுபதின்ம இலக்கங்கள் ஒரு பைட் அலங்காரம், மற்றும் நாம் பைட்டுகள் தலைகீழாக ஏனெனில். நாம் ஏன், போன்ற, 80530CO8 சேமிக்க வேண்டாம் தான். நாம் சரியான இருந்து தொடங்கி, அதற்கு பதிலாக, 2 இலக்கங்கள் ஒவ்வொரு ஜோடி சேமிக்கிறோம். அந்த முகவரி தொடக்க முகவரி குறிக்கிறது நாம் உண்மையில் முதல் இடத்தில் ஒரு நகல் வேண்டும் என்று எங்கள் தாங்கல். பயனுள்ளதாக இருக்கும் என்று காரணம் என்ன என்றால், ஏனெனில் தாக்குதல் அதற்கு பதிலாக என்று ஒரு சரம் கொண்டு, நடந்தது போன்ற ஒரு பாதிப்பில்லாத சரம், தங்கள் பெயர் அல்லது ஏதாவது, என்ன என்றால், அதற்கு பதிலாக, அந்த சரம் சில தன்னிச்சையான குறியீடு இருந்தன என்று அவர்கள் அதை செய்ய வேண்டும் என்ன செய்தார்? எனவே அவர்கள் - நான் எந்த குளிர் குறியீடு நினைக்க முடியாது. என்றாலும், அது ஒன்றும் இருக்க முடியும். எந்த பேரழிவு குறியீடு. அவர்கள் விரும்பினால், அவர்கள் தான் நொடி தவறுகளை ஏதாவது செய்ய முடியும், ஆனால் அந்த பிரயோஜனமும் இருக்காது. அவர்கள் பொதுவாக உங்கள் கணினியில் ஹேக் அதை செய்கிறார்கள். சரி. CS50 நூலகம். இந்த அடிப்படையில், GetInt, GetString, அந்த செயல்பாடுகளை நாம் வழங்கப்படுகிறது. நாம் எரிப்பதை * சரம் வேண்டும், என்று நாம் பறக்க என்று சுருக்க தான் செமஸ்டர் போது சில நேரத்தில். ஒரு சரம், கதாபாத்திரங்கள் ஒரு வரிசை உள்ளது என்பதை நினைவில் கொள்ளுங்கள். எனவே இங்கே நாம் GetString ஒரு சுருக்கமான பதிப்பு பார்க்கிறோம். நீங்கள் உண்மையில் செயல்படுத்தப்படும் எப்படி நினைவில் அது திரும்பி பார்க்க வேண்டும். முக்கிய விவரங்கள் உள்ளன, நாம் ஒரு நேரத்தில் ஒரு ஒற்றை தன்மை பெற கவனிக்கிறது எங்களை விசைப்பலகை தட்டச்சு போல இது, நிலையான இருந்து. எனவே ஒரு நேரத்தில் ஒரு ஒற்றை தன்மை, மற்றும் நாம் பல எழுத்துக்கள் கிடைக்கும் என்றால், எனவே n + 1 திறன் அதிகமாக இருந்தால், பின்னர் நாங்கள் எங்கள் தாங்கல் திறனை அதிகரிக்க வேண்டும். எனவே இங்கே நாம் நம் இடையக அளவு இருமடங்காக. என்று சென்று கொண்டிருக்கிறது; நாங்கள் எங்கள் இடையகத்திற்குள் எழுத்துக்களை நுழைக்க நாம் ஒரு புதிய வரி அல்லது கோப்பு அல்லது என்ன இறுதியில் பெறும் வரை, இதில், நாம் சரம் பின்னர் உண்மையான getString முடித்துவிட்டீர்கள் நாம் அதிக அளவு நினைவகத்தை ஒதுக்கீடு என்றால் அது திரும்பி சென்று ஒரு பிட் சுருக்க வேண்டும் போன்ற, நினைவகம் சுருங்கி. எனவே நாம் என்று காட்ட வேண்டாம், ஆனால் முக்கிய யோசனை அது ஒரு நேரத்தில் ஒரு ஒற்றை தன்மை படிக்க வேண்டும். அது தான் ஒரே நேரத்தில் ஒரு முழு விஷயத்தை வாசிக்க முடியாது, தங்கள் தாங்கல் மட்டுமே ஒரு குறிப்பிட்ட அளவு உள்ளது, ஏனெனில். அது தாங்கல் செருக முயற்சிக்கிறது என்று சரம் மிக பெரியது, அது வழிதல். எனவே இங்கே நாம் தடுக்கிறோம் என்று மட்டுமே ஒரு ஒற்றை தன்மை படித்து ஒரு நேரத்தில் நாம் தேவைப்படும்போது வளரும். எனவே GetInt மற்றும் பிற CS50 நூலகம் செயல்பாடுகளை GetString பயன்படுத்த முனைகின்றன தங்கள் செயலாக்கங்கள். எனவே நான் இங்கு முக்கியமான விஷயங்களை உயர்த்தி. இது ஒரு சரம் பெற GetString அழைக்கிறது. GetString நினைவக மீண்டும் தோல்வி என்றால், getString ஏதாவது mallocs நினைவில், அதனால் நீங்கள் GetString அழைப்பு போதெல்லாம் நீங்கள் (புரிந்து) உங்களுக்கு கிடைத்தது என்று சரம் விடுவிக்க கூடாது. அது ஏதோ malloc தவறினால் இங்கே, நாம் ஒரு கொடி என INT_MAX திரும்ப வேண்டும் என்று, ஏய், நாம் உண்மையில் ஒரு முழு எண் பெற முடியவில்லை. நான் உனக்கு திரும்ப என்ன புறக்கணிக்க, அல்லது வேண்டும் நீங்கள் சரியான உள்ளீடு இந்த சிகிச்சை கூடாது. இறுதியாக, அந்த வெற்றி பெற்றாலும் அனுமானித்து, நாம், சிறப்பு கொடி sscanf பயன்படுத்த அதாவது, முதல் ஒரு முழு பொருத்த, பின்னர் அந்த முழு பின்னர் எந்த எழுத்தையும் பொருத்தாது. நாம் அது 1 சமமாக வேண்டும் கவனிக்கிறது. எனவே sscanf வருமானத்தை வெற்றிகரமாக எத்தனை போட்டிகளில் செய்தால் என்ன செய்வது? அது வெற்றிகரமாக ஒரு முழு பொருந்தும் என்றால் அது 1 வரும், அது ஒரு முழு எண் பொருந்தவில்லை என்றால் அதை 0 திரும்புவார், அது 2 வரும் அது பொருந்தும் என்றால் ஒரு முழு சில தன்மையை தொடர்ந்து. எனவே நாம் 1 ஆனால் எதுவும் பொருந்தவில்லை என்றால் நாம் மீண்டும் கவனிக்கிறது. எனவே நாம் உள்ளிட்ட 1, 2, 3, C, 1, 2, 3, எக்ஸ், பின்னர் 1, 2, 3 முழு இல் சேமிக்கப்படும் என்று, எக்ஸ், பாத்திரம் சேமிக்கப்படுகிறது நாம் ஒரு முழு வேண்டும், ஏனெனில், sscanf 2 திரும்ப வேண்டும், மற்றும் நாம் மீண்டும் வேண்டும். விரைவாக HTML, HTTP, CSS மூலம் வீசுகிறது. மீயுரை குறியீட்டு மொழி வலை அமைப்பு மற்றும் பொருள்கள் ஆகும். இங்கே நாம் HTML குறிச்சொற்களை எங்கே விரிவுரை இருந்து உதாரணம் ஆகும். நாம் தலை குறிச்சொற்களை, உடல் குறிகள், வேண்டும் நாம், நாம் உண்மையில் ஒரு தொடக்க மற்றும் நெருங்கிய டேக் இல்லை, அங்கு காலியாக குறிச்சொற்களை உதாரணங்கள் உண்டு நாம் வெறும் இணைப்பை மற்றும் பட வேண்டும். எந்த இறுதி படம் டேக் உள்ளது; டேக் செய்ய வேண்டும் எல்லாம் செயல்படுத்தப்பட்டது என்று ஒரு ஒற்றை tag உள்ளது. இணைப்பு ஒரு உதாரணம்; நாங்கள் நீங்கள் CSS இணைக்க எப்படி பார்க்க வேண்டும், ஸ்கிரிப்ட் நீங்கள் ஒரு வெளிப்புற ஜாவா இணைக்க எப்படி ஒரு எடுத்துக்காட்டாக உள்ளது. இது HTML ஒரு நிரலாக்க மொழி அல்ல, மிகவும் நேரடியான தான், நினைவில். இங்கே, நீங்கள் இதை செய்ய வேண்டும் என்ன ஒரு வடிவத்தில் வரையறை அல்லது குறைந்த பட்சம் எப்படி ஞாபகம்? அத்தகைய ஒரு வடிவம் ஒரு நடவடிக்கை மற்றும் ஒரு முறை உள்ளது. நீங்கள் மட்டும் எப்போதும் பார்க்க முறைகள் அவைகளை இருக்கின்றன. எனவே GET விஷயம் URL ஐ வைத்து விடும் அங்கு பதிப்பு. அதை URL ஐ வைத்து இல்லை அமைந்துள்ள போஸ்ட். அதற்கு பதிலாக, வடிவத்தில் இருந்து எந்த தரவு HTTP கோரிக்கை மேலும் மறைக்கப்பட்ட சேர்க்கப்பட்டது. HTTP கோரிக்கை சென்று அங்கு இங்கு, நடவடிக்கை வரையறுக்கிறது. அதை நடக்கிறது எங்கே google.com / தேடல் இருக்கிறது. முறை. அவைகளை இடையே வேறுபாடுகள் நினைவில், நீங்கள் புக்மார்க் ஏதாவது செய்ய வேண்டும் என்றால், வெறும், ஒரு உதாரணமாக சொல்ல. நீங்கள் ஒரு இடுகையில் URL ஐ புக்மார்க் முடியாது தரவு URL ஐ சேர்க்கப்படவில்லை ஏனெனில். HTTP, இப்போது, மீயுரை பரிமாற்ற நெறிமுறை ஆகும். மீயுரை பரிமாற்ற நெறிமுறை, நீங்கள் அதை மாற்ற எதிர்பார்ப்பதை மீயுரை குறியீட்டு மொழி, மற்றும் அது. ஆனால் இது நீங்கள் இணையத்தில் காணலாம் எந்த படங்களை மாற்றிவிட்ட, நீங்கள் எந்த இறக்கம் ஒரு HTTP கோரிக்கையை தொடங்கலாம். எனவே HTTP தான் உலகளாவிய வலை மொழி. இங்கே நீங்கள், ஒரு HTTP கோரிக்கையை இந்த வகையான அங்கீகரிக்க வேண்டும். பக்கத்தில் இங்கே HTTP/1.1 என்று பதிப்பு தான் என்கிறார் நெறிமுறை நான் பயன்படுத்தி வருகிறேன். நீங்கள் அதை பார்க்க வேண்டும் என அது மிகவும் அதிகமாக எப்போதும், HTTP/1.1 இருக்க போகிறது. நாம் இந்த நீங்கள் பார்க்க வேண்டும் என்று, மாற்று பதவியை பெற என்று பார்க்கிறோம். நான் பார்க்க முயற்சி என்று URL www.google.com/search?q = அபத்தம், அபத்தம், அபத்தம் இருந்தது. எனவே நினைவில் இந்த கேள்வி குறி q = அபத்தம் அபத்தம் அபத்தம், ஒரு வடிவம் சமர்ப்பிக்க என்று பொருள் வகையான ஆகிறது. அது எனக்கு திரும்ப வேண்டும் பதில் இந்த மாதிரி ஏதாவது இருக்கும் என்று. மீண்டும், அந்த போகிறது என்பது நெறிமுறை, தொடங்கி, நிலை குறியீட்டை தொடர்ந்து. இங்கே அது 200 சரி தான். இறுதியாக, நான் உண்மையில் கேட்ட வலைப்பக்கத்தில் தொடர்ந்து இருக்கும். சாத்தியமான நிலையை குறியீடு நீங்கள் பார்க்க வேண்டும், மற்றும் நீங்கள் இன்னும் பல தெரிந்து கொள்ள வேண்டும். 200 சரி ஒருவேளை நீங்கள் முன் பார்த்திருக்கிறேன். 403 Forbidden, 404 கிடைக்கவில்லை, 500 உள்ளார்ந்த சேவையக பிழை நீங்கள் ஒரு இணைய தளத்தில் சென்று ஏதாவது உடைந்த அல்லது தங்கள் PHP குறியீடு விபத்துக்கள், வழக்கமாக இருக்கிறது பயன்பாட்டிற்கான நாம் அதேசமயம் பெரிய ஆரஞ்சு பெட்டியில் என்று வரும் போன்ற, ஏதாவது தவறு என்கிறார், இந்த குறியீடு வேலை இல்லை அல்லது இந்த செயல்பாடு மோசமான. பொதுவாக, இணைய தளங்கள், நீங்கள் செயல்பாடுகளை உண்மையில் மோசமாக இருக்கும் என்பதை தெரிந்தும் விரும்பவில்லை எனவே அதற்கு பதிலாக அவர்கள் தான் நீங்கள் 500 உள்ளார்ந்த சேவையக பிழை கொடுக்க வேண்டும். டிசிபி / ஐபி HTTP கீழ் 1 அடுக்கு ஆகும். இணைய உலகளாவிய வலை வெளியே உள்ளது என்பதை நினைவில் கொள்ளுங்கள். போன்ற நீங்கள் HTTP வழியாக செல்ல முடியாது என்று ஒரு பெரிய விளையாட்டு விளையாட வேண்டும், அது ஒரு வித்தியாசமான மூலம் நடக்கிறது - அது இன்னும் இணையத்தில் பயன்படுத்தி, ஆனால் இது HTTP பயன்படுத்த முடியாது. HTTP, TCP / IP கட்டப்பட்டது நெறிமுறை ஒரு உதாரணம் ஆகும். ஐபி மொழியில் இணைய நெறிமுறை என்று பொருள். ஒவ்வொரு கணினி IP முகவரியை கொண்டிருக்கும்; அவர்கள் அந்த 4 இலக்க ஐக்கிய விஷயங்கள் உள்ளன 192.168.2.1, அல்லது அதை போன்ற; என்று ஒரு உள்ளூர் ஒன்று இருக்கிறது. ஆனால் அந்த ஒரு ஐபி முகவரி முறை ஆகும். எனவே, DNS, டொமைன் பெயர் சேவை, ஒரு உண்மையான ஐபி முகவரியை google.com போன்ற விஷயங்களை மொழிபெயர்த்தால் என்ன. எனவே நீங்கள் ஒரு URL ஐ ஒரு ஐபி முகவரி தட்டச்சு செய்தால், என்று கூகிள் கொண்டு வர வேண்டும், ஆனால் நீங்கள் அந்த விஷயங்களை நினைவில் இல்லை முனைகின்றன. நீங்கள் பதிலாக google.com நினைவில் முனைகின்றன. நாம் கடந்த விஷயம் இந்த ஐபி டிசிபி பகுதியாக உள்ளது அங்கு துறைமுகங்கள், ஆகிறது. டிசிபி அதிகமாக இல்லை. நீங்கள் உங்கள் இணைய உலாவி இயங்கும், போன்ற, பற்றி சிந்தியுங்கள். ஒருவேளை நீங்கள் சில மின்னஞ்சல் பயன்பாடு இயங்கும்; ஒருவேளை நீங்கள் இணையத்தில் இயங்கும் பயன்படுத்தும் சில திட்டம் உள்ளது. அவர்கள் அனைத்து இணைய அணுகல் வேண்டும், ஆனால் உங்கள் கணினியில் மட்டுமே 1 WiFi அட்டை அல்லது என்ன உள்ளது. எனவே துறைமுகங்கள் நாம் பிரிந்து முடியும் என்று வழி இந்த பயன்பாடுகள் இண்டர்நெட் பயன்படுத்த முடியும் என்பதை. ஒவ்வொரு பயன்பாடு, அதை கேட்க முடியாது என்று 1 குறிப்பிட்ட துறைமுகம் வருகிறது இயல்புநிலையில், HTTP துறை 80 பயன்படுத்துகிறது. சில மின்னஞ்சல் சேவைகள் 25 பயன்படுத்த. குறைந்த எண் ஒன்றை ஒதுக்கீடு வேண்டும் முனைகின்றன. நீங்கள் வழக்கமாக உங்களை அதிக எண் ஒன்றை பெற முடியும். CSS, நடைதாள்கள். CSS நாம் பாணி வலை பக்கங்கள், இல்லை HTML உடன். உங்கள் CSS முடியும் 3 இடங்களில் உள்ளன. அது பாணி குறிச்சொற்களை இடையே, அல்லது முற்றிலும் தனி கோப்பில் பின்னர் உள்ளே இணைக்கப்பட்ட, இன்லைன் இருக்க முடியும் மற்றும் இங்கே CSS ஒரு உதாரணம் ஆகும். இந்த முறை அங்கீகரிக்க வேண்டும், முதல் உதாரணம் நாம் உடல் டேக் பொருந்தும், அங்கு மற்றும் இங்கே நாம் உடல் டேக் மையமாக. இரண்டாவது உதாரணமாக, நாம் தான் பொருந்தும் ஐடி முடிப்பு, நாம் சில வடிவங்களில் விண்ணப்பிக்கும். இடது என்று ஐடி முடிப்பு உரை வழிகாட்டல் கவனிக்க, உடல் உரை வழிகாட்டல் மையம், அதேசமயம். அடிக்குறிப்பு உடலில் இருக்கிறது. அதற்கு பதிலாக, text-align நான் உடல் text-align நான் சென்டர் சொல்வது கூட, விட்டு. இது முழு அடுக்கு பகுதியாக உள்ளது. நீங்கள் முடியும் - நீங்கள் உடல் பாணிகள் குறிப்பிட முடியும், பின்னர் உடல் விஷயங்களை நீங்கள் இன்னும் குறிப்பிட்ட வடிவங்களில் குறிப்பிட முடியும், மற்றும் விஷயங்களை நீங்கள் எதிர்பார்ப்பது போல் வேலை. மேலும் குறிப்பிட்ட CSS குறிப்புகளை முன்னுரிமை. நான் நினைக்கிறேன். [அலி Nahm] அனைவருக்கும் வணக்கம். நான் உங்கள் கவனத்தை பெற முடியும் என்றால். நான் அலி இருக்கிறேன் மற்றும் நான் வேகமாக PHP மற்றும் SQL செல்ல போகிறேன். எனவே நாம் தொடங்க முடியும். PHP PHP குறுகிய: ஹைபர்டெக்ஸ்ட் ப்ரிப்ராஸசசர். நீங்கள் அனைத்து தெரிய வேண்டும் என, அது ஒரு சர்வர் ஸ்கிரிப்டிங் மொழி, நாம் வலைத்தளங்களில் மீண்டும் இறுதியில் அதை பயன்படுத்த, அது கணிப்புகளுக்கு, திரைக்கு பகுதியாக நிறைய எவ்வாறு. தொடரியல். இது சி, ஆச்சரியம், ஆச்சரியம் இல்லை. நான் மேலே செல்ல முடியாது - அது எப்போதும் நீங்கள் பார்க்க முடியும் என்றால், தொடங்க உள்ளது. நீங்கள் பிரேஸ்களின் புதிய வகையான வேண்டும் பார்க்க முடியும் மற்றும் நீங்கள்? PHP வேண்டும். என்று நீங்கள் உங்கள் PHP உரை, உங்கள் PHP குறியீடு மாட்ட வேண்டும் என்பதை எப்போதும். அதனால் தான் நீங்கள் வகையான முதல் அதை வைத்து அங்கு சி, இப்படி இருக்க முடியாது. நீங்கள் எப்போதும் அதை சுற்றியுள்ள வேண்டும். இப்போது, முக்கிய தொடரியல் அனைத்து மாறிகள் $ தன்மையை தொடங்க வேண்டும் என்று ஆகிறது. நீங்கள் அவர்களை வரையறுக்கும் போது அதை செய்ய வேண்டும் நீங்கள் அதை செய்ய வேண்டும் நீங்கள் பின்னர் அவர்களை குறிப்பிடும் போது. நீங்கள் எப்போதும் $ வேண்டும். அது மிகவும் அதிகமாக, உங்கள் புதிய சிறந்த நண்பர் தான். நீங்கள் வேண்டாம் - சி போலல்லாமல், நீங்கள் அது மாறி வகை வகையான வைக்க தேவையில்லை. நீங்கள் $ வேண்டும் போது, அதனால், நீங்கள்,, போட வேண்டிய அவசியம் இல்லை , int x அல்லது சரம் Y, முதலியன, முதலியன. எனவே ஒரு சிறிய வேறுபாடு. இந்த விளைவாக, அது PHP ஒரு பலவீனமாக வகை உள்ளது என்று அர்த்தம். PHP ஒரு பலவீனமாக வகை மொழி, மற்றும் அதை பலவீனமாக மாறிகள் தட்டச்சு. வேறுவிதமாக கூறினால், நீங்கள் மாறி வகையான பல்வேறு வகையான மாற முடியும் என்று அர்த்தம். நீங்கள் ஒரு முழு எண்ணாக உங்கள் எண் 1 சேமிக்க முடியும், நீங்கள் ஒரு சரம் அதை சேமிக்க முடியும், மற்றும் நீங்கள் ஒரு மிதவை அதை சேமிக்க முடியும், அது அனைத்து அந்த எண் 1 இருக்கும். நீங்கள் வெவ்வேறு வடிவங்களில் அதை சேமித்து கூட, அது இன்னும் இருக்கிறது - மாறி வகையான இன்னும் இறுதியில் வைத்திருக்கும். எனவே நீங்கள் இங்கே இருக்கும் என்றால், நீங்கள் pset 7 நினைவில் இருந்தால், நீங்கள் பல அநேகமாக இந்த பிரச்சினைகள் இருந்தது. இரு சம அடையாளங்கள், 3 சம அடையாளங்கள், 4 சம அடையாளங்கள். சரி, எந்த 4 சம அறிகுறிகள் உள்ளன, ஆனால் 2 மற்றும் 3 உள்ளன. நீங்கள் மதிப்புகள் சரிபார்க்க 2 சம அடையாளங்கள் பயன்படுத்த. இது வகைகள் முழுவதும் பார்க்கலாம். எனவே நீங்கள் முதல் உதாரணமாக பார்க்க முடியும் என்றால், நான் num_int == num_string வேண்டும். எனவே உங்கள் எண்ணாக உங்கள் சரம் இருவரும், தொழில்நுட்ப, 1, ஆனால் அவர்கள் பல்வேறு வகையான இருக்கிறார்கள். ஆனால் இரட்டை சமமாக, அது இன்னும் கடக்க வேண்டும். எனினும், மூன்று சமமாக, அது மதிப்பு, அத்துடன் பல்வேறு வகையான சரிபார்க்கிறது. அதாவது, அது, இங்கே இரண்டாவது வழக்கு அனுப்ப போவதில்லை என்று அர்த்தம் நீங்கள் பதிலாக 3 சமமாக அடையாளங்களை பயன்படுத்தி நீங்கள் எங்கே. அதனால் நீங்கள் இப்போது பார்க்க வேண்டும் என்று ஒரு பெரிய வித்தியாசம் இருக்கிறது. சர சங்கிலி நீங்கள் PHP பயன்படுத்த முடியும் மற்றொரு சக்திவாய்ந்த விஷயம். அது, அடிப்படையில் தான் இந்த எளிது டாட் தான் என்று நீங்கள் ஒன்றாக சரங்களை பிணைக்க முடியாது என்பதை தான். எனவே நீங்கள் கேட் மற்றும் நீங்கள் நாய் வேண்டும், மற்றும் நீங்கள் ஒன்றாக 2 சரங்களை போட வேண்டும் என்றால், நீங்கள் காலம் பயன்படுத்த முடியும், மற்றும் அது எவ்வாறு வகையான தான். நீங்கள் தான் ஒருவருக்கொருவர் அடுத்த இடத்தில் அவர்களை வைக்க முடியும், நீங்கள் கீழே எடுத்துக்காட்டாக இங்கே பார்க்க முடியும் என, நான் சரம் 1, விண்வெளி சரம் 2 எதிரொலி அங்கு. PHP போன்ற அவர்களுக்கு பதிலாக தெரியும். வரிசைகள். இப்போது, PHP இல், வரிசைகள் 2 வெவ்வேறு வகையான உள்ளன. நீங்கள் வழக்கமான வரிசைகள் முடியும், மற்றும் நீங்கள் துணை வரிசைகள் முடியும், நாம் இப்போது அவர்கள் மூலம் செல்ல போகிறோம். வழக்கமான வரிசைகள், இந்த சி அதனால் நீங்கள் எண்ணப்படுகின்றன என்று குறியீடுகள் வேண்டும். இப்பொழுது, நாம் ஒரு உருவாக்க போகிறது மற்றும் வைத்து - இந்த நாம் ஒரு வெற்று வரிசை உருவாக்க எப்படி, நாம் போகிறோம் குறியீட்டு எண் 0 போடப்படுகிறது. நாம் எண் 6, மதிப்பு 6 வைக்க போகிறோம். நீங்கள் இங்கே கீழே காணலாம். Where's - குறியீட்டு எண் 1 இல் நாம் மதிப்பு எண் 4 வைக்க போகிறோம் அதனால் நீங்கள் ஒரு 6 அங்கு பார்க்க முடியும், ஒரு 4, அங்கு பின்னர் நாம் விஷயங்களை அச்சிடும் என, நாம் முயற்சி மற்றும் குறியீட்டு எண் 0 சேமிக்க மதிப்பு அச்சிட போது, பின்னர் நாம் வெளியே அச்சிடப்பட்டு வருகின்றன 6 மதிப்பு பார்க்கிறேன். கூல்! அதனால் நீங்கள் வழக்கமான வரிசைகள் தான். நீங்கள் இப்போது வழக்கமான வரிசைகள் விஷயங்களை சேர்க்க முடியும் மற்றொரு வழி நீங்கள் முடிவில் அவர்கள் சேர்க்க முடியும். என்று நீங்கள் குறிப்பிட்ட குறியீட்டு குறிப்பிட வேண்டிய அவசியம் இல்லை என்று அர்த்தம். நீங்கள் பல பார்க்க முடியும், பின்னர் சதுர அடைப்புக்குறிக்குள் குறிப்பிட்ட குறியீட்டு இருக்கிறது. அது தெரியும் - PHP பட்டியலில், அடுத்த இலவச ஸ்பாட் இறுதியில் அதை சேர்க்க தெரியும். அதனால் நீங்கள் அந்த 0 இடத்தில் அங்கு 1 பார்க்க முடியும் 2 முதல் இடத்தில் அங்கு சென்றார். 3 செல்கிறது - அத்துடன் அங்கு சேர்க்கப்படும். அதனால் அந்த மாதிரியான அர்த்தம். நீங்கள் தொடர்ந்து அதை சேர்த்து வருகிறோம், பின்னர் நாம், எண் 1, குறியீட்டு எதிரொலிக்கும் போது அது மதிப்பு 2 அவுட் அச்சிட முடியாது. நாம் துணை வரிசைகள் என்று வரிசைகள். அதற்கு பதிலாக எண் குறியீடுகள் கொண்ட துணை வரிசைகள்,, அவர்கள் என்ன செய்ய அவர்கள் சரம் என்று குறியீடுகள், ஆகிறது. நீங்கள் பதிலாக, பார்க்க முடியும் - நான் அந்த எண்ணை குறியீடுகள் கைவிட்டனர், இப்போது அது key1, key2, key3, மற்றும் அவர்கள் அனைத்து சரங்களை இருக்கும் என்று குறிப்பிட்ட இரட்டை மேற்கோளில் இருக்கும். எனவே நாம் இந்த ஒரு உதாரணம் இருக்க முடியும். இந்த உதாரணம் நாம் TF வேண்டும் என்று, அந்த குறியீட்டு பெயர். நாம், கலோரி சாப்பிட்டுவிட்டேன், குறியீட்டு, பெயர் "அலி" வைக்க போகிறோம் நாம் அதற்கு பதிலாக ஒரு சரம் ஒரு எண்ணாக இந்த நேரத்தில் வைக்க முடியாது, பின்னர் குறியீட்டு பிடிக்கும், நாம் அது உள்ளே ஒரு முழு வரிசை வைக்க முடியாது. எனவே இந்த வகையான - இது நாம் எப்படி ஒரு ஒத்த கருத்து தான் எண்கள் குறியீடுகள், ஆனால் இப்போது நாம் சுற்றி குறியீடுகள் மாற்ற முடியும் அதற்கு பதிலாக சரங்களை போல வேண்டும். நீங்கள், தனித்தனியே செய்து தவிர, இதை செய்ய முடியும் நீங்கள் ஒரு துண்டின் அதை செய்ய முடியும். அதனால் நீங்கள் அந்த வரிசைக்கு என்று TF பார்க்க முடியும் மற்றும் நாம் ஒரு பெரிய சதுர அடைப்புக்குறி கணம் அவர்களை அனைத்து அமைத்தோம். அதனால் விஷயங்களை வேகமாக முடியும். அது இல்லை விட ஒரு நவீனமான தேர்வு தான். நாங்கள் சுழல்கள் வேண்டும். சி நாம் இந்த மாதிரி வேலை என்று சுழல்கள் வேண்டும். நாங்கள் எங்கள் வரிசை என்று, நாம் பட்டியலை இறுதி குறியீட்டு 0 சென்றார், நாம் சரி, அது அச்சிட? , பிரச்சனை துணை வரிசைகள், என்பது தவிர நாம் அவசியம் அந்த எண் குறியீடுகள் தெரியாது இப்போது நாம் சரம் குறியீடுகள் உள்ளன. இப்போது நாம் மீண்டும், நீங்கள் வட்டம் pset 7 பயன்படுத்தப்படும் இது, foreach சுழல்கள், பயன்படுத்த. Foreach சுழல்கள் பட்டியலில் ஒவ்வொரு பகுதியாக தெரியும். அதை நீங்கள் என்று சரியாக எண் குறியீட்டு தெரிய இல்லை. எனவே நீங்கள் வரிசையாக வைத்து, நீங்கள் foreach தொடரியல் வேண்டும், அது foreach தான். , என் வரிசை ஒத்திகை என்று அழைக்கப்படுகிறது, மற்றும் பின் வார்த்தை பிறகு நீங்கள் பயன்படுத்த போகிறோம் என்று இந்த உள்ளூர் தற்காலிக மாறி வைத்து தான் குறிப்பிட்ட நடத்த நடக்கிறது என்று குறிப்பிட்ட விஷயம் - உதாரணமாக ஒரு வரிசை ஒரு பகுதியில். , Pset எண் 1 நடத்த வேண்டும், ஒருவேளை அது எண் 6 நடத்த வேண்டும் பின்னர் அது எண் 2 நடத்த வேண்டும். ஆனால் அது வரிசையில் தான் என்று ஒவ்வொரு மதிப்பு செல்ல உத்தரவாதம். நீங்கள் PHP தெரிய வேண்டும் என்று பயனுள்ள செயல்பாடுகளை தேவைப்படுகிறது, வெளியேறவும், காலியாக, எதிரொலி, அதனால், நீங்கள் குறிப்பிட்ட கோப்புகள் உட்பட உறுதி செய்கிறது. நான் மிகவும் நீங்கள் pset 7 பார்த்து அந்த செயல்பாடுகளை பாருங்கள் பரிந்துரைக்கிறேன். நீங்கள் அந்த தெரியும் வேண்டும், நான் நிச்சயமாக சரியாக, அந்த அனைத்து என்ன செய்கிறாய், தெரியும். இப்போது நாம் உண்மையில் விரைவாக நோக்கம் வழியாக செல்ல போகிறோம். நோக்கம், PHP, சி போலல்லாமல், ஒரு பங்கி விஷயம் என்ன இருக்கிறது எனவே நாம் தான் விரைவாக செல்ல போகிறோம். எனவே நாம் அங்கு வேண்டும் என்று அம்புக்குறி மணிக்கு தொடங்கும் என்று. நாம் $ நான் தொடங்க போகிறோம். எனவே மாறுபடும் 'நான்', 0 போகிறது நாங்கள் அங்கு மீது அந்த பெரிய வெள்ளை பெட்டியில் அதை அச்சிட்டு வைக்க போகிறோம். நாம் I0 தொடங்க போகிறோம், நாம் அதை எதிரொலிக்கும் போகிறோம். எனவே 0 இருக்கிறது. பின்னர் நாம், வளைய அதை அதிகப்படுத்த போகிறோம் பின்னர் அது 1 மதிப்பை இருக்க போகிறது. , ஒரு குறைவான 3 ஆகிறது, அது லூப் என்று கடந்து நடக்கிறது பின்னர் நாம் அதனை மீண்டும் அச்சிடப்பட்ட பார்க்க போகிறோம். நாம், 2 மீண்டும் அதை அதிகப்படுத்த போகிறோம் மற்றும் 2 குறைவான 3 ஆகிறது, அது லூப் அனுப்ப வேண்டும், அது 2 அச்சிட வேண்டும். நீங்கள் 3 3 குறைவாக உள்ளது என்று குறிப்பிட வேண்டும், நாம் லூப் வெளியே உடைக்க வேண்டும். எனவே இப்போது நாம் வெளியேறிவிட்டது, மற்றும் நாம் செயலிழப்பு போக போகிறோம். சரி. எனவே நீங்கள், இந்த மாறி நாம் உருவாக்கிய என்பதை வேண்டும் 'நான்' மாறி, உள்ளமைவாக ஆகியவற்றை இல்லை. அது வளைய உள்ளூர் அல்ல என்று பொருள், என்று மாறி நாம் இன்னும் அணுக பின்னர் மாற்ற, மற்றும் அது இன்னும் பயனுள்ளதாக இருக்கும் முடியும். நீங்கள் இப்போது செயல்பாடு போக, அதனால், நீங்கள், நாங்கள் 'நான்' மாறி பயன்படுத்த என்று பார்க்க வேண்டும் நாம் 'நான்' அதிகப்படுத்த + + போகிறோம். நீங்கள் அந்த 'நான்' மாறி ஒரு பிரதியை என்று, சி அடிப்படையில், முதலில், என்று கூறினார். அது சரி, இது, ஒரு முற்றிலும் வேறுபட்ட விஷயம். நாம் அது அச்சிட போது, நாம் வெளியே அச்சிட போகிறது இது, 'நான்' + அச்சிட போகிறோம் என்று 4, மன்னிக்கவும் - நாம் என்ன செய்ய போகிறோம். பின்னர் அந்த செயல்பாடு வெளியே போகிறோம், நாம் அந்த அம்பு இப்போது எங்கு போகிறோம். பின்னர், எனினும், செயல்பாடு 'நான்' மதிப்பு மாற்றப்பட்டது கூட என்று அர்த்தம், அதை வெளியே செயல்பாடு மாற்ற முடியவில்லை, செயல்பாடு ஒரு தனி நோக்கம் உள்ளது, ஏனெனில். என்று, நாம் 'நான்' எதிரொலி போது, அதை செயல்பாடு நோக்கம் மாறவில்லை என்று அர்த்தம் எனவே நாம் மீண்டும் 3 அச்சிட போகிறோம். சி விட PHP இல் நோக்கம் பற்றி பல்வேறு விஷயங்களை இப்போது PHP மற்றும் HTML. PHP வெப் பக்கங்கள் மாறும் செய்ய பயன்படுத்தப்படுகிறது. இது மாதிரியான விஷயங்களை வேறு செய்கிறது. நாம் HTML இருந்து வேறுபட்ட வேண்டும். HTML உடன், நாங்கள் எப்போதும் தான், ராப் எப்படி காட்டியது போன்ற அதே நிலையான விஷயம், PHP அதேசமயம், நீங்கள் பயனர் யார் அடிப்படையாக விஷயங்களை மாற்ற முடியும். நான் இந்த வேண்டும் என்றால், நான், "நீங்கள் உள்நுழைந்திருக்க -" மற்றும் பின்னர் பெயர், நான் பெயரை மாற்ற முடியும். எனவே இப்போது பெயர் ஜோசப் ஆகிறது அது ", என்னை பற்றி" ஆனால் பின்னர் நான் டாமி பெயரை மாற்ற முடியும். என்று வேறு ஒரு விஷயம் இருக்கும். எனவே நாங்கள் அவரை பற்றி பல்வேறு விஷயங்களை மாற்ற முடியும், அது பெயர் அடிப்படையில் வேறுபட்ட உள்ளடக்கத்தை காண்பிக்கும். எனவே PHP வகையான உங்கள் இணையதளத்தில் என்ன நடக்கிறது மாற்ற முடியும். அதே இங்கே. இன்னும், அவர்கள் வேறுபட்ட உள்ளடக்கத்தை வேண்டும் என்பதை, நீங்கள் தொழில்நுட்ப இன்னும் மேற்பரப்பில் அதே வலைப்பக்கத்தில் அணுகும் கூட. HTML உருவாக்கும். நீங்கள் இதை செய்ய முடியும் என்று 2 வெவ்வேறு வழிகள் உள்ளன. எனவே நாம் இப்போதே செல்ல வேண்டும். முதல் வழி நீங்கள், - ஆமாம், மன்னிக்கவும். எனவே நீங்கள் தான், PHP இல் லூப் உங்கள் வழக்கமான வேண்டும் பின்னர் நீங்கள் PHP எதிரொலி மற்றும் நீங்கள் HTML வெளியே எதிரொலிக்கும். ராப், HTML ஸ்கிரிப்ட் நீங்கள் காட்டியது என்ன பயன்படுத்தி பின்னர் தான் வலை பக்கம் அதை அச்சிட PHP அச்சு பயன்படுத்தி. மாற்று வழி நீங்கள் PHP மற்றும் HTML பிரித்து என்றால் அது செய்ய உள்ளது. எனவே நீங்கள், லூப் தொடங்கும் என்று PHP இன் ஒரு வரி முடியும் நீங்கள் ஒரு தனி விஷயம் HTML ஐ வரி இருக்க முடியும், பின்னர் நீங்கள் ஒரு PHP கொண்டு, மீண்டும், சுழற்சி முடிவுக்கு. எனவே அது மாதிரி வெளியே பிரிக்கும். இடது பக்கத்தில், நீங்கள் வேண்டும் என்று அனைத்து - இது PHP வெறும் 1 துண்டின் தான். சரி நீங்கள், நீங்கள் PHP ஒரு வரி உண்டு என்று பார்க்க முடியும் நீங்கள் HTML ஒரு வரி வேண்டும், மற்றும் நீங்கள் மீண்டும் PHP ஒரு வரி உண்டு. எனவே அவர்கள் என்ன செய்கிறார்கள் என்பதை அதை வெளியே பிரிக்கும். நீங்கள் அந்த வழியில், அவர்கள் இருவருக்கும், குறிப்பிட வேண்டும் அவர்கள் இன்னும் படத்தை அச்சிட, படம், படத்தை, அதனால் HTML இன்னும் அதே வழியில் அச்சிடப்படும். பின்னர் நீங்கள் இன்னும் 3 படங்கள் உங்கள் வலைத்தளத்தில் காண்பிக்கப்படும் பார்க்க வேண்டும். எனவே அதையே செய்து 2 வெவ்வேறு வழிகளில் தான். இப்போது நாம் வடிவங்கள் மற்றும் கோரிக்கைகள் வந்துள்ளன. ராப், நீங்கள் காண்பித்தது போல் அங்கு HTML வடிவங்களில் உள்ளன, நாம் இந்த வழியாக தென்றல். நீங்கள் ஒரு நடவடிக்கை மற்றும் ஒரு முறை, மற்றும் உங்கள் நடவடிக்கை வகையான நீங்கள் அதை அனுப்ப போகிறோம் என்று காட்டுகிறது, மற்றும் முறை என்பது அது ஒரு அல்லது ஒரு POST இருக்க போகிறது. மற்றும் ஒரு செய்தி கோரிக்கையை, ராப் என, நீங்கள் ஒரு வடிவில் அதை வைத்து போகிறோம் என்று அர்த்தம் ஒரு போஸ்ட் கோரிக்கை நீங்கள் ஒரு URL ஐ பார்க்க மாட்டேன் அதேசமயம் நீங்கள், ஒரு URL அதை பார்க்கலாம். எனவே ஒரு சிறிய வேறுபாடு. எனினும், இதே போன்ற ஒரு விஷயம் என்று ஒன்று போஸ்ட் கிடைக்கும் சமமாக பாதுகாப்பற்ற என்று ஆகிறது. எனவே நீங்கள், ஏனெனில் நீங்கள் ஐ பார்க்க வேண்டாம் என்று நினைத்து என்று, அஞ்சல் மிகவும் பாதுகாப்பான பொருள் ஆனால் நீங்கள் இன்னும் நீங்கள் அனுப்பும் என்று தகவல் உங்கள் குக்கீகளை அதை பார்க்க முடியும். அதனால் நான் நினைக்கவில்லை பற்றி ஒன்று அல்லது மற்ற. கவனிக்க வேண்டிய மற்றொரு விஷயம், நீங்கள் பகுதியில் மாறிகள் வேண்டும் என்று ஆகிறது. நீங்கள் உங்கள் பயனர் ஐடி தகவல் பெற pset 7 இந்த பயன்படுத்தப்படும். என்ன நடந்தது இந்த துணை வரிசை பயன்படுத்த முடியும் என்று இருந்தது, $ _SESSION, பின்னர் நீங்கள் பல்வேறு விஷயங்கள் அணுக முடியும் என்பதை மற்றும் பக்கங்கள் முழுவதும் பல்வேறு பொருட்களை சேமிக்க. கடந்த விஷயம், நாம் SQL, கட்டமைப்பு வினவல் மொழி என்று ஆகிறது இந்த தரவுத்தளங்களை நிர்வகிக்க ஒரு நிரலாக்க மொழி ஆகும். , சரியாக, தரவுத்தளங்கள் என்ன? அவர்கள் அட்டவணைகள் வசூல் இருக்கிறார்கள், மற்றும் ஒவ்வொரு அட்டவணை பொருட்களை இதே வகையான முடியும். எனவே நாம் உங்கள் நிதி pset உள்ள செய்த ஒரு அட்டவணை இருந்தது. ஏன் அவர்கள் பயனுள்ளதாக இருக்கும்? அது நிரந்தரமாக தகவல்களை சேகரிப்பதற்காக ஒரு வழி தான். அது விஷயங்களை கண்காணிப்பு மற்றும் பொருட்களை நிர்வகிக்கும் ஒரு வழி உண்மையில் வெவ்வேறு பக்கங்களில் வைத்து டிராக் அதை பார்த்து. அதேசமயம் நீங்கள் தான் என்று ஒரு உடனடி நேரத்தில் அதை சேமிக்க, பின்னர் அதை பயன்படுத்த, நீங்கள் சேமித்துள்ள என்று எதையும் அணுக முடியாது. நாம் SQL கட்டளைகளை பயன்படுத்த 4 முக்கிய விஷயங்கள் உள்ளன. நாம் தேர்வு, நுழைவு, நீக்க, மற்றும் மேம்படுத்தல் வேண்டும். அந்த நீங்கள் உங்கள் வினாடி வினா தெரியும் மிகவும் முக்கியம். நாம் விரைவில் உடனே போக வேண்டும். அடிப்படையில், நீங்கள் ஒரு தரவுத்தள வரிசைகளை தேர்வு. எனவே நீங்கள் இங்கே, இருந்தால் - நாம் இந்த 2 வெவ்வேறு விஷயங்கள் வேண்டும், மற்றும் நாம் வகுப்புகள் அட்டவணை தேர்ந்தெடுக்க வேண்டும் அங்கு அற்புதமான - அற்புதமான கட்டுரையில் மதிப்பு 1 ஆகும். நீங்கள் இங்கே பார்க்க முடியும் எனவே, நாம், வர்க்கம் பெயரை இந்த 2 விஷயங்கள் Cs50 மற்றும் Stat110, நாம் வர்க்கம் ID கள் மற்றும் கோஷம் வேண்டும். எனவே நாம் அந்த தகவலை அனைத்து தேர்ந்தெடுக்க வேண்டும். நீங்கள், அது மாதிரி அந்த அற்புதமான பத்தியில் வெளியே எடுக்கவில்லை என்று இங்கே பார்க்க முடியும் அனைத்து விஷயங்கள் 1, பின்னர் அது வர்க்க ஐடி, வர்க்க பெயர் மற்றும் அதை வெளியே எடுக்க முடியும் என்று கோஷம் கொண்டுள்ளது. நீங்கள் இந்த குறியீடு எப்படி சரியாக செய்ய வேண்டும்? நீங்கள் PHP பயன்படுத்த வேண்டும். அதனால் அந்த மாதிரியான PHP மற்றும் SQL ஒன்றுக்கொன்று தொடர்புடையவை என்பதை தான். இப்போது நாங்கள் எங்கள் குறியீடு உள்ளது, மற்றும் நாம் எமது கேள்வி செயல்பாட்டை பயன்படுத்த போகிறோம் நாம் pset 7 செய்தது, மற்றும் நாம் SQL கேள்வி இயக்க போகிறீர்கள் என. பின்னர் நாங்கள் போகிறோம் - நாம் எப்போதும் தவறான என்றால் வரிசையில் மூன்று சம சரிபார்க்க வேண்டும். எனவே மீண்டும், நீங்கள் வகை மற்றும் மதிப்பு சரிபார்க்க வேண்டும், அது வேலை செய்யவில்லை என்றால் மற்றும், பின்னர், நீங்கள் நாம் pset 7 செய்தது போல், வழக்கம் போல், மன்னிப்பு கேட்க வேண்டும். இல்லையெனில், நீங்கள் அந்த எளிது எல்லாம் மூலம் வளைய வேண்டும் foreach நாம் வெறும் சென்றார் என்று சுழற்சிகளகிறது. , நாம் தேடுகிறது நாம் கடந்த அதை செய்துவிட்டேன் இப்போது நமது கேள்வி இயற்றப்பட்ட என்று நினைத்து விட, இப்போது நாங்கள் எங்கள் foreach வளைய வேண்டும். மற்றும் முதல் வரிசை உள்ளது, எனவே இங்கே வரிசையில் இங்கே, தான் அது பெட்டி தான். அது ஆயிற்று என்று அனைத்து தகவல்களை அச்சிட நடக்கிறது. எனவே அதை கீழே அச்சிட நடக்கிறது "இனி HTML கற்க?" இது லூப் முதல் நிறைவு ஏனெனில் அது, அடுத்த வரிசையில் செல்ல நடக்கிறது எனவே அது, அது இரண்டாவது வரி அவுட் அச்சிட நடக்கிறது STAT110 போகிறது இது, அனைத்து தருணங்கள். ஒரு கடைசி விஷயம் SQL பாதிப்புகள் ஆகிறது. நான் டேவிட் இந்த விரிவுரையில் சிறிது தொட்டு தெரியும். பின்னர் இதை நீங்கள் படிக்க முடியும். அது உண்மையில் வேடிக்கை. SQL ஊசி தந்திரமான விஷயம் ஒரு வகையான ஆகிறது. நீங்கள் தான் உங்கள் கேள்வி அந்த மாறிகள் ஒட்டிக்கொள்கின்றன என்று சொல்ல, நீங்கள் அந்த முதல் வரி பார்க்க முடியும் என. அது சரி, அது நன்றாக தெரிகிறது? நீங்கள் பயனர் பெயர் வைத்து உங்கள் SQL கேள்வி கடவுச்சொல்லை, மற்றும் நீங்கள் அதை கப்பல் மற்றும் உங்கள் தரவு அட்டவணை என்ன பெற வேண்டும். அந்த அழகான எளிமையான தெரிகிறது. எனவே, யாராவது வைக்கிறது என்று முடிகிறது கடவுச்சொல்லை, இந்த அல்லது உரை இங்கே - உண்மையில் சிவப்பு பெட்டியில் இருக்க வேண்டும். எனவே அவர்கள் ஒரு கடவுச்சொல்லை வைத்து சொல்கிறேன் - என்று அவர்கள் நுழைய என்ன. எனவே அவர்கள் வைத்து அல்லது "1" = 1. வேண்டும் ஒரு வேடிக்கையான கடவுச்சொல்லை வகையான. இப்போது தான் அது பதிலாக நாம், நீங்கள் இப்போது SQL கேள்வி என்று கவனிக்க வேண்டும், நீங்கள் கவனிக்க வேண்டும், ஏனெனில் இது, எப்போதும் உண்மை மதிப்பீடு என்று நீங்கள் SQL கேள்வி இந்த தகவலை அனைத்து தேர்ந்தெடுக்க முடியும் அல்லது நீங்கள் = 1 1 முடியும். அதனால் எப்போதும் உண்மையான மதிப்பீடு செய்ய நடக்கிறது. என்று ஹேக்கர் உங்கள் கணினியில் உடைக்க முடியும் என்பது தான், உண்மையில் வேலை செய்ய போவதில்லை. இந்த தீர்வு நீங்கள் PDO முறையை பயன்படுத்த வேண்டும் என்று, இது, நீங்கள் கேள்வி மதிப்பெண்கள் பயன்படுத்த வேண்டும் என்று அர்த்தம் என்ன நீங்கள் pset 7 பயன்படுத்தப்படும் தோழர்களே, இது நீங்கள் ஏதாவது செய்ய வேண்டும், அங்கு இடத்தில் ஒரு கேள்வி குறி பயன்படுத்த போகிறோம், அங்கு, மற்றும், நீங்கள் ஒரு கமா போகிறது, மற்றும் நீங்கள் பிறகு வேண்டும் உங்கள் சரம் பின்னர், நீங்கள் விரும்பும் வேறு மாறிகள் உங்கள் கேள்வி குறி ஒரு பதிலாக. எனவே நீங்கள் இப்போது நான் இந்த சிவப்பு கேள்வி மதிப்பெண்கள் வேண்டும் என்று இங்கே குறிப்பிட வேண்டும். நான் பிறகு அந்த வரிசையில் அவர்களுக்கு பதிலாக எனக்கு தெரியும், அதனால் நான் என் சரங்களை பின்னர் மாறிகள் வைத்து. யாராவது இதை எனில், உறுதி செய்யும் அவர்கள், உறுதி என்று, அல்லது 1 = 1 நிலைமை மீண்டும் இறுதியில், அது உண்மையில் SQL கேள்வி உடைக்க முடியாது என்று உறுதி செய்கிறது. சரி, PHP மற்றும் SQL பற்றிய ஒரு சுழல்காற்று, அது மிகவும் அதிகமாக தான். நீங்கள் அனைத்து அதிர்ஷ்டம் சிறந்த, இப்போது Ore. செய்ய [Oreoluwatomiwa Babarinsa] சரி எல்லோரும். சில ஜாவா மேல் செல்ல நேரம் மற்றும் வேறு சில விஷயங்கள் மிக விரைவில் நாம் இன்றிரவு வரை நடத்த வேண்டாம். இங்கு. ஆமாம். ஜாவா வரவேற்பு, ஒரு குளிர் விஷயம் என்ன இருக்கிறது. நீங்கள் உண்மையில் இங்கு பற்றி அறிந்து கொள்ள வேண்டும் விஷயங்களை, அது மாதிரி தான் உங்கள் வலை பயன்பாட்டை செய்ய என்ன நடக்கிறது கிளையன் இறுதியில். நீங்கள் சர்வர் பக்கத்தில் அனைத்து நேரம் பார்த்து கொள்ள வேண்டாம் சில விஷயங்கள் இருக்கிறது. அனைத்து சிறிய பரஸ்பர, ஒன்று சிறப்பித்த ஏதாவது காணாமல் செய்யும். நீங்கள் உண்மையில் உங்கள் சர்வர் அனைத்து நேரம் பேச வேண்டும் விரும்பவில்லை. என்று சில சர்வர் பக்கத்தில் செய்ய கூட முடியாது. நாம் JavaScript போன்ற ஏதாவது தேவை ஏன் இது. இங்கு பற்றி குளிர் விஷயங்கள்: அது மாறும் தட்டச்சு. என்ன இந்த பொருள் உங்கள் திட்டத்தை தெரிந்து கொள்ள வேண்டும் என்பது தான், நீங்கள் அதை எழுத போது, நீங்கள் என்ன, காரணிகள் ஆகும். அது இயங்கும் அது ஒரு வகையான அதை கண்டுபிடிக்க வேண்டும். அதை பற்றி குளிர் என்று மற்ற விஷயங்களை: இது ஒரு சுருள் பிரேஸ் மொழி தான், இது தொடரியல் சி மற்றும் PHP போன்ற உள்ளது என்று பொருள். நீங்கள் இங்கு கற்று போது மிகவும் மறுவேலை செய்ய வேண்டாம். இங்கே நாம் இங்கு ஒரு சிறிது வேண்டும். இங்கே சுவாரஸ்யமான விஷயம் என்னவென்றால், நீங்கள் அதை பார்த்து, நாம் தலை டேக் சரியான அங்கு இங்கு ஒரு பிட் உள்ளது. என்ன அடிப்படையில் ஒரு ஜாவா கோப்பு அடங்கும். இது உங்கள் நிரலை ஜாவா சேர்க்க முடியும் ஒரு வழி இருக்கிறது. பின்னர் இரண்டாவது சிறிது, உண்மையில் சில இன்லைன் ஜாவா ஆகிறது மிகவும் CSS கொண்டு ஒரு இன்லைன் பாணி போன்ற, நீங்கள் தான் மிக விரைவில் அங்கு சில குறியீடு எழுதி வருகிறோம். ஜாவா வரிசைகள் உள்ளது. மிகவும் பயனுள்ள, சுற்றி தரவு வைக்க மற்றொரு வழி. மிக நல்ல மற்றும் எளிதாக தொடரியல். நீங்கள் எல்லாம் அணுக மற்றும் ஒன்றாக எல்லாம் வைத்து சதுர அடைப்புக்குறிக்குள் பயன்படுத்த. மிகவும் சிக்கலான ஒன்றும் இல்லை. பொதுவாக ஜாவா மற்றும் ஸ்கிரிப்டிங் மொழி பற்றி குளிர் விஷயம் நீங்கள் வரிசை அளவுகள் பற்றி கவலைப்பட வேண்டிய அவசியம் இல்லை என்று ஆகிறது. நீங்கள் array.length பயன்படுத்த மற்றும் அதை கண்காணிக்க முடியும், மேலும் வரிசை வளர அல்லது நீங்கள் அதை செய்ய வேண்டும் என சுருக்க முடியும். எனவே நீங்கள் கூட, எந்த பற்றி கவலைப்பட தேவையில்லை இல்லை, நான் இன்னும் விஷயங்கள், அல்லது அப்படி எதுவும் ஒதுக்க வேண்டும். இங்கே குளிர் விஷயம் ஜாவா பொருட்களை என்று ஒன்று உள்ளது. அது ஒரு பொருள் சார்ந்த மொழி, அதனால் அது என்ன, அடிப்படையில், குழு தரவு நீங்கள் ஒரு வழி ஒன்றாக, ஒரு struct ஓரளவு ஒத்ததாகும், ஆனால் நீங்கள் ஒரு struct போன்ற அல்லது ஒரு துணை வரிசை இலக்கணத்தை அது அணுக முடியும். அது மிகவும் எளிய மற்றும் என்ன நீங்கள் இந்த செய்ய முடியும் ஒன்றாக குழு தரவு நீங்கள் தொடர்பான என்று தரவு ஒரு கொத்து வேண்டும் என்றால். அதை நீங்கள் ஒரு கார் விவரிக்க வேண்டும் அனைத்து விஷயங்கள் தான், ஏனெனில், நீங்கள் வெவ்வேறு இடங்களில் ஒரு கொத்து அது தேவையில்லை. நீங்கள் இங்கு உள்ள 1 பொருள் அதை ஒட்டி முடியாது. உங்களுக்கு தெரிந்திருக்கும், தேடி அந்த கஷ்டமான பணிகளை ஒன்றாகும். நீங்கள் மீண்டும் ஒரு மேல் அதை செய்ய. நீங்கள், காரில் ஒவ்வொரு பொருளின் பேச வேண்டும் அல்லது நீங்கள் ஒரு பட்டியலை அல்லது அது போன்ற ஏதாவது ஒவ்வொரு பொருளை செல்ல வேண்டும். எனவே இங்கு, PHP, ஒரு foreach தொடரியல் போன்ற உள்ளது. இந்த வழக்கில், இது வட்டத்திற்கு ஒரு விஷயம். நீங்கள் மட்டுமே பொருட்களை பயன்படுத்த வேண்டும். நீங்கள் வரிசைகள் மீது இந்த பயன்படுத்தினால் ஏற்படும் சில பிரச்சினைகள் உள்ளன. இது பொதுவாக, எனினும், மிகவும் பயனுள்ளதாக இருக்கும், அந்த விஷயங்களை ஒன்றாகும் நீங்கள் மேலே நிறைய அகற்ற காரணம் நீங்கள் உங்கள் பொருளை எல்லாம் மேலே இல்லை, ஏனெனில். நீங்கள் அனைத்து முக்கிய பெயர்கள் நினைவில் இல்லை. நீங்கள் தான் அப்படி இந்த இலக்கணத்தை அவற்றை மீண்டும் பெற. இந்த ஆண்டில், உடன், நீங்கள் நினைவில் கொள்ள வேண்டும் நீங்கள் அட்டவணை புல ஒரு மிக இதே வழியில், அனைத்து சாவிகளும் மீண்டும் வருகிறோம் என்று. நீங்கள் நினைவில் இருந்தால், நீங்கள் ஒரு சரம் வைக்க வேண்டும் போது, நீங்கள் ஏதாவது பெற முடியும் அது ஒரு தொடர்புடைய மதிப்பு வேண்டும். என்ன நீங்கள் இந்த செய்ய முடியும், நீங்கள் அனைத்து சரியான சொல்ல முடியாது ஆகிறது நான் ஒரு கார் வைத்து, நான் ஒரு ஃபெராரி என்று. எனவே நீங்கள் பின்னர் மீண்டும் சரம் ஃபெராரி வைக்க முடியும், மற்றும் நீங்கள் அந்த அவுட் பெற முடியும். நீங்கள் வட்டத்திற்கு உடன், ஒரு வட்டத்திற்கு அதை செய்ய முடியும். அதனால் தான் பொருட்களை பற்றி மேலும். நீங்கள் நினைவில் கொள்ள வேண்டும் இந்த முக்கிய விஷயம் , நீங்கள் இந்த நிலையில் எப்போது வேண்டுமானாலும் நீங்கள் தொடரியல் போன்ற பொருள், struct பயன்படுத்த முடியும் என்று ஆகிறது உங்கள் ஒரு சரம் பயன்படுத்த போகிறது சரியான மாறி பெயரை என்றால் தவிர. நீங்கள் அங்கு பார்க்க என்றால், நாம் இடைவெளிகள் முக்கிய வேண்டும். சரி, நீங்கள் object.key வைத்து இருந்தால், விண்வெளி, உடன், விண்வெளி, இடைவெளிகள், என்று தான் எனும் சொல் பயன் இல்லை என்று. எனவே நீங்கள் மட்டும் பிராக்கெட் வாக்கிய அமைப்பு இந்த வகையான செய்ய முடியும். மேலும், இங்கு மிகவும் நோக்கம் வாரியான PHP உள்ளது. நீங்கள் நோக்கம் உரையாற்றும் 2 வழிகள் உள்ளன. நீங்கள் ஒரு மாறி முன் var முடியாது, என்று தான் இந்த உலக என்பதாகும். நீங்கள் எங்கிருந்தும் அதை பார்க்க முடியும். நீங்கள் ஒரு என்றால் அறிக்கை இந்த வைத்து இருந்தால் கூட, வேறு எங்கும் உங்கள் குறியீடு அந்த பின்னர் நீங்கள் அந்த மாறி பார்க்க முடியும். மற்றொரு விஷயம், என்றாலும், அது உள்ளே இருக்கும் என்ன செயல்பாட்டை மட்டும் தான், var உள்ளது நீங்கள் ஒரு செயல்பாடு இல்லை என்றால், நன்றாக, அது உலக தான். நீங்கள் ஒரு செயல்பாடு இருக்கும் ஆனால் அது அந்த செயல்பாடு உள்ள மட்டுமே தெரியும். நான் சரி, ஒரு உதாரணம், ஆனால் இல்லை. அந்த விஷயங்களை ஒன்று தான் அங்கு நீங்கள் உலக இருக்க வேண்டும் என்ன மாறிகள் நிர்வகிக்க முடியும் என்ன மாறிகள் நீங்கள் உள்ளூர் இருக்க வேண்டும், ஆனால் நீங்கள் இதை பற்றி கவனமாக இருக்க வேண்டும், நீங்கள் சி செய்ய நன்றாக தானிய கட்டுப்பாட்டை வகை இல்லை, ஏனெனில், ஏதாவது லூப் ஒரு அறிவித்தார் என்றால், அது லூப் என்று தங்க நடக்கிறது அங்கு. நாம் உண்மையில் இங்கு பயன்படுத்தி பற்றி கவலை விஷயம் சரியான, வலை பக்கங்கள் பயன்படுத்திக்கொள்கிறார்? நான் என்ன சொல்கிறேன் என்றால், ஏன் நாம் இந்த செய்கிறீர்கள் தான். நாம் டிஓஎம் என்று ஏதாவது பயன்படுத்த, அதை செய்ய. ஆவண ஆப்ஜெக்ட் மாதிரி. அடிப்படையில், அது என்ன அது அனைத்து உங்கள் HTML எடுக்கும் ஆகிறது ஒருவருக்கொருவர் உள்ள காக்கப்பட்ட அந்த பொருட்களை ஒரு கொத்து மாதிரிகள் அதை. நீங்கள் இந்த மாதிரி ஏதாவது வெளியே தொடங்கும். நீங்கள் அங்கு குறியீடு ஒரு கொத்து அந்த மாதிரி தான், எனக்கு வலது, வேண்டும் - நீங்கள் கையாள மிகவும் கடினமாக இருக்கும் என்று நினைக்கிறீர்களா என்று, நீங்கள் உரை ஒரு கொத்து மூலம் அலசல் ஏனெனில் மற்றும் விஷயங்களை தவிர துண்டு கொண்டு. அதை சரியாக என்ன வடிவமைக்க என்றால்? கெட்ட விஷயங்கள் நடக்கும். எனவே, இங்கு நீங்கள் இந்த கவனித்து, மற்றும் நீங்கள் ஒரு நல்ல தரவு கட்டமைப்பு பெற நீங்கள் ஒரு ஆவணத்தை வேண்டும், அங்கு என், இடது ஒரு போன்ற, என்று உள்ளே நீங்கள் HTML என்று ஒன்று இருக்கிறது என்று உள்ளே, ஒரு தலை மற்றும் உடல் என்று தலையை உள்ளே நீங்கள், முதலியன, முதலியன முதலியவை ஒரு தலைப்பு வேண்டும். இந்த, அது தான் என்று ஒரு இணைய பக்கம் கையாள்வது எளிமையாக்குகிகிறது ஓ, நான் இந்த பொருள் பேச வேண்டும். நீங்கள் உங்களை செய்த மற்றொரு பொருள் பேச வேண்டும் ஒரு மிக இதே வழியில் வகையான. நான் சொன்னது போல், அனைத்து டிஓஎம் ஆவணம் பொருள் உள்ளது. ஒன்று, அது ஒரு இடத்தில் தான் மற்றும் நீங்கள் பொருட்களை கண்டுபிடிக்க உள்ள செல்ல முடியும் மற்றும் நீங்கள் அதை செய்ய முடியும் - இந்த வரை, அதை செய்து பழைய பாணி உள்ளது, நீங்கள் பேஸ்புக், மற்றும் அங்கு பின்னர் பெயர், ஒருவேளை நீங்கள் சொல்ல முடியும் என, இந்த ஒரு பின்னர் மிகவும் கடினம் வருகிறது. அதனால் ஒருவேளை நீங்கள் அதை செய்ய விரும்பவில்லை. நாம் உண்டு, அதனால் தான் நாம் இந்த பிறகு பற்றி பேச போகிறோம் அடுத்த விஷயம். இங்கே முக்கிய விஷயம், என்று சரி, நீங்கள் சொல்வது சரி, இந்த உறுப்புகள் வேண்டும்? அதனால் நான் எப்போது பக்கம் சுமைகள் ஏதாவது நிறம் மாற்ற முடியும். அதனால் என்ன? என்ன என் பயனர் ஏதாவது கிளிக் என்றால் என்ன? நான் அவர்கள் ஏதாவது கிளிக் செய்யும் போது அது சுவாரஸ்யமான ஏதாவது செய்ய வேண்டும். நாங்கள் நிகழ்வுகளை வேண்டும், அதனால் தான். நீங்கள், அடிப்படையில், உங்கள் டோம் எந்த உறுப்பு காணலாம், பின்னர் ஏய், என்று. இந்த ஏற்றுகிறது அல்லது யாராவது அதை கிளிக் போது அல்லது அவர்கள் அதை சுட்டி, அது ஏதாவது போது. மற்றும் நீங்கள் என்ன நீங்கள் இந்த கையாள வேண்டும் என்று செயல்பாடுகளை, ஆகிறது. இந்த செயல்பாடுகள் நிகழ்வு கையாளர்கள் இருக்கின்றன. என்ன உள்ளனர் - அதை சொல்வது ஒரு ஆடம்பரமான வழி, இந்த நிகழ்வு நடக்கும் போது இந்த செயல்பாடு மட்டுமே செயல்படுத்தப்படுகிறது. அது ஏற்படும் என்று நிகழ்வையும் கையாளுகிறது. இந்த ஒரு நிகழ்வு கையாளுதல் வெளியே போட எப்படி இருக்கிறது. நான் சில பொத்தானை, மற்றும் நீங்கள் கிளிக் செய்யும் போது, அது வெடித்து சிதறுகிறது. எனவே பொத்தானை கிளிக் செய்யவும் இல்லை. இந்த வலது, அது நெருங்கி ஒரு வழி உள்ளது? , நீங்கள் ஒரு பொத்தானை டேக் வேண்டும், மற்றும் கிளிக் நீங்கள் சொல்வது ஒரு சரம் வேண்டும் ஓ, மூலம், நான் எனக்கு இந்த வெடித்து விஷயம் செய்கிறேன். இல்லையெனில், அது நீங்கள் செய்த ஒரு வழக்கமான பொத்தானை போல. நீங்கள் இந்த மற்றொரு வழி செய்ய முடியும், நாம் jQuery பற்றி பேச பிறகு DOM உறுப்பு வாட்டி, ஆனால் நாம் என்று சேமிக்க வேண்டும். JQuery: அது குறுக்கு உலாவி என்று ஒரு நூலகம் உள்ளது. நீங்கள் மிகவும் அதிகமாக எதையும் பயன்படுத்த முடியும். அது தான் நீங்கள் வேலை செய்ய கருவிகள் நிறைய கொடுக்கிறது. ஜாவா, சக்திவாய்ந்த போது, உங்களுக்கு தேவையான அனைத்து கருவிகள் இல்லை, ஏனெனில் உண்மையில் ஒரு வலை பயன்பாடு சமாளிக்க பெட்டியில் வெளியே நீங்கள் செய்ய வேண்டும். எனவே, நிறைய விஷயங்கள் எளிதாக்குகிறது நீங்கள் செயல்பாடுகளை நிறைய கொடுக்கிறது நீங்கள் சாதாரணமாக மீண்டும் மேல் மற்றும் மேல், உங்களை எழுத வேண்டும் என்று பெட்டியின் வெளியே. மற்றும் பொருட்களை மிகவும் எளிமையான உள்ளது. நீங்கள் அந்த உறுப்புகள் வெளியே எடுத்து விடுங்கள் இது தேர்வாளர்கள், வேண்டும் உங்கள் டோம் மிகவும் வெறுமனே, அதற்கு பதிலாக இந்த மிக நீண்ட செயல்பாடு அழைப்புகளை பயன்படுத்த கொண்ட. இந்த தேர்வில் மேலும். நீங்கள், நாம் சொல்ல வேண்டும் அங்கு, வேண்டும் நான் ஐடி ஒரு உறுப்பு பெற வேண்டும் "ராக்." சரி, jQuery உள்ள, அது $ பின்னர் ஒரு பவுண்டு என்று ஒரு சரம், பின்னர் தான் "ராக்." இது மிகவும் எளிமையான, இந்த பிரச்சினையை தீர்த்து பாரம்பரிய ஜாவா வழி விட மிகவும் வேகமாக. நீங்கள் வகுப்புகளுக்கு மற்றும் உறுப்பு வகையான போன்ற விஷயங்கள் உள்ளன. jQuery உள்ளது - குளிர் அம்சங்கள் ஒரு நீங்கள் அப்படி அழுத்தி முடியும் ஆகிறது உங்கள் டோம் உங்கள் கேள்விகளுக்கு கீழே மிக, மிக வேகமாக. இப்போது நாம் மீண்டும் நிகழ்வு கையாளுதல், மற்றும் இந்த நீங்கள் jQuery உள்ள ஒரு நிகழ்வு கையாள வேண்டும் என்பதை தான். அதனால் என்ன, நாம் இங்கே போகிறோம் நாம் அனைவரும் சரியான, சொல்கிறீர்கள் ஆகிறது. நான் ஒரு ஸ்கிரிப்ட் குறிச்சொல் வேண்டும், சரியான? அதனால் நான் இந்த இன்லைன் ஜாவா வேண்டும். நாம் என்ன செய்ய போகிறோம் நாம் அனைவரும் சரியான, சொல்ல போகிறோம் ஆகிறது. ஆவணம், ஆவணம் ஏற்றப்பட்டதும் பொருள், தயாராக இருக்கும் போது , நாம் அந்த செயல்பாடு போக போகிறோம், நாம், அனைத்து வலது சொல்ல போகிறாய் இந்த செயல்பாடு உண்மையில் வேறு ஏதாவது செய்கிறாள். இது அடிப்படையில் அனைத்து சரி, எனக்கு ஐடி உறுப்பு பெற, என்று கூறி "ஸ்மார்ட்." பின்னர் இந்த நீங்கள் கிளிக் செய்யும் போது இயக்கும் ஒரு செயல்பாடு கையாளுதல் கொடுக்க. அடிப்படையில் என்ன செய்கிறது, இது நிதி, அனைத்து வலது ஆகிறது. , பக்கம் ஏற்றப்படும் உள்ளது, அதனால் நான், இந்த உறுப்பு கண்டுபிடிக்க போகிறேன் இந்த நிகழ்வு கையாளுதல் கொடுக்க, அது அடிப்படையில் நீங்கள் உங்கள் பக்கம் அமைக்கிறது. இந்த நிகழ்வை கையாளும் பற்றி யோசிக்க வேண்டும் எப்படி உள்ளது. நீங்கள், பற்றி யோசிக்க சரி, ஏதாவது ஏற்படும் போது, நான் என்ன நடக்க வேண்டும் என்று விரும்புகிறீர்கள்? நீங்கள், சரி, நான் இந்த விஷயத்தை உறுதி இந்த விஷயம் பேச்சுவார்த்தை செய்ய வேண்டும், யோசிக்க வேண்டாம் இந்த விஷயம் அபத்தம் அபத்தம் அபத்தம், நீங்கள் நிகழ்வுகள் அடிப்படையில் தான் பேச வேண்டும், ஏனெனில். இது நிகழும் போது, இந்த நடக்கிறது. இது நிகழும் போது, அந்த நடக்கிறது. விஷயங்களை மற்ற விஷயங்களை தூண்டும் என்றால், அது மிகவும் நல்லது. ஆனால் நீங்கள் சிக்கலான குறியீடு முயற்சி செய்ய வேண்டாம் அங்கு நீங்கள், அதே நேரத்தில் பல விஷயங்களை தூண்டும் நீ உன்னை ஒரு தலைவலி கொடுக்க போகிறோம். சரி. இப்போது நாங்கள் எங்கள் பக்கம் நிகழ்வுகளை கையாள பெற முடியும், ஆனால் என் பயனர் ஒரு பொத்தானை கிளிக் சொல்கிறேன். என்ன, நான் மீண்டும் சர்வர் என்று கோரிக்கை அனுப்ப வேண்டும் என்றால் ஒரு புதிய பக்கம் ஏற்றவும், ஏனெனில் ஆனால் நான், பக்கம் ஏற்றவும் விரும்பவில்லை ஒவ்வொரு முறை வகையான கஷ்டமான பெறுகிறார், மற்றும் நான் ஏன் செய்ய வேண்டும் மீண்டும் தலைப்பு கீழே இழுக்க, மீண்டும் முடிப்பு, மற்றும் அனைத்து பக்கம் கூறுகளை மீண்டும் வெறும் வாழ்த்து அல்லது நேரத்தை புதுப்பிக்க? நாம் அஜாக்ஸ் போன்ற ஏதாவது அதனால் தான். என்ன, நாம் அஜாக்ஸ் இங்கே என்ன செய்ய முடியும், நாம், அனைத்து சரியான சொல்ல முடியாது ஆகிறது நான் சர்வர் சில தரவு அனுப்ப வேண்டும், மற்றும் நான் என் பக்கம் மேம்படுத்த முடியும் மீண்டும் ஒரு பதிலை பெற வேண்டும், அல்லது ஒருவேளை நான் அவசியம் பயனர் எதுவும் காட்ட முடியாது என்று சில வழிமுறை கணக்கீடு செய்ய. நீங்கள் என்ன செய்ய வேண்டும்? சரி, நீங்கள் பேச வேண்டும் ஒரு URL வேண்டும். உங்கள் சர்வர் மட்டும் மாயமாக எங்கும் இருந்து கேட்க முடியாது. நீங்கள் இந்த தரவு அனுப்பி வருகிறோம் ஒரு குறிப்பிட்ட இடத்தில் இருக்க வேண்டும். மேலும் நீங்கள் அனுப்ப சில தரவு வேண்டும், அல்லது ஒருவேளை இது ஒரு dataless கேள்வி தான். நீங்கள் தான் ஏய், நான் உயிரோடு, அல்லது அது போன்ற ஏதாவது இருக்கிறேன், சர்வர் திரும்ப பிங் சொல்ல வேண்டும். பின்னர் நீங்கள் அடிப்படையில் வெற்றி கையாளுகிறது என்று ஒரு செயல்பாடு வேண்டும். நீங்கள் உங்கள் சர்வரில் இருந்து சில தகவல்களை திரும்ப பெற சொல்ல, மற்றும் அவர்களின் பக்கம் பயனர் தலைப்பு மாற்ற வேண்டும். எனவே நீங்கள் தகவல்களை மீண்டும் பெற வேண்டும், மற்றும் நீங்கள் திரையில் என்று தள்ள வேண்டும். பக்கம் தயாராக இருக்கும் போது என்ன நடக்கும்,, ஆகிறது நீங்கள் இனிதே நிறைவுற்றது என்று இந்த பொத்தானை கிளிக் செயல்பாடு ஒரு உருவாக்க. என்று பொத்தானை தள்ளப்படுகிறது போது இந்த பின்னர் இல்லை, ஆகிறது, நீங்கள் greetings.php பேச, நீங்கள், ஒரு போஸ்ட் கோரிக்கை செய்கிறீர்கள் நீங்கள் ஏய், என்னை உங்கள் பக்கம் இருந்து ஏதாவது பெற, சொல்கிறீர்கள். நாம் உண்மையில், அந்த விவரிக்க வேண்டும், ஆனால் greetings.php இல்லை நாம் தான், "ஹலோ உலகம்." மீண்டும் கொடுக்கிறது எனவே நாம், "ஹலோ உலகம்" இந்த திரும்ப பெற இந்த வெற்றியை எதுவும் தவறு அனுமானித்து, நாம் தான் இந்த இலக்கு இடத்திற்கு செல்ல நாம் குறிப்பிட்ட நாங்கள் அங்கு பதில் ஒட்டிக்கொள்கின்றன என்று. இந்த ஒரு அஜாக்ஸ் கேள்வி அமைக்க ஒரு மிக எளிய வழி உள்ளது. மிக விரைவில், ராப் மாதிரி, ஏற்கனவே இந்த குறிப்பிடப்பட்டிருந்தது தவறாக போக முடியும், கெட்ட விஷயங்கள் நடக்கலாம், எனவே நீங்கள் இந்த HTTP பதில் குறியீடுகள் அதில் வேண்டும். என்ன இந்த எல்லாம் சரி போய், 200, போன்ற, இருக்கின்றன. வேறு ஏதாவது, கெட்ட விஷயங்கள் நடந்தது. இது பொதுவாக நீங்கள் நினைவில் கொள்ள வேண்டும் விஷயம். ஆனால் அது இந்த அனைத்து நன்றாக. இறுதியாக, நாம் என்று அனைத்து வழியாக சென்று, நாம், வடிவமைப்பு பற்றி மிக விரைவில் பேச வேண்டும் மற்றும் நாம் நீங்கள் அனைத்து விட்டு விட முடியும். வடிவமைப்பு. நீங்கள் நினைவில் கொள்ள வேண்டும் விஷயங்கள். உங்களை இந்த கேள்விகளை கேளுங்கள்: யார் இந்த பயன்படுத்தி இருக்க வேண்டும்? என்ன அவர்கள் அதை பயன்படுத்தி இருக்க வேண்டும்? என் பயனர்கள் என்ன பற்றி கவலை? அவர்கள் என்ன பற்றி கவலை இல்லை? நீங்கள் ஒரு பயன்பாட்டை உருவாக்க மற்றும் அது வளரட்டும் விரும்பவில்லை இந்த பெரிய, நீங்கள் கூட முடிக்க முடியாது என்று அனைத்து நுகரும் விஷயம் ஆக. நீங்கள் உரையாற்ற வேண்டும் தனி குறிக்கோள்கள் மற்றும் திட்டங்களை மற்றும் பொருட்களை வேண்டும். இது எளிதான கொள்ளுங்கள். இந்த அனைத்து, அடிப்படையில், என்கிறார் எளிதாக பயனர் அதை பயன்படுத்த வேண்டும்; உண்மையில், அது இந்த ஸ்லைட் போன்ற உரை ஒரு பெரிய குமிழ் செய்ய வேண்டாம். நீங்கள் அதை யாரோ செல்ல இது மிகவும் எளிது அங்கு ஏதாவது இருக்க வேண்டும் அவர்கள் என்ன செய்ய வேண்டும், என்ன செய்ய. நீங்கள் இன்னும் 5 பக்கங்கள் செல்லவும் வேண்டும் விரும்பவில்லை உங்கள் தளத்தில் உங்கள் பிரதம செயல்பாடு பெற. கூகிள் 5 பக்கங்களில் இருந்தால் நீங்கள் கூட ஏதாவது தேட முடியும், யாரும் அதை பயன்படுத்த வேண்டும். மற்றும் இறுதியாக, காகித முன்மாதிரி, கவனம் குழு. நல்ல வடிவமைப்பு மற்றும் சோதனை நடைமுறைகள் உள்ளன. அதை நீங்கள் வேலை என்று தான், வேறு யாரும் அதை சிறப்பாக நினைக்கிறார்கள் என்று அர்த்தம் இல்லை. ஆனால் ஆமாம், அது தான். [CS50.TV]