1 00:00:00,000 --> 00:00:02,405 >> [संगीत बजाना] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 डेविड मालन: ठीक है, इस CS50 है। 4 00:00:11,980 --> 00:00:13,740 इस सप्ताह आठ का अंत है। 5 00:00:13,740 --> 00:00:15,887 और आज, हम शुरू कुछ टुकड़े में भरने के लिए 6 00:00:15,887 --> 00:00:17,720 यह इमारत के लिए आता है वेब पर बातें। 7 00:00:17,720 --> 00:00:20,020 तो, सोमवार को याद है कि हम एक बहुत अधिक समय खर्च करते हैं 8 00:00:20,020 --> 00:00:22,530 पीएचपी, पर जो इस गतिशील है प्रोग्रामिंग भाषा है कि 9 00:00:22,530 --> 00:00:26,872 दूसरे के बीच, हमें उत्पादन की सुविधा देता है बातें, एचटीएमएल और अन्य ऐसी सामग्री 10 00:00:26,872 --> 00:00:27,830 हम देखना चाहता हूँ कि। 11 00:00:27,830 --> 00:00:30,871 लेकिन हम वास्तव में कैसे देखा नहीं है हम किसी भी जानकारी स्टोर करने के लिए जा रहे हैं। 12 00:00:30,871 --> 00:00:34,477 दरअसल, लगभग किसी भी है कि सुपर आप आज यात्रा दिलचस्प वेबसाइटों 13 00:00:34,477 --> 00:00:36,560 डेटाबेस किसी तरह का है वापस अंत पर, है ना? 14 00:00:36,560 --> 00:00:39,540 फेसबुक निश्चित रूप से डेटा के बहुत सारे भंडार है सब के बारे में हमें और जीमेल दुकानों के सभी 15 00:00:39,540 --> 00:00:40,210 अपने ईमेल की। 16 00:00:40,210 --> 00:00:44,150 >> और हां, तो कई अन्य साइटों ही नहीं हैं सूचना है कि स्थिर सामग्री। 17 00:00:44,150 --> 00:00:45,640 यह किसी तरह से वास्तव में गतिशील है। 18 00:00:45,640 --> 00:00:48,480 आप इनपुट, यह अद्यतन प्रदान अन्य लोगों के लिए पृष्ठों की है। 19 00:00:48,480 --> 00:00:50,620 आप भेजने, संदेश मिलता है बहुत आगे है संदेश, और। 20 00:00:50,620 --> 00:00:54,250 तो आज, हम पर करीब देखो एक परियोजना के आधार 21 00:00:54,250 --> 00:00:57,330 आप अगले में डुबकी हूँ कि सप्ताह, CS50 वित्त, जो 22 00:00:57,330 --> 00:01:00,509 वास्तव में आप का निर्माण किया जा रहा है नहीं सी में है, लेकिन PHP में कुछ और। 23 00:01:00,509 --> 00:01:02,550 एक लग रहा है कि एक वेबसाइट इस तरह छोटे से कुछ 24 00:01:02,550 --> 00:01:05,810 कि खरीदने और बेचने की अनुमति देता है वास्तव में कर रहे हैं कि कंपनियों के शेयरों 25 00:01:05,810 --> 00:01:09,044 वास्तविक समय पर आकर्षित करने के लिए जा रहा याहू वित्त से शेयर डेटा। 26 00:01:09,044 --> 00:01:11,960 और इसलिए अंत में, तुम होगा खुद के लिए और उपयोगकर्ताओं के लिए भ्रम 27 00:01:11,960 --> 00:01:14,550 आप वास्तव में खरीद और बेच रहे हैं कि शेयरों और लगभग वास्तविक समय हो रही है 28 00:01:14,550 --> 00:01:16,800 अपडेट, प्रबंध पोर्टफोलियो, जो सभी के लिए 29 00:01:16,800 --> 00:01:20,310 होने की आवश्यकता के लिए जा रहा है, अंत में, उपयोगकर्ताओं का एक डेटाबेस। 30 00:01:20,310 --> 00:01:23,330 >> तो, अपने खुद के शब्दों में, आप नहीं कर रहे हैं, खासकर अगर 31 00:01:23,330 --> 00:01:25,670 कंप्यूटर के साथ सुपर परिचित विज्ञान या डेटाबेस, क्या 32 00:01:25,670 --> 00:01:30,790 आप एक डेटाबेस में पता है होना करने के लिए अब ठीक है, nontechnical संदर्भ में? 33 00:01:30,790 --> 00:01:32,300 यह क्या है? 34 00:01:32,300 --> 00:01:36,882 आप इसका वर्णन कैसे करेंगे एक रूममेट या एक दोस्त के लिए? 35 00:01:36,882 --> 00:01:40,100 >> दर्शकों: [अश्राव्य] जानकारी [सुनाई] 36 00:01:40,100 --> 00:01:44,430 >> डेविड मालन: तो, जानकारी की एक सूची, या जानकारी की एक सूची store-- 37 00:01:44,430 --> 00:01:47,160 आप स्टोर करने के लिए चाहते हो सकता है कि एक प्रयोक्ता की तरह कुछ है, के बारे में। 38 00:01:47,160 --> 00:01:50,190 और उपयोगकर्ताओं के लिए क्या क्या उनके साथ जुड़े? 39 00:01:50,190 --> 00:01:53,160 आप फेसबुक या पर एक उपयोगकर्ता हैं जीमेल, लक्षण क्या हैं 40 00:01:53,160 --> 00:01:54,940 कि हम में से सभी उपयोगकर्ताओं के लिए है? 41 00:01:54,940 --> 00:01:58,530 की तरह, क्या कुछ हो सकता है स्प्रेडशीट में स्तंभों के लिए जो हम 42 00:01:58,530 --> 00:01:59,390 पिछली बार alluded? 43 00:01:59,390 --> 00:02:01,140 फिर, आप कर सकते हैं क्योंकि एक डेटाबेस के बारे में सोच 44 00:02:01,140 --> 00:02:05,810 वास्तव में एक फैंसी एक्सेल फ़ाइल या गूगल के रूप में स्प्रेडशीट या एप्पल संख्याओं का। 45 00:02:05,810 --> 00:02:08,280 >> तो, आप क्या सोचते हैं आप एक उपयोगकर्ता के बारे में सोच सकते हैं? 46 00:02:08,280 --> 00:02:11,290 उसके पास क्या है? 47 00:02:11,290 --> 00:02:11,790 वह क्या है? 48 00:02:11,790 --> 00:02:12,470 >> दर्शकों: एक नाम। 49 00:02:12,470 --> 00:02:13,303 >> डेविड मालन: एक नाम। 50 00:02:13,303 --> 00:02:16,840 यदि हां, तो नाम है, जैसे, डेविड मालन कुछ उपयोगकर्ता का नाम होगा। 51 00:02:16,840 --> 00:02:17,980 एक उपयोगकर्ता और क्या है? 52 00:02:17,980 --> 00:02:18,770 >> दर्शकों: एक आईडी। 53 00:02:18,770 --> 00:02:19,561 >> डेविड मालन: एक आईडी। 54 00:02:19,561 --> 00:02:23,320 तो, अपने हार्वर्ड की तरह एक आईडी नंबर, जैसे आईडी या अपने येल नेट आईडी या पसंद है। 55 00:02:23,320 --> 00:02:24,923 एक उपयोगकर्ता और क्या हो सकता है? 56 00:02:24,923 --> 00:02:25,890 >> दर्शकों: पासवर्ड। 57 00:02:25,890 --> 00:02:29,240 >> डेविड मालन: शायद एक एक पासवर्ड, पता है, शायद एक फोन नंबर, हो सकता है 58 00:02:29,240 --> 00:02:30,050 एक ईमेल पता। 59 00:02:30,050 --> 00:02:32,640 तो, खेतों और इस के गुच्छों वहाँ एक तरह से नियंत्रण से बाहर सर्पिल सकता 60 00:02:32,640 --> 00:02:34,760 जल्दी से जैसे ही आप शुरू के रूप में ओह, चलो इस दुकान करते हैं, को साकार 61 00:02:34,760 --> 00:02:36,190 और हम इस और उस की दुकान करते हैं। 62 00:02:36,190 --> 00:02:37,657 >> लेकिन हम कैसे है कि वास्तव में क्या करते हैं? 63 00:02:37,657 --> 00:02:39,740 तो फिर, मानसिक मॉडल आज के लिए है के रूप में हम 64 00:02:39,740 --> 00:02:42,320 वास्तविक एसक्यूएल में गोता, स्ट्रक्चर्ड क्वेरी लैंग्वेज, 65 00:02:42,320 --> 00:02:44,186 इस तरह दिखता है कि एक डेटाबेस है। 66 00:02:44,186 --> 00:02:45,310 यह सिर्फ पंक्तियों और स्तंभों है। 67 00:02:45,310 --> 00:02:48,309 और आप गूगल स्प्रेडशीट्स कल्पना कर सकते हैं या अन्य कार्यक्रमों के किसी भी संख्या। 68 00:02:48,309 --> 00:02:52,130 लेकिन जो है MySQL, के बारे में महत्वपूर्ण क्या है डेटाबेस सॉफ्टवेयर हम प्रयोग करने जा रहे हैं, 69 00:02:52,130 --> 00:02:54,920 स्वतंत्र रूप से खुले तौर पर फेसबुक का उपयोग करता है available-- 70 00:02:54,920 --> 00:02:59,200 यह और अन्य websites-- के किसी भी संख्या डेटाबेस संबंधित रूप से चीजों को संग्रहीत करता है। 71 00:02:59,200 --> 00:03:01,770 और एक संबंधपरक डेटाबेस सिर्फ इतना है कि सचमुच एक अर्थ है 72 00:03:01,770 --> 00:03:03,672 पंक्तियों और स्तंभों में अपने डेटा स्टोर। 73 00:03:03,672 --> 00:03:04,630 यह इतना सरल है। 74 00:03:04,630 --> 00:03:07,230 >> तो, ओरेकल जैसे भी कुछ है कि आप आमतौर पर के बारे में सुना है हो सकता है 75 00:03:07,230 --> 00:03:08,271 एक संबंधपरक डेटाबेस है। 76 00:03:08,271 --> 00:03:10,929 और हुड के नीचे, यह पंक्तियों और स्तंभों में स्टोर डाटा। 77 00:03:10,929 --> 00:03:12,970 और ओरेकल आप एक के आरोप पैसे की बहुत ऐसा करने के लिए, 78 00:03:12,970 --> 00:03:15,550 MySQL के आरोपों जबकि उसी के लिए आप कुछ भी नहीं है। 79 00:03:15,550 --> 00:03:18,790 तो, एसक्यूएल हमें देने के लिए जा रहा है कम से कम चार आपरेशनों। 80 00:03:18,790 --> 00:03:23,190 पढ़ने की तरह, डेटा का चयन करने की क्षमता डेटा, डालने, हटाने, और अद्यतन डेटा। 81 00:03:23,190 --> 00:03:25,525 दूसरे शब्दों में, उन लोगों के हैं वास्तव में चार प्रमुख आपरेशनों 82 00:03:25,525 --> 00:03:28,950 कि हमें बदलने के लिए अनुमति देने के लिए जा रहे हैं उन पंक्तियों और स्तंभों में सामान। 83 00:03:28,950 --> 00:03:33,250 >> हम विशेष रूप से आज का उपयोग करेंगे कि उपकरण एसक्यूएल सीखने के लिए और इसके साथ खेलने के लिए 84 00:03:33,250 --> 00:03:34,627 फिर पीएचपी myadmin कहा जाता है। 85 00:03:34,627 --> 00:03:35,460 यह वेब आधारित उपकरण है। 86 00:03:35,460 --> 00:03:38,200 कुल संयोग है कि यह PHP में लिखा है। 87 00:03:38,200 --> 00:03:42,400 लेकिन यह हमें एक ग्राफिकल देने जा रहा है यूजर इंटरफेस हम वास्तव में कर सकते हैं कि इतने 88 00:03:42,400 --> 00:03:46,054 इन पंक्तियों और स्तंभों को बनाने के और उसके बाद कोड के माध्यम से उन्हें बात करते हैं। 89 00:03:46,054 --> 00:03:47,970 तो, चलो अब शुरू करते हैं क्या मुझे लगता है कि स्पष्ट रूप से है 90 00:03:47,970 --> 00:03:51,000 की मजेदार प्रक्रिया की तरह वेबसाइटों के पीछे के अंत के निर्माण, 91 00:03:51,000 --> 00:03:54,580 यूजर्स को नहीं है कि भागों देखते हैं, लेकिन निश्चित रूप से के बारे में ध्यान करते हैं, 92 00:03:54,580 --> 00:03:56,170 क्योंकि है कि डेटा की जा रही है बल्कि। 93 00:03:56,170 --> 00:03:59,570 सी और एक को तो, समान कम पीएचपी जैसे छोटे, 94 00:03:59,570 --> 00:04:04,954 एसक्यूएल, या समर्थन करता है कि एक डेटाबेस एसक्यूएल, कम से कम इन आंकड़ों प्रकार है 95 00:04:04,954 --> 00:04:05,870 और दूसरों के गुच्छों। 96 00:04:05,870 --> 00:04:08,107 चार, varchar, पूर्णांक, BIGINT, दशमलव, और DATETIME। 97 00:04:08,107 --> 00:04:09,940 और एक पूरी वहाँ अन्य सुविधाओं का गुच्छा, 98 00:04:09,940 --> 00:04:11,940 लेकिन के द्वारा इस करते हैं वास्तविक उदाहरण के रास्ते। 99 00:04:11,940 --> 00:04:16,450 >> मैं CS50 आईडीई में जाने के लिए जा रहा हूँ जहां, अग्रिम में, मैं में लॉग इन किया है 100 00:04:16,450 --> 00:04:19,372 और मैं यह भी के लिए एक यूआरएल का दौरा किया पीएचपी myadmin नामक इस उपकरण। 101 00:04:19,372 --> 00:04:22,580 और इस समस्या को सात सेट में, हम बता देंगे आप वास्तव में कैसे इस इंटरफेस को पाने के लिए 102 00:04:22,580 --> 00:04:23,200 भी। 103 00:04:23,200 --> 00:04:25,640 शीर्ष बाएँ हाथ के कोने पर, नोटिस में यह व्याख्यान कहते हैं। 104 00:04:25,640 --> 00:04:27,610 और कहा कि सिर्फ मतलब है कि अग्रिम में, मैं बनाया 105 00:04:27,610 --> 00:04:31,360 एक खाली डेटाबेस बुलाया व्याख्यान कि अभी तक इसके बारे में कोई स्प्रेडशीट है। 106 00:04:31,360 --> 00:04:32,600 कोई पंक्तियों और स्तंभों नहीं है। 107 00:04:32,600 --> 00:04:34,308 क्योंकि पहले बात यह है कि हम क्या करने जा रहे हैं 108 00:04:34,308 --> 00:04:37,100 एक तालिका बनाने के लिए शुरू किया गया है कि हमारे उपयोगकर्ताओं को स्टोर करने के लिए जा रहा है। 109 00:04:37,100 --> 00:04:39,100 >> तो, सचमुच खत्म यहाँ सही करने के लिए, मैं कर रहा हूँ 110 00:04:39,100 --> 00:04:42,070 डेटाबेस में बताने जा रहा मैं एक मेज उपयोगकर्ता बुलाया चाहते हैं। 111 00:04:42,070 --> 00:04:44,845 तो, इस फाइल की तरह है कि मैं में अपने डेटा के सभी स्टोर करना चाहते हैं। 112 00:04:44,845 --> 00:04:45,720 और कितने कॉलम? 113 00:04:45,720 --> 00:04:47,740 ठीक है, चलो अब के लिए इसे सरल रखने दें। 114 00:04:47,740 --> 00:04:51,855 मैं सिर्फ एक तरह संग्रहीत करना चाहते हैं यूज़रनेम और एक उपयोगकर्ता के लिए एक नाम है। 115 00:04:51,855 --> 00:04:53,020 हम छोटे शुरू करेंगे। 116 00:04:53,020 --> 00:04:55,370 तो, मैं दो कॉलम की कुल चाहते हैं। 117 00:04:55,370 --> 00:04:57,360 और मुझे आगे जाना है और जाएँ क्लिक करने के लिए जा रहा हूँ। 118 00:04:57,360 --> 00:04:59,210 और फिर, के लिए इन कॉलम, मैं क्या जा रहा हूँ 119 00:04:59,210 --> 00:05:04,576 इस इंटरनेट यदि do-- को सब ठीक है, cooperates-- 120 00:05:04,576 --> 00:05:05,950 तो हम फिर से कोशिश करने के लिए जा रहे हैं। 121 00:05:05,950 --> 00:05:09,180 मैं एक तालिका बनाने के लिए जा रहा हूँ दो स्तंभों के साथ उपयोगकर्ताओं ठीक है, जाएँ क्लिक करें। 122 00:05:09,180 --> 00:05:10,520 अब हम यह वास्तव में तेजी से मिल गया है। 123 00:05:10,520 --> 00:05:12,065 बहुत अच्छी तरह से किया, धन्यवाद। 124 00:05:12,065 --> 00:05:14,440 ठीक है, तो हम क्या चाहते हो इन स्तंभों के नाम से जाना? 125 00:05:14,440 --> 00:05:16,080 >> तो, एक नाम के नाम से जाना जा रहा है। 126 00:05:16,080 --> 00:05:19,480 Here-- और इंटरफ़ेस तो, यह सब मैं देख रहा हूँ सच में, अंत में एक छोटे बदसूरत हो जाता है 127 00:05:19,480 --> 00:05:21,270 आप एक बार यह सब डाटा में लिखना प्रारंभ करें। 128 00:05:21,270 --> 00:05:27,450 लेकिन क्या अच्छा है की है कि तरह है विडंबना यह है कि मैं कॉलम पैदा कर रहा हूँ, 129 00:05:27,450 --> 00:05:29,977 लेकिन उपकरण मूर्खता है पंक्तियों में उन्हें बाहर रखी 130 00:05:29,977 --> 00:05:31,560 इतना है कि मैं इन स्तंभों विन्यस्त कर सकते हैं। 131 00:05:31,560 --> 00:05:33,550 तो, नाम के तहत दो कारतूस वहाँ नहीं है। 132 00:05:33,550 --> 00:05:36,180 और इन क्षेत्रों में से एक मैं प्रयोक्ता नाम बुलाया करना चाहते हैं, 133 00:05:36,180 --> 00:05:38,000 और अन्य क्षेत्र मैं नाम कॉल करना चाहते हैं। 134 00:05:38,000 --> 00:05:40,340 >> और अब मैं चयन करना है इन बातों के लिए डेटा प्रकार के। 135 00:05:40,340 --> 00:05:42,330 तो, एक्सेल में जबकि और गूगल स्प्रेडशीट्स, 136 00:05:42,330 --> 00:05:45,531 आप एक स्तंभ चाहते हैं, तो आप सचमुच सिर्फ नाम या उपयोगकर्ता नाम टाइप करें, हिट दर्ज करें। 137 00:05:45,531 --> 00:05:48,030 शायद आप इसे बोल्ड चेहरा बनाने सिर्फ स्पष्टता के लिए, लेकिन यह बात है। 138 00:05:48,030 --> 00:05:50,140 आप निर्दिष्ट नहीं करते स्तंभों के प्रकार। 139 00:05:50,140 --> 00:05:53,790 अब गूगल स्प्रेडशीट्स या एक्सेल आप में डेटा प्रदान की गई है कैसे निर्दिष्ट कर सकता है। 140 00:05:53,790 --> 00:05:58,120 आप स्वरूप मेनू के लिए जाना है, और आप कर सकता है इस तरह डॉलर के हस्ताक्षर दिखाने निर्दिष्ट कर सकते हैं, 141 00:05:58,120 --> 00:05:59,900 एक चल बिन्दु मूल्य की तरह इस शो। 142 00:05:59,900 --> 00:06:01,990 >> इसलिए, यह करने के लिए आत्मा में इसी तरह की है हम क्या करने के बारे में क्या कर रहे हैं कि, 143 00:06:01,990 --> 00:06:04,740 लेकिन यह वास्तव में मजबूर हो रहा है डेटा एक खास प्रकार किया जाना है। 144 00:06:04,740 --> 00:06:07,750 अब, यहां तक ​​कि एक पल पहले हालांकि मैं केवल कुछ ही डेटा प्रकार कहा कि वहाँ 145 00:06:07,750 --> 00:06:11,120 वहाँ वास्तव में एक पूरी बहुत कुछ है, और वे कर रहे हैं 146 00:06:11,120 --> 00:06:12,910 विशिष्टता की डिग्री बदलती में। 147 00:06:12,910 --> 00:06:14,970 और एक अलग रूप में, आप यहां तक ​​कि फैंसी बातें कर सकते हैं 148 00:06:14,970 --> 00:06:17,520 भंडारण geometries की तरह एक डेटाबेस के अंदर। 149 00:06:17,520 --> 00:06:19,250 आप चीजों को स्टोर कर सकते हैं जीपीएस निर्देशांक की तरह 150 00:06:19,250 --> 00:06:22,420 और वास्तव में, गणितीय, मिल दूसरों के लिए बंद कर रहे हैं कि अंक। 151 00:06:22,420 --> 00:06:24,128 लेकिन हम करने जा रहे हैं इस सुपर सरल रखना 152 00:06:24,128 --> 00:06:26,800 और, यहाँ तक की सब से ऊपर जाना तथाकथित स्ट्रिंग प्रकार के। 153 00:06:26,800 --> 00:06:29,240 >> तो, यहाँ एक की एक सूची है विकल्पों में से पूरी गुच्छा। 154 00:06:29,240 --> 00:06:32,740 चार, varchar, TINYTEXT, MEDIUMTEXT, LongText। 155 00:06:32,740 --> 00:06:34,110 और यह भारी की तरह है। 156 00:06:34,110 --> 00:06:37,610 और दुर्भाग्य से, कुछ हद तक विडंबना यह है कि सी को, 157 00:06:37,610 --> 00:06:40,120 एक चार वास्तव में एक चार नहीं है। 158 00:06:40,120 --> 00:06:44,170 आप एक डेटाबेस में निर्दिष्ट करते हैं अपने डेटा प्रकार CHAR है कि, 159 00:06:44,170 --> 00:06:47,390 कि हाँ, यह एक है कि इसका मतलब है चार, लेकिन यह एक या एक से अधिक घर का काम है। 160 00:06:47,390 --> 00:06:49,630 और अगर आप निर्दिष्ट करने के लिए कितने घर का काम आप चाहते हैं। 161 00:06:49,630 --> 00:06:51,636 तो, क्या एक ठेठ है एक उपयोगकर्ता नाम लंबाई? 162 00:06:51,636 --> 00:06:52,760 एक सीमा आम तौर पर देखते है? 163 00:06:52,760 --> 00:06:53,920 >> दर्शकों: [अश्राव्य] 164 00:06:53,920 --> 00:06:55,050 >> डेविड मालन: 16 हो सकता है? 165 00:06:55,050 --> 00:06:55,990 ऐसा कुछ। 166 00:06:55,990 --> 00:06:57,948 अगर आप फिर पता है, दिन, यह आठ हुआ करता था। 167 00:06:57,948 --> 00:07:00,289 कभी कभी यह 16 कभी कभी, है यह उस से भी अधिक है। 168 00:07:00,289 --> 00:07:02,080 और हां, यह नहीं करता है मुझे एक चार देना मतलब है। 169 00:07:02,080 --> 00:07:04,730 यह मैं निर्दिष्ट करने के लिए इसका मतलब है मैदान की लंबाई, 170 00:07:04,730 --> 00:07:07,402 और अब मैं 16 की तरह कुछ कह सकते हैं। 171 00:07:07,402 --> 00:07:08,610 और यहाँ एक व्यापार बंद है। 172 00:07:08,610 --> 00:07:11,360 तो, हम एक पल में देखेंगे इस एक मतलब यह है कि, 173 00:07:11,360 --> 00:07:14,620 हर उपयोगकर्ता नाम 16 अक्षर हो गया है। 174 00:07:14,620 --> 00:07:18,720 लेकिन एक मिनट, एम-ए-एल-ए-एन प्रतीक्षा करें। कि अगर अपने उपयोगकर्ता नाम और मैं केवल पाँच उपयोग कर रहा हूँ, 175 00:07:18,720 --> 00:07:23,070 आप डेटाबेस है कि क्या प्रस्ताव होगा अन्य 11 पात्रों के लिए क्या करना है कि 176 00:07:23,070 --> 00:07:24,471 मैं के लिए जगह सुरक्षित कर लिया है? 177 00:07:24,471 --> 00:07:25,220 आप क्या करेंगे? 178 00:07:25,220 --> 00:07:26,480 >> दर्शकों: [अश्राव्य] 179 00:07:26,480 --> 00:07:27,160 >> डेविड मालन: हाँ, बस उन सब को अशक्त बना। 180 00:07:27,160 --> 00:07:28,290 उन्हें रिक्त स्थान बनाओ। 181 00:07:28,290 --> 00:07:30,816 लेकिन शायद अशक्त, तो एक बैकस्लैश शून्य की बहुत। 182 00:07:30,816 --> 00:07:33,190 तो, एक हाथ पर, हम है अब अपने उपयोगकर्ता नाम निश्चित किया है कि 183 00:07:33,190 --> 00:07:34,780 16 अक्षर से अधिक नहीं हो सकता है। 184 00:07:34,780 --> 00:07:37,590 और इस बात का दूसरा पहलू भी है कि मैं एक बहुत लंबा नाम था अगर 185 00:07:37,590 --> 00:07:39,940 या वास्तव में लंबे समय से चाहता आप में से कुछ की तरह यूजरनेम 186 00:07:39,940 --> 00:07:44,840 लोग है कि कॉलेज में हो सकता है या Yale.edu पर, आप एक नहीं हो सकता। 187 00:07:44,840 --> 00:07:47,177 और हां, वास्तव में, आप है, तो कभी एक वेबसाइट के लिए पंजीकृत 188 00:07:47,177 --> 00:07:49,385 और आप कह पर चिल्लाया हो अपना पासवर्ड बहुत लंबा है 189 00:07:49,385 --> 00:07:52,710 या अपने यूज़रनेम यह बात है, बहुत लंबा है बस एक प्रोग्रामर, क्योंकि जब 190 00:07:52,710 --> 00:07:55,500 अपने या अपने डेटाबेस को विन्यस्त, फैसला इस क्षेत्र होगा कि 191 00:07:55,500 --> 00:07:57,150 अब इस लंबाई से भी हो सकता है। 192 00:07:57,150 --> 00:08:00,580 >> ठीक है, तो क्या हुआ अगर हम नाम के लिए आगे बढ़ें? 193 00:08:00,580 --> 00:08:05,240 कितना समय चाहिए एक ठेठ मानव का नाम हो सकता है? 194 00:08:05,240 --> 00:08:07,492 कितने वर्ण, 16? 195 00:08:07,492 --> 00:08:09,450 मैं हम कर सकते थे लग रहा है इस कमरे में किसी की तलाश 196 00:08:09,450 --> 00:08:13,210 जहां पिछले उसके या उसके पहले Plus से नाम 16 वर्णों से अधिक है। 197 00:08:13,210 --> 00:08:14,850 तो, 17 से बेहतर है कि क्या हो रहा है? 198 00:08:14,850 --> 00:08:17,040 18? 199 00:08:17,040 --> 00:08:18,830 25? 200 00:08:18,830 --> 00:08:20,350 बड़ा? 201 00:08:20,350 --> 00:08:20,980 30? 202 00:08:20,980 --> 00:08:21,855 >> दर्शकों: [अश्राव्य] 203 00:08:21,855 --> 00:08:23,700 डेविड मालन: 5000, हे भगवान। 204 00:08:23,700 --> 00:08:26,309 तो, कि शायद एक सभ्य है ऊपरी बाध्य करेगा हम कहते हैं। 205 00:08:26,309 --> 00:08:28,350 और यहाँ हम किस तरह का है एक निर्णय फोन बनाने के लिए। 206 00:08:28,350 --> 00:08:30,400 की तरह, यहाँ कोई सही जवाब नहीं है। 207 00:08:30,400 --> 00:08:32,740 अनंत, बहुत संभव नहीं है हम अंत में कर रहे हैं, क्योंकि 208 00:08:32,740 --> 00:08:34,781 हम कर रहे हैं have-- जा रहा स्मृति से बाहर चलाने के लिए जा रहा है। 209 00:08:34,781 --> 00:08:36,909 तो, हम एक बनाने के लिए है कुछ बिंदु पर निर्णय फोन। 210 00:08:36,909 --> 00:08:41,010 >> हो सकता है बहुत आम है, उदाहरण के लिए, use-- और मुझे यहां चार निर्दिष्ट जाने के लिए 211 00:08:41,010 --> 00:08:46,050 के रूप में before-- 255 सचमुच था इस डाटाबेस सॉफ्टवेयर पर ऊपरी सीमा 212 00:08:46,050 --> 00:08:46,700 बहुत साल पहले। 213 00:08:46,700 --> 00:08:48,575 और मनुष्यों की तो, एक बहुत बस ठीक कहते थे। 214 00:08:48,575 --> 00:08:49,420 255 की सीमा है। 215 00:08:49,420 --> 00:08:50,620 चलो बस अधिकतम उपयोग करते हैं। 216 00:08:50,620 --> 00:08:51,870 और यह बहुत हास्यास्पद है। 217 00:08:51,870 --> 00:08:55,060 की तरह, आप किसी के टाइप कर रहे हैं, तो 200 से अधिक अक्षर के लिए नाम है, 218 00:08:55,060 --> 00:08:56,140 एक छोटे से हास्यास्पद है। 219 00:08:56,140 --> 00:08:59,624 >> लेकिन, आस्की नहीं है कि याद पात्रों के लिए केवल प्रणाली। 220 00:08:59,624 --> 00:09:01,540 और हां, विशेष रूप में एक एशियाई भाषाओं के बहुत 221 00:09:01,540 --> 00:09:04,248 पात्रों है, जहां हम नहीं कर सकते मेरी अमेरिका की तरह कीबोर्ड पर अभिव्यक्त 222 00:09:04,248 --> 00:09:08,209 कीबोर्ड, वास्तव में कुछ अक्षर 16 बिट के बजाय आठ बिट तक ले। 223 00:09:08,209 --> 00:09:10,250 और हां, तो यह वास्तव में सब है कि अनुचित नहीं है 224 00:09:10,250 --> 00:09:12,250 हम और अधिक जरूरत है अंतरिक्ष हम फिट करना चाहते हैं तो 225 00:09:12,250 --> 00:09:16,252 बहुत अमेरिका की तुलना में बड़ा पात्रों केंद्रित लोगों को हम पर चर्चा करने के लिए खड़ा कर दिया है। 226 00:09:16,252 --> 00:09:17,460 तो, हम कुछ ऊपरी सीमा की जरूरत है। 227 00:09:17,460 --> 00:09:21,470 मैं सबसे अच्छा एक है पता नहीं क्या लेकिन 255 आम तौर पर एक आम एक है। 228 00:09:21,470 --> 00:09:22,700 25 कम लगता है। 229 00:09:22,700 --> 00:09:23,857 16, 32 कम लग रहा है। 230 00:09:23,857 --> 00:09:25,690 मैं ओर गलती होगी उच्च कुछ की। 231 00:09:25,690 --> 00:09:27,330 लेकिन एक व्यापार के रूप में हमेशा की तरह, बंद नहीं है। 232 00:09:27,330 --> 00:09:31,902 , शायद, स्पष्ट है क्या 255 घर का काम आरक्षण का व्यापार बंद 233 00:09:31,902 --> 00:09:33,360 अपने डेटाबेस में हर किसी का नाम लिए? 234 00:09:33,360 --> 00:09:34,230 >> दर्शकों: [अश्राव्य] 235 00:09:34,230 --> 00:09:34,510 >> डेविड मालन: वह क्या है? 236 00:09:34,510 --> 00:09:35,430 >> दर्शकों: [अश्राव्य] 237 00:09:35,430 --> 00:09:37,138 >> डेविड मालन: यह एक है स्मृति की बहुत है, है ना? 238 00:09:37,138 --> 00:09:42,280 एम-ए-एल-ए-एन। मैं सिर्फ 250 बर्बाद किया है पात्रों सिर्फ मेरे नाम की दुकान के लिए 239 00:09:42,280 --> 00:09:46,000 रक्षा, बस के मामले में किसी को कक्षा में एक बहुत लंबा नाम है। 240 00:09:46,000 --> 00:09:47,940 यही कारण है कि एक अनुचित tradeoff की तरह लगता है। 241 00:09:47,940 --> 00:09:52,040 >> इसलिए, यह है, कि एसक्यूएल पता चला है इस डेटाबेस भाषा, 242 00:09:52,040 --> 00:09:55,480 वास्तव में कुछ का समर्थन करता है varchar, या परिवर्तनीय चार बुलाया। 243 00:09:55,480 --> 00:09:59,390 और यह कि इस में एक तरह से अच्छा है आप एक निश्चित नहीं निर्दिष्ट करने की अनुमति 244 00:09:59,390 --> 00:10:01,900 चौड़ाई, बल्कि, एक चर चौड़ाई। 245 00:10:01,900 --> 00:10:05,060 और अधिक विशेष रूप से एक क्षेत्र की अधिकतम चौड़ाई। 246 00:10:05,060 --> 00:10:08,901 तो, यह एक नाम कर सकते हैं कि इसका मतलब है कोई 250 से अधिक अक्षरों का होना, 247 00:10:08,901 --> 00:10:10,150 लेकिन यह निश्चित रूप से कम हो सकता है। 248 00:10:10,150 --> 00:10:11,733 और डेटाबेस स्मार्ट होने जा रहा है। 249 00:10:11,733 --> 00:10:14,860 आप एम-ए-एल-ए-एन में डाल दिया करते हैं, यह केवल पाँच का उपयोग करने के लिए जा रहा है 250 00:10:14,860 --> 00:10:18,120 के लिए शायद छह बाइट्स की तरह एक अनुगामी अशक्त चरित्र, 251 00:10:18,120 --> 00:10:23,330 और एक अतिरिक्त खर्च नहीं अनावश्यक रूप से 249 या 250 बाइट्स। 252 00:10:23,330 --> 00:10:27,380 >> तो, यह मुझे ऐसा करना चाहिए की तरह लगता है इस कहानी के साथ शुरू कर दिया है। 253 00:10:27,380 --> 00:10:29,140 लेकिन हमेशा एक tradeoff है। 254 00:10:29,140 --> 00:10:33,024 तो, एक हाथ पर, एक उपयोगकर्ता नाम मैं मुश्किल से 16 से कोडित किया जा करने के लिए निर्दिष्ट, 255 00:10:33,024 --> 00:10:34,940 और हो सकता है कि नहीं था सही कॉल, हो सकता है यह 256 00:10:34,940 --> 00:10:40,040 है, लेकिन क्यों उपयोग नहीं सब कुछ के लिए VARCHARs? 257 00:10:40,040 --> 00:10:42,020 >> यह एक कारण के लिए मौजूद है। 258 00:10:42,020 --> 00:10:46,200 क्यों हर क्षेत्र के लिए VARCHARs का उपयोग नहीं जिनकी लम्बाई आप पहले से पता नहीं है 259 00:10:46,200 --> 00:10:48,180 यह सही है, एक महान बात लगती है तो क्या होगा? 260 00:10:48,180 --> 00:10:50,482 उतना ही स्थान का प्रयोग करें आप इस सीमा तक की जरूरत है? 261 00:10:50,482 --> 00:10:51,271 >> दर्शकों: धीमी। 262 00:10:51,271 --> 00:10:52,146 डेविड मालन: स्पेलर? 263 00:10:52,146 --> 00:10:53,120 दर्शकों: धीमी बनाता है यह? 264 00:10:53,120 --> 00:10:53,970 डेविड मालन: ओह, यह धीमी है। 265 00:10:53,970 --> 00:10:55,720 अच्छा है, कि लगभग हमेशा इस सवाल का जवाब है, सच में। 266 00:10:55,720 --> 00:10:56,520 की तरह, tradeoff क्या है? 267 00:10:56,520 --> 00:10:58,570 यह या तो अधिक स्थान की लागत या इसे और अधिक समय खर्च होता है। 268 00:10:58,570 --> 00:11:00,111 इसलिए, इस मामले में, यह धीमी हो सकती है। 269 00:11:00,111 --> 00:11:00,920 क्यों? 270 00:11:00,920 --> 00:11:05,830 >> दर्शकों: [अश्राव्य] [अश्राव्य] का निर्धारण। 271 00:11:05,830 --> 00:11:06,640 >> डेविड मालन: अच्छा। 272 00:11:06,640 --> 00:11:09,670 तो, अगर आप भी से याद हो सकता है PSED5, अपने दृष्टिकोण के साथ खेल रहे हैं 273 00:11:09,670 --> 00:11:12,750 शब्दकोश, अगर आप के पास गतिशील स्मृति आवंटित या रखना 274 00:11:12,750 --> 00:11:14,630 कि, एक बफर बढ़ रही है वास्तव में धीमी गति से किया जा सकता है। 275 00:11:14,630 --> 00:11:16,963 आप malloc फोन करने के लिए है, तो हुड के नीचे और हो सकता है 276 00:11:16,963 --> 00:11:19,610 MySQL कि ऐसा है, क्या कर रहा है है निश्चित रूप से है कि मामला हो सकता है। 277 00:11:19,610 --> 00:11:22,430 आप जिस तरह से अगर आपको लगता वापस भी PSet-- या करने के लिए 278 00:11:22,430 --> 00:11:26,340 जैसे सप्ताह दो, हम किया था जब बातें द्विआधारी खोज या यहां तक ​​कि रैखिक खोज, 279 00:11:26,340 --> 00:11:30,690 हर शब्द के बारे में अच्छी चीजों में से एक एक कॉलम में एक डेटाबेस या हर शब्द में 280 00:11:30,690 --> 00:11:33,690 यहां तक ​​कि वास्तव में एक ही लंबाई किया जा रहा है यदि उन पात्रों की एक पूरी गुच्छा 281 00:11:33,690 --> 00:11:37,390 रिक्त हैं, तो आप उपयोग कर सकते हैं अपने डेटा पर रैंडम एक्सेस, है ना? 282 00:11:37,390 --> 00:11:40,310 >> आप हर जानते हैं कि शब्द, 16 वर्ण दूर है 283 00:11:40,310 --> 00:11:46,460 ताकि आप के लिए, सूचक गणित का उपयोग कर सकते हैं बात करते हैं, और हमें करने के लिए जाना 16, 32, 48, 64, 284 00:11:46,460 --> 00:11:49,589 और तुम सिर्फ कूद कर सकते हैं तुरन्त गणित का उपयोग 285 00:11:49,589 --> 00:11:51,130 अपने डेटाबेस में शब्दों के किसी भी करने के लिए। 286 00:11:51,130 --> 00:11:54,280 यह एक varchar है जबकि अगर, क्या आप के बजाय क्या करना है? 287 00:11:54,280 --> 00:11:55,960 >> [फोन बज रहा है] 288 00:11:55,960 --> 00:11:58,680 >> यह एक varchar है, तो आप रैंडम एक्सेस का उपयोग नहीं कर सकते हैं। 289 00:11:58,680 --> 00:12:01,341 क्या आप चाहते हैं या क्या करना है? 290 00:12:01,341 --> 00:12:01,840 हाँ? 291 00:12:01,840 --> 00:12:03,240 >> दर्शकों: [अश्राव्य] 292 00:12:03,240 --> 00:12:04,310 >> डेविड मालन: देखो whole-- ट्रेस के माध्यम से 293 00:12:04,310 --> 00:12:06,518 पूरी सूची के माध्यम से सबसे अधिक संभावना है, के लिए क्या देख रहे हैं? 294 00:12:06,518 --> 00:12:08,356 विशेष मूल्य किस तरह का? 295 00:12:08,356 --> 00:12:09,230 दर्शकों: [अश्राव्य] 296 00:12:09,230 --> 00:12:11,105 डेविड मालन: खोज रहे अशक्त Terminators के लिए 297 00:12:11,105 --> 00:12:13,637 कि शब्दों की जुदाई हदबंदी। 298 00:12:13,637 --> 00:12:15,720 तो फिर, एक tradeoff, और कोई सही जवाब नहीं है। 299 00:12:15,720 --> 00:12:18,380 लेकिन यह विशेष रूप से, जहां है अपने उपयोगकर्ताओं को कई होना करने के लिए मिलता है जब 300 00:12:18,380 --> 00:12:21,700 अपने सर्वर पर और अपने भार, लोगों की संख्या है, यह अधिक हो जाता है का उपयोग कर 301 00:12:21,700 --> 00:12:23,650 ये वास्तव में nontrivial निर्णय कर रहे हैं। 302 00:12:23,650 --> 00:12:26,640 तो, हम इस रूप में इन छोड़ देते हैं, लेकिन हो सकता है के सही करने के लिए नीचे स्क्रॉल 303 00:12:26,640 --> 00:12:27,332 यहां। 304 00:12:27,332 --> 00:12:30,290 अब, स्तंभों की एक जोड़ी है हम एक निर्णय फोन करना कहाँ है। 305 00:12:30,290 --> 00:12:35,170 यह एक उपयोगकर्ता की अनुमति देने के लिए समझ पड़ता है एक उपयोगकर्ता के यूज़रनेम या एक उपयोगकर्ता की, नाम है 306 00:12:35,170 --> 00:12:36,370 , अशक्त होने का नाम क्या है? 307 00:12:36,370 --> 00:12:37,610 यही कारण है कि अभी खाली है। 308 00:12:37,610 --> 00:12:40,360 एक छोटे अतर्कसंगत लगता है, तो मैं कर रहा हूँ उन बक्सों की जांच करने के लिए नहीं जा रहा। 309 00:12:40,360 --> 00:12:42,670 लेकिन यह एक में पता चला है डेटाबेस, आप कह सकते हैं, 310 00:12:42,670 --> 00:12:44,620 किसी वैकल्पिक यह मान सकते हैं। 311 00:12:44,620 --> 00:12:47,180 इस स्तंभ के पास नहीं है वास्तव में वहाँ होने के लिए। 312 00:12:47,180 --> 00:12:48,570 >> अब, मेनू नीचे इस ड्रॉप नहीं है। 313 00:12:48,570 --> 00:12:50,810 और मैं अभी भी कर रहा हूँ नोटिस वहाँ पहली पंक्ति में, 314 00:12:50,810 --> 00:12:52,520 इसलिए मैं अब उपयोगकर्ता नाम के बारे में बात कर रहा हूँ। 315 00:12:52,520 --> 00:12:56,290 और यह एक डाटाबेस पता चला है कि एक साधारण मात्र स्प्रेडशीट के विपरीत, 316 00:12:56,290 --> 00:12:58,520 अनुक्रमित बुलाया शक्तिशाली विशेषताएं है। 317 00:12:58,520 --> 00:13:02,600 और एक सूचकांक बताने का एक तरीका है अग्रिम में डेटाबेस मैं मानव कि 318 00:13:02,600 --> 00:13:03,900 आप की तुलना में होशियार हूँ। 319 00:13:03,900 --> 00:13:10,430 >> मैं, प्रश्नों का क्या प्रकार का चयन जानते , या डालने या हटाने या अद्यतन 320 00:13:10,430 --> 00:13:13,182 मेरे कोड को समाप्त करने के लिए जा रहा है कि इस डेटाबेस पर कर रही। 321 00:13:13,182 --> 00:13:14,390 मैं डेटा का एक बहुत पढ़ना चाहते हैं। 322 00:13:14,390 --> 00:13:15,681 मैं डेटा का एक बहुत सम्मिलित करना चाहते हैं। 323 00:13:15,681 --> 00:13:17,530 मैं लगातार करना चाहते हैं डेटा का एक बहुत हटा दें। 324 00:13:17,530 --> 00:13:21,520 मैंने सोचा कि मैं जा रहा हूँ जानते हैं कि एक बहुत प्रयोक्ता नाम की तरह एक क्षेत्र तक पहुँचने, 325 00:13:21,520 --> 00:13:24,770 मैं preemptively बता सकते हैं डेटाबेस, मैं तुम से ज्यादा जानते हैं 326 00:13:24,770 --> 00:13:29,220 और मैं डिक्री करना चाहते हैं कि आप सूचकांक इस क्षेत्र में होना चाहिए। 327 00:13:29,220 --> 00:13:33,200 एक क्षेत्र या एक स्तंभ अनुक्रमण कहाँ इसका मतलब है कि अग्रिम में डेटाबेस 328 00:13:33,200 --> 00:13:37,040 जैसे, से कुछ विचारों उधार लेना चाहिए, सप्ताह चार और पांच और छह CS50 से 329 00:13:37,040 --> 00:13:39,240 और वास्तव में ऊपर का निर्माण एक द्विआधारी खोज की तरह कुछ 330 00:13:39,240 --> 00:13:41,560 पेड़ या कुछ और आम तौर पर एक बी पेड़ बुलाया 331 00:13:41,560 --> 00:13:43,410 आप सीखना होगा कि एक वर्ग की तरह CS124 में 332 00:13:43,410 --> 00:13:46,710 हार्वर्ड में, एक एल्गोरिदम वर्ग, या अन्य स्थानों के किसी भी संख्या। 333 00:13:46,710 --> 00:13:49,570 >> डेटाबेस और स्मार्ट इसे लागू करने वाले लोग 334 00:13:49,570 --> 00:13:53,880 स्टोर करने के लिए कैसे पता लगाना होगा जानकारी के उस मेज 335 00:13:53,880 --> 00:13:57,061 स्मृति में तो यह है कि खोजों और अन्य कार्यों सुपर उपवास कर रहे हैं। 336 00:13:57,061 --> 00:13:58,060 आप ऐसा करने की जरूरत नहीं है। 337 00:13:58,060 --> 00:14:00,640 आप को लागू करने की जरूरत नहीं है रैखिक खोज या द्विआधारी खोज 338 00:14:00,640 --> 00:14:03,300 या ऐसा या चयन विलय प्रकार, उस के किसी भी। 339 00:14:03,300 --> 00:14:06,590 आपको बता यदि डेटाबेस यह तुम्हारे लिए है यह preemptively सूचकांक करने के लिए इस क्षेत्र। 340 00:14:06,590 --> 00:14:09,100 >> और तुम, वहाँ भी देख सकते हैं कुछ अन्य विशेषताओं 341 00:14:09,100 --> 00:14:11,010 हम डेटाबेस को लागू करने के लिए कह सकते हैं। 342 00:14:11,010 --> 00:14:16,431 मैं अनोखा चाहें तो इसका क्या मतलब हो सकता है इस सूची से, बस intuitively? 343 00:14:16,431 --> 00:14:16,930 हाँ? 344 00:14:16,930 --> 00:14:17,889 >> दर्शकों: [अश्राव्य] 345 00:14:17,889 --> 00:14:19,930 डेविड मालन: हाँ, उपयोगकर्ता नाम अनूठा हो गया है। 346 00:14:19,930 --> 00:14:23,330 यह एक अच्छी बात है या बुरी बात के लिए है उपयोगकर्ताओं के साथ एक वेबसाइट के लिए एक डेटाबेस? 347 00:14:23,330 --> 00:14:24,965 उपयोगकर्ता नाम अनूठा होना चाहिए? 348 00:14:24,965 --> 00:14:25,880 हां संभवत। 349 00:14:25,880 --> 00:14:27,800 अगर है कि क्या क्षेत्र हम में लॉग इन करने का उपयोग 350 00:14:27,800 --> 00:14:31,867 आप वास्तव में लोगों को होने नहीं करना चाहते हैं एक ही लग रहा है या एक ही उपयोगकर्ता नाम। 351 00:14:31,867 --> 00:14:33,700 तो, हम कर सकते हैं डेटाबेस इतना है कि लागू 352 00:14:33,700 --> 00:14:37,880 कि अब मेरे PHP कोड या किसी भी भाषा में, मैं, उदाहरण के लिए, की जांच करने के लिए नहीं है 353 00:14:37,880 --> 00:14:41,490 जरूरी इस उपयोगकर्ता नाम करता है मैं किसी के रजिस्टर जाने से पहले मौजूद हैं? 354 00:14:41,490 --> 00:14:46,690 डेटाबेस नाम के दो लोगों को नहीं होने देंगे डेविड या Malans इस मामले में रजिस्टर। 355 00:14:46,690 --> 00:14:50,030 >> और एक अलग रूप में, यहां तक ​​कि हालांकि इस मेनू केवल आप एक का चयन की सुविधा देता है, 356 00:14:50,030 --> 00:14:54,550 एक अद्वितीय सूचकांक है कि एक है सुपर फास्ट प्रदर्शन के लिए अनुक्रमित, 357 00:14:54,550 --> 00:14:56,100 लेकिन यह भी विशिष्टता लागू करता है। 358 00:14:56,100 --> 00:14:58,850 और हम करने के लिए वापस आ गया हूँ क्या बस एक पल में मतलब दो अन्य। 359 00:14:58,850 --> 00:15:00,930 इस बीच, मैं करने के लिए जाना है, तो मेरी दूसरी पंक्ति, जो 360 00:15:00,930 --> 00:15:06,230 उपयोगकर्ता का नाम है, मैं निर्दिष्ट करना चाहिए नाम अलग होना चाहिए कि? 361 00:15:06,230 --> 00:15:09,550 नहीं, आप निश्चित रूप से कर सकता है क्योंकि have-- कोई दो डेविड वहाँ 362 00:15:09,550 --> 00:15:11,050 इस कमरे में Malans, सबसे अधिक संभावना है। 363 00:15:11,050 --> 00:15:14,290 लेकिन हम एक अलग नाम चुनते हैं, हम निश्चित रूप से टकराव का हो सकता है। 364 00:15:14,290 --> 00:15:16,130 >> टेबल और जैसे हैश करने के लिए वापस लगता है। 365 00:15:16,130 --> 00:15:18,604 तो, हम निश्चित रूप से नहीं करना चाहते नाम क्षेत्र अनूठा बनाने के लिए। 366 00:15:18,604 --> 00:15:21,270 तो, हम सिर्फ छोड़ने के लिए जा रहे हैं कि पानी का छींटा, डैश, पानी का छींटा, कुछ भी नहीं है। 367 00:15:21,270 --> 00:15:22,660 और मुझे छोड़ने के लिए जा रहा हूँ अकेले सब कुछ। 368 00:15:22,660 --> 00:15:25,035 दरअसल, इन क्षेत्रों के सबसे हम के बारे में परवाह करने की जरूरत नहीं होगी। 369 00:15:25,035 --> 00:15:27,830 और मैं इस बचाने के लिए तैयार हूँ, इंटरनेट सहयोग करता है, तो 370 00:15:27,830 --> 00:15:35,032 मैं बहुत, बहुत, बहुत बचाने के लिए क्लिक करें, और धीरे-धीरे डेटाबेस बचाया प्राप्त करता है। 371 00:15:35,032 --> 00:15:37,240 और अब मैं यह करने के लिए वापस आ गया हूँ इंटरफेस है, जो वैसे, 372 00:15:37,240 --> 00:15:38,680 पहली नज़र में भारी है। 373 00:15:38,680 --> 00:15:42,450 लेकिन मैं क्या करने जा रहा हूँ सब क्लिक करें ऊपर छोड़ दिया पर उपयोगकर्ता शब्द पर। 374 00:15:42,450 --> 00:15:47,630 मैं यहाँ तक जाने के लिए जा रहा हूँ, क्लिक करें उपयोगकर्ता, और डिफ़ॉल्ट, यह 375 00:15:47,630 --> 00:15:50,180 , कुछ एसक्यूएल मार डाला गया है लेकिन उस पर और भी जानकारी कुछ क्षणों में। 376 00:15:50,180 --> 00:15:52,654 यहाँ मैं क्या किया था की सिर्फ एक सारांश है। 377 00:15:52,654 --> 00:15:55,320 और आप देख सकते हैं कि चिंता करने की नहीं यहां लैटिन और स्वीडिश का उल्लेख। 378 00:15:55,320 --> 00:16:00,490 उन सिर्फ डिफ़ॉल्ट हैं सेटिंग्स, मूल रूप में MySQL क्योंकि, 379 00:16:00,490 --> 00:16:04,000 या पीएचपी myadmin, दो में से एक हुआ कुछ स्वीडिश लोगों द्वारा लिखा होना चाहिए। 380 00:16:04,000 --> 00:16:06,100 लेकिन यह यहाँ हमारे मामले में अप्रासंगिक है। 381 00:16:06,100 --> 00:16:08,280 >> ठीक है, तो क्यों है यह सब दिलचस्प? 382 00:16:08,280 --> 00:16:13,050 यह पता चला है, मैं डेटा सम्मिलित कर सकते हैं कोड लिख कर एक डेटाबेस में। 383 00:16:13,050 --> 00:16:15,940 और मुझे आगे जाना है और कर रहा हूँ यहाँ मेरी फाइल में, मैं कर रहा हूँ 384 00:16:15,940 --> 00:16:19,000 आगे जाना है और इस तरह का नाटक करने के लिए जा रहा इस डेटाबेस है कि, के लिए अजीब है जो 385 00:16:19,000 --> 00:16:23,040 यह इस समय नहीं है, लेकिन यह होगा हम इस समस्या को पाने के सात सेट जब हो। 386 00:16:23,040 --> 00:16:25,640 और मैं आगे जाने के लिए जा रहा हूँ और , क्वेरी नामक एक समारोह निष्पादित 387 00:16:25,640 --> 00:16:28,730 जो हम इस समस्या में आपको दे देंगे कि, सात की वितरण कोड सेट 388 00:16:28,730 --> 00:16:31,490 कम से कम एक तर्क लेता है, जो सिर्फ एक स्ट्रिंग है। 389 00:16:31,490 --> 00:16:33,460 एसक्यूएल कोड के एक स्ट्रिंग। 390 00:16:33,460 --> 00:16:36,700 तो, आप कैसे करने के लिए सीख रहे हैं के बारे संरचित क्वेरी भाषा में लिखें। 391 00:16:36,700 --> 00:16:41,270 >> मैं में एक नई पंक्ति सम्मिलित करना चाहते हैं, तो मेरी डेटाबेस किसी प्रस्तुत कर दी है क्योंकि 392 00:16:41,270 --> 00:16:47,600 मेरे कोड को एक रूप है, मैं सचमुच होगा यूजर्स में डालने के बाद लिखने 393 00:16:47,600 --> 00:16:52,800 खेतों: उपयोगकर्ता नाम, अल्पविराम, नाम, मूल्यों, 394 00:16:52,800 --> 00:16:57,480 और अब मैं डालने की जरूरत है मालन, और बोली की तरह कुछ, 395 00:16:57,480 --> 00:17:01,490 गंदें शब्द बोलना 'डेविड मालन।' और अब यहां तक ​​कि एसक्यूएल के साथ अपरिचित उन लोगों के लिए, 396 00:17:01,490 --> 00:17:07,830 यही कारण है कि मैं एक उद्धरण का उपयोग कर रहा हूँ इस हरी स्ट्रिंग के अंदर? 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 क्या कारण है कि यहां हो सकता है? 399 00:17:13,040 --> 00:17:14,609 >> मैं सह mingling दो भाषाओं हूँ सूचना है। 400 00:17:14,609 --> 00:17:18,099 क्वेरी, एक PHP समारोह है लेकिन यह एक बहस लेता है। 401 00:17:18,099 --> 00:17:21,740 और तर्क है कि खुद के लिए है हो सकता है नामक एक और भाषा में लिखा 402 00:17:21,740 --> 00:17:23,500 एसक्यूएल, संरचित क्वेरी भाषा। 403 00:17:23,500 --> 00:17:27,940 तो, सब कुछ है कि मैं बस यहाँ पर प्रकाश डाला है 404 00:17:27,940 --> 00:17:30,380 एसक्यूएल नामक इस भाषा है। 405 00:17:30,380 --> 00:17:36,290 तो, एकल उद्धरण के साथ क्या है, सिर्फ एक त्वरित मानसिक स्वास्थ्य की जांच के रूप में? 406 00:17:36,290 --> 00:17:37,324 आगे बढ़ें। 407 00:17:37,324 --> 00:17:37,990 वे तार कर रहे हैं। 408 00:17:37,990 --> 00:17:41,590 तो, बोली, गंदें शब्द बोलना मालन और बोली, गंदें शब्द बोलना डेविड मालन तार कर रहे हैं। 409 00:17:41,590 --> 00:17:45,210 और बस, अब intuitively सोच आप सी और पीएचपी के बारे में क्या जानते हैं, यह जानकर 410 00:17:45,210 --> 00:17:50,220 यही कारण है कि मैं यह कर, जो मैं आमतौर पर नहीं था तार के लिए इस्तेमाल होने वाले डबल उद्धरण? 411 00:17:50,220 --> 00:17:52,310 मैं ऐसा क्यों नहीं करना चाहता था? 412 00:17:52,310 --> 00:17:52,810 हाँ? 413 00:17:52,810 --> 00:17:53,685 >> दर्शकों: [अश्राव्य] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 डेविड मालन: बिल्कुल। 416 00:17:57,570 --> 00:17:59,653 मैं पहले से ही उपयोग कर रहा हूँ क्योंकि रास्ते पर डबल कोट्स 417 00:17:59,653 --> 00:18:01,929 तर्क के बाहर PHP समारोह को, 418 00:18:01,929 --> 00:18:03,470 मैं सिर्फ दुभाषिया भ्रमित करेगा। 419 00:18:03,470 --> 00:18:04,860 यह पता नहीं होगा, ये एक साथ जाना है? 420 00:18:04,860 --> 00:18:05,735 ये एक साथ जाना है? 421 00:18:05,735 --> 00:18:06,810 ये एक साथ जाना है? 422 00:18:06,810 --> 00:18:08,070 तो, मैं बजाय वैकल्पिक। 423 00:18:08,070 --> 00:18:11,784 >> या मैं इस तरह से कुछ कर सकता है बैकस्लैश बोली या बैकस्लैश बोली। 424 00:18:11,784 --> 00:18:14,200 सच कहूँ, कि बस शुरू होता है बहुत अस्पष्ट और बदसूरत मिलता है। 425 00:18:14,200 --> 00:18:16,790 लेकिन उस लक्ष्य को हासिल करेंगे के रूप में अच्छी तरह से एक ही परिणाम है। 426 00:18:16,790 --> 00:18:19,760 >> मैं थे तो, अगर इस पर अमल करने के लिए क्वेरी अब, चलो देखते हैं क्या होता। 427 00:18:19,760 --> 00:18:22,740 मैं अब और नहीं बल्कि आगे जाने के लिए जा रहा हूँ PHP कोड, अमल से जो 428 00:18:22,740 --> 00:18:24,610 आप खेलेंगे जहां है समस्या में, सात सेट 429 00:18:24,610 --> 00:18:27,200 मैं बजाय पीएचपी myadmin पर जाने के लिए जा रहा हूँ। 430 00:18:27,200 --> 00:18:29,770 और मैं स्वयं जा रहा हूँ एसक्यूएल टैब पर जाने के लिए, 431 00:18:29,770 --> 00:18:31,580 और मुझे इंटरफेस पर ज़ूम करते हैं। 432 00:18:31,580 --> 00:18:34,007 और मैं में पेस्ट करने के लिए जा रहा हूँ मैं सिर्फ टाइप बात। 433 00:18:34,007 --> 00:18:36,090 और रंग कोडिंग है अब एक छोटा सा बदल गया 434 00:18:36,090 --> 00:18:38,750 सिर्फ कार्यक्रम प्रारूपों क्योंकि चीजों को थोड़ा अलग तरह से। 435 00:18:38,750 --> 00:18:41,960 लेकिन यह सब मैंने किया है कि नोटिस है मैं उपयोगकर्ताओं में डालने, कहा है। 436 00:18:41,960 --> 00:18:45,790 मैं एक अल्पविराम में, फिर, निर्दिष्ट किया है अलग parenthesized सूची दो 437 00:18:45,790 --> 00:18:48,850 मैं सम्मिलित करना चाहते हैं कि खेतों, और तो मैं सचमुच कहा है मानों 438 00:18:48,850 --> 00:18:51,510 एक और कोष्ठक के द्वारा पीछा किया, और फिर दो मानों 439 00:18:51,510 --> 00:18:53,520 मैं प्लग-इन करने के लिए चाहते हैं, और अब अच्छे उपाय के लिए, 440 00:18:53,520 --> 00:18:55,010 मैं अंत में एक अर्धविराम डाल देता हूँ। 441 00:18:55,010 --> 00:18:56,570 तो, यह इस पीएचपी नहीं है सी में नहीं है। 442 00:18:56,570 --> 00:18:59,970 यह अब एसक्यूएल है, और मैं इसे चिपका रहा हूँ है कि इस वेब आधारित इंटरफेस में 443 00:18:59,970 --> 00:19:02,710 बस मुझे बताने के लिए जा रहा है, जैसे ही मैं जाने के लिए क्लिक करें, के रूप में 444 00:19:02,710 --> 00:19:08,060 डेटाबेस पर इस क्वेरी को निष्पादित CS50 आईडीई के अंदर चल रहा है। 445 00:19:08,060 --> 00:19:09,470 >> तो यह अच्छा है। 446 00:19:09,470 --> 00:19:12,520 कहा कि सूचना एक पंक्ति डाला, सुपर तेजी से चला गया 447 00:19:12,520 --> 00:19:15,190 0.0054 सेकंड कि डाटा डालने के लिए। 448 00:19:15,190 --> 00:19:16,610 इसलिए, यह बहुत स्वस्थ लग रहा है। 449 00:19:16,610 --> 00:19:19,350 यह मेरे प्रश्न reformatted सिर्फ यह देखने के लिए यहां मेरे लिए 450 00:19:19,350 --> 00:19:21,730 रंग कोडित संस्करण की तरह में। 451 00:19:21,730 --> 00:19:24,540 लेकिन अब मैं क्लिक करते हैं ब्राउज़, भी, कि नोटिस 452 00:19:24,540 --> 00:19:29,070 अव्यवस्था का एक बहुत पर नहीं है, हालांकि स्क्रीन, मेरी मेज अब दो पंक्तियाँ है। 453 00:19:29,070 --> 00:19:30,700 >> तो, मुझे आगे जाना है और एक अन्य करते हैं। 454 00:19:30,700 --> 00:19:33,760 इस के बजाय, मुझे जाने दो फिर एसक्यूएल टैब पर जाएँ। 455 00:19:33,760 --> 00:19:40,723 और इस बार मैं ऐसा कुछ डालने देंगे रोब और उसका नाम रोब बोडेन हो जाएगा। 456 00:19:40,723 --> 00:19:42,330 बोडेन। 457 00:19:42,330 --> 00:19:44,040 सहेजें क्लिक करते हैं। 458 00:19:44,040 --> 00:19:46,140 ओह, बल्कि जाओ। 459 00:19:46,140 --> 00:19:48,890 >> फिर से क्लिक करें, ब्राउज़, और अब मैं दो पंक्तियों के नोटिस। 460 00:19:48,890 --> 00:19:52,390 तो, यह सिर्फ एक रास्ता और अधिक जटिल है खोलने गूगल स्प्रेडशीट का रास्ता 461 00:19:52,390 --> 00:19:54,010 और सिर्फ एक कॉलम में एक पंक्ति लिखकर। 462 00:19:54,010 --> 00:19:57,070 लेकिन महत्वपूर्ण यह है कि क्या हो रहा है हम अब वाक्य रचना है 463 00:19:57,070 --> 00:20:00,220 जिसके साथ कोड लिखने के लिए इतना है कि अंत में, हम वास्तव में कर सकता है 464 00:20:00,220 --> 00:20:01,790 कुछ और यह करते हैं। 465 00:20:01,790 --> 00:20:05,380 कि PHP का समर्थन करता याद है सुपर वैश्विक चर। 466 00:20:05,380 --> 00:20:08,415 >> डॉलर के अंदर क्या है पीएचपी में जाओ अंडरस्कोर हस्ताक्षर? 467 00:20:08,415 --> 00:20:10,290 हम एक पर एक नज़र लिया या दो सरल उदाहरण हैं। 468 00:20:10,290 --> 00:20:15,640 और PSet6 में, आप नमस्कार है याद इस चर का उपयोग करता है, जो डॉट पीएचपी। 469 00:20:15,640 --> 00:20:17,870 क्या वहाँ में चला जाता है? 470 00:20:17,870 --> 00:20:21,015 या फिर यह क्या है? 471 00:20:21,015 --> 00:20:22,522 थोड़ा जोर से। 472 00:20:22,522 --> 00:20:23,790 >> दर्शकों: [अश्राव्य] 473 00:20:23,790 --> 00:20:25,030 >> डेविड मालन: यह एक बर्फ है सरणी के बीज, जो 474 00:20:25,030 --> 00:20:27,714 एक कह रही है की सिर्फ एक अच्छा तरीका है कुंजी मान जोड़े है कि सरणी। 475 00:20:27,714 --> 00:20:28,880 और चाबी सांख्यिक नहीं हैं। 476 00:20:28,880 --> 00:20:30,420 वे शब्द या तार कर रहे हैं। 477 00:20:30,420 --> 00:20:32,750 और विशेष रूप से, क्या उन महत्वपूर्ण मूल्य जोड़े हैं? 478 00:20:32,750 --> 00:20:35,110 वे कहां से हैं? 479 00:20:35,110 --> 00:20:35,620 क्षमा करें? 480 00:20:35,620 --> 00:20:36,994 >> दर्शकों: [अश्राव्य] 481 00:20:36,994 --> 00:20:37,660 डेविड मालन: नहीं? 482 00:20:37,660 --> 00:20:40,700 जहां उन कुंजी करना मूल्य जोड़े से आते हैं? 483 00:20:40,700 --> 00:20:42,490 फिर से कहना? 484 00:20:42,490 --> 00:20:44,610 फिर से? 485 00:20:44,610 --> 00:20:46,472 मैं केवल एक ही सुनवाई कुछ कर रहा हूँ? 486 00:20:46,472 --> 00:20:47,810 >> [हँसी] 487 00:20:47,810 --> 00:20:49,042 >> यही कारण है कि हां, यह सही है? 488 00:20:49,042 --> 00:20:50,435 >> दर्शकों: [अश्राव्य] 489 00:20:50,435 --> 00:20:52,560 डेविड मालन: हाँ, वे क्वेरी स्ट्रिंग से आते हैं। 490 00:20:52,560 --> 00:20:55,380 तो, आप के लिए समय में उल्टा यदि हम गूगल के साथ खेला है जब 491 00:20:55,380 --> 00:20:59,600 और हम Google.com स्लेश करने के लिए चले गए हैं खोज सवालिया निशान क्यू, बिल्लियों के बराबर होती है 492 00:20:59,600 --> 00:21:03,550 मैं हिट करने के लिए गए थे दर्ज करें और यदि गूगल, पीएचपी में लागू किया गया 493 00:21:03,550 --> 00:21:07,017 गूगल ने लिखा है कि PHP कोड डॉलर के हस्ताक्षर करने के लिए उपयोग किया जाएगा 494 00:21:07,017 --> 00:21:11,600 जिनमें से अंदर पाने को रेखांकित एक प्रमुख बुलाया क्यू और एक मूल्य है 495 00:21:11,600 --> 00:21:17,680 यह तो उपयोग कर सकते हैं कि कहा जाता है, बिल्लियों के साथ एक वास्तविक खोज के लिए करते थे। 496 00:21:17,680 --> 00:21:20,860 >> तो, वास्तव में, मैं करने के लिए क्या जा रहा हूँ अब मेरे PHP कोड के लिए वापस जाना है 497 00:21:20,860 --> 00:21:23,140 आप फिर से PSet7 में अधिक देखना होगा कि। 498 00:21:23,140 --> 00:21:25,440 और बदले की plugging हार्ड कोडित मूल्यों में जो 499 00:21:25,440 --> 00:21:27,630 एक तरह प्रतीत नहीं होता बहुत गतिशील वेबसाइट, 500 00:21:27,630 --> 00:21:30,680 मैं आप में से एक नमूना देने के लिए जा रहा हूँ अपने वास्तविक कोड क्या करना होगा। 501 00:21:30,680 --> 00:21:32,854 आप दो में रखा जाएगा सवाल इस तरह के निशान। 502 00:21:32,854 --> 00:21:34,270 मैं उपयोगकर्ता नाम क्या है पता नहीं है। 503 00:21:34,270 --> 00:21:37,390 मैं नहीं जानता कि क्या नाम, होने जा रहा है 504 00:21:37,390 --> 00:21:39,470 लेकिन मुझे लगता है मैं कर सकता हूँ जानते हो गतिशील उन्हें मिलता है। 505 00:21:39,470 --> 00:21:43,420 >> तो, अब हम लिख रहे हैं कोड है, तो गूगल के सर्वर पर चल कोड, 506 00:21:43,420 --> 00:21:46,940 या इस हैलो डॉट है, तो PSet6 के साथ आता है जो पीएचपी, 507 00:21:46,940 --> 00:21:48,650 मैं में पारित करने के लिए जा रहा हूँ क्वेरी समारोह 508 00:21:48,650 --> 00:21:51,450 सिर्फ printf की तरह, दो अन्य तर्कों। 509 00:21:51,450 --> 00:21:57,120 बोली, जाओ, गंदें शब्द बोलना उपयोगकर्ता नाम, और बोली, गंदें शब्द बोलना नाम, मिलता है। 510 00:21:57,120 --> 00:22:00,720 और अब, क्या नोटिस सामान्य संरचना यहाँ है। 511 00:22:00,720 --> 00:22:03,320 मैं छोड़ दिया पर मिल गया है कॉल के हाथ की ओर, 512 00:22:03,320 --> 00:22:05,480 इस समारोह पीएचपी में क्वेरी बुलाया। 513 00:22:05,480 --> 00:22:08,160 मैं अभी भी एक पहले के रूप में है तर्क, पाठ का सिर्फ एक स्ट्रिंग। 514 00:22:08,160 --> 00:22:11,000 >> लेकिन पाठ की है कि स्ट्रिंग है एसक्यूएल नामक एक भाषा में लिखा है। 515 00:22:11,000 --> 00:22:12,616 और सच कहूँ तो, यह एक बड़ा भाषा नहीं है। 516 00:22:12,616 --> 00:22:14,990 हम केवल बारे में बात करने जा रहे हैं यह औपचारिक रूप से आज, वास्तव में। 517 00:22:14,990 --> 00:22:17,031 और फिर समस्या में सेट सात अपेक्षाकृत वहाँ 518 00:22:17,031 --> 00:22:18,800 हम कर रहे हैं कि कुछ सुविधाओं लाभ उठाने के लिए जा रहा है। 519 00:22:18,800 --> 00:22:22,530 प्रश्न चिह्न है, हालांकि, में प्लग मतलब एक और मूल्य में यहां मूल्य और प्लग 520 00:22:22,530 --> 00:22:23,130 यहां। 521 00:22:23,130 --> 00:22:26,010 और नोटिस, मैं लोप है क्या quote-- लानत भर से 522 00:22:26,010 --> 00:22:30,470 उद्धरण के आसपास it-- इस बार के निशान। 523 00:22:30,470 --> 00:22:34,930 मैं उद्धरण का लोप किया है प्रश्न चिह्न के आसपास के निशान, 524 00:22:34,930 --> 00:22:36,410 क्षमा करें, इस समय के आसपास। 525 00:22:36,410 --> 00:22:38,870 >> तो, इस बारे में क्या अच्छा है प्रश्न चिह्न सुविधा जो 526 00:22:38,870 --> 00:22:42,830 पीएचपी, रूबी का समर्थन करने के लिए जाता है और अजगर और अन्य भाषाओं, 527 00:22:42,830 --> 00:22:45,730 यह सिर्फ कुछ में प्लग का अर्थ है यहाँ महत्व देते हैं और आप क्या जानते हो? 528 00:22:45,730 --> 00:22:48,300 आप का उपयोग करने के लिए है कि क्या यह पता लगाने एकल उद्धरण या डबल उद्धरण। 529 00:22:48,300 --> 00:22:50,966 उन लोगों के साथ मुझे परेशान मत करो बौद्धिक रूप से शुष्क विवरण। 530 00:22:50,966 --> 00:22:53,780 लेकिन, यकीन है कि यह सही है बनाते हैं मेरे कोड अंततः इतना है कि 531 00:22:53,780 --> 00:22:57,010 परिचालन और सुरक्षित, जो लंबे समय से पहले एक अर्थ होगा। 532 00:22:57,010 --> 00:23:00,460 >> अब, कितने तर्क बस के लिए, कुल स्पष्ट होना, क्वेरी समारोह ले जा रहा है? 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 किसी को भी दो से अधिक के लिए वोट करने के लिए करना चाहते हैं? 535 00:23:07,581 --> 00:23:08,080 तीन? 536 00:23:08,080 --> 00:23:10,001 अवश्य क्यों? 537 00:23:10,001 --> 00:23:10,920 क्यों तीन? 538 00:23:10,920 --> 00:23:12,305 >> दर्शकों: [अश्राव्य] 539 00:23:12,305 --> 00:23:13,180 डेविड मालन: बिल्कुल। 540 00:23:13,180 --> 00:23:14,610 पहले भाग स्ट्रिंग है। 541 00:23:14,610 --> 00:23:18,640 दूसरा तर्क डॉलर के हस्ताक्षर है प्राप्त ब्रैकेट उपयोगकर्ता नाम को रेखांकित। 542 00:23:18,640 --> 00:23:21,950 और तीसरा तर्क है एक ही बात है, लेकिन सिर्फ नाम। 543 00:23:21,950 --> 00:23:24,590 अब, तो दूसरे शब्दों में मैं एक वेब प्रपत्र था कि अगर 544 00:23:24,590 --> 00:23:27,149 कि, पाठ क्षेत्रों के लिए किया था उपयोगकर्ता का उपयोगकर्ता नाम के लिए एक, 545 00:23:27,149 --> 00:23:29,690 उसके लिए एक या एक से उसका नाम, बस जैसे आप एक वेबसाइट में देखना होगा 546 00:23:29,690 --> 00:23:32,120 आप के लिए रजिस्टर जब कुछ वेबसाइट, यह हो सकता है 547 00:23:32,120 --> 00:23:35,450 वापस अंत पर कोड हो कि वास्तव में प्रविष्टि अब करता है 548 00:23:35,450 --> 00:23:37,220 डेटाबेस में। 549 00:23:37,220 --> 00:23:40,870 >> अब इसके विपरीत, तेजी से आगे चलो। 550 00:23:40,870 --> 00:23:43,840 एक उपयोगकर्ता अब मान लीजिए में प्रवेश करने और आप चाहते हैं 551 00:23:43,840 --> 00:23:48,860 कि जांच कि PHP कोड लिखने के लिए बस में लॉग इन किया है जो व्यक्ति 552 00:23:48,860 --> 00:23:52,250 एक उपयोगकर्ता वास्तव में, आप कर सकते है बहुत सरल वाक्य रचना का उपयोग करें। 553 00:23:52,250 --> 00:23:55,832 आप हम कहते हैं, का चयन कह सकते हैं स्टार सब कुछ है, जहां स्टार। 554 00:23:55,832 --> 00:23:57,540 मैं नहीं जानता कि क्या मैं चाहते हैं, तो बस मुझे दे 555 00:23:57,540 --> 00:24:01,585 मेज से सभी स्तंभों उपयोगकर्ताओं को जहां कहा जाता है, और यह अच्छा है। 556 00:24:01,585 --> 00:24:03,710 चयन क्या समर्थन करता है है, जो एक विधेय बुलाया 557 00:24:03,710 --> 00:24:06,630 क्या आप चाहते हैं योग्यता का एक तरीका पसंद है। 558 00:24:06,630 --> 00:24:10,590 जहां उपयोगकर्ता नाम के बराबर होती है बोली, गंदें शब्द बोलना मालन। 559 00:24:10,590 --> 00:24:13,680 तो यहाँ भी, मैं एम्बेडेड है तर्क के अंदर 560 00:24:13,680 --> 00:24:16,110 एक PHP समारोह, एसक्यूएल कोड की एक पंक्ति के लिए। 561 00:24:16,110 --> 00:24:18,680 और कहा कि एसक्यूएल कोड इस समय सचमुच जा रहा है 562 00:24:18,680 --> 00:24:21,790 बोली के लिए खोज करने के लिए, मालन अनुद्धृत। 563 00:24:21,790 --> 00:24:24,420 >> अब जब कि, यह सब उपयोगी नहीं है इसलिए मुझे लगता है कि छोड़ जा रहा हूँ 564 00:24:24,420 --> 00:24:28,650 और मैं दूर रखा जा रहा हूँ ब्रैडी से इस टिप, और जाओ 565 00:24:28,650 --> 00:24:30,990 और प्लग में के बजाय यहां एक प्रश्न चिह्न। 566 00:24:30,990 --> 00:24:33,290 तो, बस, स्पष्ट होना क्या मेरा दूसरा तर्क चाहिए 567 00:24:33,290 --> 00:24:37,480 किसी को सिर्फ और मैं में लॉग इन किया है किया है, तो वह या वह वास्तव में है, तो जाँच करना चाहते हैं 568 00:24:37,480 --> 00:24:39,265 एक उपयोगकर्ता? 569 00:24:39,265 --> 00:24:40,140 दर्शकों: [अश्राव्य] 570 00:24:40,140 --> 00:24:40,890 डेविड मालन: हाँ। 571 00:24:40,890 --> 00:24:44,120 मैं डॉलर के हस्ताक्षर अंडरस्कोर सुनना बोली, गंदें शब्द बोलना उपयोगकर्ता नाम मिलता है। 572 00:24:44,120 --> 00:24:50,040 और कहा कि मेरे लिए वापस आ जाना चाहिए अपने डेटाबेस में पंक्तियों की किसी भी 573 00:24:50,040 --> 00:24:51,986 कि मालन के एक उपयोगकर्ता नाम है। 574 00:24:51,986 --> 00:24:54,860 अब उम्मीद है, मैं वापस पाने के लिए जा रहा हूँ शून्य मालन के यहाँ कभी नहीं किया गया, तो 575 00:24:54,860 --> 00:24:56,290 या एक वह है यदि। 576 00:24:56,290 --> 00:24:59,026 मैं वापस नहीं मिलना चाहिए दो या तीन या चार। 577 00:24:59,026 --> 00:24:59,526 क्यों? 578 00:24:59,526 --> 00:25:00,220 >> दर्शकों: [अश्राव्य] 579 00:25:00,220 --> 00:25:01,120 >> डेविड मालन: मैं सही, अद्वितीय कहा? 580 00:25:01,120 --> 00:25:01,750 सरल कारण है। 581 00:25:01,750 --> 00:25:04,030 मैंने कहा, क्योंकि यह करने के लिए मिल गया है सिर्फ तार्किक रूप से, अद्वितीय हो, 582 00:25:04,030 --> 00:25:07,940 आप केवल शून्य या एक Malans हो सकता है इस विशेष डेटाबेस तालिका में। 583 00:25:07,940 --> 00:25:10,965 अब तुम्हें देखा है एक अलग रूप में, बस इतना ही यह, मैं का उपयोग कर रखने भले ही प्राप्त 584 00:25:10,965 --> 00:25:14,350 और PSet6 ही इस्तेमाल किया, भले ही आप निश्चित रूप से पोस्ट किया है प्राप्त कर सकते हैं। 585 00:25:14,350 --> 00:25:17,212 और पोस्ट एक और है कि याद जानकारी प्रस्तुत करने के लिए तकनीक 586 00:25:17,212 --> 00:25:19,170 एक रूप से, लेकिन यह यूआरएल में नहीं दिखा है। 587 00:25:19,170 --> 00:25:22,690 यह निश्चित रूप से एक छोटे से अधिक सुरक्षित है उपयोगकर्ता नाम और पासवर्ड की तरह बातें, 588 00:25:22,690 --> 00:25:25,210 जो PSet7, वास्तव में, शामिल होगी। 589 00:25:25,210 --> 00:25:28,130 >> तो, चलो पीएचपी में यह करते हैं Myadmin और देखो क्या होता है। 590 00:25:28,130 --> 00:25:30,020 मैं MySQL टैब पर जाने के लिए जा रहा हूँ। 591 00:25:30,020 --> 00:25:34,450 और के लिए है कि डिफ़ॉल्ट मान नोटिस पीएचपी myadmin, बस, सहायक होने की कोशिश करने के लिए 592 00:25:34,450 --> 00:25:37,050 जहां उपयोगकर्ताओं को एक से स्टार का चयन है। 593 00:25:37,050 --> 00:25:39,430 खैर, एक तो, हमेशा सच है इस प्रभावी मूर्खतापूर्ण है 594 00:25:39,430 --> 00:25:40,400 की बस सब कुछ का चयन करें। 595 00:25:40,400 --> 00:25:42,691 लेकिन मैं एक छोटे से होने जा रहा हूँ अधिक पंडिताऊ और मैन्युअल 596 00:25:42,691 --> 00:25:45,920 प्रयोक्ताओं से चयन स्टार बाहर लिखें। 597 00:25:45,920 --> 00:25:48,294 >> अब तकनीकी रूप से, आप कर सकते हैं टेबल के नाम बोली। 598 00:25:48,294 --> 00:25:50,460 यह आप पर है कि दुर्लभ है, लेकिन इन नहीं कर रहे हैं नोटिस 599 00:25:50,460 --> 00:25:52,240 अमेरिका के कीबोर्ड पर अपनी सामान्य उद्धरण। 600 00:25:52,240 --> 00:25:54,760 इस तथाकथित backtick है, जो शीर्ष बाएं हाथ पर आम तौर पर है 601 00:25:54,760 --> 00:25:56,000 अपने कीबोर्ड के कोने। 602 00:25:56,000 --> 00:25:58,500 लेकिन यह आप हूँ कि दुर्लभ है वास्तव में उस के साथ चिंता करने की जरूरत है, 603 00:25:58,500 --> 00:25:59,950 इसलिए मैं सिर्फ वैसे भी उन्हें न आना देंगे। 604 00:25:59,950 --> 00:26:02,280 तो अब, मुझे आगे जाना है और जाना मारा। 605 00:26:02,280 --> 00:26:06,616 और कितनी पंक्तियाँ मैं मिलना चाहिए पहले मैं उपयोगकर्ताओं से स्टार का चयन करते हैं? 606 00:26:06,616 --> 00:26:08,407 >> दर्शकों: [अश्राव्य] 607 00:26:08,407 --> 00:26:09,990 डेविड मालन: यकीन पंक्तियों की संख्या,। 608 00:26:09,990 --> 00:26:12,390 लेकिन इस में कितने अब ठीक ठोस कहानी? 609 00:26:12,390 --> 00:26:14,640 दो, क्योंकि वहां गया था मुझे और रोब नहीं था। 610 00:26:14,640 --> 00:26:19,370 मैं जाने के लिए क्लिक करें तो, अगर मैं नेत्रहीन कि वहाँ मैं, वास्तव में, दो पंक्तियों मिल गया है। 611 00:26:19,370 --> 00:26:22,060 अव्यवस्था का एक बहुत पर नहीं है स्क्रीन है, लेकिन मैं सिर्फ दो पंक्तियों में देखते हैं। 612 00:26:22,060 --> 00:26:28,580 मैं फिर से ऐसा करते हैं और यदि इसके विपरीत, करना उपयोगकर्ताओं जहां उपयोगकर्ता नाम से चयन स्टार 613 00:26:28,580 --> 00:26:31,840 बोली, गंदें शब्द बोलना बराबर होती है मालन, अब मुझे जाना क्लिक करते हैं 614 00:26:31,840 --> 00:26:33,970 मैं केवल वापस एक पंक्ति पाने के लिए जा रहा हूँ। 615 00:26:33,970 --> 00:26:36,499 और अंत में, अगर मैं ऐसा कुछ इस तरह लगता है, 616 00:26:36,499 --> 00:26:38,290 मैं के बारे में परवाह नहीं है कि सब कुछ हो रही है, 617 00:26:38,290 --> 00:26:41,020 जो अब एक तरह से बेमानी है, केवल दो कॉलम है क्योंकि वहाँ। 618 00:26:41,020 --> 00:26:43,103 यह मैं चयन कर रहा हूँ की तरह नहीं है डेटा की एक बड़ी राशि है। 619 00:26:43,103 --> 00:26:46,720 मुझे आगे जाना है और मान लीजिए से नाम चयन करते हैं 620 00:26:46,720 --> 00:26:51,990 उपयोगकर्ता नाम मालन के बराबर होती है, जहां उपयोगकर्ताओं, क्या ईमानदारी से एसक्यूएल के बारे में अच्छा है, 621 00:26:51,990 --> 00:26:54,290 यह वास्तव में सिर्फ करता है आप क्या करते हैं यह बताने के लिए। 622 00:26:54,290 --> 00:26:57,550 यह बहुत संक्षिप्त है, लेकिन आप सचमुच बस आप क्या करना चाहते हैं यह बताने के। 623 00:26:57,550 --> 00:27:01,130 उपयोगकर्ता जहां से चयन नाम उपयोगकर्ता नाम मालन के बराबर होती है। 624 00:27:01,130 --> 00:27:03,440 और यह सच है कि स्पष्ट है। 625 00:27:03,440 --> 00:27:08,410 तो, अब मुझे जाना है, कितने मारा पंक्तियाँ मैं वापस पाने के लिए जा रहा हूँ? 626 00:27:08,410 --> 00:27:10,770 एक, यह सिर्फ इसलिए है क्योंकि मालन, उम्मीद है। 627 00:27:10,770 --> 00:27:13,100 या शून्य यदि वह नहीं है वहाँ है, लेकिन ज़्यादा से ज़्यादा है। 628 00:27:13,100 --> 00:27:17,610 >> और मैं वापस कितने कॉलम मिलेगा? 629 00:27:17,610 --> 00:27:18,450 कितने कॉलम? 630 00:27:18,450 --> 00:27:20,658 इस बार, मैं सिर्फ जा रहा हूँ मैं नहीं था क्योंकि एक पाने के लिए 631 00:27:20,658 --> 00:27:22,380 सब कुछ है, जो स्टार का चयन करें। 632 00:27:22,380 --> 00:27:27,900 अब मैं बस नाम का चयन है, तो मैं कर रहा हूँ सिर्फ एक स्तंभ और एक पंक्ति वापस मिलता है। 633 00:27:27,900 --> 00:27:31,730 और इस बात की उचित रूप से तरह लग रहा है हास्यास्पद, बस देख सुपर 634 00:27:31,730 --> 00:27:33,060 इस तरह छोटे। 635 00:27:33,060 --> 00:27:34,290 तो, वास्तव में क्या हो रहा है? 636 00:27:34,290 --> 00:27:36,890 आप एक एसक्यूएल निष्पादित करते हैं क्वेरी, चयन का उपयोग कर 637 00:27:36,890 --> 00:27:38,700 क्या तुम हो रही है वापस डेटाबेस से 638 00:27:38,700 --> 00:27:42,970 एक अस्थायी मेज की तरह है पंक्तियों और स्तंभों के साथ, हो सकता है, 639 00:27:42,970 --> 00:27:46,260 लेकिन लगता है कि कुछ भी न आना कि वास्तव में आप द्वारा चयनित नहीं किया गया था। 640 00:27:46,260 --> 00:27:49,010 इसलिए, यह किसी को एक बड़ा था कि अगर की तरह है सभी छात्रों की स्प्रेडशीट 641 00:27:49,010 --> 00:27:51,610 कुछ के लिए पंजीकृत छात्र समूह है, और तुम कहते हो, 642 00:27:51,610 --> 00:27:55,097 मुझे जो 've नए सब दे हमारे छात्र समूह के लिए पंजीकृत है, क्या 643 00:27:55,097 --> 00:27:56,930 में अपने सहयोगी छात्र समूह कर सकता है 644 00:27:56,930 --> 00:27:58,430 वे सिर्फ हाथ सकता है आप पूरे स्प्रेडशीट। 645 00:27:58,430 --> 00:27:59,742 लगता है कि चयन स्टार कह की तरह है। 646 00:27:59,742 --> 00:28:02,200 और अगर यह एक छोटे से परेशान है आप केवल नए चाहता था। 647 00:28:02,200 --> 00:28:05,640 और तो आप के बजाय, ने कहा, यदि डेटाबेस तालिका से चयन स्टार 648 00:28:05,640 --> 00:28:08,470 जहां साल के बराबर होती है बोली, गंदें शब्द बोलना नए, 649 00:28:08,470 --> 00:28:10,810 यह अपने दोस्त के रूप में यद्यपि है छात्र समूह में 650 00:28:10,810 --> 00:28:13,770 सचमुच प्रकाश डाला और नकल की है केवल नए पंक्तियाँ, 651 00:28:13,770 --> 00:28:16,780 एक नया गूगल में उन्हें चिपकाया स्प्रेडशीट या एक एक्सेल फ़ाइल, 652 00:28:16,780 --> 00:28:18,860 और तुम वापस सौंप दिया केवल फ़ाइल जिसके परिणामस्वरूप। 653 00:28:18,860 --> 00:28:21,710 यही हो रहा है वह सब है धारणात्मक यहां पर। 654 00:28:21,710 --> 00:28:23,920 >> तो अंत में, हम क्या कर सकते हैं कुछ बहुत फैंसी बातें 655 00:28:23,920 --> 00:28:26,560 उपयोगकर्ता नाम की तरह चीजों के भंडारण के द्वारा और पासवर्ड और पसंद है। 656 00:28:26,560 --> 00:28:30,310 लेकिन, यह पता चला है, हमें क्या करना चाहिए यह अलग से एक छोटे से। 657 00:28:30,310 --> 00:28:34,750 यह केवल करने के लिए है कि स्मार्ट नहीं है एक उपयोगकर्ता नाम और पासवर्ड की दुकान। 658 00:28:34,750 --> 00:28:37,790 पहले कोई है, मुझे लगता है कि यहाँ नीचे, एक आईडी का सुझाव दिया। 659 00:28:37,790 --> 00:28:40,787 अब एक आईडी एक तरह हो सकता है हार्वर्ड आईडी या येल नेट आईडी, 660 00:28:40,787 --> 00:28:42,870 लेकिन यह भी आसान हो सकता है हमारे डाटाबेस के मामले में। 661 00:28:42,870 --> 00:28:45,120 और वास्तव में, आम का मामला एक और स्तंभ के लिए है। 662 00:28:45,120 --> 00:28:46,953 और मैं जाने के लिए जा रहा हूँ आगे और मेरी मेज को संपादित करें। 663 00:28:46,953 --> 00:28:49,521 और आप के साथ खेलने के आसपास है, तो PSet7 के लिए इस इंटरफेस, 664 00:28:49,521 --> 00:28:51,770 क्या आप जाँच कर सकते हैं कि देखेंगे यहाँ इस बटन को और जोड़ने 665 00:28:51,770 --> 00:28:53,750 तालिका की शुरुआत में एक क्षेत्र। 666 00:28:53,750 --> 00:28:56,720 मैं जाने के लिए क्लिक करें अब, तो यह जा रहा है मुझे उन रूपों में से एक देने के लिए 667 00:28:56,720 --> 00:28:57,600 पहले से। 668 00:28:57,600 --> 00:29:00,170 मैं आईडी नामक एक क्षेत्र को जोड़ने के लिए जा रहा हूँ। 669 00:29:00,170 --> 00:29:03,070 और मुझे लगता है कि यह एक संख्यात्मक प्रकार बनाने के लिए जा रहा हूँ। 670 00:29:03,070 --> 00:29:05,362 >> मैं एक पूरी गुच्छा है के numerics के लिए महत्व देता है। 671 00:29:05,362 --> 00:29:08,677 मैं सिर्फ एक INT चयन करने के लिए जा रहा हूँ और असमान आकार के बारे में चिंता नहीं। 672 00:29:08,677 --> 00:29:10,510 मैं निर्दिष्ट करने के लिए नहीं है लंबाई या कोई मान 673 00:29:10,510 --> 00:29:13,710 यह होने जा रहा है क्योंकि 32 बिट्स कोई बात नहीं क्या। 674 00:29:13,710 --> 00:29:16,070 गुण, हम पहले नहीं देखा था। 675 00:29:16,070 --> 00:29:18,410 इनमें से किसी में कोई रुचि नहीं मेनू विकल्प इस समय? 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 एक int के लिए? 678 00:29:23,745 --> 00:29:24,620 आप क्या प्रस्ताव किया? 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 नहीं? 681 00:29:28,445 --> 00:29:29,570 इनमें से कोई मतलब है? 682 00:29:29,570 --> 00:29:30,536 हाँ। 683 00:29:30,536 --> 00:29:31,900 ठीक है, अहस्ताक्षरित, हाँ? 684 00:29:31,900 --> 00:29:35,930 >> हम जा रहे हैं, तो आम तौर पर, देने के लिए हर कोई एक अद्वितीय संख्या है, जो 685 00:29:35,930 --> 00:29:38,200 इस कहानी है, जहां है जा रहा है, मैं वास्तव में केवल चाहते हैं 686 00:29:38,200 --> 00:29:41,919 एक व्यक्ति को शून्य की तरह नंबर है और एक और दो और तीन और चार। 687 00:29:41,919 --> 00:29:43,710 मैं निपटने की जरूरत नहीं है ऋणात्मक संख्याओं के साथ। 688 00:29:43,710 --> 00:29:45,210 यह सिर्फ अनुचित जटिलता की तरह लगता है। 689 00:29:45,210 --> 00:29:48,470 मैं चार अरब संभव मूल्यों चाहते हैं, नहीं चार अरब संभावित मान 690 00:29:48,470 --> 00:29:50,699 इसलिए मैं सिर्फ दोगुनी मेरी int की क्षमता। 691 00:29:50,699 --> 00:29:53,490 एक तरफ, तुम संबंधित करना चाहते हैं के रूप में फेसबुक की तरह यह करने के लिए कुछ है, 692 00:29:53,490 --> 00:29:56,190 वापस अपने दिन जब की तरह में फेसबुक पहले बाहर आया 693 00:29:56,190 --> 00:29:59,510 मुझे लगता है वे क्या कर रहे थे विश्वास करते हैं उनकी डाटाबेस में उपयोग करते हुए 694 00:29:59,510 --> 00:30:02,856 एक उपयोगकर्ता की दुकान करने के लिए पहचानकर्ता, बस एक INT था। 695 00:30:02,856 --> 00:30:05,230 लेकिन ज़ाहिर है, वहाँ एक बहुत दुनिया में असली लोगों की। 696 00:30:05,230 --> 00:30:07,438 फर्जी फेसबुक का एक बहुत कुछ है दुनिया में खातों। 697 00:30:07,438 --> 00:30:11,701 और इसलिए अंत में, फेसबुक overflowed एक INT के आकार, एक चार अरब 698 00:30:11,701 --> 00:30:12,200 मूल्य। 699 00:30:12,200 --> 00:30:15,032 आप क्यों, देखो, तो कौन सा है के आसपास है और वहाँ वेबसाइटों है 700 00:30:15,032 --> 00:30:16,740 कि आप बता सकते हैं क्या अपनी अनूठी पहचान है। 701 00:30:16,740 --> 00:30:19,781 और आप में एक उपयोगकर्ता नाम चुना है अगर कभी नहीं फेसबुक, आप अपने अद्वितीय आईडी देखेंगे। 702 00:30:19,781 --> 00:30:23,080 मैं इसे प्रोफ़ाइल डॉट पीएचपी लगता है प्रश्न चिह्न आईडी कुछ के बराबर होती है। 703 00:30:23,080 --> 00:30:27,210 यही कारण है कि अब एक बड़ा की तरह कुछ है पूर्णांक, या लंबे समय तक अगर तुम जाएगा एक, 704 00:30:27,210 --> 00:30:29,700 एक 64-बिट मूल्य जो है या तुलनीय कुछ। 705 00:30:29,700 --> 00:30:33,620 >> तो, यहां तक ​​कि वास्तविक दुनिया में इन करना मुद्दों अंततः कभी कभी कोई फर्क। 706 00:30:33,620 --> 00:30:37,600 मैं कर रहा हूँ और अगर यह यहां पता चला है , अपने उपयोगकर्ताओं को एक अद्वितीय पहचान के सभी दे रही है 707 00:30:37,600 --> 00:30:41,750 मैं सुपर स्पष्ट होना चाहते हैं और न्यूनतम इस क्षेत्र अद्वितीय बनाते हैं। 708 00:30:41,750 --> 00:30:44,750 वहाँ एक है बाहर लेकिन यह बदल जाता है नामकरण आज का टुकड़ा भी 709 00:30:44,750 --> 00:30:46,470 कि एक प्राथमिक कुंजी है। 710 00:30:46,470 --> 00:30:49,800 आप एक डेटाबेस डिजाइन कर रहे हैं मेज और आप पहले से पता है 711 00:30:49,800 --> 00:30:55,580 उस तालिका में स्तंभों में से एक यह है कि और विशिष्ट पंक्तियों की पहचान करेगा चाहिए 712 00:30:55,580 --> 00:30:58,500 तालिका में, आप करना चाहते हैं यह निर्दिष्ट और डेटाबेस बताओ, 713 00:30:58,500 --> 00:31:00,250 यह मेरी प्राथमिक कुंजी है। 714 00:31:00,250 --> 00:31:02,110 डुप्लिकेट हो सकता है अन्य क्षेत्रों में, 715 00:31:02,110 --> 00:31:06,330 लेकिन मैं यह है कि डेटाबेस बता रहा हूँ मेरी प्राथमिक है, मेरी सबसे महत्वपूर्ण क्षेत्र है, 716 00:31:06,330 --> 00:31:08,420 कि अद्वितीय होने की गारंटी है। 717 00:31:08,420 --> 00:31:09,660 >> अब, यह बेमानी लगती है। 718 00:31:09,660 --> 00:31:13,830 मैं अब कि हम प्रस्ताव कर रहा हूँ यहां सहेजें क्लिक करके, जोड़, 719 00:31:13,830 --> 00:31:17,210 एक क्षेत्र called-- और मैं जा रहा हूँ आगे बढ़ो और एअर इंडिया के क्लिक करने के लिए, 720 00:31:17,210 --> 00:31:19,720 हम करने के लिए वापस आ गया हूँ एक पल में, सहेजें कि। 721 00:31:19,720 --> 00:31:22,540 अब मैं उस प्रस्ताव कर रहा हूँ मेरी मेज इस तरह दिखेगा। 722 00:31:22,540 --> 00:31:26,305 मैं आईडी नामक एक INT क्षेत्र है प्रयोक्ता नाम नामक चार क्षेत्र, 723 00:31:26,305 --> 00:31:31,100 एक varchar नाम बुलाया क्षेत्र है, लेकिन आईडी, यह प्राथमिक और इसलिए अनूठा है, 724 00:31:31,100 --> 00:31:33,760 यही कारण है कि मैं सिर्फ बर्बाद किया समय क्या शुरू 725 00:31:33,760 --> 00:31:39,140 प्रभावी रूप से अद्वितीय एक दूसरे नंबर पर है क्षेत्र एक INT है कि आईडी कहा जाता है? 726 00:31:39,140 --> 00:31:41,980 >> यूजर का नाम, याद है, था पहले से ही अनूठा, जैसा कि हमने कहा। 727 00:31:41,980 --> 00:31:45,350 तो बस तार्किक रूप से, आप की जरूरत नहीं कारण के लिए किसी भी डेटाबेस अनुभव 728 00:31:45,350 --> 00:31:47,570 , क्यों इस के माध्यम से मैं शुरू हो सकता है 729 00:31:47,570 --> 00:31:50,065 के रूप में अच्छी तरह से अपने अद्वितीय पहचानकर्ता के रूप में एक INT? 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 है- फिर क्या कहना है? 732 00:31:53,930 --> 00:31:55,580 >> दर्शकों: [अश्राव्य] 733 00:31:55,580 --> 00:31:59,534 >> डेविड मालन: रैंडम पहुँच आसान है, क्यों? 734 00:31:59,534 --> 00:32:00,410 >> दर्शकों: [अश्राव्य] 735 00:32:00,410 --> 00:32:02,367 डेविड मालन: हाँ, यह है बस संख्या तक पहुँचने। 736 00:32:02,367 --> 00:32:04,750 तो, अगर आप वास्तव में इस के बारे में सोच एक मेज, एक सरणी की तरह है, 737 00:32:04,750 --> 00:32:07,690 अब मैं अद्वितीय पहचानकर्ता मैं चारों ओर कूद कर सकते हैं। 738 00:32:07,690 --> 00:32:11,520 और उस से भी बेहतर है कि अभी भी है कितना बड़ा एक INT फिर से होने जा रहा है? 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 32 बिट या चार बाइट्स। 741 00:32:15,800 --> 00:32:17,750 >> कितना बड़ा अपने उपयोगकर्ता नाम होने जा रहा है? 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 ज़्यादा से ज़्यादा? 744 00:32:21,990 --> 00:32:22,880 16 बाइट्स। 745 00:32:22,880 --> 00:32:26,080 >> तो क्या तुम सच के बारे में देखभाल कर रहे हैं अपने कोड का प्रदर्शन, 746 00:32:26,080 --> 00:32:31,390 आप पसंद करेंगे, वापस PSet5 करने के लिए लगता है एक चार बाइट मूल्य या 16 के लिए खोज करने के लिए 747 00:32:31,390 --> 00:32:32,240 बाइट मूल्य, है ना? 748 00:32:32,240 --> 00:32:33,810 यह सच में इतना आसान है। 749 00:32:33,810 --> 00:32:38,060 आप ज्यादा काम के रूप में चार बार करना है क्योंकि उन उपयोगकर्ता नाम के लिए खोज करने के लिए 750 00:32:38,060 --> 00:32:38,830 16 बाइट्स हैं। 751 00:32:38,830 --> 00:32:41,320 तो, अगर आप सचमुच करना है होने के लिए सभी 16 बाइट्स तुलना 752 00:32:41,320 --> 00:32:43,140 हाँ ज़रूर, यह मैं चाहता हूँ कि उपयोगकर्ता नाम है। 753 00:32:43,140 --> 00:32:46,610 एक int के लिए, आप कर सकते हैं जबकि सिर्फ चार बाइट्स के साथ है। 754 00:32:46,610 --> 00:32:49,212 >> और एक तरफ उन लोगों के लिए के रूप में कंप्यूटर हार्डवेयर में रुचि रखते हैं, 755 00:32:49,212 --> 00:32:52,420 यह आप की तरह कुछ फिट कर सकते हैं पता चला है एक INT या कुछ में एक 32-बिट मूल्य 756 00:32:52,420 --> 00:32:55,330 एक कंप्यूटर में एक रजिस्टर बुलाया यह सुपर है, जिसका मतलब है सीपीयू, 757 00:32:55,330 --> 00:32:58,400 यहां तक ​​कि सबसे कम से कम, सुपर फास्ट कंप्यूटर के हार्डवेयर के स्तर पर। 758 00:32:58,400 --> 00:33:00,530 तो, सभी चारों ओर सिर्फ फायदे नहीं है। 759 00:33:00,530 --> 00:33:01,530 अच्छा तो इसका क्या मतलब है? 760 00:33:01,530 --> 00:33:04,850 वास्तव में, जब आप डिजाइन कर रहे हैं एक समय के लगभग सभी डेटाबेस तालिका 761 00:33:04,850 --> 00:33:07,170 तुम नहीं करने जा रहे हैं केवल आप के बारे में परवाह डेटा, 762 00:33:07,170 --> 00:33:09,280 की तरह है लेकिन यह भी कुछ एक अद्वितीय पहचानकर्ता 763 00:33:09,280 --> 00:33:11,280 इस वजह से करने जा रहा है हमें अन्य बातें करते हैं। 764 00:33:11,280 --> 00:33:13,160 और चलो यहाँ एक समस्या पर यात्रा करते हैं। 765 00:33:13,160 --> 00:33:15,990 >> उपयोगकर्ताओं को नहीं है कि मान लीजिए सिर्फ उपयोगकर्ता नाम और नाम, 766 00:33:15,990 --> 00:33:19,540 लेकिन वे भी शहरों की तरह बातें और राज्यों और ज़िप कोड, कम से कम 767 00:33:19,540 --> 00:33:20,432 यहाँ अमेरिका में। 768 00:33:20,432 --> 00:33:22,390 तो, मैं आगे जाने के लिए जा रहा हूँ और बस जल्दी से कहते हैं, 769 00:33:22,390 --> 00:33:26,180 मुझे तीन से अधिक स्तंभों देना तालिका के अंत में। 770 00:33:26,180 --> 00:33:28,900 और इस शहर के होने जा रहा है यही नहीं, राज्य होने जा रहा है 771 00:33:28,900 --> 00:33:30,400 और इस जिप होने जा रहा है। 772 00:33:30,400 --> 00:33:32,710 >> अब शहर, क्या डेटा प्रकार यह शायद, होना चाहिए? 773 00:33:32,710 --> 00:33:35,460 774 00:33:35,460 --> 00:33:35,989 VARCHAR? 775 00:33:35,989 --> 00:33:37,780 मैं नहीं जानता कि क्या सबसे लंबे समय तक नाम शहर है। 776 00:33:37,780 --> 00:33:40,571 कहीं न कहीं अमेरिका में, वहाँ है शायद कुछ हास्यास्पद लंबे शब्द, 777 00:33:40,571 --> 00:33:43,605 इसलिए कुछ हद तक, चलो बस 255 के साथ चलते हैं ऐतिहासिक रूप से या मनमाने ढंग से। 778 00:33:43,605 --> 00:33:44,730 राज्य, तुम क्या करना चाहते हैं? 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 निर्णय फोन, है ना? 781 00:33:50,367 --> 00:33:51,700 क्या सबसे कारगर हो सकता है? 782 00:33:51,700 --> 00:33:53,500 कितने वर्ण? 783 00:33:53,500 --> 00:33:55,950 हो सकता है कि सिर्फ दो, अगर हम कर सकते हैं बस कर के साथ भाग ले, 784 00:33:55,950 --> 00:33:58,250 जैसे, एमए मैसाचुसेट्स के लिए और बहुत आगे है। 785 00:33:58,250 --> 00:34:00,520 तो, मैं दो की एक चार मूल्य जाने के लिए जा रहा हूँ। 786 00:34:00,520 --> 00:34:03,080 >> पिन कोड एक दिलचस्प एक है। 787 00:34:03,080 --> 00:34:06,679 हम तो यह है कि, 02138 में यहाँ कर रहे हैं हम क्या उपयोग करना चाहिए पता चलता है? 788 00:34:06,679 --> 00:34:07,470 यह ठीक है, एक INT है? 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 पूर्णांक, पूर्णांक, लघु? 791 00:34:12,800 --> 00:34:14,521 कम काम होता है। 792 00:34:14,521 --> 00:34:15,020 नहीं? 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 चार या पांच, लेकिन मैं एक INT चाहते हैं। 795 00:34:20,870 --> 00:34:23,710 क्यों एक INT पर वापस धक्का? 796 00:34:23,710 --> 00:34:26,820 इस से मुझे मनाने। 797 00:34:26,820 --> 00:34:29,210 क्या एक INT, मेरे विचार के बारे में बेवकूफ है? 798 00:34:29,210 --> 00:34:29,871 हाँ। 799 00:34:29,871 --> 00:34:31,199 >> दर्शकों: अधिक स्मृति ले। 800 00:34:31,199 --> 00:34:32,909 >> डेविड मालन: अधिक स्मृति ले। 801 00:34:32,909 --> 00:34:35,310 चार बाइट्स, लेकिन आप कर रहे हैं एक ज़िप कोड का प्रस्ताव 802 00:34:35,310 --> 00:34:39,000 या पांच बाइट्स के रूप में किसी एक चार के रूप में था कि वास्तव में नहीं है, ना की तरह लगता है जो 803 00:34:39,000 --> 00:34:39,620 मामला। 804 00:34:39,620 --> 00:34:40,489 >> खैर, मजेदार कहानी है। 805 00:34:40,489 --> 00:34:43,179 सालों पहले, मैं का उपयोग करने के लिए प्रयोग किया जाता है जब अपने ईमेल के लिए माइक्रोसॉफ्ट आउटलुक, 806 00:34:43,179 --> 00:34:45,150 मैं अंत में जीमेल के लिए स्विच करना चाहता था। 807 00:34:45,150 --> 00:34:48,949 और हां, मैं के सभी निर्यात मेरी एक सीएसवी फ़ाइल के रूप में आउटलुक से संपर्क। 808 00:34:48,949 --> 00:34:50,699 अल्पविराम से अलग किये गए मान, जो सिर्फ मेरा मतलब 809 00:34:50,699 --> 00:34:54,060 मेरे सभी दोस्तों के नाम था और पिछले नाम और फोन नंबर और पिन कोड 810 00:34:54,060 --> 00:34:54,747 और यह सब। 811 00:34:54,747 --> 00:34:56,580 और फिर मैंने बनाया इसे खोलने की गलती 812 00:34:56,580 --> 00:34:58,640 Excel में, जो एक है स्प्रेडशीट प्रोग्राम है कि 813 00:34:58,640 --> 00:35:00,289 हमने देखा है के रूप में सीएसवी फाइल को समझता है। 814 00:35:00,289 --> 00:35:03,080 लेकिन फिर, मैं जैसे, मारा गया होगा एक बिंदु पर आदेश या नियंत्रण एस। 815 00:35:03,080 --> 00:35:06,250 और एक्सेल जाहिरा तौर पर समय पर किसी भी समय, जिससे एक विशेषता थी यह 816 00:35:06,250 --> 00:35:08,100 यह मददगार बनने की कोशिश की, एक नंबर देखा। 817 00:35:08,100 --> 00:35:11,610 और उस नंबर के साथ शुरू कर दिया है, तो शून्य, यह सिर्फ उनमें से छुटकारा मिल जाएगा। 818 00:35:11,610 --> 00:35:13,420 तुम क्यों प्रमुख की ज़रूरत है पूर्णांकों पर शून्य? 819 00:35:13,420 --> 00:35:15,140 वे गणितीय, व्यर्थ कर रहे हैं। 820 00:35:15,140 --> 00:35:17,530 वे व्यर्थ नहीं कर रहे हैं अमेरिकी डाक प्रणाली में। 821 00:35:17,530 --> 00:35:19,954 तो, मैं साल के लिए लिया है, इस दिन के लिए, मैं अभी भी 822 00:35:19,954 --> 00:35:22,370 दोस्तों कि जब मैं किसी की जरूरत है कि दुर्लभ मामला 823 00:35:22,370 --> 00:35:24,078 इन दिनों को संबोधित, मैं अभी भी है कि मैं देखता हूँ 824 00:35:24,078 --> 00:35:26,767 कैम्ब्रिज में एक दोस्त है मैसाचुसेट्स, 2138। 825 00:35:26,767 --> 00:35:29,350 आप कर रहे हैं और अगर यह कष्टप्रद है प्रोग्राम के की तरह की कोशिश कर 826 00:35:29,350 --> 00:35:30,975 लिफाफे उत्पन्न या बस इसे संक्षेप में लिख देना। 827 00:35:30,975 --> 00:35:33,599 और वह है, क्योंकि इस कारण से है मैं गलत डेटा प्रकार चुना है। 828 00:35:33,599 --> 00:35:34,490 तो, मैं अपने विचार प्यार करता हूँ। 829 00:35:34,490 --> 00:35:35,650 की एक चार क्षेत्र का उपयोग करते हैं। 830 00:35:35,650 --> 00:35:38,340 पांच पात्रों, सिवाय एक कोने मामला है। 831 00:35:38,340 --> 00:35:42,220 आप अभी भी मेल भेजने के लिए, कभी कभी इन दिनों कोड, ज़िप 832 00:35:42,220 --> 00:35:45,360 की तरह वे कर रहे हैं, के साथ साथ चार। 833 00:35:45,360 --> 00:35:48,200 तो, हम तो एक हाइफन और जरूरत हम चार और अधिक संख्या की जरूरत है। 834 00:35:48,200 --> 00:35:50,330 तो ईमानदार हो, यह हो सकता है कई अलग अलग तरीकों से जाना। 835 00:35:50,330 --> 00:35:52,371 >> अभी के लिए, मैं रखने के लिए जा रहा हूँ यह सरल और मैं अभी कर रहा हूँ 836 00:35:52,371 --> 00:35:54,780 यह एक है कि कहने के लिए जा रहा पाँच चार मूल्य और हम कर रहे हैं 837 00:35:54,780 --> 00:35:56,739 पूरे पानी का छींटा प्लस चार छोड़ करने के लिए जा रहा है। 838 00:35:56,739 --> 00:35:58,280 लेकिन इन tradeoffs के प्रकार के होते हैं। 839 00:35:58,280 --> 00:36:00,196 और आप सोच सकते हैं उत्पन्न होने वाले एक ही समस्या 840 00:36:00,196 --> 00:36:01,860 फोन नंबर या अन्य क्षेत्रों के साथ। 841 00:36:01,860 --> 00:36:04,350 >> और अब, यह वास्तव में है एक मूर्ख सड़क के नीचे जाने के लिए। 842 00:36:04,350 --> 00:36:08,000 रोब और मैं और हन्ना दोनों मान लीजिए और मारिया और [? Davon?] और एंडी 843 00:36:08,000 --> 00:36:12,820 और कर्मचारियों पर दूसरों सब रहते हैं कैम्ब्रिज, मैसाचुसेट्स, 02138 में। 844 00:36:12,820 --> 00:36:17,970 यह वास्तव में मैं कर रहा हूँ कि बेवकूफ लग रहा है अपने उपयोगकर्ताओं को तालिका में जोड़ने से, शहर, राज्य, 845 00:36:17,970 --> 00:36:18,630 और ज़िप। 846 00:36:18,630 --> 00:36:20,980 क्यों? 847 00:36:20,980 --> 00:36:21,960 >> दर्शकों: [अश्राव्य] 848 00:36:21,960 --> 00:36:22,918 >> डेविड मालन: फिर से कहो? 849 00:36:22,918 --> 00:36:24,310 दर्शकों: [अश्राव्य] 850 00:36:24,310 --> 00:36:25,850 >> डेविड मालन: वे हमेशा से रहे हैं ठीक है, एक साथ जाने के लिए जा रहे हैं? 851 00:36:25,850 --> 00:36:28,660 यह पता चला है, जब हम सोचते थे इस विस्तृत रूप से हम जब तक मामला था 852 00:36:28,660 --> 00:36:30,570 , पूरे अमेरिका की खोज और कहा कि वहाँ पता चला है 853 00:36:30,570 --> 00:36:32,653 कुछ विसंगतियां हैं जहां कई कस्बों है 854 00:36:32,653 --> 00:36:35,060 अजीब है, जो एक ही ज़िप,। 855 00:36:35,060 --> 00:36:40,580 लेकिन, अब हम 02138 उस के लिए निर्धारित करना है, तो , हमेशा कैम्ब्रिज, मैसाचुसेट्स है 856 00:36:40,580 --> 00:36:44,910 यही कारण है कि दुनिया में आप में स्टोर होगा अपने डेटाबेस कैम्ब्रिज और एमए और 02138 857 00:36:44,910 --> 00:36:49,357 मेरे लिए और हन्ना के लिए और रोब के लिए और [के लिए? Davon?] और रहते हैं, जो दूसरों के लिए 858 00:36:49,357 --> 00:36:51,190 यहाँ कैम्ब्रिज में, यह है पूरी तरह से बेमानी। 859 00:36:51,190 --> 00:36:54,480 >> हम दूर हो जाना चाहिए बस क्या भंडारण के साथ? 860 00:36:54,480 --> 00:36:55,610 बस ज़िप कोड। 861 00:36:55,610 --> 00:36:58,660 लेकिन फिर, हम बस की दुकान करता है, तो ज़िप कोड, मैं, शायद, चाहते हैं 862 00:36:58,660 --> 00:37:02,160 02138 है, जहां मेरी वेबसाइट के लिए पता करने के लिए। 863 00:37:02,160 --> 00:37:03,910 तो, मैं एक और मेज की जरूरत है। 864 00:37:03,910 --> 00:37:04,697 और वह ठीक है। 865 00:37:04,697 --> 00:37:07,530 और वास्तव में, इस में से एक है डिजाइनिंग टेबल के डिजाइन प्रक्रियाओं 866 00:37:07,530 --> 00:37:11,472 आप के रूप में अच्छी तरह जिससे PSet7 में करूँगा कि आप आम डेटा बाहर कारक करना चाहते हैं। 867 00:37:11,472 --> 00:37:14,430 बस हम बाहर फैक्टरिंग किया गया है की तरह आम कोड और बाहर फैक्टरिंग आम 868 00:37:14,430 --> 00:37:17,380 यहाँ, सीएसएस से शैलियों भी डेटाबेस में, 869 00:37:17,380 --> 00:37:21,180 मैं केवल विशिष्ट करने के लिए 02138 की जरूरत है तो किसी के गृहनगर की पहचान 870 00:37:21,180 --> 00:37:25,020 के लिए कैम्ब्रिज, मास की दुकान नहीं है अपनी तालिका में हर रफ़ू उपयोगकर्ता। 871 00:37:25,020 --> 00:37:29,770 >> इसके बजाय, नामक एक अलग टेबल है ज़िप होनी चाहिए कि क्या कॉलम? 872 00:37:29,770 --> 00:37:33,490 शायद एक आईडी क्षेत्र, बस के लिए, क्योंकि सिद्धांतों हम अब के बारे में बात कर रहे हैं। 873 00:37:33,490 --> 00:37:35,720 02138 के लिए शायद एक जिप क्षेत्र। 874 00:37:35,720 --> 00:37:38,400 और फिर शायद क्या अन्य स्तंभों? 875 00:37:38,400 --> 00:37:42,950 शहर और राज्य है, लेकिन केवल एक ही है पंक्ति 02138 के लिए, 02139 के लिए एक पंक्ति, 876 00:37:42,950 --> 00:37:44,772 90210 के लिए एक पंक्ति। 877 00:37:44,772 --> 00:37:46,730 और कहा कि सचमुच है सब मुझे पता ज़िप कोड। 878 00:37:46,730 --> 00:37:49,012 >> तो अब, आप क्या कर सकते हैं? 879 00:37:49,012 --> 00:37:51,220 इस वजह से समस्याग्रस्त है, अब मैं दो टेबल मिल गया है। 880 00:37:51,220 --> 00:37:54,660 तो, अपने उपयोगकर्ताओं को ज्यादातर यहां खत्म हो गई हैं, लेकिन उनके शहर राज्य सूचना है 881 00:37:54,660 --> 00:37:55,390 आस - पास। 882 00:37:55,390 --> 00:37:58,635 तो, यह वहाँ है, एसक्यूएल के साथ बाहर जाता है वास्तव में एक तरह से, जानकारी में शामिल होने के लिए 883 00:37:58,635 --> 00:38:00,470 और आप pset में यह देखेंगे। 884 00:38:00,470 --> 00:38:03,000 >> लेकिन यह आप कर सकते हैं पता चला है कुछ इस तरह करते हैं। 885 00:38:03,000 --> 00:38:10,501 प्रयोक्ताओं से चयन स्टार, पर ज़िप शामिल हों उपयोगकर्ता ज़िप ज़िप ज़िप डॉट बराबर होती डॉट। 886 00:38:10,501 --> 00:38:13,360 जो एक छोटे से wordy है, बेशक, लेकिन यह सिर्फ 887 00:38:13,360 --> 00:38:17,590 से चयन सब कुछ है अपने उपयोगकर्ताओं को तालिका में ले जाने की प्रक्रिया 888 00:38:17,590 --> 00:38:19,580 और मेरी ज़िप मेज। 889 00:38:19,580 --> 00:38:22,120 एक पर उन्हें शामिल हों क्षेत्र वे कॉलम में है। 890 00:38:22,120 --> 00:38:24,780 तो, सचमुच कुछ कर रही है इस तरह, और मुझे वापस दे दो 891 00:38:24,780 --> 00:38:27,360 एक नए अस्थायी तालिका कि, कि बड़ा है, व्यापक है 892 00:38:27,360 --> 00:38:29,450 उस का सब किया है उन दोनों से कॉलम। 893 00:38:29,450 --> 00:38:33,510 और कहा कि, काफी बस, हो सकता है इस तरह से कुछ करने के लिए सिंटेक्स। 894 00:38:33,510 --> 00:38:35,540 >> तो, आगे यह भी नहीं है लेकिन वहाँ जा रहा है 895 00:38:35,540 --> 00:38:38,950 अन्य डिजाइन निर्णय होने के लिए आप हूँ न केवल अनुक्रमित के साथ, बनाने के लिए है 896 00:38:38,950 --> 00:38:40,550 लेकिन यह भी चुनौतियों में चल रहा है। 897 00:38:40,550 --> 00:38:43,360 वास्तव में, वहाँ एक चुनौती है किसी भी डेटाबेस डिजाइन में 898 00:38:43,360 --> 00:38:47,930 जिससे कभी-कभी दो लोग चाहते हो सकता है डेटाबेस की एक ही पंक्तियों का उपयोग करने के लिए 899 00:38:47,930 --> 00:38:48,530 मेज। 900 00:38:48,530 --> 00:38:51,450 तो, यह कुछ है कि हम जाएगा के रूप में अच्छी तरह से PSet7 में मुठभेड़। 901 00:38:51,450 --> 00:38:54,686 >> लेकिन मुझे लगता है कि मैं एक को देखने लगा एसक्यूएल में संभव है कि हमला। 902 00:38:54,686 --> 00:38:56,560 कुछ क्या हैं पैदा कर सकते हैं कि समस्या है? 903 00:38:56,560 --> 00:38:58,170 तो, अगर आप PSet7 में इस मुठभेड़ हूँ। 904 00:38:58,170 --> 00:39:01,874 और हम एकमुश्त क्या आप बता इस समस्या के लिए कोडिंग समाधान है। 905 00:39:01,874 --> 00:39:04,790 लेकिन अगर आप एक उच्च स्तर की कक्षा लेते हैं, विशेष रूप से ऑपरेटिंग सिस्टम में, 906 00:39:04,790 --> 00:39:06,950 तुम मुठभेड़ करने के लिए जा रहे हैं atomicity का मुद्दा 907 00:39:06,950 --> 00:39:10,080 ऐसा करने की कोशिश की समस्या कई बातें सभी को एक बार 908 00:39:10,080 --> 00:39:11,000 बिना किसी रुकावट के। 909 00:39:11,000 --> 00:39:14,560 >> और मुझे लगता है कि मैं इस परिचय लगा एक रूपक के साथ PSet7 के लिए विचार 910 00:39:14,560 --> 00:39:18,160 मैं मार्गो में अपने आप को पता चला है कि जर्मनी का रासायनिक जल की CS164 ऑपरेटिंग सिस्टम 911 00:39:18,160 --> 00:39:18,990 पहले वर्ग साल। 912 00:39:18,990 --> 00:39:22,230 आप इन छात्रावास में से एक है कि मान लीजिए अपने छात्रावास के कमरे या घर में फ्रिज, 913 00:39:22,230 --> 00:39:24,474 और आप दूध के लिए एक असली लगन है। 914 00:39:24,474 --> 00:39:27,140 और हां, तो आप कक्षाओं से घर आते हैं एक दिन, आप फ्रिज खुला। 915 00:39:27,140 --> 00:39:27,620 धत तेरी। 916 00:39:27,620 --> 00:39:28,870 फ्रिज में कोई दूध नहीं है। 917 00:39:28,870 --> 00:39:32,470 तो, अगर आप फ्रिज बंद है, दरवाज़ा बंद अपने छात्रावास ताला, 918 00:39:32,470 --> 00:39:34,770 कोने के आसपास चलना सीवीएस करने के लिए लाइन में मिलता है, 919 00:39:34,770 --> 00:39:36,312 और कुछ दूध के लिए बाहर की जाँच शुरू। 920 00:39:36,312 --> 00:39:38,978 और यह एक समय लेने के लिए जा रहा है उन लानत स्वयं चेकआउट क्योंकि 921 00:39:38,978 --> 00:39:40,570 काउंटरों वैसे भी उपयोग करने के लिए हमेशा के लिए ले। 922 00:39:40,570 --> 00:39:41,950 तो इस बीच, अपने रूममेट घर आता है। 923 00:39:41,950 --> 00:39:43,470 वह या वह सच के रूप में अच्छी तरह से दूध पसंद करता है। 924 00:39:43,470 --> 00:39:45,520 वे छात्रावास के कमरे में आते हैं, फ्रिज खुला, ओह, यह रफ़ू। 925 00:39:45,520 --> 00:39:46,490 कोई और अधिक दूध नहीं है। 926 00:39:46,490 --> 00:39:49,040 >> तो, वह या वह भी कोने के आसपास हो जाता है। 927 00:39:49,040 --> 00:39:51,670 लेकिन अब, के बाद से दो की तरह नहीं है, या तीन या चार CVSes पास, 928 00:39:51,670 --> 00:39:53,800 वे में से एक के लिए जाने के लिए होता वर्ग में अलग अलग लोगों को। 929 00:39:53,800 --> 00:39:55,830 और हां, अब कुछ ही मिनटों आप के बाद, दोनों 930 00:39:55,830 --> 00:39:58,060 घर आते हैं और कभी ऊ, सबसे ज्यादा समस्या। 931 00:39:58,060 --> 00:40:00,967 अब आप बहुत ज्यादा दूध यह खट्टा जाना जा रहा है क्योंकि। 932 00:40:00,967 --> 00:40:03,050 और अगर आप दूध पसंद है, लेकिन आप वास्तव में दूध पसंद नहीं है। 933 00:40:03,050 --> 00:40:06,730 >> तो अब, यह एक महंगा था गलती तुम दोनों क्योंकि 934 00:40:06,730 --> 00:40:09,870 के आधार पर एक निर्णय लिया कुछ चर के राज्य कि 935 00:40:09,870 --> 00:40:12,660 की प्रक्रिया में था आप के द्वारा बदला जा रहा है, 936 00:40:12,660 --> 00:40:14,560 दूध पाने के लिए जा के सर्जक। 937 00:40:14,560 --> 00:40:17,785 तो, क्या शायद एक इंसान है उस समस्या का हल क्या है? 938 00:40:17,785 --> 00:40:18,660 दर्शकों: [अश्राव्य] 939 00:40:18,660 --> 00:40:19,430 डेविड मालन: ठीक है, एक नोट छोड़ दो? 940 00:40:19,430 --> 00:40:21,850 आप कर रहे हैं, तो हमेशा की तरह, एक नोट छोड़ उस शो के साथ परिचित। 941 00:40:21,850 --> 00:40:23,100 हाँ, हम दोनों के देखते हैं। 942 00:40:23,100 --> 00:40:25,940 तो, हमेशा एक नोट छोड़ दें, या सचमुच रेफ्रिजरेटर ताला 943 00:40:25,940 --> 00:40:28,602 ताला के साथ किसी तरह या लगता है कि जैसे शीर्ष पर कुछ और। 944 00:40:28,602 --> 00:40:31,310 लेकिन यह है कि वास्तव में होने जा रहा है डेटाबेस डिजाइन के साथ प्रमुख समस्या, 945 00:40:31,310 --> 00:40:34,710 हो सकता है आप विशेष रूप से जब कई ब्राउज़रों, कई लैपटॉप, 946 00:40:34,710 --> 00:40:37,450 एकाधिक उपयोगकर्ताओं सब करने की कोशिश कर एक बार में जानकारी का अद्यतन करें। 947 00:40:37,450 --> 00:40:40,590 विशेष रूप से संवेदनशील जानकारी वित्तीय जानकारी की तरह, 948 00:40:40,590 --> 00:40:43,350 जिससे एक शेयर ट्रेडिंग के साथ आप की तरह वेबसाइट का निर्माण किया जाएगा, 949 00:40:43,350 --> 00:40:47,270 आप कितना पैसा जाँच करना चाहते हैं तो क्या आप की है और उसके बाद आप पर्याप्त है, तो 950 00:40:47,270 --> 00:40:48,490 कुछ शेयर खरीदते हैं? 951 00:40:48,490 --> 00:40:50,899 >> लेकिन क्या अगर और कोई है जो आप के साथ एक संयुक्त खाता है 952 00:40:50,899 --> 00:40:52,690 एक साथ की कोशिश कर रहा है कुछ शेयर खरीदने के लिए? 953 00:40:52,690 --> 00:40:55,190 तो, वह या वह जाँच कर रहा है तुम दोनों के खाते का बैलेंस, 954 00:40:55,190 --> 00:40:57,540 एक ही वापस मिल जवाब है, कोई दूध नहीं है। 955 00:40:57,540 --> 00:41:00,580 या फिर आप दोनों के जवाब वापस मिल आप खाते में $ 100 है। 956 00:41:00,580 --> 00:41:04,680 तुम दोनों को निर्णय करने की कोशिश किसी कंपनी के शेयर का एक हिस्सा खरीदने के लिए। 957 00:41:04,680 --> 00:41:06,130 >> और अब, क्या होता है? 958 00:41:06,130 --> 00:41:07,140 आप दो शेयर हैं? 959 00:41:07,140 --> 00:41:08,420 आप कोई शेयर नहीं है? 960 00:41:08,420 --> 00:41:10,320 लगता है कि जैसे समस्याएं पैदा कर सकते हैं। 961 00:41:10,320 --> 00:41:11,755 तो, हम उस मुठभेड़ हूँ। 962 00:41:11,755 --> 00:41:14,630 एसक्यूएल इंजेक्शन हमलों, शुक्र है, हम साथ तुम्हारी मदद करेंगे कुछ कर रहे हैं, 963 00:41:14,630 --> 00:41:17,430 लेकिन इन atrociously हैं अभी भी आम इन दिनों। 964 00:41:17,430 --> 00:41:18,680 तो, यह सिर्फ एक उदाहरण है। 965 00:41:18,680 --> 00:41:21,290 मैं दावा नहीं करते हैं कि हार्वर्ड पिन प्रणाली है 966 00:41:21,290 --> 00:41:23,130 यह विशेष रूप से हमले की चपेट में। 967 00:41:23,130 --> 00:41:24,160 हम कोशिश की है। 968 00:41:24,160 --> 00:41:26,120 लेकिन, क्या आप जानते हैं कि हम उस इस तरह से एक क्षेत्र है। 969 00:41:26,120 --> 00:41:29,620 और येल के नेट आईडी एक समान है इन दिनों स्क्रीन देख रहे हैं। 970 00:41:29,620 --> 00:41:33,190 और यह पता चला है कि हो सकता है पिन प्रणाली पीएचपी में कार्यान्वित किया जाता है। 971 00:41:33,190 --> 00:41:37,050 >> यह were-- और अगर यह है कि वे not-- है इस तरह दिखता है कि कोड हो सकता है। 972 00:41:37,050 --> 00:41:38,210 वे दो चर है। 973 00:41:38,210 --> 00:41:42,495 मुझे यूज़रनेम और पासवर्ड दे पोस्ट सुपर वैश्विक चर से 974 00:41:42,495 --> 00:41:43,970 हम पहले भी इस बारे में बात करते हैं। 975 00:41:43,970 --> 00:41:47,310 हो सकता है कि हार्वर्ड एक क्वेरी है प्रयोक्ताओं से चयन स्टार की तरह 976 00:41:47,310 --> 00:41:50,005 जहां उपयोगकर्ता नाम कि बराबर होती है और पासवर्ड कि बराबर होती है। 977 00:41:50,005 --> 00:41:51,880 और मैं अभी कर रहा हूँ कि नोटिस का उपयोग करने में यह plugging 978 00:41:51,880 --> 00:41:55,050 दूसरे से घुंघराले ब्रेस संकेतन सिर्फ एक मूल्य में प्लग का मतलब है जो दिन, 979 00:41:55,050 --> 00:41:55,550 यहां। 980 00:41:55,550 --> 00:41:57,449 मैं का उपयोग नहीं कर रहा हूँ प्रश्न चिह्न तकनीक। 981 00:41:57,449 --> 00:41:59,240 मैं किसी दूसरे की जरूरत नहीं है या तीसरे तर्क। 982 00:41:59,240 --> 00:42:02,350 मैं सिर्फ शाब्दिक हूँ स्ट्रिंग अपने आप का निर्माण। 983 00:42:02,350 --> 00:42:04,930 >> समस्या है, हालांकि, वह यह है कि किसी एक scroob पसंद है, 984 00:42:04,930 --> 00:42:09,020 जो एक फिल्म के लिए एक संदर्भ है, इस तरह से कुछ के साथ में लॉग करता है, 985 00:42:09,020 --> 00:42:11,250 और मैं डॉट्स हटा दिया है आम तौर पर कवर किया है कि 986 00:42:11,250 --> 00:42:14,370 वह क्या करता है, तो पासवर्ड, विशेष रूप से दुर्भावनापूर्ण 987 00:42:14,370 --> 00:42:18,860 और उनके पासवर्ड शायद, 12345 है कहा जाता फिल्म के प्रति "Spaceballs," 988 00:42:18,860 --> 00:42:21,970 लेकिन उन्होंने समीक्षकों प्रकार एक पांच के बाद एकल बोली, 989 00:42:21,970 --> 00:42:24,790 तो सचमुच शब्द या अंतरिक्ष में, और फिर बोली, 990 00:42:24,790 --> 00:42:29,160 गंदें शब्द बोलना एक, बोली एक बराबर होती है लेकिन वह क्या लोप के नोटिस? 991 00:42:29,160 --> 00:42:32,700 उन्होंने कहा कि सही पर बोली छोड़ा गया है और वह छोड़ दिया पर बोली छोड़ा गया है। 992 00:42:32,700 --> 00:42:35,170 >> क्योंकि अगर इस हमलावर scroob का अनुमान 993 00:42:35,170 --> 00:42:38,160 लोग जो लिखा है वह यह है कि इस PHP कोड, बहुत उज्ज्वल नहीं थे 994 00:42:38,160 --> 00:42:42,990 शायद वे सिर्फ कुछ ही है प्रक्षेप के आसपास उद्धरण 995 00:42:42,990 --> 00:42:45,210 घुंघराले ब्रेसिज़ में एक चर का? 996 00:42:45,210 --> 00:42:48,620 और इसलिए हो सकता है, वह किस तरह कर सकता है के अपने विचार को पूरा 997 00:42:48,620 --> 00:42:53,290 उनके लिए, लेकिन एक तरह से कि जा रहा है उसे पिन प्रणाली में काट दिया जाने के लिए। 998 00:42:53,290 --> 00:42:55,310 दूसरे शब्दों में, लगता है इस कोड है कि 999 00:42:55,310 --> 00:42:57,140 और हम अब टाइप किया scroob क्या में प्लग। 1000 00:42:57,140 --> 00:42:58,770 यह बुरा है क्योंकि यह लाल है। 1001 00:42:58,770 --> 00:43:01,310 >> और अंतर्निहित पाठ , वह में टाइप क्या है 1002 00:43:01,310 --> 00:43:05,510 scroob हार्वर्ड के सर्वर चाल सकता एक एसक्यूएल क्वेरी के निर्माण में 1003 00:43:05,510 --> 00:43:07,440 इस तरह दिखता है कि स्ट्रिंग। 1004 00:43:07,440 --> 00:43:11,760 पासवर्ड 12345 या एक के बाद एक बराबर होती है। 1005 00:43:11,760 --> 00:43:14,820 जिनमें से परिणाम, तार्किक, इस scroob लॉग करेगा है 1006 00:43:14,820 --> 00:43:18,360 अपने पासवर्ड है, तो में 12345 या यदि एक बराबर होती है 1007 00:43:18,360 --> 00:43:22,660 हमेशा पाठ्यक्रम का सच है जो एक, जो scroob हमेशा में हो जाता है इसका मतलब है। 1008 00:43:22,660 --> 00:43:26,060 >> और हां, जिस तरह से ठीक करने के लिए यही नहीं, बहुत से मामलों में के रूप में, 1009 00:43:26,060 --> 00:43:28,140 अधिक रक्षात्मक लिखना होगा। 1010 00:43:28,140 --> 00:43:30,390 तरह कुछ का उपयोग करने के लिए हमारे वास्तविक क्वेरी समारोह, जो 1011 00:43:30,390 --> 00:43:33,980 आप हम में प्लग जहां PSet7 में देखेंगे सवाल की तरह कुछ यहाँ के निशान। 1012 00:43:33,980 --> 00:43:35,980 और की सुंदरता क्वेरी समारोह है कि हम 1013 00:43:35,980 --> 00:43:40,010 आप यह इन के खिलाफ बचाव है देना तथाकथित एसक्यूएल इंजेक्शन हमलों, जहां 1014 00:43:40,010 --> 00:43:44,260 किसी में अपने कोड को धोखा देना है अपने या अपने एसक्यूएल कोड इंजेक्शन। 1015 00:43:44,260 --> 00:43:47,380 क्या क्वेरी समारोह क्योंकि हम आप वास्तव में क्या होगा देना, 1016 00:43:47,380 --> 00:43:51,270 आप प्रश्न चिह्न सिंटैक्स का उपयोग करता है, तो और एक दूसरे और यहाँ एक तीसरा तर्क, 1017 00:43:51,270 --> 00:43:54,590 यह करने के लिए जोड़ दिया क्या है उपयोगकर्ता प्रदान की है कि इनपुट? 1018 00:43:54,590 --> 00:43:56,060 उन बैकस्लैश उद्धरण। 1019 00:43:56,060 --> 00:43:58,590 >> इसलिए, यह किसी भी संभावित पलायन खतरनाक अक्षर। 1020 00:43:58,590 --> 00:44:01,000 यह अब अजीब लग रहा है लेकिन यह कमजोर नहीं है 1021 00:44:01,000 --> 00:44:03,260 यदि ऐसा नहीं होता है, क्योंकि अब और तर्क परिवर्तन 1022 00:44:03,260 --> 00:44:06,470 कहा कि पूरे पासवर्ड है क्योंकि अब नहीं है कि एक ही बोली, 1023 00:44:06,470 --> 00:44:07,596 वास्तव में, scroob का पासवर्ड। 1024 00:44:07,596 --> 00:44:09,845 तो, कुछ मजाक नहीं किया गया है पिछले कुछ वर्षों में इस बारे में। 1025 00:44:09,845 --> 00:44:12,570 तो, यह एक फोटो लिया गया था एक पार्किंग में कुछ geek की 1026 00:44:12,570 --> 00:44:16,620 जिससे आपको लगता है कि कुछ शहरों में पता कर सकते हैं और राज्यों के अपने लाइसेंस को स्कैन करने की कोशिश 1027 00:44:16,620 --> 00:44:19,460 प्लेट आप या टिकट के लिए बिल के लिए आप आप चाहें, तो बिना के माध्यम से जाना है, 1028 00:44:19,460 --> 00:44:20,660 ई-जेड दर्रा बात। 1029 00:44:20,660 --> 00:44:24,490 तो, इस व्यक्ति को हो सकता है कि माना ई-जेड पास प्रणाली लिख लोग 1030 00:44:24,490 --> 00:44:28,240 बहुत उज्ज्वल नहीं थे, और शायद वे सिर्फ एक स्ट्रिंग एक साथ concatenated, 1031 00:44:28,240 --> 00:44:32,190 इतना है कि वह या वह दुर्भावनापूर्वक नहीं कर सका सिर्फ उनके विचार को पूरा नहीं, 1032 00:44:32,190 --> 00:44:35,150 लेकिन वास्तव में एक बुरा आदेश पर अमल, जो हम अभी तक का उल्लेख नहीं किया है 1033 00:44:35,150 --> 00:44:36,380 लेकिन आप शायद अनुमान लगा सकते हैं। 1034 00:44:36,380 --> 00:44:39,820 इसके अलावा में उसे हटाने के लिए और डालने और अद्यतन और चयन, 1035 00:44:39,820 --> 00:44:43,370 बूंद नामक एक कीवर्ड भी नहीं है, जो सचमुच सब कुछ हटाता 1036 00:44:43,370 --> 00:44:45,300 डेटाबेस में जो विशेष रूप से बुरा है। 1037 00:44:45,300 --> 00:44:48,760 >> हम इस पर अगर ज़ूम कर सकते हैं यह देखने के लिए थोड़ा मुश्किल है। 1038 00:44:48,760 --> 00:44:52,300 यह अब एक प्रसिद्ध कार्टून है कि अब शानदार चालाक है 1039 00:44:52,300 --> 00:44:53,145 और समझ में आता है। 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [हँसी] 1042 00:45:04,750 --> 00:45:05,910 >> हाँ शांत। 1043 00:45:05,910 --> 00:45:06,800 एक तरह से बाहर geeking। 1044 00:45:06,800 --> 00:45:08,800 इन ऐसा है, तो कर रहे हैं, एसक्यूएल इंजेक्शन हमला करता है। 1045 00:45:08,800 --> 00:45:13,050 और वे उपयोग कर से बचने के लिए इतना आसान कर रहे हैं सही कोड या सही पुस्तकालयों। 1046 00:45:13,050 --> 00:45:15,947 और तुम, कि PSet7 में देखेंगे यही कारण है कि हम आप क्वेरी समारोह देते हैं। 1047 00:45:15,947 --> 00:45:17,780 तो, टीज़र के एक जोड़े हम चाहते हैं कि सोचा था कि 1048 00:45:17,780 --> 00:45:19,930 में यहाँ आपको दे हमारे एक साथ मिनट शेष। 1049 00:45:19,930 --> 00:45:24,030 इसलिए, जब आप सप्ताह शून्य से याद है, हम इन दोनों के प्रकाश बल्ब शुरू की है जो 1050 00:45:24,030 --> 00:45:26,610 कर रहे हैं अच्छा है, सिर्फ इसलिए नहीं वे सुंदर हो और रंगीन कर रहे हैं, 1051 00:45:26,610 --> 00:45:29,450 लेकिन वे कुछ समर्थन करते हैं क्योंकि एक आवेदन, एक एपीआई बुलाया 1052 00:45:29,450 --> 00:45:31,980 प्रोग्रामिंग इंटरफेस और CS50 में इस प्रकार अब तक, हम है 1053 00:45:31,980 --> 00:45:34,440 ज्यादातर मिलता है, पर केंद्रित है और पोस्ट, लेकिन यह पता चला है 1054 00:45:34,440 --> 00:45:37,390 डाल की तरह अन्य HTTP क्रियाएँ नहीं है। 1055 00:45:37,390 --> 00:45:39,430 >> और वास्तव में, यह था सप्ताह शून्य से एक स्लाइड 1056 00:45:39,430 --> 00:45:44,930 जिससे आप कोड लिखने कि अगर भेजता एक ला PSet6 एक HTTP अनुरोध है कि 1057 00:45:44,930 --> 00:45:49,647 पाठ के इस टुकड़ा के साथ इस तरह दिखता है JSON कहा जाता है जो नीचे, पर, 1058 00:45:49,647 --> 00:45:52,230 या जावास्क्रिप्ट वस्तु संकेतन कि हम अगले सप्ताह के बारे में बात करेंगे, 1059 00:45:52,230 --> 00:45:57,030 आप को चालू या बंद कर देते हैं या परिवर्तन कर सकते हैं उन लोगों की तरह रोशनी के रंग। 1060 00:45:57,030 --> 00:46:00,480 CS50 भी कुछ करने के अलावा है तो न्यू हेवन में यहां उन प्रकाश बल्ब की 1061 00:46:00,480 --> 00:46:02,480 आप उधार ले करना चाहते हैं तो उन्हें अंतिम परियोजनाओं के लिए, 1062 00:46:02,480 --> 00:46:04,370 यह भी कुछ माइक्रोसॉफ्ट की तरह हैं जो बैंड, 1063 00:46:04,370 --> 00:46:07,619 आप अपनी कलाई के आसपास पहनना कि घड़ियां इसी तरह से इतना है कि एक एपीआई कि आप 1064 00:46:07,619 --> 00:46:10,040 उनके लिए अपने स्वयं के सॉफ्टवेयर लिख सकते हैं। 1065 00:46:10,040 --> 00:46:12,490 >> हम एक खाते के साथ है एप्पल के आईओएस कोड इसलिए 1066 00:46:12,490 --> 00:46:15,510 कि आप एक एप्पल घड़ी या अगर आपके पास एक iPhone या एक iPad या एक आइपॉड, 1067 00:46:15,510 --> 00:46:17,707 आप कोड लिख सकते हैं वास्तव में उन पर चलता है। 1068 00:46:17,707 --> 00:46:19,540 हम एक पूरी गुच्छा है हैं, जिनमें से Arduinos, 1069 00:46:19,540 --> 00:46:22,010 छोटे छोटे कंप्यूटर मामलों के बिना, अनिवार्य रूप से, 1070 00:46:22,010 --> 00:46:25,240 आप USB के माध्यम से कनेक्ट कर सकते हैं, आम तौर पर अपने खुद के मैक या पीसी के लिए, 1071 00:46:25,240 --> 00:46:28,810 इन शारीरिक पर चलता है कि कोड लिखने अक्सर उन पर सेंसर है कि उपकरणों 1072 00:46:28,810 --> 00:46:30,790 इसलिए यदि आप असली दुनिया के साथ बातचीत कर सकते हैं। 1073 00:46:30,790 --> 00:46:32,860 हम एक पूरी गुच्छा है लीप मोशन उपकरणों की, 1074 00:46:32,860 --> 00:46:36,500 एमएसीएस के लिए यूएसबी उपकरणों जो कर रहे हैं और यहाँ और फिर, न्यू हेवन में पीसी,। 1075 00:46:36,500 --> 00:46:40,080 और अगर आप अपने मैक से कनेक्ट करते हैं, आप वास्तव में अपने कंप्यूटर को नियंत्रित कर सकते हैं 1076 00:46:40,080 --> 00:46:42,550 सॉफ्टवेयर लिख कर कि अवरक्त मुस्कराते हुए के माध्यम से, 1077 00:46:42,550 --> 00:46:46,360 अपने मानव हाथ कर रहे हैं, जहां बाहर के आंकड़े, यहां तक ​​कि अपने कीबोर्ड को छूने के बिना। 1078 00:46:46,360 --> 00:46:49,135 हम एक त्वरित का हिस्सा था उदाहरण के लिए, इस पर झलक। 1079 00:46:49,135 --> 00:46:51,428 >> [संगीत बजाना] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 तो, हम एक पूरी है इन बातों का गुच्छा, 1082 00:47:57,590 --> 00:48:01,040 भी, म्यो बाजूबंद बुलाया जो आप अपने प्रकोष्ठ के ऊपर रख दिया 1083 00:48:01,040 --> 00:48:04,595 और फिर आप वास्तविक नियंत्रण कर सकते हैं दुनिया या इस तरह आभासी दुनिया। 1084 00:48:04,595 --> 00:48:06,471 >> [संगीत बजाना] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 या, हम भी कुछ गूगल है जैसे, सचमुच है जो गत्ता, 1087 00:49:20,920 --> 00:49:24,841 आप पर डाल सकता है एक गत्ता बॉक्स अपने इसे में अपने फोन में चेहरा, लेकिन स्लाइड 1088 00:49:24,841 --> 00:49:27,590 इतना है कि आप में से गिलास में डाल अपने अपनी आंखों को बहुत करीब से फोन। 1089 00:49:27,590 --> 00:49:30,190 और गूगल गत्ता है $ 10 या $ 20 पर बहुत सस्ते। 1090 00:49:30,190 --> 00:49:32,230 और यह थोड़ा लेंस है कि थोड़ा बदलाव बंद 1091 00:49:32,230 --> 00:49:35,900 अपने मानव के लिए स्क्रीन पर छवि आंखों आप गहराई की भावना देने के लिए 1092 00:49:35,900 --> 00:49:39,550 ताकि आप वास्तव में एक 3 डी है आप के सामने पर्यावरण। 1093 00:49:39,550 --> 00:49:42,927 हम भी कुछ सैमसंग गियर है, जो इस के अधिक महंगा संस्करण है, 1094 00:49:42,927 --> 00:49:46,010 लेकिन लगता है कि इसी तरह से एक में स्लाइड कर सकते हैं एंड्रॉयड फोन है और आप भ्रम दे 1095 00:49:46,010 --> 00:49:48,309 of-- या अनुभव दे आभासी वास्तविकता की। 1096 00:49:48,309 --> 00:49:50,850 और हमारे अंतिम दो मिनट में, हम ऐसा करने की कोशिश लगा। 1097 00:49:50,850 --> 00:49:55,250 मैं कोल्टन है क्या परियोजना कर सकते हैं यहां सिर्फ अपनी भूख को, 1098 00:49:55,250 --> 00:49:58,442 मुझे आगे जाना है और फेंक दो यहां बड़े परदे पर। 1099 00:49:58,442 --> 00:49:59,400 मुझे रोशनी मार डालो। 1100 00:49:59,400 --> 00:50:02,290 कोल्टन, तुम आगे सौदे और एक पल के लिए अपने सेल पर डाल 1101 00:50:02,290 --> 00:50:05,171 और के लिए खत्म पर आ मंच के बीच? 1102 00:50:05,171 --> 00:50:07,420 और अगर आप project-- करना चाहते हैं इस कोल्टन क्या देखता है। 1103 00:50:07,420 --> 00:50:10,560 >> अब, यहाँ में वाई-फ़ाई है इस डिवाइस के लिए इतनी मजबूत नहीं 1104 00:50:10,560 --> 00:50:13,870 इस सुपर मजबूर है कि, लेकिन कोल्टन सचमुच है 1105 00:50:13,870 --> 00:50:15,710 इस जादुई भविष्य जगह में। 1106 00:50:15,710 --> 00:50:16,796 उन्होंने कहा कि केवल एक छवि देखता है। 1107 00:50:16,796 --> 00:50:19,920 तुम उसकी बाईं और दाईं आंख से देख रहे हैं उसके मस्तिष्क में एक साथ सिलाई कर रहे हैं कि 1108 00:50:19,920 --> 00:50:22,260 एक तीन आयामी में उसके चेहरे पर पर्यावरण। 1109 00:50:22,260 --> 00:50:24,319 उन्होंने कहा कि अभी यहां एक मेनू विकल्प का चयन किया है। 1110 00:50:24,319 --> 00:50:27,360 और तो फिर, वह इस हेडसेट पहने हुए है उस पर एक सैमसंग फोन के साथ कि 1111 00:50:27,360 --> 00:50:29,080 वायरलेस तरीके से हमारी भूमि के ऊपर करने के लिए पेश। 1112 00:50:29,080 --> 00:50:30,349 अब आप मंगल ग्रह पर, मुझे लगता है कि कर रहे हैं? 1113 00:50:30,349 --> 00:50:31,140 COLTON: मुझे ऐसा लगता है। 1114 00:50:31,140 --> 00:50:32,181 मैं [अश्राव्य] यकीन नहीं है। 1115 00:50:32,181 --> 00:50:34,250 [हँसी] 1116 00:50:34,250 --> 00:50:36,374 >> डेविड मालन: बाहर वर्षगांठ मंगल ग्रह इन मेनू है। 1117 00:50:36,374 --> 00:50:41,590 >> COLTON: [अश्राव्य] कुछ शांत स्थानों हम है-- जाना चाहते हैं, तो 1118 00:50:41,590 --> 00:50:43,330 >> डेविड मालन: हम कहाँ जाना चाहते हो? 1119 00:50:43,330 --> 00:50:45,837 >> COLTON: [अश्राव्य] 1120 00:50:45,837 --> 00:50:48,170 डेविड मालन: और चलो देखते हैं जहां कोल्टन चलो अब हमें ले रही है। 1121 00:50:48,170 --> 00:50:48,961 COLTON: [अश्राव्य] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> डेविड मालन: तो, वहाँ बहुत सारे है अलग-अलग स्थानों आप अपने आप को ले जा सकते हैं। 1124 00:50:56,380 --> 00:51:00,590 FAPIs वहाँ जो के माध्यम से आप कर सकते हैं खेल या बातचीत लिखते हैं कि 1125 00:51:00,590 --> 00:51:01,950 फोन पर, अंततः, चलाते हैं। 1126 00:51:01,950 --> 00:51:03,908 तो, अगर आप वास्तव में सिर्फ एक मोबाइल फोन एप्लिकेशन लेखन। 1127 00:51:03,908 --> 00:51:06,380 लेकिन सॉफ्टवेयर के लिए धन्यवाद और ग्राफिक्स क्षमताओं, 1128 00:51:06,380 --> 00:51:08,765 अब कोल्टन इस में है छोटे छोटे कुटीर। 1129 00:51:08,765 --> 00:51:10,515 और के जोखिम में अपने आप को भारी, 1130 00:51:10,515 --> 00:51:13,330 कोल्टन और मैं के लिए चारों ओर लकड़ी हूँ जबकि यहां वर्ग के अंत में आज 1131 00:51:13,330 --> 00:51:14,300 आप आते हैं और खेलने के लिए चाहते हैं। 1132 00:51:14,300 --> 00:51:16,350 और हम उन्हें लाती हूँ वापस अगले सप्ताह के रूप में अच्छी तरह से। 1133 00:51:16,350 --> 00:51:18,420 आगे की हलचल के बिना ही आज के लिए इतना ही। 1134 00:51:18,420 --> 00:51:21,990 हम अगले सप्ताह आप देखेंगे। 1135 00:51:21,990 --> 00:51:24,140 >> [संगीत - Ragga जुड़वां, "BAD MAN"] 1136 00:51:24,140 --> 00:55:23,146