1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [संगीत बजाना] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> डेविड मालन: इस CS50 है, और इस सप्ताह आठ साल की शुरुआत है। 5 00:00:13,350 --> 00:00:17,510 और हम स्वागत करने के लिए उत्साहित कर रहे वापस, बड़ा आश्चर्य, CS50 के स्वयं के रेमन 6 00:00:17,510 --> 00:00:22,160 Galvan किया गया है, जो एक बढ़ती वरिष्ठ पिछले कई महीनों खर्च 7 00:00:22,160 --> 00:00:26,190 ला में जुलाई के बाद से, हॉलीवुड में, सचमुच एक ब्रांड के नए टीवी पर काम 8 00:00:26,190 --> 00:00:31,930 कॉलोनी बुलाया शो, जो के निर्माता वास्तव में एक हार्वर्ड फिटकिरी खुद है। 9 00:00:31,930 --> 00:00:36,610 और इसलिए हम यह देखने के लिए बहुत उत्साहित हैं संयुक्त राज्य अमेरिका नेटवर्क इस साल जनवरी पर पहली फिल्म है। 10 00:00:36,610 --> 00:00:40,370 तो उस के लिए देखते रहें, और के लिए सप्ताह के लिए और अधिक रेमन आने के लिए। 11 00:00:40,370 --> 00:00:42,550 >> अंत निकट है कि अब पता है। 12 00:00:42,550 --> 00:00:47,400 और क्या इसका मतलब यह नहीं है कि है सब इतना कहने के लिए दुख की बात है, CS50 के लिए छोड़ दिया। 13 00:00:47,400 --> 00:00:49,400 हम सिर्फ तीन समस्या है सेट वहाँ left-- 14 00:00:49,400 --> 00:00:52,510 समस्या में है जो six-- सेट अपने हाथों को अब या जल्दी ही हो जाएगा 15 00:00:52,510 --> 00:00:56,080 बाद में मतलब है week-- इस पुल के कारण कमांड लाइन, जहां के बारे में हमारी दुनिया 16 00:00:56,080 --> 00:00:59,450 हम प्रयोग कर हमारे समय के सबसे बिताया है सी और वेब प्रोग्रामिंग की दुनिया। 17 00:00:59,450 --> 00:01:02,350 ठीक है, तुम विचारों का एक बहुत देखेंगे कमांड लाइन काम से उधार लिया है, 18 00:01:02,350 --> 00:01:04,560 लेकिन नए का भी एक बहुत और दिलचस्प विचारों 19 00:01:04,560 --> 00:01:07,929 के लिए भी सार्थक होने जा रहे हैं कि मोबाइल अनुप्रयोगों और के लिए प्रौद्योगिकी, 20 00:01:07,929 --> 00:01:10,470 आम तौर पर, जिसके साथ आप लोग आजकल सभी परिचित हैं 21 00:01:10,470 --> 00:01:12,090 लैपटॉप और फोन और पसंद पर। 22 00:01:12,090 --> 00:01:15,220 >> तो क्या आप नहीं लागू करेंगे एक वेब पेज, या एक वेबसाइट 23 00:01:15,220 --> 00:01:17,620 दर असल, लेकिन एक वास्तविक वेब सर्वर। 24 00:01:17,620 --> 00:01:21,590 आप एक वेब सर्वर के बाकी लिखेंगे जिसका उद्देश्य जीवन में सी, में लिखा 25 00:01:21,590 --> 00:01:25,410 HTTP अनुरोध, उन प्राप्त करने के लिए है हम बात कर रख आभासी लिफाफे 26 00:01:25,410 --> 00:01:29,780 के बारे में है, और वास्तव में के साथ या तो प्रतिक्रिया एक डॉट एचटीएमएल जैसे कुछ स्थिर content-- 27 00:01:29,780 --> 00:01:32,310 फ़ाइल, या डॉट जेपीईजी या फाइलों के किसी अन्य संख्या, 28 00:01:32,310 --> 00:01:37,070 या यहां तक ​​कि एक PHP फ़ाइल जिससे अपने वेब सर्वर कि पीएचपी व्याख्या करने के लिए जा रहा है 29 00:01:37,070 --> 00:01:38,332 कोड और परिणाम थूक। 30 00:01:38,332 --> 00:01:40,540 अब, हम आप के साथ प्रदान की है ढांचे की काफी थोड़ा 31 00:01:40,540 --> 00:01:43,100 वास्तव में it-- के लिए समस्या के लिए वितरण कोड 32 00:01:43,100 --> 00:01:47,496 छह 1,000 से अधिक लाइनें लंबी है सेट, एक जिनमें से बहुत कुछ टिप्पणियाँ, fair-- हो रहा है 33 00:01:47,496 --> 00:01:49,370 लेकिन यह वास्तव में मतलब है एक अवसर होने की 34 00:01:49,370 --> 00:01:52,570 गंदा डाइविंग अपने हाथों को प्राप्त करने के लिए एक काफी बड़ी परियोजना में 35 00:01:52,570 --> 00:01:55,570 हम बहुत विशेष है कि आप के लिए बाहर खुदी टुकड़े, 36 00:01:55,570 --> 00:01:59,046 तो यह है कि वास्तव में आप CS50 से बाहर निकलें जब और प्रोग्रामिंग की असली दुनिया में प्रवेश 37 00:01:59,046 --> 00:02:00,920 और में भिगोना करना चाहते हैं परियोजनाओं के किसी भी संख्या, 38 00:02:00,920 --> 00:02:03,253 आप बहुत अधिक होगा आराम कुछ स्रोत को डाउनलोड 39 00:02:03,253 --> 00:02:05,020 कोड, कुछ खुला स्रोत वेब पर परियोजना, 40 00:02:05,020 --> 00:02:08,174 और गोताखोरी में कर रही है और आप फिट देखना है कि परिवर्तन। 41 00:02:08,174 --> 00:02:11,340 समस्या सात के बारे में होने जा रहा है सेट अपने खुद के वेब आधारित एप्लीकेशन बनाने 42 00:02:11,340 --> 00:02:14,140 कि गतिशील इनपुट लेता है और फार्म में गतिशील उत्पादन का उत्पादन 43 00:02:14,140 --> 00:02:16,920 एक etrade.com की तरह वेबसाइट के। 44 00:02:16,920 --> 00:02:20,800 और इस समस्या को आठ अभी तक पर ध्यान दिया जाएगा सेट जावास्क्रिप्ट के रूप में पहचानी जाने वाली भाषा। 45 00:02:20,800 --> 00:02:24,170 >> इस बीच, फाइनल परियोजना क्षितिज पर है। 46 00:02:24,170 --> 00:02:26,800 तथाकथित पूर्व प्रस्ताव आज से एक सप्ताह की वजह से है। 47 00:02:26,800 --> 00:02:29,930 विनिर्देश के अनुसार पूर्व proposal--, CS50 के website-- पर जो है 48 00:02:29,930 --> 00:02:33,260 एक सुंदर आकस्मिक अवसर के लिए है आप एक बहुत संक्षिप्त ईमेल भेजने के लिए 49 00:02:33,260 --> 00:02:35,170 अपने शिक्षण साथी को बस उसे अवगत कराया 50 00:02:35,170 --> 00:02:38,250 या आप क्या सोच रहे हैं, के लिए उसे एक लग बोर्ड के रूप में उसे या उसके उपयोग करें। 51 00:02:38,250 --> 00:02:40,980 और एक विवेक है check-- आप सोच रहे हैं कि क्या 52 00:02:40,980 --> 00:02:43,210 भी काट के बारे में बहुत कम ज्यादा है या हो सकता है, 53 00:02:43,210 --> 00:02:46,480 या हो सकता है आप जो भी कोई पता नहीं है और एक बातचीत में शामिल करना चाहते हैं। 54 00:02:46,480 --> 00:02:48,480 >> इसके बाद एक प्रस्ताव है और स्थिति रिपोर्ट, 55 00:02:48,480 --> 00:02:51,860 यहाँ में तथाकथित CS50 hackathon हार्वर्ड और येल छात्रों के लिए कैम्ब्रिज 56 00:02:51,860 --> 00:02:52,362 एक जैसे। 57 00:02:52,362 --> 00:02:54,320 अंतिम परियोजना के कार्यान्वयन तो कारण है। 58 00:02:54,320 --> 00:02:59,290 और फिर यहाँ एक CS50 निष्पक्ष, कैम्ब्रिज में, के रूप में अच्छी तरह से न्यू हेवन में एक और रूप। 59 00:02:59,290 --> 00:03:02,500 प्रस्ताव तो, पर एक नज़र रखना उन विवरण के लिए वेबसाइट। 60 00:03:02,500 --> 00:03:06,530 >> लेकिन अधिक excitingly भी है, है एक मौका अपने हाथ गंदे हो, 61 00:03:06,530 --> 00:03:09,350 और एक पूरे के लिए खुला अपने मन विषयों और उपकरणों का गुच्छा 62 00:03:09,350 --> 00:03:12,920 और तकनीकों है कि सहायक हैं पाठ्यक्रम की कोर पाठ्यक्रम के लिए, 63 00:03:12,920 --> 00:03:14,810 लेकिन फिर भी संबंधित है। 64 00:03:14,810 --> 00:03:18,400 और भी अद्भुत कदम पत्थर को वास्तव में अच्छा अंतिम परियोजनाओं कर रही है कि 65 00:03:18,400 --> 00:03:22,020 अच्छी तरह से सामग्री से परे हम कवर किया है जाना औपचारिक रूप से समस्या में सेट या व्याख्यान में। 66 00:03:22,020 --> 00:03:24,446 ऐसा करने के लिए CS50 की वेबसाइट पर जाना सेमिनार की पूरी रोस्टर। 67 00:03:24,446 --> 00:03:26,070 आप अभी तक पंजीकृत नहीं है, वह ठीक है। 68 00:03:26,070 --> 00:03:29,860 आगे बढ़ो और अभी साइन अप करें और हम करेंगे एक लाइव स्ट्रीमिंग लिंक के साथ पालन, 69 00:03:29,860 --> 00:03:31,844 दिन और समय वेबसाइट पर है। 70 00:03:31,844 --> 00:03:33,760 और सब कुछ हो जाएगा दर्ज की गई और ऑनलाइन डाल 71 00:03:33,760 --> 00:03:35,800 आप नहीं कर सकते हैं खास दिन और समय। 72 00:03:35,800 --> 00:03:39,380 >> Thereafter-- अच्छी तरह से आगे क्या करने के लिए के रूप में, जाहिर है, CS50 hackathon नहीं है। 73 00:03:39,380 --> 00:03:43,560 लिया सप्ताह शून्य से यह तस्वीर, याद है, पिछले कुछ वर्षों में शाम एक 4:00 के आसपास। 74 00:03:43,560 --> 00:03:46,900 CS50 निष्पक्ष, जो फिर से दोनों शहरों में जगह ले जाएगा। 75 00:03:46,900 --> 00:03:49,760 और फिर, सिर्फ संयंत्र के लिए बीज, यहां तक ​​कि अभी भी हम हालांकि 76 00:03:49,760 --> 00:03:54,080 एक महीने से अधिक है, तो सेमेस्टर के लिए छोड़ दिया आप CS50 के स्वयं के शिक्षण में शामिल होने के लिए करना चाहते हैं 77 00:03:54,080 --> 00:03:56,770 स्टाफ, और आप शुरू करना चाहते हैं एक सीए बनने के बारे में सोच रही है, 78 00:03:56,770 --> 00:03:59,550 या शिक्षण साथी जानते हैं कि, हम इस बारे में अधिक बात कर शुरू करेंगे 79 00:03:59,550 --> 00:04:00,630 बाद में इस सेमेस्टर। 80 00:04:00,630 --> 00:04:03,470 लेकिन यहाँ चित्र इस साल के टीम के अधिकांश। 81 00:04:03,470 --> 00:04:06,950 >> और हां, तो PHP-- और मैं बहुत दु: खी था पिछले हफ्ते [है? Allyse?] कृपया 82 00:04:06,950 --> 00:04:09,370 हो रही करने के प्रयास करने के लिए चला गया हमें इन अद्भुत सहारा 83 00:04:09,370 --> 00:04:11,720 मैं का उपयोग कर खत्म नहीं किया है कि, यह तो वास्तव में सिर्फ बेवकूफ की तरह देखा 84 00:04:11,720 --> 00:04:15,160 हम सब यहां बैठे एक फावड़ा था कि दिन पिछले बुधवार को, और एक छोटे चम्मच। 85 00:04:15,160 --> 00:04:17,709 लेकिन यह मेरी रूपक था रंग की कोशिश कर के रास्ते 86 00:04:17,709 --> 00:04:21,600 यही कारण है कि हम परिवर्तित कर रहे हैं की तस्वीर सी से पीएचपी तरह एक भाषा के लिए। 87 00:04:21,600 --> 00:04:25,480 और एक ही किसी के बारे में कहा जा सकता है languages-- जावा, अजगर, रूबी की संख्या 88 00:04:25,480 --> 00:04:31,270 others-- की लेकिन में जबकि या गुच्छों सी, उदाहरण के लिए, सी में एक प्रोग्राम लिखने 89 00:04:31,270 --> 00:04:34,050 आम तौर पर की तरह हो सकता है इस तरह से एक चम्मच लेने से 90 00:04:34,050 --> 00:04:36,770 और में एक छेद खुदाई जमीन, रेत या मिट्टी में। 91 00:04:36,770 --> 00:04:39,770 पीएचपी आप ज्यादा लेने के लिए अनुमति देता है समस्या से बाहर बड़ा काटता है, 92 00:04:39,770 --> 00:04:42,842 अब तक कम से कोड लिखने एक दूर छोटे उपकरण का उपयोग कर, 93 00:04:42,842 --> 00:04:45,050 बहुत अधिक तो नहीं है, क्योंकि कार्यक्षमता में pieced। 94 00:04:45,050 --> 00:04:47,633 >> अब, हम वास्तव में नाटकीय थे, हम फावड़ा के लिए कुछ होता है 95 00:04:47,633 --> 00:04:48,760 यहाँ है, लेकिन ऐसा ही होगा। 96 00:04:48,760 --> 00:04:51,370 इस बीच, अन्य रूपक हम साथ आया 97 00:04:51,370 --> 00:04:53,770 जाहिर है, तुम सकता है, एक रिंच तरह कुछ का उपयोग 98 00:04:53,770 --> 00:04:56,610 एक कील की तरह कुछ में हथौड़ा। 99 00:04:56,610 --> 00:04:58,980 लेकिन हां, सही उपयोग करने के लिए उपकरण जा रहा है 100 00:04:58,980 --> 00:05:01,360 इतना नहीं होना करने के लिए भाषा कहा जाता C-- 101 00:05:01,360 --> 00:05:03,590 और अब मैं सिर्फ नाराज [? सैंडर्स?] शायद, 102 00:05:03,590 --> 00:05:07,890 हम तो यह है कि later-- ठीक कर देंगे सही उपकरण का अक्सर उपयोग करने के लिए 103 00:05:07,890 --> 00:05:09,640 नहीं होने जा रहा है इस निम्नतम स्तर उपकरण। 104 00:05:09,640 --> 00:05:13,720 और वास्तव में, सी एक भाषा नहीं है कि आप में से अधिकांश कभी उपयोग करने के लिए जा रहे हैं 105 00:05:13,720 --> 00:05:15,590 या जरूरी फिर से उपयोग करना चाहिए। 106 00:05:15,590 --> 00:05:18,350 >> और वास्तव में, एक छोटी सी केवल समय secret-- 107 00:05:18,350 --> 00:05:23,160 मैं सी खुद के बीच बहुत ज्यादा है उपयोग हर गिरावट के सितंबर और दिसंबर 108 00:05:23,160 --> 00:05:23,870 सेमेस्टर। 109 00:05:23,870 --> 00:05:25,790 और है कि हम क्योंकि एक अवसर के रूप में इसका इस्तेमाल 110 00:05:25,790 --> 00:05:27,852 बुनियादी बातों को पढ़ाने के लिए प्रोग्रामिंग की, 111 00:05:27,852 --> 00:05:29,810 और यह कंप्यूटर के साथ विज्ञान के मूल सिद्धांतों, डेटा 112 00:05:29,810 --> 00:05:32,435 संरचनाओं, एल्गोरिदम और like-- लेकिन बहुत जल्दी आप करेंगे 113 00:05:32,435 --> 00:05:35,010 वाक्य रचना कि अब देखना है और विचारों सी अंतर्निहित 114 00:05:35,010 --> 00:05:37,530 इतनी शानदार हैं अधिक आधुनिक करने के लिए हस्तांतरणीय 115 00:05:37,530 --> 00:05:41,130 उच्च स्तर की भाषाओं, जैसे PHP और अजगर और पर्ल और जावा 116 00:05:41,130 --> 00:05:46,750 और उद्देश्य C--, इतना नहीं वास्तव में उद्देश्य C-- लेकिन स्विफ्ट, इन नए 117 00:05:46,750 --> 00:05:50,010 भाषाओं कि आप में से कई होगा तो आप अंतिम परियोजना के साथ भिगोना। 118 00:05:50,010 --> 00:05:55,070 >> आगे की हलचल के बिना तो, वास्तव में चलो कुछ समस्याओं को हल करने के लिए PHP का उपयोग करें। 119 00:05:55,070 --> 00:06:00,230 पिछले है, कि जल्दी पर याद करते हैं हफ्ते, हम सिर्फ इस्तेमाल किया CS50 आईडीई, 120 00:06:00,230 --> 00:06:02,990 हम एक छोटा सा प्रोग्राम लिखा कि बस "नमस्ते दुनिया है।" 121 00:06:02,990 --> 00:06:05,680 और फिर मैं इसे बचाया एक फ़ाइल hello.php बुलाया। 122 00:06:05,680 --> 00:06:07,280 और फिर मैं इस आदेश से भाग गया। 123 00:06:07,280 --> 00:06:08,080 >> और क्यों? 124 00:06:08,080 --> 00:06:09,900 अंग्रेजी में, यहाँ क्या हो रहा है? 125 00:06:09,900 --> 00:06:12,760 मैं जब क्या कर रहा था मैं इस आदेश से भाग गया? 126 00:06:12,760 --> 00:06:13,405 >> हाँ? 127 00:06:13,405 --> 00:06:16,572 >> दर्शकों: कुछ समारोह पीएचपी नहीं है कि in-- समझता है कि क्या पढ़ता है। 128 00:06:16,572 --> 00:06:19,696 डेविड मालन: अच्छा है, कुछ कार्य भी नहीं है PHP-- और मुझे और अधिक विशिष्ट हो जाने दो, 129 00:06:19,696 --> 00:06:21,810 पीएचपी एक कार्यक्रम में कहा उर्फ ​​नहीं है, 130 00:06:21,810 --> 00:06:25,872 समझता है कि एक दुभाषिया, hello.php की सामग्री, 131 00:06:25,872 --> 00:06:27,830 और करने के लिए शीर्ष व्याख्या नीचे, दाएं से बाएं 132 00:06:27,830 --> 00:06:29,590 और उन आदेशों का कहना है कि क्या करता है। 133 00:06:29,590 --> 00:06:33,320 hello.php में आदेश, ज़ाहिर है, सिर्फ code-- कार्यों स्रोत है 134 00:06:33,320 --> 00:06:35,750 और चर और छोरों और जैसे, हम खुद को 135 00:06:35,750 --> 00:06:37,460 पीएचपी में लिखना शुरू कर दिया है। 136 00:06:37,460 --> 00:06:40,240 >> लेकिन सी के विपरीत, जो है एक संकलित भाषा, 137 00:06:40,240 --> 00:06:42,810 पीएचपी आप बस इसे लिखते हैं, और इसे चलाते हैं। 138 00:06:42,810 --> 00:06:46,420 आप की है कि बिचौलिया कदम को छोड़ शून्य और लोगों को बदलने, 139 00:06:46,420 --> 00:06:47,790 और फिर यह चल रहा है। 140 00:06:47,790 --> 00:06:50,510 और इसलिए इस की तेजी में क्या है? 141 00:06:50,510 --> 00:06:52,690 क्यों हम कदम लंघन कर रहे हैं? 142 00:06:52,690 --> 00:06:55,238 क्यों और अधिक आधुनिक भाषाओं करना इस कदम को छोड़ जाते हैं? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 लाभ क्या था? 145 00:07:01,220 --> 00:07:02,080 >> या बस intuitively? 146 00:07:02,080 --> 00:07:04,200 हम नहीं है यहां तक ​​कि अगर इससे पहले कि बहुत पीएचपी लिखा है, 147 00:07:04,200 --> 00:07:07,210 क्या नहीं के बारे में फायदेमंद है अपने कोड संकलन तुम्हें क्या लगता है? 148 00:07:07,210 --> 00:07:08,520 नहीं? 149 00:07:08,520 --> 00:07:09,610 करने नहीं? 150 00:07:09,610 --> 00:07:11,350 अपने सिर scratching? 151 00:07:11,350 --> 00:07:12,614 हाँ। 152 00:07:12,614 --> 00:07:13,600 >> दर्शकों को अधिक गतिशील। 153 00:07:13,600 --> 00:07:14,683 >> डेविड मालन: अधिक गतिशील? 154 00:07:14,683 --> 00:07:16,032 आपका मतलब क्या है? 155 00:07:16,032 --> 00:07:17,000 >> दर्शकों: [अश्राव्य] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 डेविड मालन: ठीक है, अच्छा है, इसलिए इनपुट पर निर्भर करता है, 158 00:07:22,390 --> 00:07:23,470 आप इसे हर बार संकलन करने के लिए नहीं है। 159 00:07:23,470 --> 00:07:24,990 और यह सच है के रूप में है that-- के रूप में सरल क्या 160 00:07:24,990 --> 00:07:26,990 जारी रखने की बात है अपने कोड संकलन करने के लिए? 161 00:07:26,990 --> 00:07:29,480 यह है कि सिर्फ एक कदम है making-- यह, की आवश्यकता होती है 162 00:07:29,480 --> 00:07:31,900 पिछले कई के लिए सप्ताह में दो बार के रूप में कई कदम 163 00:07:31,900 --> 00:07:33,820 बस के रूप में अपने कार्यक्रम चल रहा है। 164 00:07:33,820 --> 00:07:36,940 यह आपको लगता है कि देखने में उपयोगी हो गया है बहुत आगे कुछ त्रुटि संदेशों करें और देखें 165 00:07:36,940 --> 00:07:38,720 लेकिन यह अभी भी सिर्फ एक कष्टप्रद कदम है। 166 00:07:38,720 --> 00:07:41,810 >> और तो प्रोग्रामर एहसास हुआ समय के साथ, हम क्यों नहीं करते 167 00:07:41,810 --> 00:07:45,327 ऐसा नहीं है कि भाषाओं लेखन शुरू , कि काफी यांत्रिक कदम की जरूरत 168 00:07:45,327 --> 00:07:47,160 इसलिए कि सिर्फ लिख सकते हैं अपने कोड और इसे चलाते हैं। 169 00:07:47,160 --> 00:07:48,920 लेकिन कीमत क्या था हम भुगतान देखा कि 170 00:07:48,920 --> 00:07:50,910 एक विशिष्ट उदाहरण के साथ, सप्ताह पिछले? 171 00:07:50,910 --> 00:07:51,650 हाँ? 172 00:07:51,650 --> 00:07:52,370 >> स्पीड। 173 00:07:52,370 --> 00:07:54,690 तो [? ?] द्विभाषियों क्या है एक छोटे से धीमी, 174 00:07:54,690 --> 00:07:57,330 उस में शून्य और लोगों रहे हैं अच्छा है और एक कंप्यूटर के लिए तेजी से 175 00:07:57,330 --> 00:08:00,070 समझने के लिए, क्योंकि इंटेल सीपीयू, या जो कुछ भी है, 176 00:08:00,070 --> 00:08:03,070 बस क्या हो रहा है समझता है बिट्स के उन नमूनों पर। 177 00:08:03,070 --> 00:08:05,370 एक दुभाषिया जबकि एक प्रोग्राम है कि वास्तव में है 178 00:08:05,370 --> 00:08:07,980 आस्की स्रोत को पढ़ने के लिए है लिखा है कि आप कोड, 179 00:08:07,980 --> 00:08:12,700 और इसे बदलने, तो बात है, या करने के लिए यह अंततः धर्मान्तरित के लिए बाहर निकालने 180 00:08:12,700 --> 00:08:13,525 शून्य और लोगों के लिए। 181 00:08:13,525 --> 00:08:15,650 तो यह सिर्फ एक छोटे से लेता है एक प्रदर्शन हिट का एक सा है। 182 00:08:15,650 --> 00:08:16,858 इसलिए यह एक व्यापार बंद का एक सा है। 183 00:08:16,858 --> 00:08:21,570 हम यहाँ पर यह करते हैं अब अगर, मुझे जाने दो आगे जाना है और इस प्रकार के रूप में एक उदाहरण है। 184 00:08:21,570 --> 00:08:26,610 मैं यहाँ में जाना है, तो नई फ़ाइल, मैं जा रहा हूँ फिर से इस को बचाने के लिए hello.php है। 185 00:08:26,610 --> 00:08:31,450 और अब मैं आगे जाने के लिए जा रहा हूँ और "प्रिंट दुनिया नमस्ते", कहते हैं - 186 00:08:31,450 --> 00:08:35,130 और मैं प्रिंट उपयोग कर सकते हैं कि याद है, मैं नहीं प्रिंट-एफ का प्रयोग किया है। और अब यहाँ नीचे, 187 00:08:35,130 --> 00:08:42,039 मैं hello.php की पीएचपी करते हैं, huh-- मैं यह व्याख्या की है, ऐसा नहीं लगता है। 188 00:08:42,039 --> 00:08:43,412 मैंने क्या गलत किया? 189 00:08:43,412 --> 00:08:44,710 >> दर्शकों: कोणीय कंगन। 190 00:08:44,710 --> 00:08:47,015 >> डेविड मालन: हाँ, आप की जरूरत है उस कोण ब्रैकेट ऊपर। 191 00:08:47,015 --> 00:08:49,390 तो यह कष्टप्रद की तरह है, लेकिन आप जल्दी से इसे करने के लिए इस्तेमाल किया हो। 192 00:08:49,390 --> 00:08:53,500 मैं PHP कोड लिखने के लिए है, तो मैं आम तौर पर कार्यक्रम बताने की जरूरत है, 193 00:08:53,500 --> 00:08:56,950 या अरे, दुभाषिया बताओ पीएचपी, यहाँ कुछ PHP कोड आता है। 194 00:08:56,950 --> 00:09:00,440 और फिर अच्छे उपाय के लिए, मैं करूंगा इस के साथ नहीं इस बंद, बल्कि 195 00:09:00,440 --> 00:09:03,740 सिर्फ सवालिया निशान कोण के साथ ब्रैकेट, अब यहाँ नीचे है, ताकि 196 00:09:03,740 --> 00:09:06,840 मैं फिर से इस चलाते हैं, अब मैं वांछित परिणाम मिलता है। 197 00:09:06,840 --> 00:09:09,820 >> अब हम एक मामूली अनुकूलन करते हैं, सिर्फ इससे पहले कि यह देखा है कि इतनी। 198 00:09:09,820 --> 00:09:14,040 इस तरह का गुस्सा आ रहा है मुझे लगता है कि पीएचपी अंतरिक्ष hello.php चलाने के लिए है, 199 00:09:14,040 --> 00:09:16,060 क्योंकि अतीत में मैं सिर्फ डॉट स्लेश लिख सकता है 200 00:09:16,060 --> 00:09:17,560 एक तरह से अच्छा है जो इस कार्यक्रम का नाम,। 201 00:09:17,560 --> 00:09:19,420 यह एक बेहतर प्रयोक्ता अनुभव की तरह है। 202 00:09:19,420 --> 00:09:24,160 >> यह पता चला है तो आप ऐसा कर सकते following-- मैं के साथ PHP में 203 00:09:24,160 --> 00:09:28,780 यह काफी गुप्त उपयोग कर सकते हैं यहाँ शीर्ष पर जादू, 204 00:09:28,780 --> 00:09:31,740 जो आम तौर पर एक कुटिया में कहा जाता है, यह एक तेज प्रतीक है, जिसके तहत 205 00:09:31,740 --> 00:09:34,270 तो बात है, यह एक धमाके है या एक विस्मयादिबोधक बिंदु। 206 00:09:34,270 --> 00:09:38,490 और यह अब एक कार्यक्रम के लिए रास्ता है एक ठेठ लिनक्स सिस्टम पर कि 207 00:09:38,490 --> 00:09:41,500 पर्यावरण, या वातावरण कहा जाता है। 208 00:09:41,500 --> 00:09:43,920 और इस लंबी कहानी line-- short-- लाइन एक बस 209 00:09:43,920 --> 00:09:48,710 कंप्यूटर अरे, पीएचपी पाते हैं, कहते हैं, वातावरण में मेरे लिए दुभाषिया, 210 00:09:48,710 --> 00:09:50,610 इतनी बात करने के लिए, अपनी स्मृति में यह लगता है। 211 00:09:50,610 --> 00:09:54,130 >> और, अब अच्छा क्या है कि मैं यहाँ नीचे जाना है, 212 00:09:54,130 --> 00:09:57,750 मैं डॉट स्लेश कर सकते हैं हैलो डॉट पीएचपी, or-- हम्म। 213 00:09:57,750 --> 00:09:59,000 अनुमति नहीं मिली। 214 00:09:59,000 --> 00:10:02,350 वैसे, अगर आप इस बात का भी अधिक देखेंगे अगर आप इस समस्या से सात सेट 215 00:10:02,350 --> 00:10:04,060 पहले से ही नहीं, अनुमति के साथ है। 216 00:10:04,060 --> 00:10:06,510 यह जरूरत है कि मैं बाहर जाता है इस आदेश पर अमल करने के लिए 217 00:10:06,510 --> 00:10:10,779 [कहा जाता है? chamod?] बदलाव के लिए एक से अधिक एक्स hello.php mode--। 218 00:10:10,779 --> 00:10:13,820 मैं [अश्राव्य] अतिरिक्त इस एक की जरूरत मेरे कंप्यूटर बता रहा है जो कदम, 219 00:10:13,820 --> 00:10:16,400 hello.php निष्पादन योग्य बनाते हैं। 220 00:10:16,400 --> 00:10:21,310 और अब डॉट happens-- क्या देखना hello.php स्लेश, यह सिर्फ चलाता है। 221 00:10:21,310 --> 00:10:23,310 मैं निर्दिष्ट करने की जरूरत नहीं है अब और दुभाषिया। 222 00:10:23,310 --> 00:10:26,680 और मैं यह भी सुंदर बना सकते हैं, फिर भी, अगर मैं इस बात का नाम बदलें। 223 00:10:26,680 --> 00:10:30,570 मैं बस के लिए hello.php ले जाते हैं Hello-- तो, ​​ऊपर छोड़ दिया में नोटिस 224 00:10:30,570 --> 00:10:32,860 कार्यक्रम का नाम है वास्तव में अब सिर्फ हैलो। 225 00:10:32,860 --> 00:10:37,300 अब मैं इसे एक सी प्रोग्राम की तरह लग सकता है, यह PHP-- में लिखा है कि भले ही 226 00:10:37,300 --> 00:10:39,210 या स्पष्ट रूप से किसी भी नंबर अन्य भाषाओं की। 227 00:10:39,210 --> 00:10:41,480 >> इसलिए सीमांत वृद्धि, कोई कार्यात्मक अंतर। 228 00:10:41,480 --> 00:10:44,460 लेकिन यह सिर्फ एक छोटी सी जिज्ञासा है अब, आप प्रोग्राम लिख सकते हैं तो यह है कि 229 00:10:44,460 --> 00:10:48,989 किसी भी भाषा में, और उपयोगकर्ता नहीं करता पता है या उन लोगों के हैं क्या परवाह है। 230 00:10:48,989 --> 00:10:51,030 ठीक है, चलो एक अधिक को देखो सम्मोहक उदाहरण अब 231 00:10:51,030 --> 00:10:52,850 मैं पहले से मार पड़ी है। 232 00:10:52,850 --> 00:10:54,955 और इस quote.php कहा जाता है। 233 00:10:54,955 --> 00:10:56,740 और यह ऑनलाइन उपलब्ध है। 234 00:10:56,740 --> 00:11:00,299 और यह बहुत short-- है कि नोटिस लेकिन यह है कि एक कमांड लाइन कार्यक्रम है 235 00:11:00,299 --> 00:11:02,840 शेयर की कीमतों को देखने के लिए जा रहा मेरे लिए, जो वास्तव में जा रहा है 236 00:11:02,840 --> 00:11:04,230 समस्या सात सेट करने के लिए सार्थक हो सकता है। 237 00:11:04,230 --> 00:11:05,396 >> तो चलो मैं क्या कर रहा हूँ देखते हैं। 238 00:11:05,396 --> 00:11:08,640 ऊपर से ही मुझे मिल गया है खुले ब्रैकेट प्रश्न चिह्न पीएचपी। 239 00:11:08,640 --> 00:11:13,372 मैं कर रहा हूँ जिससे तब मैं इस लाइन मिल गया है functions.php-- नामक एक फाइल की आवश्यकता होती है 240 00:11:13,372 --> 00:11:15,080 हम यह देखने के लिए जा रहे हैं एक बिट में इस पर और अधिक, 241 00:11:15,080 --> 00:11:17,340 लेकिन इस सी की तरह है तेज के संस्करण में शामिल 242 00:11:17,340 --> 00:11:19,090 आप कहाँ जाना चाहते हैं एक और फाइल शामिल है। 243 00:11:19,090 --> 00:11:23,720 पीएचपी यह, हालांकि यह आवश्यकता कॉल यह भी एक समारोह में शामिल है। 244 00:11:23,720 --> 00:11:26,861 और यह function.php पता चला है कि सिर्फ कुछ मैं क्लास से पहले लिखा था। 245 00:11:26,861 --> 00:11:29,860 मैं, क्योंकि एक ही निर्देशिका में डाल दिया मैं कुछ कोड बाहर कारक करना चाहता था 246 00:11:29,860 --> 00:11:31,800 कि हम कहीं और उपयोग करने के लिए चाहते हो सकता है। 247 00:11:31,800 --> 00:11:34,560 >> इस बीच, आप शायद कर सकते हैं यहाँ पर क्या हो रहा है उसका अनुमान लगा। 248 00:11:34,560 --> 00:11:39,200 इस C-- लेकिन एक छोटे से अलग है मैं क्या मतलब है समुचित उपयोग सुनिश्चित? 249 00:11:39,200 --> 00:11:41,180 अधिक तकनीकी रूप से यह अनुवाद। 250 00:11:41,180 --> 00:11:45,950 क्या परिस्थितियों में मैं कर रहा हूँ कार्यक्रम छोड़ने, या बाहर निकलने? 251 00:11:45,950 --> 00:11:47,074 हाँ? 252 00:11:47,074 --> 00:11:47,990 >> दर्शकों: आप जब नहीं है दो कमांड लाइन तर्क। 253 00:11:47,990 --> 00:11:49,480 >> डेविड मालन: मैं नहीं है जब लाइन तर्क कमान करने के लिए। 254 00:11:49,480 --> 00:11:52,396 और उन में से एक है कि याद तर्क कार्यक्रम के नाम ही है। 255 00:11:52,396 --> 00:11:55,340 और दूसरा होने जा रहा है एक और शब्द मैं शीघ्र बाद टाइप करें। 256 00:11:55,340 --> 00:11:57,460 तो बस सी की तरह, इस जाँच का मेरा तरीका है, 257 00:11:57,460 --> 00:12:00,022 उपयोगकर्ता सहयोग किया था और मैं उद्देश्य के रूप में इस कार्यक्रम को चलाने? 258 00:12:00,022 --> 00:12:01,730 अब, वहाँ कुछ है थोड़ा सा अलग 259 00:12:01,730 --> 00:12:04,020 सभी की C-- पहले से हम इस डॉलर के हस्ताक्षर है, 260 00:12:04,020 --> 00:12:07,710 और एक डॉलर की क्या करता है पीएचपी में निरूपित हस्ताक्षर? 261 00:12:07,710 --> 00:12:08,440 बस एक चर। 262 00:12:08,440 --> 00:12:11,731 यही द्वारा पीछा all-- सिर्फ एक चर है जो कुछ भी आप वास्तव में इसे कॉल करना चाहते हैं। 263 00:12:11,731 --> 00:12:14,000 वहाँ कुछ है नोटिस मेरे PHP कार्यक्रम से लापता, 264 00:12:14,000 --> 00:12:18,210 सिर्फ यह पिछले याद आ रही थी जैसे सप्ताह, सी, बनाम क्या वजह है? 265 00:12:18,210 --> 00:12:21,620 >> एक प्रकार है, लेकिन यह भी कुछ और। 266 00:12:21,620 --> 00:12:26,409 कोई कुछ नहीं है मुख्य समारोह function--। 267 00:12:26,409 --> 00:12:27,450 कोई मुख्य समारोह में नहीं है। 268 00:12:27,450 --> 00:12:29,680 तुम सिर्फ लेखन शुरू बिना अपने कोड 269 00:12:29,680 --> 00:12:32,790 एक काफी मनमाना के बारे में चिंता करने के लिए कुछ मूलभूत नामकरण का सम्मेलन 270 00:12:32,790 --> 00:12:33,880 समारोह के मुख्य। 271 00:12:33,880 --> 00:12:36,720 तो ARG सी सिर्फ सच है एक वैश्विक चर 272 00:12:36,720 --> 00:12:39,049 दुभाषिया कि मेरे लिए उपलब्ध बनाता है। 273 00:12:39,049 --> 00:12:40,090 अब, यह दिलचस्प है। 274 00:12:40,090 --> 00:12:41,140 इसलिए सामान को देखो। 275 00:12:41,140 --> 00:12:43,370 डॉलर के हस्ताक्षर शेयर पर है छोड़ दिया है, कि मेरे चर है। 276 00:12:43,370 --> 00:12:45,120 दाहिने हाथ की ओर, जाहिरा तौर पर वहाँ 277 00:12:45,120 --> 00:12:50,270 PHP में एक समारोह देखने का कहा जाता है कि मैं अपने पिछले कमांड लाइन से गुजर रहा हूँ 278 00:12:50,270 --> 00:12:51,902 तर्क जो कुछ भी है-- शब्द है। 279 00:12:51,902 --> 00:12:53,610 और हम यह कैसे देखेंगे एक पल में काम करता है। 280 00:12:53,610 --> 00:12:55,380 >> और फिर अंत में मैं कीमत रिपोर्टिंग कर रहा हूँ। 281 00:12:55,380 --> 00:12:58,650 मैं एक बाहर मुद्रण कर रहा हूँ फलां की हिस्सेदारी। 282 00:12:58,650 --> 00:13:02,082 और यह है, याद में PHP-- PHP-- में एक तरह से रास्ता 283 00:13:02,082 --> 00:13:04,290 तुम सब करने की जरूरत नहीं है, जहां अब डॉलर के हस्ताक्षर एस। 284 00:13:04,290 --> 00:13:06,782 तुम बस सर्पाकार उपयोग कर सकते हैं और कुछ चर में प्लग। 285 00:13:06,782 --> 00:13:09,240 आप के बारे में चिंता करने की जरूरत नहीं है एक ही रास्ते में printf का उपयोग कर। 286 00:13:09,240 --> 00:13:13,530 >> और एक तरफ, के रूप में आप एक चर डाल दिया जब इस तरह दोहरे उद्धरण चिह्नों के अंदर, 287 00:13:13,530 --> 00:13:17,370 आप एक फैंसी तकनीक का उपयोग कर रहे हैं चर प्रक्षेप बुलाया। 288 00:13:17,370 --> 00:13:20,380 यह बस यहाँ में चर प्लग इसका मतलब है। 289 00:13:20,380 --> 00:13:23,760 और एक तरफ, कुछ आप में से जो आने के रूप में अन्य प्रोग्रामिंग पृष्ठभूमि से, 290 00:13:23,760 --> 00:13:26,960 आप एकल उद्धरण का उपयोग नहीं हो सकता है चारों ओर तार यह करने के लिए। 291 00:13:26,960 --> 00:13:30,290 आप के लिए डबल उद्धरण का उपयोग करना चाहिए चर प्रक्षेप काम करने के लिए। 292 00:13:30,290 --> 00:13:32,740 नहीं तो आप सचमुच हूँ उन सर्पाकार देखते हैं। 293 00:13:32,740 --> 00:13:34,500 >> तो अंत में, आगे बढ़ते हैं और इस चलाते हैं। 294 00:13:34,500 --> 00:13:36,690 मुझे अपने टर्मिनल एक छोटे से बड़ा कर दूं। 295 00:13:36,690 --> 00:13:41,940 मुझे आगे जाना है और चलाते हैं मेरी बोली निर्देशिका के अंदर। 296 00:13:41,940 --> 00:13:46,950 [? CDsource?] [? पूर्वाह्न?] [? बोली?] पीएचपी बोली डॉट पीएचपी, 297 00:13:46,950 --> 00:13:50,290 और मैं कुछ के लिए खोज करने के लिए जा रहा हूँ इसका टिकर प्रतीक है जो GOOG, जैसे, 298 00:13:50,290 --> 00:13:55,510 और अपने नए नाम से एक हिस्सा है, वर्णमाला इंक, आज के रूप में, $ 717 लागत। 299 00:13:55,510 --> 00:13:58,680 ठीक है, हम करना चाहते हैं फिर से इस चलाने के लिए, किसी को भी 300 00:13:58,680 --> 00:14:02,600 एक और स्टॉक टिकर वे को देखने के लिए करना चाहते हैं? 301 00:14:02,600 --> 00:14:06,770 >> माइक्रोसॉफ्ट मुझे लगता है यह एक, MSFT-- $ 53। 302 00:14:06,770 --> 00:14:09,720 मैं याहू हो सकता है कि लगता है। 303 00:14:09,720 --> 00:14:12,130 और फेसबुक है। 304 00:14:12,130 --> 00:14:13,740 >> ऐसा करने के लिए इस कार्यक्रम क्या है? 305 00:14:13,740 --> 00:14:16,306 जादू एम्बेडेड किया जा रहा है कि देखने समारोह में। 306 00:14:16,306 --> 00:14:17,430 तो चलो एक त्वरित नज़र रखना। 307 00:14:17,430 --> 00:14:21,815 >> कि नहीं आती है यह पता चला है PHP के साथ, यह functions.php में है। 308 00:14:21,815 --> 00:14:23,690 और हम के माध्यम से नहीं जाना होगा महान विस्तार में यह, 309 00:14:23,690 --> 00:14:28,040 लेकिन यहां ऑपरेटिव शब्द है नोटिस कि functions.php-- की लाइन छह पर 310 00:14:28,040 --> 00:14:29,440 मैं सचमुच समारोह का कहना है। 311 00:14:29,440 --> 00:14:31,050 मैं अपने समारोह का नाम निर्दिष्ट करें। 312 00:14:31,050 --> 00:14:34,330 मैं तो किसी निर्दिष्ट तर्क, या मापदंडों 313 00:14:34,330 --> 00:14:36,480 मुझे लगता है कि समारोह में कोई प्रकार take-- करना चाहते हैं। 314 00:14:36,480 --> 00:14:37,580 और फिर मैं इसे लागू। 315 00:14:37,580 --> 00:14:39,240 >> और मैं अपने हाथ की लहर करेंगे कार्यान्वयन पर, 316 00:14:39,240 --> 00:14:42,115 यह काफी उन्नत सही है के बाद से अब, लेकिन हम वास्तव में इसे फिर से देखेंगे 317 00:14:42,115 --> 00:14:44,700 एक सप्ताह में समस्या में सात निर्धारित किया है। 318 00:14:44,700 --> 00:14:47,490 लेकिन मैं भी यह साफ कर सकते हैं। 319 00:14:47,490 --> 00:14:49,590 मैं भी शामिल आज के कोड एक संस्करण 320 00:14:49,590 --> 00:14:52,340 कोई डॉट पीएचपी फ़ाइल है जो बोली, के। 321 00:14:52,340 --> 00:14:57,270 पर संभवतः है क्योंकि क्या सिर्फ बोली नामक कार्यक्रम के शीर्ष? 322 00:14:57,270 --> 00:15:00,140 यही कारण है कि shebang-- तथाकथित काफी गुप्त जादू 323 00:15:00,140 --> 00:15:04,590 कि तब पीएचपी पाते हैं और कहते हैं, यहाँ अपने कोड पर चला रहे हैं। 324 00:15:04,590 --> 00:15:07,360 >> ठीक है, तो यह है कि लाता है हम कहाँ दूर छोड़ दिया करने के लिए हमें 325 00:15:07,360 --> 00:15:09,560 साथ यद्यपि पिछले time-- कुछ और अधिक उन्नत उदाहरण हैं। 326 00:15:09,560 --> 00:15:13,980 कोई प्रश्न इस प्रकार अब तक के बारे में पीएचपी या हम क्या कर रहे हैं? 327 00:15:13,980 --> 00:15:15,570 No-- सब ठीक है। 328 00:15:15,570 --> 00:15:16,180 हाँ? 329 00:15:16,180 --> 00:15:19,610 >> दर्शकों: अंदर HTML फ़ाइलों, you-- करना 330 00:15:19,610 --> 00:15:22,226 [? क्या आप ?] [? बस इसे कहते हैं?] एक [सुनाई] PHP फ़ाइल? 331 00:15:22,226 --> 00:15:23,350 डेविड मालन: अच्छा सवाल है। 332 00:15:23,350 --> 00:15:26,070 हम कर रहे हैं जो एक वेब संदर्भ में, के संक्रमण के लिए सचमुच के बारे में, 333 00:15:26,070 --> 00:15:28,028 आप तथाकथित उपयोग नहीं करते शीर्ष पर कुटिया, 334 00:15:28,028 --> 00:15:31,980 वेब server-- अक्सर एक है क्योंकि कार्यक्रम अपाचे या Microsoft बुलाया 335 00:15:31,980 --> 00:15:37,470 आईआईएस, इंटरनेट सूचना सर्वर, या अन्य वेब सर्वर सॉफ्टवेयर के किसी भी संख्या, 336 00:15:37,470 --> 00:15:40,636 यह देखता है कि जब जानता है एक डॉट पीएचपी फ़ाइल, यह है कि 337 00:15:40,636 --> 00:15:42,010 उस पर दुभाषिया चलाना चाहिए। 338 00:15:42,010 --> 00:15:43,468 ऐसा लगता है कि पहली पंक्ति में नहीं लगती है। 339 00:15:43,468 --> 00:15:45,580 इस पहली पंक्ति चाल तो आप कर रहे हैं बस जब है 340 00:15:45,580 --> 00:15:48,330 लिखने के कमांड लाइन programs-- हम सुपर अक्सर ऐसा नहीं करेंगे, जो 341 00:15:48,330 --> 00:15:52,510 लेकिन यह पाटने का हमारा तरीका है अब हमारे पीएचपी के लिए हमारी सी उदाहरण हैं। 342 00:15:52,510 --> 00:16:00,680 >> तो चलो वास्तव में इस दुनिया को पाटने जाने वेब के लिए कमांड लाइन दुनिया से 343 00:16:00,680 --> 00:16:02,230 निम्नलिखित करके। 344 00:16:02,230 --> 00:16:05,090 मुझे आगे जाना है और आकर्षित करते हैं यहाँ बस एक पल के लिए खत्म हो गया। 345 00:16:05,090 --> 00:16:09,940 हम नहीं बल्कि एक वेब सर्वर है, या तो अगर हम यहाँ अपने लैपटॉप से ​​अधिक है, तो 346 00:16:09,940 --> 00:16:11,280 जो मैं इस तरह से आकर्षित करेंगे। 347 00:16:11,280 --> 00:16:14,250 और यहाँ हमारे पास किसी न किसी रूप में इंटरनेट। 348 00:16:14,250 --> 00:16:18,210 और फिर यहाँ पर, हमारे पास एक building-- में एक सर्वर 349 00:16:18,210 --> 00:16:20,760 यह कैसे इंटरनेट है works-- और यहाँ में 350 00:16:20,760 --> 00:16:23,120 शायद कुछ रोशनी के साथ एक सर्वर है। 351 00:16:23,120 --> 00:16:27,530 वास्तव में क्या हो रहा है इन दो कनेक्शन के बीच? 352 00:16:27,530 --> 00:16:29,240 >> तो इस इमारत में एक वेब सर्वर है। 353 00:16:29,240 --> 00:16:31,420 यही कारण है कि सिर्फ एक कंप्यूटर है कि कुछ ऑपरेटिंग चल रहा है 354 00:16:31,420 --> 00:16:34,561 system-- शायद मुफ्त सॉफ्टवेयर बुलाया CS50 आईडीई चल रहा है, जो अपाचे,। 355 00:16:34,561 --> 00:16:36,310 तो अगर आप वास्तव में कर सकते हैं इस इमारत के बारे में सोच 356 00:16:36,310 --> 00:16:38,579 में इमारत होने के रूप में जो CSt0 आईडीई संग्रहित है। 357 00:16:38,579 --> 00:16:40,870 आप सभी को है कि जहां आप के खातों, जहां सभी 358 00:16:40,870 --> 00:16:43,130 अपने स्वयं के वेब सर्वर है आप सब चल रहा है 359 00:16:43,130 --> 00:16:45,730 अपने खुद के अनूठे यूआरएल है हम चर्चा करने के लिए शुरू कर दिया, 360 00:16:45,730 --> 00:16:47,280 पी छह सेट में और आप और अधिक देखेंगे। 361 00:16:47,280 --> 00:16:49,450 >> यहाँ मेरा लैपटॉप कहीं है इंटरनेट पर सब। 362 00:16:49,450 --> 00:16:54,550 मैं एक यूआरएल पर जाएँ और इसलिए जब कि अंतर्गत आता है मेरे लिए, कि इंटरनेट यातायात जा रहा है 363 00:16:54,550 --> 00:16:58,360 सर्वर, सर्वर के लिए खत्म हो प्राप्त एक HTTP request-- 364 00:16:58,360 --> 00:17:02,900 एक तरह सूचकांक पाने के लिए और यह है जो वेब पेज का जवाब दे रहे। 365 00:17:02,900 --> 00:17:04,280 तो यह है कि सामान्य प्रतिमान है। 366 00:17:04,280 --> 00:17:07,089 सब कुछ जबकि अब आज, सब कुछ जब तक 367 00:17:07,089 --> 00:17:09,660 में ही हो रहा था इस इमारत का किनारा। 368 00:17:09,660 --> 00:17:12,910 मैं अपने लैपटॉप का उपयोग कर रहा था, लेकिन मैं, CS50 आईडीई से जुड़ा था 369 00:17:12,910 --> 00:17:17,369 तो उन कार्यक्रमों के सभी मैं चल रहा था सर्वर है कि, खुद के अंदर था। 370 00:17:17,369 --> 00:17:22,660 >> लेकिन अब, चलो पीएचपी पुन: उपयोग शुरू करते हैं कुछ वास्तविक कार्यक्रमों लिखने के लिए कि 371 00:17:22,660 --> 00:17:24,230 एक वेब सर्वर द्वारा सेवा कर रहे हैं। 372 00:17:24,230 --> 00:17:30,320 और ऐसा करने के लिए, मैं जाने के लिए जा रहा हूँ उदाहरण के एक पूरे झुंड में 373 00:17:30,320 --> 00:17:33,710 यहाँ है कि इस विचार का परिचय। 374 00:17:33,710 --> 00:17:38,500 तो इस का एक अच्छा तरीका की तरह है एक प्रोग्रामिंग प्रतिमान का वर्णन। 375 00:17:38,500 --> 00:17:41,540 >> और वास्तव में, के रूप में आप CS50 से बाहर निकलें या, अंतिम परियोजनाओं पर काम 376 00:17:41,540 --> 00:17:43,520 या कुछ का पालन लेते हैं वर्ग पर, आप शुरू करेंगे 377 00:17:43,520 --> 00:17:45,740 world-- देखना है कि विशेष रूप से बड़े हो 378 00:17:45,740 --> 00:17:48,300 सी जैसी भाषाओं के साथ सुपर कम level-- हैं कि 379 00:17:48,300 --> 00:17:51,290 बेहतर है कि वहाँ का एहसास सॉफ्टवेयर लेखन के तरीके। 380 00:17:51,290 --> 00:17:53,290 कुछ कर रहे हैं आप का पालन कर सकते हैं पैटर्न, 381 00:17:53,290 --> 00:17:57,640 आपकी फ़ाइलों के आयोजन के कुछ तरीके और अपने कार्यों के नामकरण के तरीके, 382 00:17:57,640 --> 00:18:00,300 इसलिए कि लंबी कहानी को कम, दुनिया में आ गया है 383 00:18:00,300 --> 00:18:04,340 परिवर्णी शब्द की एक पूरी गुच्छा के साथ और प्रोग्रामिंग करने के तरीके के लिए नाम। 384 00:18:04,340 --> 00:18:06,260 ये आप का उपयोग हो सकता है सिर्फ तकनीक हैं। 385 00:18:06,260 --> 00:18:09,660 >> और उनमें से एक, MVC कहा जाता है मॉडल देखें नियंत्रक के लिए। 386 00:18:09,660 --> 00:18:12,270 और इस के लिए, बस है अब, एक पीढ़ी जटिल 387 00:18:12,270 --> 00:18:18,960 आप बाहर रखना चाहिए कि कैसे कहने का तरीका एक PHP आधारित वेबसाइट, हमारे मामले में। 388 00:18:18,960 --> 00:18:22,140 आप अपनी फाइलों को व्यवस्थित कैसे करते हैं, कैसे आप अपने तर्क का आयोजन करते हैं 389 00:18:22,140 --> 00:18:26,220 करने के लिए इसे आसान बना देता है कि एक तरह से और अधिक जटिल वेबसाइटों लिखना? 390 00:18:26,220 --> 00:18:28,550 और वास्तव में, हम जल्दी हूँ सात पी-सेट के साथ वहाँ मिलता है। 391 00:18:28,550 --> 00:18:32,020 >> MVC की दुनिया में तो, आप जा रहे हैं यह देखने के लिए कि हमारे कोड आम तौर पर कर सकते हैं 392 00:18:32,020 --> 00:18:38,290 या तो मॉडल कोड के रूप में होती हो, या नियंत्रक कोड, या देखने कोड। 393 00:18:38,290 --> 00:18:40,200 और मैं जा रहा हूँ follows-- के रूप में यह oversimplify 394 00:18:40,200 --> 00:18:42,074 नियंत्रक है अपने कार्यक्रम के दिमाग, 395 00:18:42,074 --> 00:18:44,100 इसके बारे में जहां सब है दिलचस्प तर्क होता है। 396 00:18:44,100 --> 00:18:46,110 इतना सब कुछ हम कर दिया गया है इस प्रकार अब तक कक्षा में लेखन, 397 00:18:46,110 --> 00:18:48,210 एक तरह से नियंत्रक की तरह है code-- इसे नियंत्रित है 398 00:18:48,210 --> 00:18:50,585 अपने कार्यक्रम, अपने छोरों, अपने स्थिति, अपने कार्यों 399 00:18:50,585 --> 00:18:52,100 और चर और यह सब। 400 00:18:52,100 --> 00:18:56,160 >> दृश्य, अब, एक छोटे से होने जा रहे हैं वेब की दुनिया में अधिक स्पष्ट है। 401 00:18:56,160 --> 00:18:59,360 एक दृश्य सौंदर्यशास्त्र है अपनी वेबसाइट के। 402 00:18:59,360 --> 00:19:04,080 यह उपयोगकर्ता के चित्र sees-- क्या है HTML तालिकाओं, एचटीएमएल टैग, और सभी 403 00:19:04,080 --> 00:19:08,220 कि, शराबी सौंदर्य के सभी की लिखने के लिए मुश्किल नहीं है कि सामान, 404 00:19:08,220 --> 00:19:11,380 लेकिन आप पैदा कर रहे हैं बस क्या है, तथाकथित देखने के लिए, सौंदर्यशास्त्र है। 405 00:19:11,380 --> 00:19:13,880 और मॉडल, अंततः जा रहा है डेटाबेस stuff-- होने के लिए जो 406 00:19:13,880 --> 00:19:16,510 हम सभी में गोताखोरी से शुरू करेंगे अधिक इस बुधवार। 407 00:19:16,510 --> 00:19:19,740 तो नियंत्रक तर्क है, देखें, सौंदर्य सामान है 408 00:19:19,740 --> 00:19:23,500 और मॉडल जहां होने जा रहा है हम अपने वास्तविक डेटा की दुकान। 409 00:19:23,500 --> 00:19:26,410 >> तो चलो अधिक concretely इस पर नजर डालते हैं निम्नलिखित उदाहरण के साथ। 410 00:19:26,410 --> 00:19:34,700 मैं यहाँ मेरी निर्देशिका में जाने के लिए जा रहा हूँ आज के स्रोत की, जिनमें से सभी code-- 411 00:19:34,700 --> 00:19:35,770 ऑनलाइन उपलब्ध है। 412 00:19:35,770 --> 00:19:37,800 और मैं संस्करण शून्य में जाने के लिए जा रहा हूँ। 413 00:19:37,800 --> 00:19:41,500 और यहाँ यह फोन करते है- CS50 की वेबसाइट के संस्करण शून्य। 414 00:19:41,500 --> 00:19:43,010 सभी पर ज्यादा यहाँ नहीं है। 415 00:19:43,010 --> 00:19:46,810 ऐसा लगता है कि एक बहुत ही सरल वेब पेज है शायद का उपयोग क्या एचटीएमएल tags-- बस 416 00:19:46,810 --> 00:19:48,970 पिछले उदाहरणों से लगता है क्या? 417 00:19:48,970 --> 00:19:49,890 >> वह क्या है? 418 00:19:49,890 --> 00:19:53,920 शायद यह है कि बड़ी बोल्ड लिए H1-- शीर्षक, शीर्ष तक कि लोगो, CS50। 419 00:19:53,920 --> 00:19:55,080 और क्या खेलने पर है? 420 00:19:55,080 --> 00:19:55,799 हाँ? 421 00:19:55,799 --> 00:19:56,840 दर्शकों: unordered सूची। 422 00:19:56,840 --> 00:19:59,990 डेविड मालन: अक्रमित list-- इसलिए उल टैग और लाइट टैग की शायद एक जोड़े। 423 00:19:59,990 --> 00:20:01,840 और अगर आप इन याद नहीं है, यह ईमानदारी से कोई फर्क नहीं पड़ता। 424 00:20:01,840 --> 00:20:04,170 इन के शराबी तरह कर रहे हैं एचटीएमएल के कार्यान्वयन के विवरण 425 00:20:04,170 --> 00:20:06,378 आप जल्दी से ऊपर लग रही है कि और तुम वापस अपने रास्ते पर हैं। 426 00:20:06,378 --> 00:20:10,040 हम प्रोग्रामिंग पर अधिक ध्यान केंद्रित करेंगे juicier टुकड़े कर रहे हैं कि विचारों। 427 00:20:10,040 --> 00:20:12,890 >> तो चलो बस एक त्वरित ले चलो HTML-- को देखो और वास्तव में 428 00:20:12,890 --> 00:20:16,880 मैं हाँ, यहाँ देखने के स्रोत के ऊपर खुला, तो कि वास्तव में यहाँ पर हो रहा है क्या। 429 00:20:16,880 --> 00:20:18,440 एक उल टैग नहीं है। 430 00:20:18,440 --> 00:20:20,630 उस के अंदर नेस्ट लाइट टैग करने के लिए है। 431 00:20:20,630 --> 00:20:24,470 और फिर मैं यूआरएल उधार यहां वास्तविक पाठ्यक्रम की। 432 00:20:24,470 --> 00:20:27,570 >> और उसके बाद में lectures.php जाहिरा तौर पर है 433 00:20:27,570 --> 00:20:31,640 एक और गतिशील रूप से उत्पन्न पेज कि, चलो आह see-- चलो, किया जा रहा है 434 00:20:31,640 --> 00:20:33,170 व्याख्यान के पहले दो हफ्तों। 435 00:20:33,170 --> 00:20:36,600 इसलिए सप्ताह शून्य और सप्ताह में एक, चलो मैं पृष्ठ स्रोत को देखने यदि है- देखो, 436 00:20:36,600 --> 00:20:38,120 यह भी सुपर सरल। 437 00:20:38,120 --> 00:20:42,430 इन दो पृष्ठों के लिए नेतृत्व कर रहे हैं कहा जाता week0.php, और week1.php। 438 00:20:42,430 --> 00:20:44,040 तो क्या हो रहा है अब विचार करें। 439 00:20:44,040 --> 00:20:50,630 >> मैं week0.php पर क्लिक करते हैं, अपने लैपटॉप week0.php के लिए एक अनुरोध कर रही है। 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 वेब सर्वर, उर्फ, CS50 आईडीई, कि आभासी लिफाफा प्राप्त कर रहा है। 442 00:20:58,110 --> 00:21:01,040 यह संदेश देख रहा है जैसे, week0.php मिलता है। 443 00:21:01,040 --> 00:21:05,060 यह तो फ़ाइल व्याख्या है, शीर्ष नीचे करने के लिए, फ़ाइल right-- के लिए छोड़ दिया 444 00:21:05,060 --> 00:21:07,720 कहा जाता week0.php-- और परिणाम बाहर थूकना। 445 00:21:07,720 --> 00:21:10,510 इसलिए इस फाइल के अंदर, week0.php, होना चाहिए 446 00:21:10,510 --> 00:21:15,410 पैदा कर रहा है कि नियंत्रक तर्क इस HTML, और हम जल्द ही देखेंगे। 447 00:21:15,410 --> 00:21:19,340 >> लेकिन अब के लिए, मुझे सप्ताह शून्य पर क्लिक करते हैं और अब हम, बुधवार और शुक्रवार को है 448 00:21:19,340 --> 00:21:25,260 और अब हम स्लाइड है धीरे-धीरे सप्ताह शून्य से। 449 00:21:25,260 --> 00:21:27,400 और अगर आप याद कर सकते हैं वापस जब इस तरह से। 450 00:21:27,400 --> 00:21:29,340 तो यह है कि इस वेबसाइट से कर रही है सब है। 451 00:21:29,340 --> 00:21:31,120 >> तो चलो इसे इस कैसे कर रहा है पर विचार करते हैं। 452 00:21:31,120 --> 00:21:34,290 मैं में वापस जाने के लिए जा रहा हूँ CS50 आईडीई में यहां स्रोत कोड, 453 00:21:34,290 --> 00:21:36,660 और मैं index.php को खोलने के लिए जा रहा हूँ। 454 00:21:36,660 --> 00:21:38,910 इस फ़ाइल के शीर्ष पर टिप्पणियों का एक गुच्छा है। 455 00:21:38,910 --> 00:21:43,000 और फिर इस फाइल के बीच में, यह पता चला है, जो भी कोई PHP कोड है। 456 00:21:43,000 --> 00:21:47,380 आप में से किसी की जरूरत नहीं है क्योंकि अगर खुले ब्रैकेट प्रश्न चिह्न पीएचपी टैग, 457 00:21:47,380 --> 00:21:49,180 आप बस HTML डाल करने के लिए स्वतंत्र हैं। 458 00:21:49,180 --> 00:21:51,480 >> क्योंकि क्या पीएचपी दुभाषिया, ऐसा माना जाता है 459 00:21:51,480 --> 00:21:53,938 यह इस file-- पढ़ता है जब है नीचे से ऊपर, right-- के लिए छोड़ दिया 460 00:21:53,938 --> 00:21:59,100 यह केवल यह बीच में देखता कोड की व्याख्या उन कोण कोष्ठक निशान सवाल। 461 00:21:59,100 --> 00:22:02,380 और कुछ और यह नहीं है कि PHP के रूप में पहचान है, यह सिर्फ बाहर spits। 462 00:22:02,380 --> 00:22:05,080 और एचटीएमएल सामान के बीच में है यह सिर्फ बाहर थूक होगा। 463 00:22:05,080 --> 00:22:09,090 >> इसलिए इस फाइल को हो सकता था सूचकांक बुलाया गया, 464 00:22:09,090 --> 00:22:11,690 लेकिन मैं सब कुछ नामकरण कर रहा हूँ एक कदम पत्थर के रूप में डॉट पीएचपी। 465 00:22:11,690 --> 00:22:15,960 इसी तरह Lectures.php-- underwhelming, यह सिर्फ कुछ HTML है। 466 00:22:15,960 --> 00:22:19,840 Week0.php, इसी तरह से बस कुछ एचटीएमएल। 467 00:22:19,840 --> 00:22:22,300 >> लेकिन अब के पर डाल दिया लौकिक इंजीनियरिंग टोपी, 468 00:22:22,300 --> 00:22:24,400 और हम इस कैसे सुधार सकते हैं पर विचार करें। 469 00:22:24,400 --> 00:22:28,541 यह ऐसा करने के लिए मुश्किल नहीं है, लेकिन मैं एक तरह की कॉपी और पेस्ट में सौंप दिया। 470 00:22:28,541 --> 00:22:31,540 और वास्तव में, मैं इस सप्ताह दो बनाते हैं, तो आप मैं शायद ऐसा करने के लिए जा रहा हूँ पता है क्या? 471 00:22:31,540 --> 00:22:34,940 मैं मैं कर रहा हूँ, week1.php पर जाने के लिए जा रहा हूँ सब कुछ उजागर करने के लिए जा रहा है। 472 00:22:34,940 --> 00:22:39,110 मैं इसे कॉपी करने के लिए जा रहा हूँ, यह पेस्ट week2.php नामक एक नई फ़ाइल में, 473 00:22:39,110 --> 00:22:42,440 कुछ यूआरएल tweak, और अपने रास्ते पर हो। 474 00:22:42,440 --> 00:22:45,240 >> तो हम क्या किया है पर आधारित पहले से ही सी में देखा जाता है, 475 00:22:45,240 --> 00:22:46,860 यह उम्मीद है कि, सही नहीं लगता। 476 00:22:46,860 --> 00:22:49,610 कॉपी, पेस्ट शायद ही कभी सही समाधान है। 477 00:22:49,610 --> 00:22:51,429 इसलिए हम शुरू कर सकते हैं क्या इस में सुधार करने के लिए क्या करना है? 478 00:22:51,429 --> 00:22:53,345 जहां अवसर हैं बेहतर डिजाइन के लिए? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> मैं करने के लिए मिल समय से सप्ताह आठ, यह जा रहा है 481 00:22:58,760 --> 00:23:00,910 वास्तव में परेशान होने की मैं बदलना चाहते हैं 482 00:23:00,910 --> 00:23:03,930 में से हर एक का फ़ॉन्ट मैं चाहता हूँ, या अगर मेरे पन्नों 483 00:23:03,930 --> 00:23:06,522 लेआउट की संरचना बदलने के लिए। 484 00:23:06,522 --> 00:23:08,396 इसलिए जहां मौका है बेहतर डिजाइन के लिए? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 ठीक है, चलो क्या विचार करते हैं इन फ़ाइलों के सभी भर में साझा की है। 487 00:23:15,160 --> 00:23:21,696 >> यहाँ यहाँ सप्ताह है, हफ्ते में से एक है शून्य, यहां lectures.php है, 488 00:23:21,696 --> 00:23:25,790 यहाँ एक ही है क्या index.php-- है और अलग, मोटे तौर पर क्या बोल रहा है, 489 00:23:25,790 --> 00:23:26,760 इन फ़ाइलों में से प्रत्येक में? 490 00:23:26,760 --> 00:23:30,560 491 00:23:30,560 --> 00:23:32,060 हाँ? 492 00:23:32,060 --> 00:23:34,560 >> दर्शकों: [अश्राव्य] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 डेविड मालन: ठीक है, अच्छा है। 495 00:23:42,160 --> 00:23:46,115 तो एक पैटर्न निश्चित रूप से, जिससे वहाँ हर बार जब मैं व्याख्यान मैं चुन 496 00:23:46,115 --> 00:23:48,250 मैं एक पैदा किया जाना चाहिए बहुत समान लग पेज। 497 00:23:48,250 --> 00:23:50,375 और तो शायद मैं उत्तोलन कर सकते हैं तथ्य यह है कि वास्तव में, 498 00:23:50,375 --> 00:23:53,060 जानबूझ संख्यानुसार हम हमारे lectures-- अनुक्रमित 499 00:23:53,060 --> 00:23:55,290 मैं और भी रख सकते हैं अपने जवाब में शब्द। 500 00:23:55,290 --> 00:23:59,984 और, वास्तव में, केवल एक चीज क्या है कि सप्ताह के बीच में बदल रहा है one-- 501 00:23:59,984 --> 00:24:02,400 और यह बात है तो मुझे नीचे स्क्रॉल मोटे तौर पर एक ही place-- में 502 00:24:02,400 --> 00:24:05,480 तो यहाँ सप्ताह शून्य है, मोटे तौर पर शीर्ष पर। 503 00:24:05,480 --> 00:24:12,370 यहां सप्ताह में एक, सप्ताह है शून्य, एक सप्ताह, सप्ताह शून्य। 504 00:24:12,370 --> 00:24:14,370 ठीक है, सचमुच अगर आप जानते हैं जो भी कोई कार्यक्रम, 505 00:24:14,370 --> 00:24:16,286 यह सिर्फ एक तरह अब है पैटर्न मिलान खेल है। 506 00:24:16,286 --> 00:24:17,200 तो क्या अलग है? 507 00:24:17,200 --> 00:24:18,765 हाँ? 508 00:24:18,765 --> 00:24:19,777 >> दर्शकों: [अश्राव्य] 509 00:24:19,777 --> 00:24:22,360 डेविड मालन: अच्छा है, तो शीर्षक कभी तो थोड़ा बदल रहा है। 510 00:24:22,360 --> 00:24:24,010 शून्य से एक के लिए, निश्चित रूप से, जा रहा है। 511 00:24:24,010 --> 00:24:25,570 एक ही बात H1 टैग में हो रहा है। 512 00:24:25,570 --> 00:24:28,790 और हम काफी, के रूप में इसे आसानी से देख नहीं है यूआरएल एक छोटे से लंबे हैं। 513 00:24:28,790 --> 00:24:30,670 लेकिन उन यूआरएल को थोड़ा बदल रहे हैं। 514 00:24:30,670 --> 00:24:34,490 >> लेकिन है नहीं बदल रहा है क्या, मैं हिम्मत कहते हैं, page-- की सामग्री के सबसे 515 00:24:34,490 --> 00:24:38,530 एचटीएमएल टैग भी ऐसा ही है, सिर है एक ही है, शीर्षक, लगभग एक ही है 516 00:24:38,530 --> 00:24:40,659 शरीर ही है, और लगभग सब कुछ 517 00:24:40,659 --> 00:24:42,450 के अलावा एक ही है उन छोटे tweaks। 518 00:24:42,450 --> 00:24:45,310 इसलिए हम के बारे में कैसे जा सकते हैं इस में से कुछ बाहर फैक्टरिंग? 519 00:24:45,310 --> 00:24:48,740 >> वैसे मुझे बिल्कुल प्रस्ताव दें अगले संस्करण में है। 520 00:24:48,740 --> 00:24:53,890 तो यहाँ संस्करण एक में, मैं सही है एक ही फाइल, प्लस दूसरों के एक जोड़े। 521 00:24:53,890 --> 00:24:59,730 यहाँ index.php-- और भले ही है आप पहले पीएचपी कभी नहीं देखा 522 00:24:59,730 --> 00:25:05,511 क्या मैं शायद इस को हल करने के लिए कर रहा हूँ आप यहाँ देख, उसके आधार पर problem--? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 हाँ, एक मामूली प्रतिबद्धता है? 525 00:25:12,760 --> 00:25:13,450 नहीं? 526 00:25:13,450 --> 00:25:16,020 हां जारी रखो। 527 00:25:16,020 --> 00:25:17,380 >> दर्शकों: [अश्राव्य] 528 00:25:17,380 --> 00:25:18,380 >> डेविड मालन: हाँ। 529 00:25:18,380 --> 00:25:20,380 >> दर्शकों: [अश्राव्य] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> डेविड मालन: मैं करने के लिए आप की जरूरत है सिर्फ एक छोटे से जोर से बोलते हैं। 532 00:25:28,669 --> 00:25:31,084 >> दर्शकों: [अश्राव्य] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 डेविड मालन: ठीक है, अच्छा है। 535 00:25:36,660 --> 00:25:38,620 और मैं यह था think-- you-- लेकिन मैं सुनना मुश्किल 536 00:25:38,620 --> 00:25:42,690 क्या आप पर हो रही है कि लगता है कि शीर्ष ऊपर आम थे कि टैग, 537 00:25:42,690 --> 00:25:47,710 पर आम थे कि और टैग नीचे, अब, बाहर सकारात्मक असर कर दिया गया है 538 00:25:47,710 --> 00:25:51,140 या फ़ाइलों को क्या करने के लिए चला? 539 00:25:51,140 --> 00:25:53,476 Header.php और footer.php-- और हम जा रहे हैं 540 00:25:53,476 --> 00:25:55,600 करने के लिए कुछ tweaks बनाने के लिए चिंता आप को संबोधित बस 541 00:25:55,600 --> 00:25:59,370 के लिए, संख्या बदलने के बारे में उठाया उदाहरण के लिए, मैं तुम्हें सही तरीके से सुना है। 542 00:25:59,370 --> 00:26:02,060 >> लेकिन यह है कि इसे का सार प्रतीत हो रहा है। 543 00:26:02,060 --> 00:26:04,820 की एक बड़ी रकम नहीं थी, तो पेज के शीर्ष पर अतिरेक, 544 00:26:04,820 --> 00:26:06,736 और की एक बड़ी राशि तल पर अतिरेक, 545 00:26:06,736 --> 00:26:09,280 के सचमुच सिर्फ प्रकाश डाला और उस सामग्री को बाहर कटौती, 546 00:26:09,280 --> 00:26:13,270 एक अलग file-- बस की तरह में डाल दिया हम बाहर सकारात्मक असर जहां सीएसएस के विचार 547 00:26:13,270 --> 00:26:16,710 डाल बहुत समान सौंदर्यशास्त्र, एक अलग डॉट पीएचपी फाइल में, 548 00:26:16,710 --> 00:26:20,340 mechanism-- की आवश्यकता के लिए जो प्रयोग सी तेज include-- की तरह है जो 549 00:26:20,340 --> 00:26:23,570 अनिवार्य रूप से जाना कह की तरह है , header.php की सामग्री को हड़पने 550 00:26:23,570 --> 00:26:25,370 और कॉपी और उन्हें यहाँ पेस्ट। 551 00:26:25,370 --> 00:26:29,490 >> लेकिन क्या इसका मतलब यह है कि अब में है index.php, मैं उन दो लाइनें है। 552 00:26:29,490 --> 00:26:32,130 Lectures.php में, मैं भी उन दो लाइनें है। 553 00:26:32,130 --> 00:26:35,230 Week0.php में, मैं भी उन दो लाइनें है। 554 00:26:35,230 --> 00:26:38,380 >> तो अब, मैं बदलना चाहते हैं मेरी पृष्ठों के सभी के शीर्षक, 555 00:26:38,380 --> 00:26:40,530 या मैं बदलना चाहते हैं आधारभूत संरचना, 556 00:26:40,530 --> 00:26:44,380 मैं तो बस एक ही स्थान पर अब इसे बदल सकते हैं या दो places-- लेख और पाद, 557 00:26:44,380 --> 00:26:45,429 क्रमशः। 558 00:26:45,429 --> 00:26:47,970 अब कोड के शुरुआती देखने के लिए एक छोटे से अधिक गुप्त, है ना? 559 00:26:47,970 --> 00:26:53,590 लेकिन आप के बारे में सोचते हैं, तो क्या पेज मैं week0.php का अनुरोध कर रहा हूँ, तो doing-- है, 560 00:26:53,590 --> 00:26:59,880 बस पर ड्राइंग पर की तरह here-- week0.php का अनुरोध किया जाता है, 561 00:26:59,880 --> 00:27:00,960 इसका क्या मतलब है? 562 00:27:00,960 --> 00:27:04,410 >> सचमुच, इस फ़ाइल है ब्राउज़र द्वारा अनुरोध किया। 563 00:27:04,410 --> 00:27:06,240 वेब server-- उर्फ 564 00:27:06,240 --> 00:27:09,250 CS50 ID-- यह पकड़ लेता है फ़ाइल, week0.php, और पढ़ता 565 00:27:09,250 --> 00:27:10,780 यह ऊपर से नीचे, सही करने के लिए छोड़ दिया है। 566 00:27:10,780 --> 00:27:15,400 लाइन एक पर, यह तुरंत मुठभेड़ों खुले ब्रैकेट प्रश्न चिह्न पीएचपी, की आवश्यकता होती है 567 00:27:15,400 --> 00:27:17,872 हैडर डॉट पीएचपी, और इसलिए क्या PHP दुभाषिया 568 00:27:17,872 --> 00:27:20,580 कि वेब में बनाया गया है does-- सर्वर, हम preconfigured क्योंकि 569 00:27:20,580 --> 00:27:24,580 यह यह स्वचालित रूप से चला जाता है you-- के लिए header.php में, प्रतियां सामग्री, 570 00:27:24,580 --> 00:27:25,640 उन्हें यहाँ चिपकाता है। 571 00:27:25,640 --> 00:27:28,790 >> लेकिन तब दुभाषिया मुठभेड़ों प्रश्न चिह्न बंद कोष्ठक, 572 00:27:28,790 --> 00:27:30,320 तो यह सब सोच हो चुका है। 573 00:27:30,320 --> 00:27:33,400 अब यह बस आँख बंद करके spits लाइनों के बाहर सात के माध्यम से दो, 574 00:27:33,400 --> 00:27:35,240 यह सिर्फ कच्चे एचटीएमएल है क्योंकि। 575 00:27:35,240 --> 00:27:38,470 आठ लाइन के लिए हो जाता है, और है कि करता है फ़ाइल खोलने again-- एक ही जादू, 576 00:27:38,470 --> 00:27:41,460 सामग्री हथियाने, और उन्हें आवश्यकता होती है या उन्हें चिपकाने 577 00:27:41,460 --> 00:27:42,480 सही है तो या वहाँ। 578 00:27:42,480 --> 00:27:44,210 >> लेकिन मैं सिर्फ एक बग के लिए alluded। 579 00:27:44,210 --> 00:27:48,610 इस पिछड़े एक आंशिक कदम है हम header.php में लग रही है, क्योंकि अगर, 580 00:27:48,610 --> 00:27:50,850 मैं एक तरह से एक कोने में कटौती की है। 581 00:27:50,850 --> 00:27:56,250 मैं क्रम में ऊपर को क्या सुविधा इस विवाद बेहतर डिजाइन हासिल करने के लिए? 582 00:27:56,250 --> 00:27:57,305 हाँ? 583 00:27:57,305 --> 00:27:58,180 दर्शकों: [अश्राव्य] 584 00:27:58,180 --> 00:28:00,570 डेविड मालन: हाँ, मैं एक तरह की एक nontrivial कोने में कटौती। 585 00:28:00,570 --> 00:28:04,489 आप क्या बदल रहा था कि बाहर की ओर इशारा शीर्षक था, शीर्षक में नंबर, 586 00:28:04,489 --> 00:28:05,530 और एच 1 में नंबर। 587 00:28:05,530 --> 00:28:08,170 तो मेरा समाधान है, ठीक है, था चलो बस पेज का नाम बदल देना, 588 00:28:08,170 --> 00:28:10,080 और उस के साथ सौदा नहीं जो भी समस्या है। 589 00:28:10,080 --> 00:28:12,130 तो यह है कि एक आंशिक है सुनिश्चित करने के लिए पीछे की ओर कदम। 590 00:28:12,130 --> 00:28:14,300 >> लेकिन यहाँ उल्लेखनीय क्या है मैंने किया है है कि क्या 591 00:28:14,300 --> 00:28:17,200 अन्यथा शामिल होती है सभी आम सामान बाहर। 592 00:28:17,200 --> 00:28:21,520 और footer.php में, मैं सकारात्मक असर नोटिस है कि सभी बाहर, कम ही सही, 593 00:28:21,520 --> 00:28:22,790 आम चीज है। 594 00:28:22,790 --> 00:28:26,070 तो मैं किसी भी तरह अब करने में सक्षम होने की जरूरत है एक और कदम आगे ले, और तय 595 00:28:26,070 --> 00:28:27,160 शीर्षक है कि मुद्दों। 596 00:28:27,160 --> 00:28:28,180 तो चलो करते हैं। 597 00:28:28,180 --> 00:28:35,060 >> मुझे मेरे दूसरे संस्करण में चलते हैं यहां, जो, फिर से, एक ही फाइल है 598 00:28:35,060 --> 00:28:36,825 एक नए इसके अलावा के लिए छोड़कर। 599 00:28:36,825 --> 00:28:38,950 और यह एक छोटे से अधिक है वाचाल, लेकिन यदि देखते हैं हम 600 00:28:38,950 --> 00:28:40,550 यहाँ पर क्या हो रहा है के अलावा तंग कर सकते हैं। 601 00:28:40,550 --> 00:28:45,370 तो बजाय की आवश्यकता होती है header.php, और footer.php, 602 00:28:45,370 --> 00:28:50,180 मैं केवल एक की आवश्यकता होने लगते हैं file-- helpers.php, ज़ाहिर है, कहा जाता है। 603 00:28:50,180 --> 00:28:52,560 और, मुझे अब बंधेज जाने helpers.php के अंदर क्या हो रहा है 604 00:28:52,560 --> 00:28:55,330 कार्यों की सिर्फ एक गुच्छा है कि मैं पहले की तरह लिखा था। 605 00:28:55,330 --> 00:28:57,550 लेकिन मैं यह helpers.php बुलाया। 606 00:28:57,550 --> 00:29:00,370 >> अब जाहिर है, में लाइन तीन और 10, मैं कर रहा हूँ 607 00:29:00,370 --> 00:29:02,840 दो functions-- बुला हैडर प्रस्तुत करना, पाद प्रस्तुत करना। 608 00:29:02,840 --> 00:29:05,040 साथ नहीं आते हैं उन पीएचपी, मैं उन लोगों से अपने आप को लिखा था। 609 00:29:05,040 --> 00:29:07,880 और मैं helpers.php में डाल दिया। 610 00:29:07,880 --> 00:29:11,210 >> अब, हम केवल इस वाक्य रचना को देखा है एक बार, और यह सुपर संक्षिप्त था। 611 00:29:11,210 --> 00:29:15,330 लेकिन जाहिरा तौर पर इस एक तर्क है हैडर, समारोह के लिए प्रस्तुत करना। 612 00:29:15,330 --> 00:29:16,450 क्यों मुझे लगता है कि पता है? 613 00:29:16,450 --> 00:29:18,522 वैसे यहाँ एक करीबी कोष्ठक है, यहां एक खुला कोष्ठक है। 614 00:29:18,522 --> 00:29:21,230 और हां, बस सी में की तरह, उन कोष्ठकों के बीच कुछ भी 615 00:29:21,230 --> 00:29:23,350 एक input-- या एक है समारोह के लिए तर्क। 616 00:29:23,350 --> 00:29:26,710 >> इस तर्क के डेटा प्रकार क्या है, मैं प्रकाश डाला है, उसके आधार पर? 617 00:29:26,710 --> 00:29:30,820 उन वर्ग कोष्ठक क्या करें पिछले हफ्ते के आधार पर संकेत मिलता है? 618 00:29:30,820 --> 00:29:33,390 हाँ, यह एक array-- है विशेष रूप से एक साहचर्य सरणी। 619 00:29:33,390 --> 00:29:35,700 और इस वाक्य रचना मानते एक छोटे कायरता है, 620 00:29:35,700 --> 00:29:38,860 लेकिन यह सिर्फ गुजर रहा है एक महत्वपूर्ण मूल्य जोड़ी में। 621 00:29:38,860 --> 00:29:43,530 कुंजी बोली गंदें शब्द बोलना है, शीर्षक है, और मूल्य CS50 है। 622 00:29:43,530 --> 00:29:46,220 >> हम किया था, तो इस सी में, यह बजाय हो सकता है 623 00:29:46,220 --> 00:29:49,400 इस तरह से अधिक लग रही है, सिर्फ बोली गंदें शब्द बोलना CS50-- 624 00:29:49,400 --> 00:29:52,460 या वास्तव में यह घुंघराले होगा ब्रेसिज़, या सी में ऐसा कुछ, 625 00:29:52,460 --> 00:29:55,580 जहां कुंजी शून्य है, और मूल्य CS50 है। 626 00:29:55,580 --> 00:29:59,840 लेकिन फिर, पीएचपी में, भले ही वाक्य रचना, फिर से, एक अजीब सा है 627 00:29:59,840 --> 00:30:02,860 यह आप में पारित करने के लिए अनुमति देता है शब्द के बजाय संख्या 628 00:30:02,860 --> 00:30:05,120 मूल्यों के साथ कुंजी संबद्ध करने के लिए। 629 00:30:05,120 --> 00:30:06,390 >> तो इस सब का क्या मतलब है? 630 00:30:06,390 --> 00:30:09,750 मैं helpers.php में जाना है, चलो इस समारोह को देखो। 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, बल्कि renderHeader, मेरे समारोह है 632 00:30:13,620 --> 00:30:16,220 और मुझे लगता है मैं देख रहा हूँ क्योंकि जानते हैं कि यहां समारोह कीवर्ड। 633 00:30:16,220 --> 00:30:19,450 यह जाहिरा तौर पर यह C-- से नया है data-- नामक एक तर्क लेता है 634 00:30:19,450 --> 00:30:22,400 लेकिन मैं यह कहा हो सकता है कुछ भी हो, लेकिन मुझे लगता है, डेटा यह कहा जाता है 635 00:30:22,400 --> 00:30:25,090 सिर्फ एक छोटे से clean-- हो सकता है और सिर्फ विशेष रूप से, एक अनुमान ले 636 00:30:25,090 --> 00:30:28,173 आप कुछ अन्य में प्रोग्राम है अगर इससे पहले उच्च स्तर की भाषा, कुछ 637 00:30:28,173 --> 00:30:29,820 सेल्सियस से ऊपर, धारणात्मक। 638 00:30:29,820 --> 00:30:33,820 >> क्या बराबर खुला ब्रैकेट करता है शायद वर्ग कोष्ठक मतलब है? 639 00:30:33,820 --> 00:30:35,540 या फिर यह क्या मतलब हो सकता है? 640 00:30:35,540 --> 00:30:39,660 हम हाँ सी में यह देखा नहीं गया है? 641 00:30:39,660 --> 00:30:40,480 >> एक खाली सरणी। 642 00:30:40,480 --> 00:30:45,440 विशेष रूप से, इसका मतलब यह है कि अगर उपयोगकर्ता renderHeader फोन नहीं करता 643 00:30:45,440 --> 00:30:49,340 एक तर्क के साथ, मैं अभी भी जा रहा हूँ डेटा बुलाया एक तर्क है, 644 00:30:49,340 --> 00:30:52,327 लेकिन इसकी डिफ़ॉल्ट मान है एक खाली सरणी होने जा रहा। 645 00:30:52,327 --> 00:30:53,660 तो यह सिर्फ एक अच्छी सुविधा है। 646 00:30:53,660 --> 00:30:56,493 मैं, उपयोगकर्ता पर चिल्लाना नहीं है या तुम मेरे समारोह गलत इस्तेमाल किया कहते हैं। 647 00:30:56,493 --> 00:30:59,849 मैं सिर्फ उपयोगकर्ता एक डिफ़ॉल्ट दे सकते हैं मूल्य, मैं विशेष रूप से परवाह नहीं है। 648 00:30:59,849 --> 00:31:01,890 अब इस समारोह में, मैं कर रहा हूँ पर मेरे हाथ लहर करने के लिए जा रहा है। 649 00:31:01,890 --> 00:31:07,620 लेकिन इस निकालने समारोह की अनुमति देता है हमें डाटा में इन चर पारित करने के लिए 650 00:31:07,620 --> 00:31:10,360 निम्नलिखित तरीके से header.php में। 651 00:31:10,360 --> 00:31:13,100 और यह पिछले टुकड़ा है, मैं कायरता वाक्य रचना की, लगता है। 652 00:31:13,100 --> 00:31:15,860 यहाँ मेरा नया संस्करण है की यह header.php-- 653 00:31:15,860 --> 00:31:20,140 सचमुच, कहने के लिए प्रयोग किया जाता है, खुला ब्रैकेट शीर्षक CS50 है, और वह यह था। 654 00:31:20,140 --> 00:31:21,766 और एच 1 के लिए एक ही बात है। 655 00:31:21,766 --> 00:31:24,310 >> अब यह स्पष्ट तौर पर कहते हैं, बहुत कुछ दिखलाना। 656 00:31:24,310 --> 00:31:28,030 और मुझे इस सरल जाने एक पल के लिए के रूप में इस प्रकार है। 657 00:31:28,030 --> 00:31:31,020 यह मैं क्या है होना मेरे शीर्षक बदल दिया है। 658 00:31:31,020 --> 00:31:35,140 हालांकि, यह एक छोटे बदसूरत हो रही है PHP के साथ लगातार खुला कोष्ठक करने के लिए, 659 00:31:35,140 --> 00:31:36,610 और फिर प्रिंट समारोह का उपयोग करें। 660 00:31:36,610 --> 00:31:40,810 यह पीएचपी एक आशुलिपि पता चला है कि बस है जो इस अंकन के लिए, 661 00:31:40,810 --> 00:31:45,050 तकनीकी रूप से एक है जो एक बराबर चिह्न, कहा जाता समारोह, बजाय प्रिंट की गूंज 662 00:31:45,050 --> 00:31:46,800 लेकिन इसे प्रभावी ढंग से, एक ही बात है। 663 00:31:46,800 --> 00:31:48,440 >> यही कारण है कि सिर्फ बेहतर लग रहा है। 664 00:31:48,440 --> 00:31:50,510 यह सिर्फ एक वाक्यात्मक है चीनी, अगर तुम जाएगा, 665 00:31:50,510 --> 00:31:52,260 कि मेरे कोड थोड़ा बेहतर लग रही है। 666 00:31:52,260 --> 00:31:54,010 लेकिन यह पता चला है, और हम फिर से इस देखेंगे 667 00:31:54,010 --> 00:31:57,420 लंबे समय से पहले, हम इस कॉल करने के लिए annoyingly लंबे समारोह में बुलाया 668 00:31:57,420 --> 00:32:00,582 एचटीएमएल विशेष वर्ण में पीएचपी, यह पता चला है क्योंकि 669 00:32:00,582 --> 00:32:02,790 कुछ सूचनाओं के देखते हैं यूजर हमें दे सकता है 670 00:32:02,790 --> 00:32:05,160 या उपयोगकर्ताओं के लिए हमें दे सकता है, कि हमारी साइट को तोड़ने के लिए जा रहे हैं। 671 00:32:05,160 --> 00:32:07,035 लेकिन हम जानते हैं कि अगले देखेंगे जावास्क्रिप्ट के साथ सप्ताह। 672 00:32:07,035 --> 00:32:10,740 लेकिन अब के लिए, बस इतना पता है कि इस फ़ाइल में headers.php, बस 673 00:32:10,740 --> 00:32:13,040 शीर्षक लेता है मैं में पारित किया है, इसे बनाने के लिए 674 00:32:13,040 --> 00:32:17,380 यह सुरक्षित है यकीन है कि एक वेब में इंजेक्ट किया पेज, और यह मेरी शीर्षक के रूप में इसे बाहर spits 675 00:32:17,380 --> 00:32:18,640 और मेरी एच 1 के रूप में। 676 00:32:18,640 --> 00:32:24,440 इसलिए मैं अब इस संस्करण में जाना है, व्याख्यान में अपने खिताब वापस है कि नोटिस, 677 00:32:24,440 --> 00:32:28,630 सप्ताह शून्य से वापस अपने शीर्षक है, और दरअसल, एचटीएमएल मैं पैदा कर रहा हूँ 678 00:32:28,630 --> 00:32:32,110 क्या मेरा पहला संस्करण के लिए समान है मेरी खाली स्थान को छोड़कर was--, 679 00:32:32,110 --> 00:32:35,150 मैं स्वरूपण शुरू कर दिया है क्योंकि अलग ढंग से अपने कोड के एक छोटे से। 680 00:32:35,150 --> 00:32:38,082 लेकिन मैं सभी उत्पन्न किया है मैं देखभाल के बारे कोड। 681 00:32:38,082 --> 00:32:39,790 मेरे लिए तो हम रोक देते हैं बस एक पल और देखना 682 00:32:39,790 --> 00:32:42,200 किसी भी सवाल है कि अगर वहाँ या भ्रम मैं बना लिया है। 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 ठीक है, तो चलो मोड़ जाने थोड़ा कठिन यहाँ 685 00:32:48,150 --> 00:32:51,500 एक है कि अगर वहाँ देखने के लिए सुधार के लिए अवसर। 686 00:32:51,500 --> 00:32:56,130 Helpers.php भी इस पड़ा समारोह, renderFooter बुलाया। 687 00:32:56,130 --> 00:32:59,652 और के बारे में उल्लेखनीय क्या है renderHeader, और renderFooter? 688 00:32:59,652 --> 00:33:02,610 और फिर, आज के उद्देश्यों के लिए है, पता है निकालने समारोह है कि बस 689 00:33:02,610 --> 00:33:08,280 गुजर तर्क का मेरा तरीका header.php और footer.php में। 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> क्षमा करें? 692 00:33:11,780 --> 00:33:13,056 >> दर्शकों: [अश्राव्य] 693 00:33:13,056 --> 00:33:15,180 डेविड मालन: हाँ, मैं केवल लाइन की आवश्यकता बदल दिया है। 694 00:33:15,180 --> 00:33:19,410 तो सचमुच, मैं पाप किया है कॉपी करने और चिपकाने की, एक बार फिर। 695 00:33:19,410 --> 00:33:21,920 यह एक बड़ी संख्या नहीं है लाइनों की, लेकिन on-- आ 696 00:33:21,920 --> 00:33:25,220 मैं कॉपी करने और सब कुछ चिपका रहा हूँ, तो सिर्फ एक छोटा सा शब्द बदलने के लिए, 697 00:33:25,220 --> 00:33:28,610 और एक छोटा सा शब्द एलन बताते हैं कि बाहर बनाम, यहां पाद यहाँ हैडर। 698 00:33:28,610 --> 00:33:30,670 अन्यथा, सब कुछ है समान, के लिए छोड़कर, 699 00:33:30,670 --> 00:33:32,180 जाहिर है, समारोह के नाम। 700 00:33:32,180 --> 00:33:33,690 इसलिए हम बेहतर क्या कर सकता है? 701 00:33:33,690 --> 00:33:39,810 >> वैसे मुझे इस संस्करण को खोलने दें यहाँ, जिससे helpers.php में, 702 00:33:39,810 --> 00:33:42,300 यही कारण है कि मैं सिर्फ एक नहीं मिलता इस बारे में होशियार कम? 703 00:33:42,300 --> 00:33:46,410 थोड़ा और अधिक जटिल लिखें कोड, लेकिन इसे प्रस्तुत करना कहते हैं? 704 00:33:46,410 --> 00:33:48,470 इसलिए मैं मौलिक क्या बदल गया है? 705 00:33:48,470 --> 00:33:51,770 >> यह एक बहस लेता now-- दो तर्क है, अभी भी डेटा। 706 00:33:51,770 --> 00:33:54,444 और फिर पहले क्या है शायद के लिए इस्तेमाल किया जा रहा नाम, 707 00:33:54,444 --> 00:33:55,860 आप यहां पढ़ रहे हैं, उसके आधार पर? 708 00:33:55,860 --> 00:33:58,452 यहां तक ​​कि अगर वाक्य रचना से कुछ अभी भी नया है। 709 00:33:58,452 --> 00:33:59,660 डॉलर के हस्ताक्षर टेम्पलेट क्या है? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> क्षमा करें? 712 00:34:03,016 --> 00:34:03,710 >> दर्शकों: हैडर या पाद। 713 00:34:03,710 --> 00:34:04,510 >> डेविड मालन: हैडर या पाद। 714 00:34:04,510 --> 00:34:07,134 तो जाहिर है, मैंने तय किया है कि यदि बदल रहा है कि केवल एक चीज 715 00:34:07,134 --> 00:34:10,159 मैं चाहता हूँ कि क्या टेम्पलेट है print-- और टेम्पलेट से करने के लिए 716 00:34:10,159 --> 00:34:13,100 मैं इस के लिए खाका है मतलब मैं उत्पादन करना चाहते हैं कि कोड, 717 00:34:13,100 --> 00:34:16,350 लेकिन मैं कुछ में प्लग करना चाहते हैं values-- यदि ऐसा है तो यह केवल शीर्ष लेख है 718 00:34:16,350 --> 00:34:20,440 या पाद, मैं क्यों parameterize नहीं है कि और तर्क डॉलर के हस्ताक्षर फोन 719 00:34:20,440 --> 00:34:21,409 टेम्पलेट? 720 00:34:21,409 --> 00:34:26,250 और फिर इस कायरता वाक्य रचना मुझे अनुमति देता है यहां एक चर में एक रास्ता बनाने के लिए। 721 00:34:26,250 --> 00:34:28,030 >> तो डॉलर के हस्ताक्षर पथ एक चर रहा है। 722 00:34:28,030 --> 00:34:31,120 इस वाक्य रचना करता है क्या आप परिचित हैं, तो क्यों है? 723 00:34:31,120 --> 00:34:32,512 हाँ? 724 00:34:32,512 --> 00:34:34,065 >> दर्शकों: [अश्राव्य] 725 00:34:34,065 --> 00:34:34,940 डेविड मालन: बिल्कुल। 726 00:34:34,940 --> 00:34:37,600 टेम्पलेट है, तो गंदें शब्द बोलना बोली, शीर्षक, या टेम्पलेट है, 727 00:34:37,600 --> 00:34:41,170 गंदें शब्द बोलना बोली, पाद, वहाँ है कि लाइन मैं प्रकाश डाला है कि, लाइन आठ, 728 00:34:41,170 --> 00:34:46,330 बस हेडर की तरह है, उस नाम ले रहा है, और डॉट पीएचपी साथ यह concatenating। 729 00:34:46,330 --> 00:34:49,750 इसलिए हम इस ऑपरेटर नहीं था सी में यह डॉट ऑपरेटर है 730 00:34:49,750 --> 00:34:54,520 अगर आप कर रहे PHP-- में एक अद्भुत बात जावास्क्रिप्ट या जावा के साथ परिचित, 731 00:34:54,520 --> 00:34:56,949 आप प्लस का उपयोग कर सकते हैं कड़ी ऐसा करने के लिए साइन इन करें। 732 00:34:56,949 --> 00:34:59,974 >> सी में, यह neck-- में दर्द हो रहा है छह पी-सेट में और मैं माफी चाहता हूँ, 733 00:34:59,974 --> 00:35:02,390 तुम्हें क्या करना है करने के लिए जा रहे हैं है- यह गर्दन में दर्द हो रहा है 734 00:35:02,390 --> 00:35:03,930 तार जोड़ना। 735 00:35:03,930 --> 00:35:04,670 क्यों? 736 00:35:04,670 --> 00:35:06,580 खैर, अगर तुम मिल गया है क्योंकि लंबे समय से इस बात है कि एक स्ट्रिंग, 737 00:35:06,580 --> 00:35:09,538 और लंबे समय से इस है कि एक और स्ट्रिंग, आप सिर्फ एक साथ उन्हें प्लग नहीं कर सकते। 738 00:35:09,538 --> 00:35:11,070 क्या आप के बजाय सी में क्या करना है? 739 00:35:11,070 --> 00:35:11,680 हाँ? 740 00:35:11,680 --> 00:35:12,380 >> दर्शकों: [अश्राव्य] 741 00:35:12,380 --> 00:35:15,090 >> डेविड मालन: आप malloc के लिए है स्मृति, या ढेर पर एक सरणी का उपयोग करें। 742 00:35:15,090 --> 00:35:17,214 और अगर आप वास्तव में करने के लिए है पर्याप्त है कि सरणी बड़ा बनाने 743 00:35:17,214 --> 00:35:20,940 इस के साथ साथ इस फिट करने के लिए, प्लस बैकस्लैश शून्य। 744 00:35:20,940 --> 00:35:24,994 तब का उपयोग कर उन्हें एक साथ जुटना पाश के लिए एक साथ बिल्ली या मैन्युअल हलचल 745 00:35:24,994 --> 00:35:26,160 या तकनीक के किसी भी संख्या। 746 00:35:26,160 --> 00:35:27,760 और हम आप में एक जोड़े को दिखाने के पी-सेट छह। 747 00:35:27,760 --> 00:35:29,080 >> यह गर्दन में दर्द हो रहा है। 748 00:35:29,080 --> 00:35:34,190 और इस बारे में मैं क्या मतलब है सही मायने में है पीएचपी बनाम सी की तरह है- बनाम यह। 749 00:35:34,190 --> 00:35:36,870 आप सिर्फ इतना अधिक मिलता है मुक्त करने के लिए कार्यक्षमता, 750 00:35:36,870 --> 00:35:39,030 आप ध्यान केंद्रित कर सकते हैं, जिससे कि आदर्श रूप में, मज़ा पर 751 00:35:39,030 --> 00:35:41,190 कोडिंग का हिस्सा है, आप को हल करना चाहते परियोजना, 752 00:35:41,190 --> 00:35:43,190 बल्कि कम स्तर ज़रा सी बात से। 753 00:35:43,190 --> 00:35:49,840 >> तो यह सिर्फ उत्पन्न header.php या जो मैं फोन पर आधारित footer.php। 754 00:35:49,840 --> 00:35:52,280 और वास्तव में मैं जाना है index.php में, नोटिस 755 00:35:52,280 --> 00:35:56,230 कहा कि सभी के बजाय changed-- है हैडर प्रस्तुत करना या पाद लेख प्रस्तुत करना बुला रही है, 756 00:35:56,230 --> 00:36:00,230 मैं द्वारा पीछा किया, प्रस्तुत करना बुला रहा हूँ मैं करना चाहता हूँ कि टेम्पलेट का नाम। 757 00:36:00,230 --> 00:36:02,370 और तुम भी, यह देखेंगे, समस्या में, सात सेट 758 00:36:02,370 --> 00:36:05,530 हम आप का उपयोग करने की अनुमति है जिससे एक ही समारोह में गुच्छों बनाने के लिए 759 00:36:05,530 --> 00:36:07,550 और विभिन्न वेब पृष्ठों के गुच्छों। 760 00:36:07,550 --> 00:36:10,570 >> इसलिए बल्कि बहुत ध्यान केन्द्रित से उन details-- पर बहुत अधिक 761 00:36:10,570 --> 00:36:13,210 आप में फिर से देखेंगे जो समस्या सेट की नजर डालते हैं seven-- 762 00:36:13,210 --> 00:36:16,850 एक समाधान की अब शुरुआत में एक और अधिक दिलचस्प समस्या के लिए। 763 00:36:16,850 --> 00:36:19,310 इस प्रकार अब तक, कुछ भी हम है किया बचाया डेटा है। 764 00:36:19,310 --> 00:36:22,920 वास्तव में, केवल समय हम कभी भी बचा लिया हम इस वर्ग में किया है कुछ 765 00:36:22,920 --> 00:36:31,030 हम थोड़ी देर के लिए एक बहुत ही साधारण प्रदर्शन किया था है जब पीठ, जिससे हम, सी में फ़ाइल कब इस्तेमाल किया 766 00:36:31,030 --> 00:36:34,520 और मुझे लगता है कि मैं अपने नाम में टाइप लगता है, और हन्ना का नाम, और मारिया के नाम, 767 00:36:34,520 --> 00:36:37,610 या शायद एंडी नाम है, और फिर हम एक सीएसवी file-- बचाया 768 00:36:37,610 --> 00:36:39,430 अल्पविराम मूल्यों फ़ाइल अलग कर दिया। 769 00:36:39,430 --> 00:36:43,530 >> और हम मुझे लगता है कि fopen-- इस्तेमाल किया मुझे याद है, जैसा कि हम fprintf इस्तेमाल किया 770 00:36:43,530 --> 00:36:44,910 और हम एक फ़ाइल को बचाया। 771 00:36:44,910 --> 00:36:46,920 अब, यह सबसे सरल है एक डाटाबेस के रूप में। 772 00:36:46,920 --> 00:36:50,230 आप के लिए एक वेबसाइट बनाना चाहते हैं Frosh आईएमएस कार्यक्रम, जिससे freshmen 773 00:36:50,230 --> 00:36:53,390 आदर्श रूप में, एक खेल के लिए आप रजिस्टर कर सकते हैं उस डेटा के साथ कुछ करना चाहते हैं। 774 00:36:53,390 --> 00:36:55,370 पिछले हफ्ते, हम कुछ नहीं किया data-- साथ हम सिर्फ इतना कहा, 775 00:36:55,370 --> 00:36:56,661 आप वास्तव में नहीं है, पंजीकृत हैं। 776 00:36:56,661 --> 00:36:58,950 या हो सकता है मुझे ईमेल प्रॉक्टर, और वह यह था। 777 00:36:58,950 --> 00:37:02,110 >> अगर मैं कर सकता लेकिन यह अच्छा होगा कि, प्रॉक्टर एक सीएसवी फ़ाइल दे 778 00:37:02,110 --> 00:37:03,340 एक एक्सेल फाइल की तरह। 779 00:37:03,340 --> 00:37:05,090 या बेहतर अभी तक, यह होगा अगर मैं कर सकता अच्छा होगा 780 00:37:05,090 --> 00:37:08,830 उन उपयोगकर्ताओं का नाम रख दिया और नामों छात्रावास और है कि सभी 781 00:37:08,830 --> 00:37:11,740 एक डेटाबेस में है कि बस, पर हमेशा के लिए रहता है 782 00:37:11,740 --> 00:37:13,530 जब तक मैं डेटा को नष्ट करने के लिए चुनें। 783 00:37:13,530 --> 00:37:15,645 की अनुमति देता है कि एक डेटाबेस मुझे जानकारी क्वेरी के लिए। 784 00:37:15,645 --> 00:37:18,070 और वास्तव में, एक डेटाबेस है कि क्या हो रहा है। 785 00:37:18,070 --> 00:37:20,470 >> हम आज का परिचय दिया और अगले सप्ताह भी है, एक प्रौद्योगिकी 786 00:37:20,470 --> 00:37:25,020 कहा जाता SQL-- एक संरचित क्वेरी एक और भाषा है जो भाषा,। 787 00:37:25,020 --> 00:37:28,750 यह अनिवार्य रूप से एक प्रोग्रामिंग है भाषा, लेकिन डेटाबेस के लिए। 788 00:37:28,750 --> 00:37:31,760 और अब के लिए एक डाटाबेस, बस एक सुपर फैंसी संस्करण के रूप में के बारे में सोच 789 00:37:31,760 --> 00:37:35,710 माइक्रोसॉफ्ट एक्सेल, या गूगल की स्प्रेडशीट्स, या एप्पल नंबर। 790 00:37:35,710 --> 00:37:39,950 यह आम तौर पर अनुमति देता है कि एक कार्यक्रम है आप डेटा की एक पूरी गुच्छा स्टोर करने के लिए 791 00:37:39,950 --> 00:37:43,960 पंक्तियों और स्तंभों में काफी जैसे आप Excel में हो सकता है। 792 00:37:43,960 --> 00:37:47,100 >> लेकिन क्या है, खासकर अगर अच्छा है हम, एक्सेल के साथ सुपर परिचित नहीं हैं 793 00:37:47,100 --> 00:37:52,040 क्या एसक्यूएल तुम क्या करने की अनुमति देता है क्वेरी यह है कोड की लाइनों लिख कर जानकारी 794 00:37:52,040 --> 00:37:55,220 जहां आप कर सकते हैं, भले ही अपने डेटाबेस, उस में एक लाख पंक्तियाँ है 795 00:37:55,220 --> 00:37:57,190 आप चीजों को सुपर फास्ट पा सकते हैं। 796 00:37:57,190 --> 00:37:59,950 वास्तव में, एक्सेल, विशेष रूप से है बड़े डेटा सेट पर बुरा। 797 00:37:59,950 --> 00:38:02,460 और वास्तव में, कुछ करने के लिए ऊपर साल पहले, निकला 798 00:38:02,460 --> 00:38:08,890 एक्सेल केवल आप की दुकान करने की अनुमति होगी data-- जो अप करने के लिए 65,535 पंक्तियों 799 00:38:08,890 --> 00:38:12,020 पर लेकिन, एक बहुत की तरह लगता है बार मैं एक स्नातक छात्र था 800 00:38:12,020 --> 00:38:14,920 और मैं में फंसना याद यह है कि मैं पैदा हुआ था, क्योंकि 801 00:38:14,920 --> 00:38:17,900 मेरे शोध और मैं के लिए सीएसवी फाइल उन्हें जल्दी से विश्लेषण करना चाहता था 802 00:38:17,900 --> 00:38:19,530 सिर्फ एक्सेल में खोलने के द्वारा। 803 00:38:19,530 --> 00:38:23,730 बेशक, मेरे कंप्यूटर बस दुर्घटनाग्रस्त, मैं अधिक से अधिक 65,000 पंक्तियों था। 804 00:38:23,730 --> 00:38:27,210 >> लेकिन 65,535 कहाँ से आया था? 805 00:38:27,210 --> 00:38:29,670 माइक्रोसॉफ्ट क्या कर रहा था, शायद? 806 00:38:29,670 --> 00:38:32,430 आप दोनों में से अपनी शक्तियों के साथ अच्छा कर रहे हैं? 807 00:38:32,430 --> 00:38:37,160 हाँ, वे एक 16-बिट का उपयोग कर रहे थे मूल्य पंक्ति संख्या का प्रतिनिधित्व करने के लिए। 808 00:38:37,160 --> 00:38:41,310 और 16 के लिए दो है 65,536-- शून्य से एक है, क्योंकि अगर आप 809 00:38:41,310 --> 00:38:45,414 शून्य सूचकांक था कि इसका मतलब है मैं कर सकता था पंक्तियों की सबसे अधिक संख्या। 810 00:38:45,414 --> 00:38:46,830 और यह सिर्फ एक डिजाइन निर्णय था। 811 00:38:46,830 --> 00:38:52,760 16 बिट्स बचत करके, वे मेरे सीमित बजाय 4 अरब की 16,000 पंक्तियों को, 812 00:38:52,760 --> 00:38:54,322 जो मैं आदर्श रूप में हो सकता था। 813 00:38:54,322 --> 00:38:57,030 लेकिन अब के लिए, हम करने जा रहे हैं एक वेब संदर्भ में यह अधिक परिचय। 814 00:38:57,030 --> 00:39:00,390 और क्या एसक्यूएल के बारे में अच्छा है कि और भी है यह बहुत शक्तिशाली और सुंदर है, हालांकि 815 00:39:00,390 --> 00:39:04,050 परिष्कृत, यह वास्तव में फोड़े नीचे करने के लिए चार प्रमुख संचालन, चार 816 00:39:04,050 --> 00:39:08,060 महत्वपूर्ण कार्यों, आप का चयन will-- हैं, , डेटा को पुन: प्राप्त खोज के लिए 817 00:39:08,060 --> 00:39:12,510 डेटा के लिए; हटाने या डेटा को हटाने; डेटाबेस के लिए पंक्तियों को जोड़ने के लिए डालने; 818 00:39:12,510 --> 00:39:13,410 और अद्यतन। 819 00:39:13,410 --> 00:39:17,010 क्या आपने कभी गूगल का इस्तेमाल किया है तो अगर स्प्रेडशीट्स, एप्पल नंबर, माइक्रोसॉफ्ट 820 00:39:17,010 --> 00:39:19,310 एक्सेल, आप को मार डाला है, सबसे अधिक संभावना है, सभी 821 00:39:19,310 --> 00:39:22,530 एक इंसान के रूप में इन आपरेशनों द्वारा की बस अपने कुंजीपटल और mouse-- का उपयोग कर 822 00:39:22,530 --> 00:39:26,050 अपनी आँखें, डेटा डालने का उपयोग कर का चयन करें या डेटा के लिए खोज करने के लिए, 823 00:39:26,050 --> 00:39:28,360 या अद्यतन डेटा, या निरस्त डेटा। 824 00:39:28,360 --> 00:39:29,870 >> अच्छा तो इसका क्या मतलब है? 825 00:39:29,870 --> 00:39:34,300 खैर, CS50 में पहले से स्थापित आईडीई MySQL के एक कार्यक्रम में कहा है। 826 00:39:34,300 --> 00:39:37,050 यह एक मुक्त, खुला स्रोत है सुपर लोकप्रिय है कि डेटाबेस। 827 00:39:37,050 --> 00:39:40,590 फेसबुक, उदाहरण के लिए, यह करने के लिए इसे इस्तेमाल करता है वे का उपयोग करने वाले अन्य उपकरणों के बीच दिन। 828 00:39:40,590 --> 00:39:44,300 और बहुत लोकप्रिय वेबसाइटों की एक बहुत का उपयोग करें यह बड़े हिस्से में यह तेजी से है, क्योंकि 829 00:39:44,300 --> 00:39:45,230 और क्योंकि यह मुफ़्त है। 830 00:39:45,230 --> 00:39:46,820 निश्चित रूप से हालांकि विकल्प मौजूद हैं। 831 00:39:46,820 --> 00:39:49,580 और आप में से कुछ के साथ भिगोना सकता है अंतिम परियोजनाओं के लिए विकल्प। 832 00:39:49,580 --> 00:39:55,330 >> इस कारण, इस बीच, एक स्क्रीनशॉट है phpMyAdmin नामक एक वेब आधारित उपकरण है। 833 00:39:55,330 --> 00:39:58,260 यह एक संयोग है कि इस वेब आधारित उपकरण भी है 834 00:39:58,260 --> 00:40:01,720 एक भाषा में लिखा, पीएचपी, लेकिन ऐसा करने का मतलब है क्या 835 00:40:01,720 --> 00:40:04,620 हमें दे रहा है एक वेब आधारित एक डेटाबेस के लिए इंटरफ़ेस। 836 00:40:04,620 --> 00:40:07,180 MySQL के लिए आम तौर पर है, क्योंकि कुछ, ऐतिहासिक, आप 837 00:40:07,180 --> 00:40:08,770 केवल के साथ बातचीत करेंगे एक कमांड लाइन के साथ। 838 00:40:08,770 --> 00:40:10,811 और यह सुपर होगा कष्टप्रद और संबंध के लिए रहस्यमय 839 00:40:10,811 --> 00:40:14,487 चयन करने के लिए शाब्दिक आदेश टाइप करने के लिए डेटा, डेटा डालें, और डेटा को हटा दें। 840 00:40:14,487 --> 00:40:16,820 इंटरनेट पर तो कुछ लोगों को एक वेब आधारित कार्यक्रम में लिखा था 841 00:40:16,820 --> 00:40:18,900 बस हमें का प्रबंधन करते हैं कि हमारे डेटाबेस में डेटा। 842 00:40:18,900 --> 00:40:23,040 यह एक्सेल पर डबल क्लिक करने की तरह है, और उसके एक वेब आधारित संस्करण चल रहा है। 843 00:40:23,040 --> 00:40:26,370 >> और आप के लिए इस का उपयोग करने के लिए जा रहे हैं अंतत: अगले सप्ताह, नहीं में पी-सेट छह, 844 00:40:26,370 --> 00:40:28,680 लेकिन कुछ का निर्माण करने के लिए है CS50 वित्त, जो बुलाया 845 00:40:28,680 --> 00:40:32,630 का एक डाटाबेस किया जा रहा है उपयोगकर्ता नाम और पासवर्ड के साथ उपयोगकर्ताओं, 846 00:40:32,630 --> 00:40:34,860 डॉलर की राशि है कि वे उनके बैंक खातों में है। 847 00:40:34,860 --> 00:40:37,280 यह होने जा रहा है आप स्टोर करने के लिए उपयोग कुछ 848 00:40:37,280 --> 00:40:39,910 प्रतीकों और मात्रा शेयरों की कि उपयोगकर्ताओं 849 00:40:39,910 --> 00:40:42,567 आभासी का उपयोग कर खरीदा है आप उन्हें दे दूँगा कि डॉलर। 850 00:40:42,567 --> 00:40:44,900 और यह उपयोगकर्ताओं को अनुमति देने के लिए जा रहा है आपकी साइट के लिए रजिस्टर करने के लिए, 851 00:40:44,900 --> 00:40:47,190 तो भी अपने मित्रों कि अपनी वेबसाइट के लिए में धुन कर सकते हैं 852 00:40:47,190 --> 00:40:49,360 और वास्तव में रजिस्टर, में प्रवेश करें, और चारों ओर खेलने 853 00:40:49,360 --> 00:40:52,807 और अपने कोड में गलती खोजने की कोशिश की, और अपनी वेबसाइट में कीड़े खोजने के लिए प्रयास करें। 854 00:40:52,807 --> 00:40:55,390 और वे आसानी से रजिस्टर करेंगे प्रभावी ढंग से खुद को जोड़ने, 855 00:40:55,390 --> 00:40:58,120 कोड के माध्यम से आप अपने डेटाबेस के लिए लिखें। 856 00:40:58,120 --> 00:41:02,470 >> उदाहरण के लिए, यह एक त्वरित स्क्रीनशॉट है क्या का एक डेटाबेस की तरह लग सकता है। 857 00:41:02,470 --> 00:41:05,190 इस में से एक से किया गया था पिछले साल के solutions-- 858 00:41:05,190 --> 00:41:07,760 इस एक मिनी एक्सेल की तरह है हमारे डेटाबेस में संग्रहीत, फ़ाइल, 859 00:41:07,760 --> 00:41:09,950 MySQL के नामक इस सॉफ्टवेयर में संग्रहीत। 860 00:41:09,950 --> 00:41:13,260 बाएं हाथ की तरफ, मैं जाहिरा तौर पर है हर यूजर को एक अद्वितीय संख्या दी। 861 00:41:13,260 --> 00:41:16,200 दूसरे स्तंभ में, मैंने दिया है हर कोई एक उपयोगकर्ता अपने ही name-- 862 00:41:16,200 --> 00:41:16,880 उनमें से। 863 00:41:16,880 --> 00:41:21,430 और दाहिने हाथ की ओर, मैं उन्हें एक हैश दिया है। 864 00:41:21,430 --> 00:41:26,760 >> अब यह वास्तव में एक पासवर्ड है, लेकिन यह एक सादा पाठ पासवर्ड नहीं है। 865 00:41:26,760 --> 00:41:30,160 यह है, एक एन्क्रिप्टेड पासवर्ड है आप करेंगे, या एक हैश पासवर्ड। 866 00:41:30,160 --> 00:41:32,000 जो कि हम लंबे समय से पहले करने के लिए वापस आ जाएगा। 867 00:41:32,000 --> 00:41:34,340 >> लेकिन क्या आपने कभी पढ़ा है कैसे के बारे में एक लेख 868 00:41:34,340 --> 00:41:37,950 कुछ बैंक या कुछ को अपने पासवर्ड वेबसाइट, समझौता किया गया है हो सकता है 869 00:41:37,950 --> 00:41:39,630 यह आम तौर पर दो चीजों में से एक हो सकता है। 870 00:41:39,630 --> 00:41:42,780 तो यह छह उपयोगकर्ताओं की सिर्फ एक अंश है। 871 00:41:42,780 --> 00:41:45,460 तुम सब अब समझ सकते हैं हैकिंग या खुर के माध्यम से बाहर 872 00:41:45,460 --> 00:41:47,690 हमारे छह लोगों के पासवर्ड क्या कर रहे हैं। 873 00:41:47,690 --> 00:41:49,720 लेकिन क्या आपने कभी मिल गया है, तो एक चेतावनी या माफी 874 00:41:49,720 --> 00:41:52,803 एक कंपनी या वेबसाइट से यह कहते हुए, क्षमा करें, एक हैकर हमारे डेटाबेस में तोड़ दिया 875 00:41:52,803 --> 00:41:56,360 आप शायद बदलना चाहिए अपने पासवर्ड, इसका क्या मतलब हो सकता है? 876 00:41:56,360 --> 00:41:59,670 >> खैर, एक, मतलब हो सकता है कंपनी अधिक मूर्खता कर दिया गया है 877 00:41:59,670 --> 00:42:03,630 और अपने पासवर्ड भंडारण किया गया है इस तरह से एक कॉलम में, अनएन्क्रिप्टेड। 878 00:42:03,630 --> 00:42:05,840 कौन सा विरोधी का मतलब है, जो, डेटाबेस चुराया 879 00:42:05,840 --> 00:42:07,440 सचमुच अपने जानता है उपयोगकर्ता नाम और पासवर्ड। 880 00:42:07,440 --> 00:42:08,960 यही कारण है कि सबसे ज्यादा संभव परिदृश्य है। 881 00:42:08,960 --> 00:42:11,710 और अगर आप पी-सेट में देखेंगे के रूप में सात से बचने के लिए इतना आसान है। 882 00:42:11,710 --> 00:42:15,624 बिल्कुल कोई बहाना वहाँ उस के लिए है आज के इंटरनेट में मूर्खता के रूप में। 883 00:42:15,624 --> 00:42:18,540 Two-- और हम कुछ लेख मिल जाएगा यह अभी भी तथ्य यह है कि गवाही देने के लिए 884 00:42:18,540 --> 00:42:21,710 nonetheless-- होता है, दो, शायद विरोधी 885 00:42:21,710 --> 00:42:23,840 डेटाबेस के इस संस्करण चुरा लिया। 886 00:42:23,840 --> 00:42:27,110 कौन सा है, अभी भी बुरी तरह से है क्योंकि अब वे मुझे छह ग्राहकों को पता है कि, 887 00:42:27,110 --> 00:42:29,270 मैं उपयोगकर्ता नाम पता उन छह ग्राहकों की, 888 00:42:29,270 --> 00:42:32,910 और मैं एन्क्रिप्टेड जानते संस्करणों, या hashed संस्करणों, 889 00:42:32,910 --> 00:42:34,340 उन छह ग्राहकों के पासवर्ड की। 890 00:42:34,340 --> 00:42:37,010 आप में से किसी लेकिन जो हो सकता है कर लिया [? हैकर 2?] 891 00:42:37,010 --> 00:42:41,150 आप पासवर्ड फटा, या लिया जहां एक समस्या के उस संस्करण को देखो 892 00:42:41,150 --> 00:42:46,280 सेट, क्यों अभी भी एक छोटे चिंताजनक यह है विरोधी अपने हैश जानता है 893 00:42:46,280 --> 00:42:47,435 पासवर्ड? 894 00:42:47,435 --> 00:42:49,732 >> दर्शकों: क्योंकि वे सकता है पूरे शब्दकोश दर्ज 895 00:42:49,732 --> 00:42:50,690 हैश समारोह में। 896 00:42:50,690 --> 00:42:54,520 और अपने पासवर्ड एक शब्दकोश है, तो शब्द, [? वे सिर्फ match-- सकता है?] 897 00:42:54,520 --> 00:42:57,640 >> डेविड मालन: वास्तव में, विरोधी बस आप में से कुछ की तरह है, कोड लिख सकते हैं 898 00:42:57,640 --> 00:43:00,526 [के लिए किया था? हैकर?] 2, आप पर पुनरावृति जिससे 899 00:43:00,526 --> 00:43:03,400 शब्दकोश में शब्द के सभी, एक या सभी संभव संयोजनों 900 00:43:03,400 --> 00:43:06,610 जेड के माध्यम से और nine-- के माध्यम से एक जो एक बहुत की तरह लगता है, और यह है। 901 00:43:06,610 --> 00:43:08,361 लेकिन एक कंप्यूटर के लिए, यह बहुत रफ़ू तेज है। 902 00:43:08,361 --> 00:43:10,610 और वास्तव में, यह था कि का केंद्र [? हैकर 2,?] था 903 00:43:10,610 --> 00:43:12,540 कि सामान लेने के लिए सचमुच, इस तरह दिखता है 904 00:43:12,540 --> 00:43:14,900 और रिवर्स इंजीनियर क्या यह वास्तव में था। 905 00:43:14,900 --> 00:43:17,270 >> हम कैसे कर सकते हैं तो हम में देख लेंगे और अधिक कुशलता से इस दुकान। 906 00:43:17,270 --> 00:43:20,210 शुक्र MySQL में पता चला है, डेटा प्रकार होने के लिए वहां जा रहे हैं। 907 00:43:20,210 --> 00:43:22,800 और के बारे में मजेदार भागों में से एक डेटाबेस डिजाइन, ईमानदार हो, 908 00:43:22,800 --> 00:43:25,810 वास्तव में खुद के लिए तय है कैसे आप डेटा का प्रतिनिधित्व करना चाहिए? 909 00:43:25,810 --> 00:43:29,630 आप के रूप में एक फोन नंबर का प्रतिनिधित्व करना चाहिए एक बड़ी संख्या है, या एक लंबे समय की तरह एक पूर्णांक,? 910 00:43:29,630 --> 00:43:31,630 या आप वास्तव में यह क्या करते हो वर्ण के एक दृश्य के रूप में? 911 00:43:31,630 --> 00:43:33,780 और बहुत ही नहीं किया जा सकता इस के गैर तुच्छ प्रभाव डालता है। 912 00:43:33,780 --> 00:43:36,714 >> वास्तव में, एक जल्द से जल्द, आनन्द सार्थक कहानियों 913 00:43:36,714 --> 00:43:39,880 मार्क जुकरबर्ग का निर्माण किया गया है, जब फेसबुक, यह मूल रूप में लिखा गया था, 914 00:43:39,880 --> 00:43:42,300 और अभी भी काफी हद तक PHP में लिखा है। 915 00:43:42,300 --> 00:43:45,400 और सबसे बड़ी चुनौतियों में से एक वे जल्दी स्केलिंग था पर सामना करना पड़ा। 916 00:43:45,400 --> 00:43:48,820 वे बाद स्कूल में जोड़ रखा है जब स्कूल के बाद, मेरी जानकारी के लिए, 917 00:43:48,820 --> 00:43:51,639 मूल समाधानों में से एक कॉपी और पेस्ट करने के लिए अनिवार्य था 918 00:43:51,639 --> 00:43:53,430 कुछ डेटाबेस और कोड के कुछ, 919 00:43:53,430 --> 00:43:55,346 हार्वर्ड था कि इतने अपने खुद के सर्वर पर चल रहा है, 920 00:43:55,346 --> 00:43:56,995 और एमआईटी अपने खुद के सर्वर पर चल रहा था। 921 00:43:56,995 --> 00:43:59,120 और यह क्यों था, के लिए कुछ आप में से कौन याद हो सकता है, 922 00:43:59,120 --> 00:44:01,510 आप दोस्तों के नहीं हो सकता था अन्य नेटवर्कों में। 923 00:44:01,510 --> 00:44:05,050 >> आप शायद कम से दोस्त नहीं है 10 या तो साल पहले एमआईटी या हार्वर्ड, 924 00:44:05,050 --> 00:44:07,467 लेकिन आप नेटवर्क अवधि नहीं कर सका आंशिक रूप से उस कारण के लिए। 925 00:44:07,467 --> 00:44:10,550 और के लिए सबसे बड़ी चुनौतियों में से एक मार्क और फेसबुक जैसी कंपनियों के लिए 926 00:44:10,550 --> 00:44:13,460 वास्तव में सैकड़ों संभाल रही है और हजारों और लाखों 927 00:44:13,460 --> 00:44:14,460 प्रति सेकंड अनुरोधों की। 928 00:44:14,460 --> 00:44:16,501 तो बातें हम शुरू करेंगे इस सप्ताह के बारे में बात कर 929 00:44:16,501 --> 00:44:19,860 वास्तव में करने के लिए सार्थक होने जा रहे हैं अच्छा सॉफ्टवेयर लेखन, और लोकप्रिय 930 00:44:19,860 --> 00:44:23,040 सफल उपकरण है कि उपयोगकर्ताओं के बहुत संभाल कर सकते हैं। 931 00:44:23,040 --> 00:44:25,460 >> इसलिए हम चीजों के बारे में बात करेंगे अनुक्रमण और खोज की तरह, 932 00:44:25,460 --> 00:44:26,910 लेकिन लगता है कि यह आज के लिए है। 933 00:44:26,910 --> 00:44:28,780 हम बुधवार को अधिक के लिए आप देखेंगे। 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [संगीत - "Seinfeld" थीम] 936 00:44:33,902 --> 00:44:35,943 डेविड मालन: आप के लिए कर सकते हैं यह, और इसे से घटाना। 937 00:44:35,943 --> 00:44:38,859 और आप के साथ रहना नहीं करना पड़ेगा स्मृति के कुछ पूर्व निर्धारित राशि। 938 00:44:38,859 --> 00:44:40,580 खैर, यह है कि क्या कहा जा रहा है? 939 00:44:40,580 --> 00:44:42,369 >> स्पीकर 1: ठीक है, क्या हो रहा है? 940 00:44:42,369 --> 00:44:43,535 स्पीकर 2: तुम क्या मतलब है? 941 00:44:43,535 --> 00:44:44,451 उन्होंने कहा कि एक व्याख्यान दे रही है। 942 00:44:44,451 --> 00:44:47,650 डेविड मालन: और हम एक का उपयोग कर सकते हैं समारोह memory-- को malloc बुलाया 943 00:44:47,650 --> 00:44:50,050 >> स्पीकर 1: क्यों अपने हथियार नहीं बढ़ रहे हैं? 944 00:44:50,050 --> 00:44:52,450 >> स्पीकर 2: ठीक है that's-- तुम्हें पता है, यह सामान्य है। 945 00:44:52,450 --> 00:44:57,162 वह बस की तरह बस बात ये है बड़े सॉस वहाँ फांसी। 946 00:44:57,162 --> 00:44:59,040 >> स्पीकर 1: यह सामान्य है? 947 00:44:59,040 --> 00:45:03,096 >> स्पीकर 2: हाँ, मुझे लगता है कि हम बस गलती से वह मान 948 00:45:03,096 --> 00:45:06,840 superglue के साथ उसकी दुर्गन्ध बदल दिया। 949 00:45:06,840 --> 00:45:07,608