1 00:00:00,000 --> 00:00:01,940 >> [عزف الموسيقى] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> DAVID مالان: هذا هو CS 50، و هذه هي بداية الاسبوع تسعة. 4 00:00:14,620 --> 00:00:18,240 وما كنا نظن أننا سوف نفعل اليوم ليس فقط إغلاق الباب في الأسبوع الماضي 5 00:00:18,240 --> 00:00:22,670 المواد حيث ركزنا على الخادم الجانب برمجة الويب مع PHP و SQL، 6 00:00:22,670 --> 00:00:23,549 بعض الاشياء قاعدة البيانات. 7 00:00:23,549 --> 00:00:25,590 سوف نتحدث عن شيء من الأمن اليوم ثم 8 00:00:25,590 --> 00:00:29,590 الانتقال إلى البرمجة جانب العميل لغة تعرف باسم جافا سكريبت. 9 00:00:29,590 --> 00:00:31,330 ولكن أولا، بعض الفداء. 10 00:00:31,330 --> 00:00:35,030 >> ولعلكم تذكرون أنه في الأربعاء، شرعت 11 00:00:35,030 --> 00:00:37,550 لكتابة الموقع الذي أخذت في مدخلات المستخدم 12 00:00:37,550 --> 00:00:41,120 قبل أن تشكل HTML المخزنة ثم أن أسماء إدخال المستخدم، هاتف 13 00:00:41,120 --> 00:00:43,124 الأرقام والهواتف المحمولة الناقلين في قاعدة البيانات. 14 00:00:43,124 --> 00:00:45,540 ثم كان لي أمر صغير السيناريو خط كتابة في PHP 15 00:00:45,540 --> 00:00:47,956 التي كان من المفترض أن تكرار على مدى الصفوف في قاعدة البيانات 16 00:00:47,956 --> 00:00:49,400 وترسل رسائل نصية. 17 00:00:49,400 --> 00:00:53,870 على الرغم من العديد، العديد من المحاولات، ونحن لم تحصل على هذا العمل بحلول نهاية. 18 00:00:53,870 --> 00:00:57,820 >> لذلك قضيت هذا الأسبوع بأكمله العمل على هذا الرمز لتحصل لنا بعد نقطة 19 00:00:57,820 --> 00:01:01,220 حيث توقفنا، حيث جميع حصلت بنهاية يوم الأربعاء 20 00:01:01,220 --> 00:01:05,500 وكانت هذه رسالة نصية من مارجو لأنني كافحت، 21 00:01:05,500 --> 00:01:09,940 تليها رسالة نصية من آخر زميل، كنت قد حصلت على هذا ديفيد. 22 00:01:09,940 --> 00:01:14,030 تليها هذا واحد، مشجع رائع. 23 00:01:14,030 --> 00:01:15,840 أبقى على الذهاب، مشجعة جدا. 24 00:01:15,840 --> 00:01:20,960 أنا تقريبا حصلت عليه حتى then-- و هذا علما أننا انتهت يوم الاربعاء. 25 00:01:20,960 --> 00:01:25,850 ثم في الواقع ربما المفضل، وبعد لحظة، وجاء هذا في. 26 00:01:25,850 --> 00:01:27,000 لعنة لايف ستريم. 27 00:01:27,000 --> 00:01:31,080 >> حتى اليوم، يمكننا إصلاح هذا مع سريعة ننظر إلى ما فعلته منذ ذلك الحين. 28 00:01:31,080 --> 00:01:35,440 لذلك كل من هذا الرمز هو متاح من الانترنت، الأسبوع الماضي الأسبوع ثمانية، 29 00:01:35,440 --> 00:01:36,300 شفرة المصدر. 30 00:01:36,300 --> 00:01:39,425 وسترى أن ذهبت من خلال، وأنا تنظيف فعليا حتى الأشياء قليلا. 31 00:01:39,425 --> 00:01:42,080 تعرفت على اثنين آخرين ميزات قاعدة بيانات SQL. 32 00:01:42,080 --> 00:01:45,300 على سبيل المثال، بدلا من فقط للتأكد من الناقل فار تشار 33 00:01:45,300 --> 00:01:47,310 وأنا أعتقد أنني فعلت على الطاير الأسبوع الماضي. 34 00:01:47,310 --> 00:01:49,820 أنا بدلا تعريفها بأنها ما يسمى التعداد. 35 00:01:49,820 --> 00:01:53,310 >> و قد شهدت بعض منكم هذا كما اكتشفنا C. التعداد هو في الواقع 36 00:01:53,310 --> 00:01:56,820 سمة من سمات C حيث يمكنك تعداد في مجمله مجموعة من الثوابت 37 00:01:56,820 --> 00:01:59,640 وتعيينها القيم التلقائية، مثل واحد، اثنان، ثلاثة، أربعة 38 00:01:59,640 --> 00:02:01,330 دون الحاجة إلى الأرقام رمز الصعبة. 39 00:02:01,330 --> 00:02:04,780 لذا SQL يدعم نفسه، حيث إن لديك حقل قاعدة البيانات الذي قمت فقط 40 00:02:04,780 --> 00:02:09,389 تريد أن تأخذ على أحد محدود القيم، يمكنك تحديد حرفيا 41 00:02:09,389 --> 00:02:13,120 كما فعلت هناك لمدة أربعة الولايات المتحدة حاملات الهواتف المحمولة شعبية. 42 00:02:13,120 --> 00:02:13,819 >> هكذا فعلت ذلك. 43 00:02:13,819 --> 00:02:16,610 وقدم لي عدد من التغييرات جيدا، وأهمها 44 00:02:16,610 --> 00:02:20,090 تم الحصول على البريد الإلكتروني ليعمل التذكير، أن هذا البرنامج الذي اعتمد على 45 00:02:20,090 --> 00:02:23,470 ودعا عموما بريد إلكتروني إلى بوابة الرسائل القصيرة، والتي هي فقط 46 00:02:23,470 --> 00:02:27,670 طريقة أخرى للقول بأن فيريزون، و AT & T، وغيرها من الناس دعم خادم، 47 00:02:27,670 --> 00:02:30,740 حيث إذا تلقت البريد الإلكتروني، وذلك بتحويلها إلى SMS 48 00:02:30,740 --> 00:02:33,290 ويرسل النص رسالة إلى هاتف شخص ما. 49 00:02:33,290 --> 00:02:37,010 حتى إذا فعلت ذلك بشكل صحيح، هنا هو شكل جديد وتحسين 50 00:02:37,010 --> 00:02:39,259 ما يجري التحدث الى مدونة جديدة ومحسنة، والتي 51 00:02:39,259 --> 00:02:40,300 يمكنك ان تلعب مع الانترنت. 52 00:02:40,300 --> 00:02:44,140 وستجعل نأمل بلدي زمارة الهاتف في مجرد لحظة. 53 00:02:44,140 --> 00:02:47,240 >> ذلك أولا، أنا ذاهب إلى كتابة اسمي. 54 00:02:47,240 --> 00:02:51,400 ثانيا، أنا لا أذهب للقيام بذلك هذه المرة. 55 00:02:51,400 --> 00:02:53,920 انا ذاهب الى لا تفقد عنصر. 56 00:02:53,920 --> 00:02:56,710 وهذا هو مجرد الشيء القليل لذلك أنا لا 57 00:02:56,710 --> 00:02:59,250 خلق ساعات ما بعد الإنتاج العمل كما فعلت في المرة السابقة. 58 00:02:59,250 --> 00:03:02,300 الآن هناك رقم هاتفي. 59 00:03:02,300 --> 00:03:03,560 >> انا حدد فيريزون. 60 00:03:03,560 --> 00:03:10,260 وهنا، دعونا تشغيل هذا الميكروفون هنا، وتهدف هذه في هاتفي هنا. 61 00:03:10,260 --> 00:03:13,130 انا ذاهب الى انقر فوق تسجيل، التي ينبغي أن نأمل 62 00:03:13,130 --> 00:03:14,530 وضعها في قاعدة البيانات. 63 00:03:14,530 --> 00:03:16,780 الآن انا ذاهب للذهاب إلى برنامج سطر الأوامر، التي 64 00:03:16,780 --> 00:03:20,825 كان يسمى استدعاء مائل نقطة النص، وعبر أصابعك. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 هنا نذهب. 67 00:03:26,527 --> 00:03:27,501 >> [DINGS PHONE] 68 00:03:27,501 --> 00:03:28,962 >> [تصفيق] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 DAVID مالان: حتى أكثر متعة من this-- انها متعة، وبطبيعة الحال، إذا كنت وصول الى ذلك. 71 00:03:34,940 --> 00:03:38,004 ولكن هذا أكثر متعة، فكرت، إذا كنا أنشأت واحدة من تلك اللحظات الفيلم 72 00:03:38,004 --> 00:03:40,420 حيث كأنه شيء حقا حدث سيئة في العالم، 73 00:03:40,420 --> 00:03:42,860 ومثل جميع الناس NSA الهواتف المحمولة تبدأ التصفير 74 00:03:42,860 --> 00:03:44,860 مع الرسائل النصية تنبيههم إلى هذه الحقيقة. 75 00:03:44,860 --> 00:03:47,026 لذلك أنا أعتقد أننا سوف نحاول لإعادة نفسه هنا، 76 00:03:47,026 --> 00:03:49,610 حيث لا تستخدم قاعدة بيانات، أنا بدلا مقدما 77 00:03:49,610 --> 00:03:51,490 كتب برنامج يشبه هذا. 78 00:03:51,490 --> 00:03:53,660 >> هذا هو index.php-- وأضع هذا الرمز على الانترنت 79 00:03:53,660 --> 00:03:56,710 كما يبدو أن well-- فقط يجعل form.php، 80 00:03:56,710 --> 00:04:00,990 باستخدام أسلوب النموذج MVC أننا الحديث عن بمزيد من التفصيل في مجموعة مشكلة 81 00:04:00,990 --> 00:04:01,650 سبعة. 82 00:04:01,650 --> 00:04:02,910 هذا النموذج هو بسيط جدا. 83 00:04:02,910 --> 00:04:06,634 انها سوف يقدم إلى ل ملف يسمى here.php عن طريق آخر. 84 00:04:06,634 --> 00:04:09,300 وعلى ما يبدو انها سوف تسأل للحصول على الاسم، ورقم الهاتف، 85 00:04:09,300 --> 00:04:11,400 وبعد ذلك عن طريق ما يسمى حدد القائمة، انها 86 00:04:11,400 --> 00:04:14,250 سوف أعطيك أربعة على الأقل الولايات المتحدة حاملات الهواتف المحمولة شعبية، 87 00:04:14,250 --> 00:04:17,470 ومن ثم تسمح لك فعليا أخذ الحضور بالضغط هنا. 88 00:04:17,470 --> 00:04:20,471 >> وهنا، وفي الوقت نفسه، يجري ل استعارة بعض من رمز من الوقت الماضي. 89 00:04:20,471 --> 00:04:22,553 وإذا كنت مجرد المقشود هذا، سترى أن هناك 90 00:04:22,553 --> 00:04:23,900 مجموعة كاملة من التحقق من الخطأ. 91 00:04:23,900 --> 00:04:26,640 ولكن الجمال في النهاية هو أن نحن لا الكتابة إلى قاعدة بيانات اليوم. 92 00:04:26,640 --> 00:04:29,130 نحن ابقائها بسيطة و فقط بإرسال أمل 93 00:04:29,130 --> 00:04:32,190 رسالة نصية عبر وظيفة أنا وكتب على مدى بضعة أيام دعوة الماضية 94 00:04:32,190 --> 00:04:36,270 النص، الذي هو في وظائف. PHP، وهو متاح مرة أخرى على الانترنت. 95 00:04:36,270 --> 00:04:38,210 >> حتى إذا كنت ترغب في المشاركة في هذا. 96 00:04:38,210 --> 00:04:40,190 نحن لن يتم تخزين أي شيء. 97 00:04:40,190 --> 00:04:43,809 الذهاب إلى هذا الرابط هنا في الوقت الحقيقي. 98 00:04:43,809 --> 00:04:46,850 لا تضعها فقط حتى الآن، ولكن دعونا نرى ما اذا كنا يمكن أن يكون واحد من هذه الأفلام 99 00:04:46,850 --> 00:04:49,830 لحظات الهاتف المحمول حيث الجميع يبدأ التصفير، ونأمل فقط 100 00:04:49,830 --> 00:04:53,580 مرة واحدة هذا العام على عكس عام 2011 أين ذهب هذا منحرف فظيعة. 101 00:04:53,580 --> 00:04:58,910 وعندما تذهب إلى هذا العنوان، أنت ترى نموذج بسيط السوبر 102 00:04:58,910 --> 00:05:03,884 إذا كان لديك اسم، الهاتف الخليوي عدد، وحاملة الهاتف المحمول التي 103 00:05:03,884 --> 00:05:06,175 مباريات قائمة هناك، انتقل وقبل ملء النموذج. 104 00:05:06,175 --> 00:05:07,880 ولكن لا تصل يقدم فقط حتى الآن. 105 00:05:07,880 --> 00:05:10,850 >> ما يحدث على شكل لتبدو مثل هذه. 106 00:05:10,850 --> 00:05:13,660 المضي قدما واكتب في اسمك ورقم الهاتف. 107 00:05:13,660 --> 00:05:17,670 OOP، شخص ما يحدث في الطليعة. 108 00:05:17,670 --> 00:05:18,170 لا بأس. 109 00:05:18,170 --> 00:05:19,340 حسنا، لقد شغل الجميع الاستمارة. 110 00:05:19,340 --> 00:05:21,400 هذا يجب أن تعمل على الهاتف، أيضا، إذا كنت تريد. 111 00:05:21,400 --> 00:05:23,695 كل الحق على علامات الخاص بك، والحصول على مجموعة، أذهب. 112 00:05:23,695 --> 00:05:24,195 ضرب هنا. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 ماذا؟ 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 لا. 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 أقسم بالله، أنا اختبرت هذا عدة مرات اليوم. 119 00:05:40,250 --> 00:05:41,720 كنت حصلت عليه؟ 120 00:05:41,720 --> 00:05:43,145 >> [فاصلة أصوات] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> DAVID مالان: حسنا، ربما خطأ المستخدم. 123 00:05:49,560 --> 00:05:50,550 هذا هو اثنين. 124 00:05:50,550 --> 00:05:53,300 عملت لمدة سنتين للخروج من بضع مئات، ثلاثة، أربعة. 125 00:05:53,300 --> 00:05:55,940 حسنا، هذا جيد. 126 00:05:55,940 --> 00:05:58,520 أربعة من كل خمسة ل ماذا عن الأداء الدقيق. 127 00:05:58,520 --> 00:05:59,810 >> وذلك ما حدث للتو؟ 128 00:05:59,810 --> 00:06:02,727 هكذا يفترض، دون رؤية بك الشاشات، ماذا يمكن أن يكون errored؟ 129 00:06:02,727 --> 00:06:05,518 فمن المحتمل أننا كنا فقط في محاولة لجعل اتصالات كثيرة جدا 130 00:06:05,518 --> 00:06:08,110 إلى خادم البريد هارفارد في كل مرة واحدة من عنوان IP نفسه. 131 00:06:08,110 --> 00:06:10,740 أنا مجرد التخمين منذ لم أكن لديك متسع من الاختبار 132 00:06:10,740 --> 00:06:13,220 هذا الرمز مع بعض 300 شخصا مقدما 133 00:06:13,220 --> 00:06:16,040 لكنه الآن أدرك أن أنه ينبغي على الأقل 134 00:06:16,040 --> 00:06:18,250 وقد حصلت هذه المهمة هذه المرة. 135 00:06:18,250 --> 00:06:22,880 >> كل الحق، لذلك لماذا كل هذا أكثر ثيق ما الذي يحدث؟ 136 00:06:22,880 --> 00:06:24,900 حسنا أولا، سريع زوجين من الإعلانات. 137 00:06:24,900 --> 00:06:29,350 حتى واحد، إذا كنت ترغب في الانضمام تشانغ، و نيك، والبعض الآخر على الغداء يوم الجمعة، 138 00:06:29,350 --> 00:06:32,400 القيام RSVP في URL المعتاد هناك. 139 00:06:32,400 --> 00:06:35,650 إذا كنت تفكر في التركيز أو القيام الثانوي في CS، 140 00:06:35,650 --> 00:06:38,941 سواء كنت طالبة أو طالبة، أو حتى صغار أو كبار في هذه المرحلة 141 00:06:38,941 --> 00:06:42,490 ويمكن أن يزال الضغط في الدورات، ندرك أن كلية الهندسة 142 00:06:42,490 --> 00:06:45,620 وجمع مجانا بن و الآيس كريم جيري والمشورة 143 00:06:45,620 --> 00:06:48,910 هذا الأربعاء بعد وقت قصير من الدرجة الساعة 4:00 بعد الظهر في مبنى CS 144 00:06:48,910 --> 00:06:49,771 في ماكسويل دوركين. 145 00:06:49,771 --> 00:06:51,520 إذا كان هذا هو سريع جدا على الشاشة، واذهبوا 146 00:06:51,520 --> 00:06:55,260 لcs50.harvard.edu ل رابط إلى الحدث الفيسبوك 147 00:06:55,260 --> 00:06:57,140 حيث يمكنك ان ترى المزيد من التفاصيل. 148 00:06:57,140 --> 00:07:01,390 >> وفي الوقت نفسه، ظننت انني سوف تصحيح الشيء الآخر أنني أخطأ يوم الاربعاء. 149 00:07:01,390 --> 00:07:04,400 تبين أن الرقم مارك في الفيسبوك وليس ثلاثة. 150 00:07:04,400 --> 00:07:05,230 كان الأربعة. 151 00:07:05,230 --> 00:07:08,330 اتضح انه كان أكثر الاختبار حسابات من أذكر. 152 00:07:08,330 --> 00:07:12,400 ولكن ما شعرت مثل هذه الفرصة القيام به هو سحب ما يصل URL مثل هذا. 153 00:07:12,400 --> 00:07:16,680 >> هكذا اتضح أن الفيسبوك لديها API، واجهة برمجة تطبيقات، 154 00:07:16,680 --> 00:07:20,070 وهي آلية يمكن من خلالها لك يمكن طلب البيانات برمجيا 155 00:07:20,070 --> 00:07:24,480 في الفيسبوك والعودة آلة المعلومات القابلة للقراءة، وليس صفحات الويب 156 00:07:24,480 --> 00:07:28,690 لكن النص فقط الخام، شيء دعا جافا سكريبت تدوين كائن. 157 00:07:28,690 --> 00:07:32,150 وفي الواقع، إذا قمت بزيارة هذا URL، والتكبير، افتراضيا، 158 00:07:32,150 --> 00:07:34,960 هذا هو مارك علنا معلومات سهلة المنال. 159 00:07:34,960 --> 00:07:37,430 >> والتفاصيل مثيرة للاهتمام هنا هو مجرد أن هويته 160 00:07:37,430 --> 00:07:40,670 في الواقع، عدد أربعة، وأنا أدركت بمجرد أن فعلت ذلك. 161 00:07:40,670 --> 00:07:44,260 يمكنك أن تفعل هذا بنفسك إذا كنت تعرف الفيسبوك اسم المستخدم الخاص بك إذا كان لديك واحد. 162 00:07:44,260 --> 00:07:45,440 فقط اكتبه حتى أعلى هناك. 163 00:07:45,440 --> 00:07:46,640 ولا شيء من هذا هو الخاص. 164 00:07:46,640 --> 00:07:48,670 أنا فقط القيام بذلك حتى في وضع التصفح المتخفي. 165 00:07:48,670 --> 00:07:49,900 لذلك أنا لا حتى تقوم بتسجيل الدخول. 166 00:07:49,900 --> 00:07:54,440 وكنت ترى أنني كان على ما يبدو مستخدم عدد 6454 167 00:07:54,440 --> 00:07:56,480 في الفيسبوك، وهي ليست سيئة للغاية هذه الأيام. 168 00:07:56,480 --> 00:07:59,900 لذلك على أية حال، سترى أيضا معلومات إضافية هناك. 169 00:07:59,900 --> 00:08:02,150 >> والجانب المفيد ذلك هو أنك 170 00:08:02,150 --> 00:08:06,890 يمكن كتابة البرامج الخاصة بك التي يدمج البيانات مثل هذه بطريقة أو بأخرى 171 00:08:06,890 --> 00:08:08,170 في التطبيق الخاص بك. 172 00:08:08,170 --> 00:08:10,650 يمكنك تمكين المستخدمين ل تسجيل الدخول إلى موقع الويب الخاص بك، 173 00:08:10,650 --> 00:08:14,190 لا تستخدم اسم المستخدم المخصصة الخاصة بهم و كلمة السر لكن ربما هم الفيسبوك تسجيل الدخول 174 00:08:14,190 --> 00:08:16,170 والحصول على معلومات حتى حول أصدقائهم، 175 00:08:16,170 --> 00:08:18,740 إذا كانت هذه الموافقة، أو ما شابه ذلك. 176 00:08:18,740 --> 00:08:21,430 لذلك نلاحظ أن CS50، أيضا، لديها بعض من واجهات برمجة التطبيقات الخاصة بها، 177 00:08:21,430 --> 00:08:24,620 واحدة للبيانات بالطبع التسويقي، بعض للقوائم العناق في الطعام 178 00:08:24,620 --> 00:08:26,730 قاعات، كل من المباني والمواقع 179 00:08:26,730 --> 00:08:30,930 في الحرم الجامعي لدينا API لوكذلك التي يمكنك الاستعلام بالمثل والحصول على 180 00:08:30,930 --> 00:08:35,520 البيانات النصية الظهر التي يمكنك دمج في PHP أو جافا سكريبت، أو حتى، 181 00:08:35,520 --> 00:08:38,320 وإن كان أقل شيوعا، و C يستند المشروع النهائي. 182 00:08:38,320 --> 00:08:41,190 >> في الواقع قبل للنهائي مشروع عدد قليل من المعالم. 183 00:08:41,190 --> 00:08:42,980 هل حصلت على رسالة بريد إلكتروني منا في اليوم الآخر. 184 00:08:42,980 --> 00:08:45,761 ندرك أن الاقتراح ويرجع ذلك يوم الاثنين القادم. 185 00:08:45,761 --> 00:08:49,010 انها ليست ملزمة بالضرورة، ولكنك لا حاجة لتلقي زملاء التدريس الخاص 186 00:08:49,010 --> 00:08:51,260 الموافقة قبل اتخاذ أي تغييرات بعد ذلك. 187 00:08:51,260 --> 00:08:54,280 ثم متقدمون ل عدد من المعالم الأخرى. 188 00:08:54,280 --> 00:08:56,542 >> ذلك أن ندف لك، أيضا، مع بعض الاحتمالات، 189 00:08:56,542 --> 00:08:58,250 لدينا مجموعة من هذه المصابيح هوى. 190 00:08:58,250 --> 00:09:01,190 وبعض من رفاق دينا الآن بعض هذه في غرفة النوم الخاصة بك أيضا. 191 00:09:01,190 --> 00:09:02,920 ولديهم أيضا على API. 192 00:09:02,920 --> 00:09:07,300 لذلك أذكر تلك الأسابيع المصابيح الثنائية قبل أن دان برادلي وأنسل 193 00:09:07,300 --> 00:09:08,780 خلق الدف بالنسبة لنا. 194 00:09:08,780 --> 00:09:12,560 أنها تستخدم واجهة البرنامج ل هذا المصباح الكهربائي، والتي في الوقت الحالي 195 00:09:12,560 --> 00:09:15,232 يتم توصيل الكهرباء إلى ومن ثم عن طريق اللاسلكي 196 00:09:15,232 --> 00:09:17,690 متصل الشيء القليل ودعا الجسر إلى هنا، 197 00:09:17,690 --> 00:09:21,280 وكأنه ملكية خاصة الموجه قليلا لهذا الجهاز بالذات. 198 00:09:21,280 --> 00:09:26,540 >> ولكن تبين لو كنت أعرف كيف إرسال رسائل HTTP، وعلينا جميعا القيام به الآن، 199 00:09:26,540 --> 00:09:31,670 أنا يستطيع أرسلت رسالة من هذا القبيل ل هذا المصباح الكهربائي لتشغيله أو إيقاف تشغيله 200 00:09:31,670 --> 00:09:34,000 أو يفعل أي عدد من عمليات أخرى على ذلك. 201 00:09:34,000 --> 00:09:36,110 لاحظ أنه لا يحصل، ليس بعد ذلك. 202 00:09:36,110 --> 00:09:37,760 هناك واحد آخر يسمى وضع. 203 00:09:37,760 --> 00:09:39,630 هناك في الواقع عدد قليل من غيرها من مثل هذه الأفعال. 204 00:09:39,630 --> 00:09:42,920 ولكن لاحظت ان هناك طريقا هناك، خفض API، خفض المطور الجديد، 205 00:09:42,920 --> 00:09:44,990 خفض الضوء، وخفض واحد، خفض الدولة. 206 00:09:44,990 --> 00:09:49,060 >> وهذا على ما يبدو مجرد مسار الشركة، فيليبس، 207 00:09:49,060 --> 00:09:51,640 قررت لديك لتصل مع طلب HTTP 208 00:09:51,640 --> 00:09:55,010 إذا كنت ترغب في تغيير الدولة لمبة باستخدام HTTP 1.1. 209 00:09:55,010 --> 00:09:56,380 ثم لاحظ سطر فارغ. 210 00:09:56,380 --> 00:10:00,170 ثم أخيرا ما يشبه نوع من مصفوفة من نوع ما، 211 00:10:00,170 --> 00:10:04,730 هذا هو الذهاب مرة أخرى ليتم استدعاؤها جافا سكريبت تدوين كائن، أو جيسون. 212 00:10:04,730 --> 00:10:08,000 وما تراه هنا هو أن هناك ثلاثة أزواج قيمة المفتاح. 213 00:10:08,000 --> 00:10:09,115 >> ويطلق على مفتاح واحد. 214 00:10:09,115 --> 00:10:10,990 وقيمته على ما يبدو سوف يكون ذلك صحيحا. 215 00:10:10,990 --> 00:10:13,612 سطوع هو 128، والتي هو نوع من كثافة العمليات. 216 00:10:13,612 --> 00:10:15,820 ثم الساعة الانتقالية الصفر، وهو ما يبدو 217 00:10:15,820 --> 00:10:17,970 كم من الوقت سيكون ل تتخذ لتحويل هذا الشيء على. 218 00:10:17,970 --> 00:10:19,890 >> حتى الآن هذا المصباح الكهربائي. 219 00:10:19,890 --> 00:10:22,880 ولكن إذا كنت تفعل بالضبط this-- السماح لي بالذهاب إلى ورقة غش صغيرة 220 00:10:22,880 --> 00:10:25,200 أن دان أنشئت في advance-- وانا ذاهب 221 00:10:25,200 --> 00:10:27,920 للمضي قدما ونسخ الأمر التالي. 222 00:10:27,920 --> 00:10:30,200 حليقة، والبعض منكم قد استقاها على CS50 223 00:10:30,200 --> 00:10:35,080 مناقشة هو أداة مثل تلنت مثل هذا أنه يمكنك محاكاة طلبات HTTP، 224 00:10:35,080 --> 00:10:36,360 يضع على وجه التحديد. 225 00:10:36,360 --> 00:10:39,710 أستطيع أن ترسل هذه البيانات، على وجه التحديد ما نحن فقط 226 00:10:39,710 --> 00:10:43,430 شهدت لحظة مضت تحديدا لURL هذا أكثر من هنا. 227 00:10:43,430 --> 00:10:46,310 ثم الضفيرة يجري التعامل معها كل الرؤوس المطلوبة 228 00:10:46,310 --> 00:10:47,600 وهناك تحليل لل. 229 00:10:47,600 --> 00:10:54,700 >> لذا كل ما عليك فعله هو نسخ هذا إلى نافذة الصالة ثم ضرب أدخل. 230 00:10:54,700 --> 00:10:56,000 والمصباح الكهربائي تطول. 231 00:10:56,000 --> 00:10:59,060 وهذا هو كل شيء يمر جهاز الكمبيوتر الخاص بي لاسلكيا 232 00:10:59,060 --> 00:11:01,960 بطريقة أو بأخرى وصولا الى الجسر الذي ثم يتحدث إلى هذا المصباح الكهربائي. 233 00:11:01,960 --> 00:11:02,960 أستطيع أن أفعل شيئا آخر. 234 00:11:02,960 --> 00:11:07,050 أنا يمكن أن تجعل هذا الشيء اذهب الأحمر على سبيل المثال. 235 00:11:07,050 --> 00:11:11,040 أنا يمكن على سبيل المثال جعل هذا الشيء يذهب الأخضر. 236 00:11:11,040 --> 00:11:12,220 أنا يمكن أن تجعل من الذهاب الأزرق. 237 00:11:12,220 --> 00:11:14,760 >> وتلاحظ في كل من هذه الحالات، كل ما أنا تغيير 238 00:11:14,760 --> 00:11:18,540 هي ما يسمى قيمة هوى ل في الواقع تعطيه بعض الألوان. 239 00:11:18,540 --> 00:11:20,320 لذلك اسمحوا لي لصق هذا في واحد كذلك. 240 00:11:20,320 --> 00:11:21,000 الآن حان الأزرق. 241 00:11:21,000 --> 00:11:24,672 >> ويمكنك القيام به حتى مربي الحيوانات أشياء where-- دعنا نذهب إلى اللون الأخضر. 242 00:11:24,672 --> 00:11:26,630 وأنا لا يمكن القيام بذلك من بالطبع مع رمز بلدي. 243 00:11:26,630 --> 00:11:30,670 ولكن حتى API نفسها يدعم العمليات غير تقليدي 244 00:11:30,670 --> 00:11:35,510 مثل هذه، والتي سوف تهتم الآن لنا ل30 ثانية القادمة. 245 00:11:35,510 --> 00:11:39,170 >> لذلك هذا هو طعم واحد من ما يمكن أن تفعل مع API، هذه واحدة تنطوي 246 00:11:39,170 --> 00:11:40,010 المصابيح الكهربائية. 247 00:11:40,010 --> 00:11:42,510 نلاحظ أن CS50 وقد اثنين أزواج من نظارات جوجل إذا كنت 248 00:11:42,510 --> 00:11:45,380 أحب لمعالجة شيء على طول تلك الخطوط، اردوينو UNOS، التي 249 00:11:45,380 --> 00:11:48,670 هي أجهزة الكمبيوتر متناهية الصغر، أساسا، على لوحة الدوائر القليل 250 00:11:48,670 --> 00:11:50,470 يمكنك الاتصال الأسلاك وغيرها من الامور 251 00:11:50,470 --> 00:11:52,732 والتحكم في الواقع لديك بيئة العالم الحقيقي. 252 00:11:52,732 --> 00:11:54,940 ثم هناك زوجين اللعب الجديدة التي لدينا. 253 00:11:54,940 --> 00:11:59,294 هذا واحد حرفيا وصل للتو اليوم الآخر عن طريق البريد، وميو الشارة. 254 00:11:59,294 --> 00:12:01,710 واعتقد انها وسيلة ل تحصل متحمس حول مشاريع 255 00:12:01,710 --> 00:12:03,720 التي قد تستخدمها مع هذا الجهاز من شأنه 256 00:12:03,720 --> 00:12:08,900 يكون للعب هذا مقطع قصير التي يستخدمونها لإثارة الناس 257 00:12:08,900 --> 00:12:10,500 أننا نعيش الآن في المستقبل. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [عزف الموسيقى] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> DAVID مالان: حتى في بضعة أسابيع، ل أيضا يمكن أن تكون باردة في هذا المعرض CS50. 262 00:13:37,109 --> 00:13:39,150 جهاز آخر على أننا لدينا مجموعة من أننا 263 00:13:39,150 --> 00:13:42,090 سعيدة لقرض من أصل لمشاريع ويسمى وحدة تحكم الحركة. 264 00:13:42,090 --> 00:13:45,030 هذا هو جهاز USB الصغير الاتصال بجهاز كمبيوتر 265 00:13:45,030 --> 00:13:47,520 يسمح لك بالتفاعل مع الكمبيوتر المحمول، ماك أو PC، 266 00:13:47,520 --> 00:13:51,570 كما لو كان لديك مثل كينيكت إكس بوكس وفعلا جعل الحركات الجسدية بكثير 267 00:13:51,570 --> 00:13:54,509 كما نرى في هذه رؤية للمستقبل. 268 00:13:54,509 --> 00:13:56,505 >> [عزف الموسيقى] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> DAVID مالان: حتى لو كان لديك أي فكرة عن كيفية شيء من هذا القبيل 271 00:15:06,260 --> 00:15:10,050 ربما يمكن أن يخترع أو العمل على مستوى الأجهزة، لا يهم. 272 00:15:10,050 --> 00:15:13,520 حتى بعد أشهر قليلة فقط من CS50، وفهم البرمجة 273 00:15:13,520 --> 00:15:19,460 بشكل عام، وبرمجة الويب أكثر مؤخرا، وبعد ذلك أيضا واجهات برمجة التطبيقات، وHTTP، 274 00:15:19,460 --> 00:15:21,830 سيكون لديك الوصول عبر واجهات برمجة التطبيقات البرمجيات إذا كنت 275 00:15:21,830 --> 00:15:24,680 لا تريد أن تقترض واحدة من هذه أجهزة للحديث فعلا لذلك 276 00:15:24,680 --> 00:15:27,180 وليس لديها ما يدعو للقلق تنفيذ الكامنة 277 00:15:27,180 --> 00:15:30,220 مزيد من التفاصيل، وهو تماما بما يتفق مع هذه الفكرة من طبقات 278 00:15:30,220 --> 00:15:33,610 فكرة مجردة أن لدينا شهدت طوال الفصل الدراسي. 279 00:15:33,610 --> 00:15:37,990 >> هكذا أيضا خلال عطلة نهاية الاسبوع، شهد قطع زوجين من الأخبار. 280 00:15:37,990 --> 00:15:40,640 تذهب أولا، اذهب إلى ندوات إذا كنت أود أن تعلم شيئا 281 00:15:40,640 --> 00:15:42,160 أكثر على أي عدد من المواضيع. 282 00:15:42,160 --> 00:15:43,340 رؤية URL هناك. 283 00:15:43,340 --> 00:15:45,890 وأرسلت هذا واحد ل لي تشانغ، الذي تعرفه، 284 00:15:45,890 --> 00:15:47,850 من الذي طبع لدينا جيش من الفيلة. 285 00:15:47,850 --> 00:15:49,910 وكان العنوان الرئيسي على النحو التالي. 286 00:15:49,910 --> 00:15:51,280 أشعر بالرعب من بلدي تلفزيون الجديد. 287 00:15:51,280 --> 00:15:54,301 لماذا أنا خائفة لتحويل هذه شيء وكنت على أن يكون جدا. 288 00:15:54,301 --> 00:15:56,050 لذلك نحن الآن في نشير في الفصل الدراسي، 289 00:15:56,050 --> 00:15:58,860 جدا، حيث حتى لو كان لديك أدنى من التفاهم 290 00:15:58,860 --> 00:16:02,620 من الكيفية التي يعمل بها على شبكة الإنترنت، وHTTP، والأمن، وأشياء من هذا القبيل 291 00:16:02,620 --> 00:16:03,980 يجب أن تبدأ في اللحاق العين. 292 00:16:03,980 --> 00:16:07,450 ولكن أيضا، عليك أن تفهم إذا كانت هذه الأمور أو لا 293 00:16:07,450 --> 00:16:08,430 التهديدات الفعلية. 294 00:16:08,430 --> 00:16:10,940 >> لذلك أخذت بعض المقتطفات من هذه المادة هنا. 295 00:16:10,940 --> 00:16:12,540 والقصة هي كما يلي. 296 00:16:12,540 --> 00:16:14,300 أنا الآن مالك التلفزيون الذكي الجديد، الذي 297 00:16:14,300 --> 00:16:18,470 وعود لتقديم يتدفقون محتوى الوسائط المتعددة، والألعاب، والتطبيق، و 298 00:16:18,470 --> 00:16:21,450 وسائل الاعلام الاجتماعية، والانترنت التصفح، يا والتلفزيون أيضا. 299 00:16:21,450 --> 00:16:24,410 المشكلة الوحيدة هي أنني الآن خائف على استخدامها، كما يقول الكاتب. 300 00:16:24,410 --> 00:16:29,592 هل سيكون، أيضا، إذا كنت تقرأ من خلال سياسة الخصوصية 46 صفحة لجهاز التلفزيون. 301 00:16:29,592 --> 00:16:31,800 كمية البيانات هذه يجمع شيء مذهل. 302 00:16:31,800 --> 00:16:35,710 فإنه يسجل أين ومتى، وكيف، و إلى متى يمكنك استخدام جهاز التلفزيون. 303 00:16:35,710 --> 00:16:38,190 ويحدد تتبع الكوكيز، كما ناقشناه، 304 00:16:38,190 --> 00:16:40,560 ومنارات مصممة للكشف عندما يكون لديك 305 00:16:40,560 --> 00:16:43,185 ينظر محتوى معين أو رسالة البريد الإلكتروني معينة 306 00:16:43,185 --> 00:16:45,230 إذا كنت تريد التحقق من البريد الإلكتروني على جهاز التلفزيون. 307 00:16:45,230 --> 00:16:48,430 يسجل التطبيقات التي الاستخدام، والمواقع التي تزورها، 308 00:16:48,430 --> 00:16:52,280 وكيف تتفاعل مع المحتوى، تفعل كل ذلك عبر التلفزيون الذكي الخاص بك. 309 00:16:52,280 --> 00:16:55,470 أيضا، creepier yet-- هذا هو بلدي addition-- 310 00:16:55,470 --> 00:16:58,140 وقد بنيت في الكاميرا مع التعرف على الوجه. 311 00:16:58,140 --> 00:17:01,010 >> والغرض من ذلك هو توفير السيطرة فتة للتلفزيون 312 00:17:01,010 --> 00:17:05,490 وتمكنك من تسجيل الدخول إلى شخصية حساب باستخدام وجهك. 313 00:17:05,490 --> 00:17:08,940 وعلى الجانب العلوي، والصور هي المحفوظة على التلفزيون بدلا من تحميلها. 314 00:17:08,940 --> 00:17:09,940 إلى ملقم الشركات. 315 00:17:09,940 --> 00:17:12,520 على الجانب السلبي، وشبكة الإنترنت اتصال يجعل التلفزيون كله 316 00:17:12,520 --> 00:17:14,811 عرضة للقراصنة الذين أثبتت قدرة 317 00:17:14,811 --> 00:17:16,700 لتأخذ السيطرة الكاملة على الجهاز. 318 00:17:16,700 --> 00:17:20,880 >> الأكثر إثارة للقلق، وإذا لم يكن ذلك ذكية بما فيه الكفاية، هو الميكروفون. 319 00:17:20,880 --> 00:17:23,599 التلفزيون تفتخر صوت ميزة التعرف على 320 00:17:23,599 --> 00:17:26,859 التي تسمح للمشاهدين التحكم الشاشة مع الأوامر الصوتية. 321 00:17:26,859 --> 00:17:30,290 ولكن هذه الخدمة تأتي مع تحذير المشؤومة إلى حد ما. 322 00:17:30,290 --> 00:17:33,030 يرجى أن يكون على علم أنه إذا كلماتك المنطوقة وتشمل 323 00:17:33,030 --> 00:17:36,210 شخصية أو غيرها حساسة المعلومات، هذه المعلومات 324 00:17:36,210 --> 00:17:40,310 وسيكون من بين البيانات التي تم التقاطها وتنتقل إلى طرف ثالث. 325 00:17:40,310 --> 00:17:40,870 حصل ذلك؟ 326 00:17:40,870 --> 00:17:45,860 لا أقول الشخصية أو الحساسة الاشياء أمام جهاز التلفزيون. 327 00:17:45,860 --> 00:17:47,280 >> لذلك هذا هو في الواقع لريال مدريد. 328 00:17:47,280 --> 00:17:50,530 وانه من الصعب ألا نرى ما اذا كان الذهاب لشراء أفضل أو ما شابه ذلك لأجهزة التلفاز 329 00:17:50,530 --> 00:17:51,030 في هذه الأيام. 330 00:17:51,030 --> 00:17:52,540 انهم جميعا الذكية في بعض الطريق. 331 00:17:52,540 --> 00:17:54,740 وكانوا يحصلون أكثر ذكاء وcreepier. 332 00:17:54,740 --> 00:17:57,490 وانهم ببساطة جمع البيانات في الطرق التي تحدثنا حول 333 00:17:57,490 --> 00:18:01,840 ومن ثم تحميلها عبر HTTP أو بعض بروتوكول آخر لبعض الخادم. 334 00:18:01,840 --> 00:18:05,720 >> لذلك كان من متعة هذا المقال في هذا الموقع على الانترنت 335 00:18:05,720 --> 00:18:08,940 هنا، والذي تحدث عن خلل معين أو رمز خاطئ 336 00:18:08,940 --> 00:18:11,340 أن نتمكن من ربط فعلا في مناقشة الأسبوع الماضي. 337 00:18:11,340 --> 00:18:15,730 لذلك كان هذا العنوان كما التالي، والقصة هنا، 338 00:18:15,730 --> 00:18:18,720 عملت جوش Breckman ل الشركة التي هبطت على عقد 339 00:18:18,720 --> 00:18:22,390 لتطوير إدارة المحتوى النظام، أو CMS كما انهم يسمى، 340 00:18:22,390 --> 00:18:24,380 عن موقع حكومي كبير إلى حد ما. 341 00:18:24,380 --> 00:18:27,300 الكثير من المشاريع المشاركة تطوير نظام إدارة المحتوى 342 00:18:27,300 --> 00:18:29,840 حتى أن الموظفين سيكون قادرة على بناء وصيانة 343 00:18:29,840 --> 00:18:31,877 المتغيرة من أي وقت مضى محتوى مواقعهم. 344 00:18:31,877 --> 00:18:34,210 سارت الأمور بشكل جيد جدا ل بعد أيام قليلة سوف يعيش. 345 00:18:34,210 --> 00:18:37,020 ولكن في اليوم السادس، سارت الامور ليس على ما يرام. 346 00:18:37,020 --> 00:18:39,500 كل المحتوى على وكان موقع اختفت تماما. 347 00:18:39,500 --> 00:18:42,950 وأدت كل الصفحات إلى الافتراضي، من فضلك ادخل صفحة ويب المحتوى. 348 00:18:42,950 --> 00:18:43,810 يصيح. 349 00:18:43,810 --> 00:18:46,080 وكان جوش يسمى في ل ولاحظت التحقيق 350 00:18:46,080 --> 00:18:49,390 أن واحدة مزعجة خاصة عنوان IP الخارجي زيارتها 351 00:18:49,390 --> 00:18:53,380 ذهب في وحذف كافة المحتوى على النظام. 352 00:18:53,380 --> 00:18:56,290 >> لم عنوان IP يست ملكا لبعض القراصنة عازمة الخارج 353 00:18:56,290 --> 00:18:58,340 على تدمير مفيدة المعلومات الحكومية. 354 00:18:58,340 --> 00:19:05,190 انها عقدت العزم على googlebot.com، بالذات الويب الزحف العنكبوت جوجل. 355 00:19:05,190 --> 00:19:06,010 يصيح. 356 00:19:06,010 --> 00:19:09,150 بعد قليل من البحث والهرولة حول العثور على نسخة احتياطية noncorrupt، 357 00:19:09,150 --> 00:19:10,180 وجدت جوش المشكلة. 358 00:19:10,180 --> 00:19:12,700 >> وكان المستخدم نسخ و لصق بعض المحتويات من واحد 359 00:19:12,700 --> 00:19:15,670 صفحة إلى أخرى، بما في ذلك لتحرير ارتباط تشعبي 360 00:19:15,670 --> 00:19:17,577 لتحرير المحتوى على الصفحة. 361 00:19:17,577 --> 00:19:20,160 عادة هذا لن يكون القضية منذ مستخدم خارجي من شأنه 362 00:19:20,160 --> 00:19:24,320 تحتاج إلى إدخال اسم وكلمة مرور، ولكن نظام التوثيق CMS، 363 00:19:24,320 --> 00:19:27,520 نظام تسجيل الدخول، لم تأخذ بعين الاعتبار 364 00:19:27,520 --> 00:19:30,980 القرصنة متطورة تقنيات جوجل العنكبوت. 365 00:19:30,980 --> 00:19:31,700 يصيح. 366 00:19:31,700 --> 00:19:33,610 >> كما اتضح، وجوجل العنكبوت لا تستخدم 367 00:19:33,610 --> 00:19:36,950 الكوكيز، مما يعني أنه يمكن تجاوز بسهولة الاختيار لل 368 00:19:36,950 --> 00:19:39,840 يتم تسجيل على مجموعة الكوكي أن تكون كاذبة. 369 00:19:39,840 --> 00:19:42,620 كما أنها لا تولي اهتماما ل جافا سكريبت، التي عادة 370 00:19:42,620 --> 00:19:45,170 عاجل وإعادة توجيه المستخدمين الذين لم يتم دخولك. 371 00:19:45,170 --> 00:19:48,610 ومع ذلك فإنه لا اتبع كل الارتباط التشعبي في كل صفحة يجدها، 372 00:19:48,610 --> 00:19:51,700 بما فيها تلك التي حذف الصفحة في العنوان. 373 00:19:51,700 --> 00:19:52,650 يصيح. 374 00:19:52,650 --> 00:19:56,070 >> فماذا يعني هذا في أكثر المصطلحات الفنية ولكن يمكن الوصول إليها إلى حد ما؟ 375 00:19:56,070 --> 00:19:58,340 بل يعني فقط أن طوال موقعه على الانترنت، 376 00:19:58,340 --> 00:20:02,287 كان لديهم عناوين لا يختلف هذا واحد أن قد ترى مشكلة في مجموعة السبع. 377 00:20:02,287 --> 00:20:04,620 نذكر في مشكلة تعيين سبعة أو معرفة في مشكلة تحديد سبعة 378 00:20:04,620 --> 00:20:06,411 ان كنت تحدى، من بين أمور أخرى، 379 00:20:06,411 --> 00:20:08,570 لبيع الأسهم نيابة عن مستخدمين. 380 00:20:08,570 --> 00:20:14,010 لكن تنفيذ هذه الميزة عن طريق للحصول على عبر وصلات في المستخدم الخاص بك 381 00:20:14,010 --> 00:20:16,880 واجهة، وربما لا أذكى فكرة 382 00:20:16,880 --> 00:20:20,300 لأنه إذا كان موقعك هو بطريقة أو بأخرى يمكن الوصول إليها سواء من قبل الإنسان 383 00:20:20,300 --> 00:20:23,577 من الذي حول أو النقر شراء بوت مثل غوغل أو العنكبوت 384 00:20:23,577 --> 00:20:26,160 كما انهم يسمى هذا فقط الزحف على شبكة الإنترنت في محاولة لمؤشر 385 00:20:26,160 --> 00:20:29,060 الشبكة كمحرك البحث، استطاعوا بسهولة جدا 386 00:20:29,060 --> 00:20:31,340 ضرب عن طريق الحصول على هذا النوع من URL. 387 00:20:31,340 --> 00:20:33,770 وهذا ظيفيا تعادل، في هذه الحالة، 388 00:20:33,770 --> 00:20:37,000 بيع جميع أسهم جوجل. 389 00:20:37,000 --> 00:20:40,030 >> الآن بصراحة، انها تماما أبله أن CMS 390 00:20:40,030 --> 00:20:43,240 وتستخدم جافا سكريبت والكوكيز لتنفيذ نظام تسجيل الدخول لل 391 00:20:43,240 --> 00:20:47,100 وعدم القيام بذلك من جانب الخادم، و يا رفاق تفعل وسوف في PSET 7-- 392 00:20:47,100 --> 00:20:49,940 هناك login.php الملف-- دائما، دائما، 393 00:20:49,940 --> 00:20:52,789 دائما يجب أن يكون الأمن به على جانب الملقم، 394 00:20:52,789 --> 00:20:56,080 ليس على العميل لأنه، كما هذا وتشير المادة وكنت قد نفسك 395 00:20:56,080 --> 00:20:59,600 نرى في مرحلة ما، فمن تافهة لمستخدم، جيدة أو سيئة، 396 00:20:59,600 --> 00:21:02,860 لتحويل قبالة جافا سكريبت ناهيك عن الكوكيز. 397 00:21:02,860 --> 00:21:06,020 بحيث هو WTF اليومي. 398 00:21:06,020 --> 00:21:07,970 >> هناك واحد أكثر، والتي هو مجرد نوع من مخيف، 399 00:21:07,970 --> 00:21:11,360 ولذا فإنني سوف أذكر أنه إذا فقط درسا الحياة. 400 00:21:11,360 --> 00:21:14,850 كلما كنت تستخدم تطبيق تسمى مثل سناب شات أو ما شابه ذلك 401 00:21:14,850 --> 00:21:19,380 تقول هذه الصور تدوم إلا ل خمس ثوان، عشر ثوان، أو غيرها. 402 00:21:19,380 --> 00:21:21,680 انهم سريع الزوال وهذا هو قطعا ليس هو الحال. 403 00:21:21,680 --> 00:21:25,670 كما لا توجد وسيلة، رقميا، لتنفيذ بعض شكل من أشكال الفيديو، 404 00:21:25,670 --> 00:21:30,150 أو صورة، أو مشاركة تلك النصوص أن المتلقي على الطرف الآخر 405 00:21:30,150 --> 00:21:31,660 لا يمكن حفظ البيانات بطريقة ما. 406 00:21:31,660 --> 00:21:34,300 >> في معظم بطريقة ساذجة، شخص قد يستغرق هواتفهم. 407 00:21:34,300 --> 00:21:36,850 ولها نافذة الثاني 10 في حين تبحث في بعض مبكرة 408 00:21:36,850 --> 00:21:39,410 لمجرد اتخاذ بعض هاتف آخر وتصوير ذلك، ومن الواضح. 409 00:21:39,410 --> 00:21:41,660 حتى تتمكن من الحفاظ على شيء رقميا بهذه الطريقة. 410 00:21:41,660 --> 00:21:44,620 البعض منكم يعرفون كيفية اتخاذ لقطات على هاتفك. 411 00:21:44,620 --> 00:21:49,290 في الواقع، إذا كنت لا تعرف هذا، ندرك أن ما لا يقل عن سناب شات، 412 00:21:49,290 --> 00:21:51,040 واعتقد البعض تطبيقات هذه الأيام، 413 00:21:51,040 --> 00:21:53,720 على الأقل أقول لكم إذا كان المتلقي لديه في الواقع 414 00:21:53,720 --> 00:21:55,310 أخذ لقطة من الصورة. 415 00:21:55,310 --> 00:22:00,870 >> ولكن الأسوأ من ذلك، وكان هذا snappening، كما صاغ أحدهم مؤخرا، 416 00:22:00,870 --> 00:22:04,680 حيث بعض 100000 قد ينجذب تم الافراج 417 00:22:04,680 --> 00:22:09,310 في ما يسمى ملف التورنت على مختلف المواقع في نهاية المطاف. 418 00:22:09,310 --> 00:22:12,000 وهذه تحتوي على مجموعة كاملة الرسائل الخاصة والمشاركات. 419 00:22:12,000 --> 00:22:15,210 اتضح معظمهم حميدة، حتى لا ما قد تتوقع. 420 00:22:15,210 --> 00:22:17,580 ولكن لأنه كان شخصا استخدام موقع طرف ثالث، 421 00:22:17,580 --> 00:22:20,270 تسجيل الدخول مع سناب شات بهم اسم المستخدم وكلمة المرور ومن ثم 422 00:22:20,270 --> 00:22:23,470 إنقاذ كل من ينجذب لها على هذا الموقع طرف ثالث. 423 00:22:23,470 --> 00:22:26,130 وكان هذا الطرف الثالث الموقع الذي تم اختراق، 424 00:22:26,130 --> 00:22:30,710 أحسب مما يعني مجرد شخص كيف للحصول على كل بالإضافة إلى 100،000 من تلك الصور 425 00:22:30,710 --> 00:22:33,822 إلى القرص الصلب الخاص بهم للمشاركة لاحقة. 426 00:22:33,822 --> 00:22:36,030 بصراحة، هنا أيضا، انها نوع أبله من أن سناب شات 427 00:22:36,030 --> 00:22:39,360 وينفذ في مثل هذه الطريقة التي يمكن لطرف ثالث نوع من اعتراض 428 00:22:39,360 --> 00:22:43,310 البيانات وأنها ليست مرتبطة بك تطبيق خاص يعمل على الهواتف. 429 00:22:43,310 --> 00:22:46,947 ولكن هنا أيضا، ندرك أن هذه أشياء يجب أن لا قبض عليك على حين غرة، 430 00:22:46,947 --> 00:22:49,030 أو ينبغي على الأقل هناك أن يكون درسا في الحياة هنا. 431 00:22:49,030 --> 00:22:52,220 إذا كنت ترغب التقنية مزيد من التفاصيل، يذهب إلى أن هناك URL 432 00:22:52,220 --> 00:22:53,570 هذا في الشرائح اليوم. 433 00:22:53,570 --> 00:23:00,960 كل الحق، على أي أسئلة دروس الحياة اليوم في CS؟ 434 00:23:00,960 --> 00:23:02,710 تحويل هذا الخروج. 435 00:23:02,710 --> 00:23:04,970 أي شيء على الإطلاق؟ 436 00:23:04,970 --> 00:23:06,301 أي شيء على الإطلاق؟ 437 00:23:06,301 --> 00:23:09,050 لقد حصلت على الكثير من الناس فحص سناب شات أو شيئا الآن. 438 00:23:09,050 --> 00:23:11,690 >> كل الحق، لذلك SQL، لغة الاستعلام الهيكلية. 439 00:23:11,690 --> 00:23:12,509 دعونا التفاف هذا. 440 00:23:12,509 --> 00:23:14,300 وأيضا، على الرغم من نحن فقط خدش 441 00:23:14,300 --> 00:23:16,310 سطح هذا اللغة، سنعطيك 442 00:23:16,310 --> 00:23:18,930 ما يكفي من اللغة في شكل PSET 7 443 00:23:18,930 --> 00:23:22,140 لكي تتمكن من معالجة بعض وظائف مشتركة إلى حد ما. 444 00:23:22,140 --> 00:23:24,912 ولكن أدرك أن هناك زوجين الأشياء التي لا تتطلب منكم، 445 00:23:24,912 --> 00:23:27,120 بل انهم ذاهبون ليكون تأتي أهمية المشاريع النهائية 446 00:23:27,120 --> 00:23:30,760 وتأتي بالتأكيد جعل الفعلية المواقع مع المستخدمين الفعليين 447 00:23:30,760 --> 00:23:32,040 هذا القرار هو التصميم. 448 00:23:32,040 --> 00:23:34,460 >> اتضح أنه في قاعدة بيانات MySQL، وكنت 449 00:23:34,460 --> 00:23:37,460 لدينا باقات من الخيارات مثل أنواع البيانات للأعمدة بك 450 00:23:37,460 --> 00:23:41,670 وغيرها من الأمور، ولكن لديك أيضا خيار ما يسمى التخزين 451 00:23:41,670 --> 00:23:44,570 المحرك لجميع البيانات الخاصة بك، هذا النوع من نظام الملفات، 452 00:23:44,570 --> 00:23:46,700 إذا كنت على دراية، لجميع البيانات الخاصة بك. 453 00:23:46,700 --> 00:23:48,830 شكل ما يتم حفظه في نهاية المطاف؟ 454 00:23:48,830 --> 00:23:53,300 والأكثر شيوعا، وربما كان MYISAM وك InnoDB، المصطلحات الفنية 455 00:23:53,300 --> 00:23:56,060 أننا سوف يهتمون فقط لدرجة أن أحد لديه 456 00:23:56,060 --> 00:23:58,500 واحد لايوجد الميزة التالية. 457 00:23:58,500 --> 00:24:00,390 >> لنفترض أن لديك ثلاجة النوم القليل. 458 00:24:00,390 --> 00:24:03,030 ونفترض أن لديك و الحجرة، الذين يشاركوننا هذه الثلاجة، 459 00:24:03,030 --> 00:24:04,682 مغرمون حقا من الحليب مثلا. 460 00:24:04,682 --> 00:24:07,140 وهذا هو، في الواقع، كيف يمكن لل قيل لي قصة طريق العودة 461 00:24:07,140 --> 00:24:10,890 في ذلك اليوم، عندما أخذت دورة دعا CS 161 نظام التشغيل، والتي 462 00:24:10,890 --> 00:24:12,580 يستكشف بالمثل هذا الموضوع. 463 00:24:12,580 --> 00:24:13,760 لذلك كنت قد حصلت على هذه الثلاجة. 464 00:24:13,760 --> 00:24:14,630 كنت خارجا من الحليب. 465 00:24:14,630 --> 00:24:17,000 وعدت إلى المنزل، الحجرة الخاص بك لا يزال في الدرجة أو أيا كان، 466 00:24:17,000 --> 00:24:19,208 وعليك أن تقرر انا ذاهب الى الخروج والحصول على بعض الحليب. 467 00:24:19,208 --> 00:24:22,630 لذلك قمت بإغلاق الثلاجة، سجن غرفة النوم، والذهاب عبر الشارع 468 00:24:22,630 --> 00:24:25,330 لCVS أو في أي مكان، والحصول على في خط لشراء بعض الحليب. 469 00:24:25,330 --> 00:24:28,960 >> وفي الوقت نفسه، الحجرة الخاصة بك يحصل المنزل من الطبقة، ويحصل في غرفة النوم، 470 00:24:28,960 --> 00:24:31,802 يفتح الثلاجة، ويدرك أيضا ooph، نحن من الحليب. 471 00:24:31,802 --> 00:24:33,760 حتى انه أو انها تغلق الثلاجة ويحدث بعد ذلك 472 00:24:33,760 --> 00:24:35,610 للذهاب إلى CVS الآخرين، الذي صادف أن يكون 473 00:24:35,610 --> 00:24:38,470 كتلة واحدة بعيدا عن CVS أخرى في الساحة، ويحصل في خط 474 00:24:38,470 --> 00:24:40,230 هناك للحصول على بعض الحليب. 475 00:24:40,230 --> 00:24:42,524 الآن، بالطبع، بضع دقائق في وقت لاحق، كلاكما على العودة، 476 00:24:42,524 --> 00:24:44,690 والأسوأ من ذلك كله ممكن حدث النتائج. 477 00:24:44,690 --> 00:24:45,792 كل من الحليب لديك. 478 00:24:45,792 --> 00:24:47,500 وكنت لا حقا مثل الحليب كثيرا. 479 00:24:47,500 --> 00:24:49,625 حتى واحد منهم هو فقط الذهاب إلى تعكر في مرحلة ما. 480 00:24:49,625 --> 00:24:55,941 حتى الآن لديك كمية زائدة من الحليب في الثلاجة كل ذلك بسبب ماذا؟ 481 00:24:55,941 --> 00:24:57,072 >> [غير مسموع] 482 00:24:57,072 --> 00:24:59,780 DAVID مالان: نعم، كنت لا التواصل بطريقة أو بأخرى مع بعضها البعض 483 00:24:59,780 --> 00:25:00,904 أن كنت الحصول على الحليب. 484 00:25:00,904 --> 00:25:04,320 حتى في أبسط طرق في العالم البشري، 485 00:25:04,320 --> 00:25:08,390 كيف يمكن تجنب هذا سخيفة السيناريو من الحدوث مثل 486 00:25:08,390 --> 00:25:09,750 أن ينتهي بك المطاف مع واحد فقط. 487 00:25:09,750 --> 00:25:10,840 نص منهم، نعم جيدة. 488 00:25:10,840 --> 00:25:12,877 ولكن وإلا كيف؟ 489 00:25:12,877 --> 00:25:13,460 تنبيهية. 490 00:25:13,460 --> 00:25:14,626 DAVID مالان: ملاحظة ما بعد ذلك. 491 00:25:14,626 --> 00:25:17,150 أي شكل من أشكال الاتصال أن يقول الحجرة الخاصة بك 492 00:25:17,150 --> 00:25:18,670 لا تذهب إلى الثلاجة للبن. 493 00:25:18,670 --> 00:25:20,440 انا ذاهب للذهاب تقتني بمفردي. 494 00:25:20,440 --> 00:25:22,770 لذا عليك بطريقة أو بأخرى لقفل هذه الموارد. 495 00:25:22,770 --> 00:25:27,180 حتى نتمكن من جعل this-- نستطيع النوع من الخراب قصة وتتحول إلى قصة CS 496 00:25:27,180 --> 00:25:30,360 حيث التفكير في هذا الأمر وكأنه المتغير الذي يخزن بعض القيمة. 497 00:25:30,360 --> 00:25:32,570 والآن، و قيمة الحليب هي صفر، 498 00:25:32,570 --> 00:25:35,410 التي كنت لا تريد الخاص بك الحجرة لفحص هذا المتغير 499 00:25:35,410 --> 00:25:38,730 ومن ثم اتخاذ قرار بنفسه استنادا إلى حالة من هذا المتغير 500 00:25:38,730 --> 00:25:42,430 إذا كنت في عملية تغيير حالة هذا المتغير. 501 00:25:42,430 --> 00:25:46,140 >> ذلك واحد من خطوط SQL أننا تعطيك في PSET 7 مواصفات 502 00:25:46,140 --> 00:25:47,310 هذا هو واحد هنا. 503 00:25:47,310 --> 00:25:49,740 ونحن لا تنفق ضخمة مقدار الوقت الذي تتحدث عنه. 504 00:25:49,740 --> 00:25:55,100 ولكن تبين، إذا كنت تحاول لشراء بعض الأسهم في تمويل CS50 505 00:25:55,100 --> 00:25:58,000 أن لديك بالفعل بعض أسهم، ل 506 00:25:58,000 --> 00:26:01,750 تريد أن تكون قادرة على القيام بعدد من الأشياء معا على الفور. 507 00:26:01,750 --> 00:26:04,360 كنت تريد أن تكون قادرة على على نحو فعال، على مستوى عال، 508 00:26:04,360 --> 00:26:06,700 تحقق من كل حق، إذا أريد لشراء المزيد من الأسهم الحرة، 509 00:26:06,700 --> 00:26:08,780 ونحن الأسهم قرش في الحديث عن المواصفات، 510 00:26:08,780 --> 00:26:10,660 أريد أن الاختيار الأول عدد الأسهم لدي. 511 00:26:10,660 --> 00:26:11,810 ونفترض انها خمسة. 512 00:26:11,810 --> 00:26:14,600 وأريد أن أفترض شراء 10 أكثر، وأنا في نهاية المطاف 513 00:26:14,600 --> 00:26:17,069 تريد أن يكون 15 سهم من الأسهم. 514 00:26:17,069 --> 00:26:18,360 لذلك لا بد لي من طرح سؤالين. 515 00:26:18,360 --> 00:26:20,230 ما هي حالة المتغير؟ 516 00:26:20,230 --> 00:26:21,470 ما هي الدولة من الصف؟ 517 00:26:21,470 --> 00:26:22,970 كم عدد أسهم يمكنني دينا حاليا؟ 518 00:26:22,970 --> 00:26:24,636 ثم كنت تريد أن تمضي قدما وتحديثه. 519 00:26:24,636 --> 00:26:27,720 لذلك هذا هو التناظرية إلى الحليب في أن تتحقق الصف، 520 00:26:27,720 --> 00:26:30,730 ثم كنت تريد تحديثه لأنه إذا كنت ترغب في شراء 10 سهم، 521 00:26:30,730 --> 00:26:32,521 كنت لا تريد تغيير الصف إلى 10، ل 522 00:26:32,521 --> 00:26:35,300 تريد تغييره إلى 5 بالإضافة إلى 10 أو، بالطبع، 15. 523 00:26:35,300 --> 00:26:40,030 >> هذا سطر من التعليمات البرمجية يضمن أن هذين الأفكار المفاهيمية 524 00:26:40,030 --> 00:26:42,810 يحدث معا أو لا على الاطلاق. 525 00:26:42,810 --> 00:26:46,920 لا أحد، بما في ذلك بعض مستخدم آخر من الذي بتسجيل الدخول إلى الموقع نفسه، 526 00:26:46,920 --> 00:26:49,900 يمكن أن يقطع بطريقة أو بأخرى والتحقق من الصف 527 00:26:49,900 --> 00:26:52,960 وتحديث الصف، و اختيار والتحديث اذا صح التعبير. 528 00:26:52,960 --> 00:26:57,360 وبناء الجملة ليست فائقة واضحة، ولكن هذا سطر واحد، متى يتم هو، 529 00:26:57,360 --> 00:27:01,150 يضمن أن هاتين العمليتين تحقق المتغير أو تحقق الصف 530 00:27:01,150 --> 00:27:04,660 وتحديث الصف يحدث بالذرة. 531 00:27:04,660 --> 00:27:06,849 >> يا هنا نذهب مرة أخرى. 532 00:27:06,849 --> 00:27:07,890 رسالة نصية على هاتفي. 533 00:27:07,890 --> 00:27:09,954 لذلك دعونا تجعل من هذا أكثر قليلا الخرسانة. 534 00:27:09,954 --> 00:27:12,120 لنفترض أنك لا تنفيذ ثلاجة، 535 00:27:12,120 --> 00:27:16,400 وكنت لا تنفذ PSET 7 لكن بنك الفعلي، 536 00:27:16,400 --> 00:27:20,000 أو أجهزة الصراف الآلي، الصراف الآلي ل الجهاز، حيث كنت إلى حد ما 537 00:27:20,000 --> 00:27:22,960 تريد أن تكون قادرة على تمكين للمستخدمين تحويل الأموال 538 00:27:22,960 --> 00:27:24,500 من حساب إلى آخر. 539 00:27:24,500 --> 00:27:25,100 حسنا، تشبث. 540 00:27:25,100 --> 00:27:26,683 انا ذاهب لكتم هذا الآن، وشكرا لكم. 541 00:27:26,683 --> 00:27:30,450 لذلك نحن نريد لنقل الأموال من رقم حساب واحد 542 00:27:30,450 --> 00:27:33,600 إلى حساب مختلف عدد، وتحديدا 100 دولار. 543 00:27:33,600 --> 00:27:37,690 لذلك هذا هو نوع من التعسف سبيل المثال، حيث كنت، أجهزة الصراف الآلي، 544 00:27:37,690 --> 00:27:41,060 قد ترغب في تنفيذ اثنين SQL استفسارات، طرح من حساب واحد، 545 00:27:41,060 --> 00:27:42,430 وإضافة إلى حساب آخر. 546 00:27:42,430 --> 00:27:46,766 ولكنك تريد التأكد من أن هذه خطين كل من تحدث أو لا على الاطلاق. 547 00:27:46,766 --> 00:27:48,640 كنت لا تريد شيئا الحصول على توقف. 548 00:27:48,640 --> 00:27:51,440 لم تقم بعض الرجل سيئة الذكية يقف بطريقة أو بأخرى في بنك اوف امريكا 549 00:27:51,440 --> 00:27:53,270 مع اثنين من أجهزة الصراف الآلي في الجبهة منه وبطريقة أو بأخرى 550 00:27:53,270 --> 00:27:55,270 نوع من الكتابة في الأوامر في نفس الوقت، 551 00:27:55,270 --> 00:28:01,230 نأمل تحاول خصم 200 $ بدلا 100 دولار و 100 دولار فقط وجود الفضل. 552 00:28:01,230 --> 00:28:04,450 باختصار، تريد هذا ل تتصرف تماما كما كنت تتوقع. 553 00:28:04,450 --> 00:28:06,540 >> والطريقة التي لديك هذا في قاعدة البيانات SQL 554 00:28:06,540 --> 00:28:09,350 كنت ألفه في ما دعا معاملة. 555 00:28:09,350 --> 00:28:14,290 حرفيا في SQL، يمكنك الاتصال في CS50 وظيفة الاستعلام مع اشارة الى بداية املك 556 00:28:14,290 --> 00:28:15,370 الصفقة. 557 00:28:15,370 --> 00:28:18,640 ثم يمكنك تنفيذ أي عدد من استعلامات SQL لاحقة، 558 00:28:18,640 --> 00:28:20,870 ولكن أيا منها لا تأخذ التأثير على قاعدة البيانات 559 00:28:20,870 --> 00:28:25,880 حتى استدعاء الاستعلام قوسي الإقتباس ارتكابها، إذا مرة أخرى باستخدام PHP. 560 00:28:25,880 --> 00:28:29,810 وبهذه الطريقة، يمكنك التأكد من أن حتى إذا كان لديك 1000 جميع المستخدمين 561 00:28:29,810 --> 00:28:32,080 ضرب قاعدة البيانات الخاصة بك في الوقت نفسه، SQL 562 00:28:32,080 --> 00:28:34,540 ونعد بأن هذه سوف يكون اثنين الاستفسارات 563 00:28:34,540 --> 00:28:36,740 نفذت حق واحد بعد الآخر. 564 00:28:36,740 --> 00:28:40,330 حتى لا ينتهي بك الأمر مع فائض الحليب أو كمية خاطئ، في نهاية المطاف، 565 00:28:40,330 --> 00:28:40,830 من المال. 566 00:28:40,830 --> 00:28:43,110 >> حتى تضع ذلك في اعتبارها، وليس ذلك بكثير لPSET 7 567 00:28:43,110 --> 00:28:45,250 ولكن للمشاريع النهائية إذا كنت فعلا 568 00:28:45,250 --> 00:28:49,690 في محاولة لنقل البيانات حول عبر الجداول كما كنت قد هنا. 569 00:28:49,690 --> 00:28:53,980 ولكن ربما أكثر بساطة و واضح أن نفهم بمثال 570 00:28:53,980 --> 00:28:54,860 هذا هو واحد هنا. 571 00:28:54,860 --> 00:28:57,760 وشخص ما بالبريد الالكتروني لنا عن هذا فقط في اليوم الآخر 572 00:28:57,760 --> 00:28:59,600 عندما رأى شيئا من هذا القبيل على الانترنت. 573 00:28:59,600 --> 00:29:03,480 >> لذلك على حد علمي، فإن نظام دبوس ليس عرضة لهذا الهجوم. 574 00:29:03,480 --> 00:29:06,637 وليس لدي أي فكرة حتى لو كان الاستخدامات قاعدة البيانات SQL تحت غطاء محرك السيارة. 575 00:29:06,637 --> 00:29:08,470 ولكن دعونا استخدامه ل من أجل المناقشة. 576 00:29:08,470 --> 00:29:10,178 وهنا الشاشة التي الناس يميلون هارفارد 577 00:29:10,178 --> 00:29:13,620 عندما انظر الى تسجيل الدخول مع بهم معرف هارفارد وعدد دبوس بهم. 578 00:29:13,620 --> 00:29:19,020 ونفترض أن النظام كان دبوس نفذت في PHP ومع الخلية 579 00:29:19,020 --> 00:29:22,000 قاعدة البيانات، رمز أن شخصا منذ سنوات قد كتبت 580 00:29:22,000 --> 00:29:23,270 قد تبدو مثل هذه. 581 00:29:23,270 --> 00:29:25,230 أولا، إعلان ودعا اسم المستخدم المتغير. 582 00:29:25,230 --> 00:29:27,560 ومجرد الحصول على ذلك من وsuperglobal POST. 583 00:29:27,560 --> 00:29:30,140 ثم الحصول على متغير آخر ودعا كلمة وتفعل الشيء نفسه. 584 00:29:30,140 --> 00:29:33,080 ومن ثم تنفيذ فقط هذا الاستعلام طويلة هنا، 585 00:29:33,080 --> 00:29:36,690 اختيار نجم من المستخدمين حيث اسم المستخدم يساوي كذا وكذا 586 00:29:36,690 --> 00:29:38,510 وكلمة يساوي كذا وكذا. 587 00:29:38,510 --> 00:29:40,660 >> تلاحظ أن مجعد الأقواس لقد استعملت هنا 588 00:29:40,660 --> 00:29:42,880 يعني فقط لPHP، انتقل قبل والبديل 589 00:29:42,880 --> 00:29:45,400 قيمة هذين المتغيرات هناك حق. 590 00:29:45,400 --> 00:29:50,090 انهم ليسوا الضرورة القصوى، ولكن فإنها تميل إلى تجنب أخطاء في بناء الجملة خفية. 591 00:29:50,090 --> 00:29:53,650 حتى هذا يبدو تماما صحيحة للوهلة الأولى. 592 00:29:53,650 --> 00:29:54,240 والتأكد من ذلك. 593 00:29:54,240 --> 00:29:56,680 هل يمكن تنفيذ نظام دبوس في هذا السبيل. 594 00:29:56,680 --> 00:30:00,460 >> ولكن لنفترض أن السوبر طالبة ذكية وخبيثة 595 00:30:00,460 --> 00:30:03,020 هذه المدخلات كما له أو لها دبوس. 596 00:30:03,020 --> 00:30:05,550 حتى لقد إزالة الرصاصة علامات هنا في وهمية تصل، 597 00:30:05,550 --> 00:30:08,760 ولقد كشف الواقع ما هو أو هي قد تكون الكتابة. 598 00:30:08,760 --> 00:30:10,350 وانه من الغريب قليلا. 599 00:30:10,350 --> 00:30:13,850 ولكن ما يقفز عليك في المحتملة ومما يثير القلق حول إدخال المستخدم، 600 00:30:13,850 --> 00:30:16,450 حتى إذا كان لديك أي فكرة عما هجوم حقن SQL وسيلة. 601 00:30:16,450 --> 00:30:20,300 لماذا هذا ننظر قليلا مريب؟ 602 00:30:20,300 --> 00:30:21,050 ما هذا؟ 603 00:30:21,050 --> 00:30:21,550 [غير مسموع] 604 00:30:21,550 --> 00:30:24,260 DAVID مالان: إن أم مشبوهة قليلا. 605 00:30:24,260 --> 00:30:26,310 في الواقع، وهذا الكلمة من SQL. 606 00:30:26,310 --> 00:30:28,105 بحيث لا يبشر بالخير. 607 00:30:28,105 --> 00:30:29,980 حقيقة أن هناك كل هذه علامات الاقتباس المفردة 608 00:30:29,980 --> 00:30:32,646 there-- في الواقع، واحدة من أسهل طرق لكسر بعض قواعد البيانات 609 00:30:32,646 --> 00:30:35,880 هي عن طريق كتابة اسم مثل أورايلي يحتوي على علامة اقتباس أحادية في ذلك 610 00:30:35,880 --> 00:30:38,600 لأنه إذا كان الإنسان الذي كتب رمز وراء الكواليس 611 00:30:38,600 --> 00:30:41,570 لا تأخذ في الاعتبار أن هناك قد تكون علامات الاقتباس المفردة في المستخدم 612 00:30:41,570 --> 00:30:45,060 المدخلات، وقال انه او انها تستخدم ونقلت واحدة في مدوناتها، 613 00:30:45,060 --> 00:30:46,040 الأشياء السيئة يمكن أن يحدث. 614 00:30:46,040 --> 00:30:47,870 >> في الواقع، الأسوأ من ذلك، النظر في هذا. 615 00:30:47,870 --> 00:30:50,600 إذا كان هذا مرة أخرى رمز أن أحدا في جامعة هارفارد سنوات 616 00:30:50,600 --> 00:30:53,100 قبل كتب للدبوس نظام، لاحظ ما 617 00:30:53,100 --> 00:30:56,220 على وشك الحصول على استبداله لاسم المستخدم وكلمة المرور 618 00:30:56,220 --> 00:30:59,780 إذا أنواع المستخدم الدخول مرة أخرى كما skroob اسم المستخدم الخاص بهم 619 00:30:59,780 --> 00:31:03,960 ثم واحد، اثنان، ثلاثة، أربعة، خمسة، اقتباس أو قوسي الإقتباس واحد يساوي 620 00:31:03,960 --> 00:31:04,660 أقتبس احد. 621 00:31:04,660 --> 00:31:07,220 ونلاحظ ما هو أساسي هنا قد المستخدم لا 622 00:31:07,220 --> 00:31:09,900 بدأت كلمة المرور الخاصة بهم أو دبوس مع اقتباس. 623 00:31:09,900 --> 00:31:12,610 وأنها لم تنته عليه مع اقتباس لانه أو انها 624 00:31:12,610 --> 00:31:16,315 وعلى افتراض أنه إذا كان كان مبرمج يست حادة جدا، 625 00:31:16,315 --> 00:31:18,690 وهم في طريقهم لديك تلك ونقلت واحدة في مدوناتها. 626 00:31:18,690 --> 00:31:19,860 >> وحتى هنا في التعليمات البرمجية. 627 00:31:19,860 --> 00:31:23,820 واستبدال ذلك قد يحدث الآن هو هذا. 628 00:31:23,820 --> 00:31:26,350 ولقد أكد ما تمت كتابة المستخدم في. 629 00:31:26,350 --> 00:31:28,480 لذلك من قبل، بعد. 630 00:31:28,480 --> 00:31:33,330 ونلاحظ ما هو مثير للقلق أقل ما يقال الآن حوالي النصف الأيمن من هذا الرمز SQL؟ 631 00:31:33,330 --> 00:31:36,300 انها قليلا أكثر تعقيدا، باعتراف الجميع، من الاستعلامات رأيناه. 632 00:31:36,300 --> 00:31:38,550 ولكن لا يمكن لهذا ربما يكون أمرا جيدا إذا كنت 633 00:31:38,550 --> 00:31:42,240 قائلا مختارة نجم، وهو اختيار كل شيء من الجدول المستخدم 634 00:31:42,240 --> 00:31:46,630 حيث يساوي اسم المستخدم skroob و تعادل كلمة مرور واحدة، اثنان، ثلاثة، أربعة، 635 00:31:46,630 --> 00:31:49,610 خمسة أو واحد يساوي واحد. 636 00:31:49,610 --> 00:31:53,860 ما هي الآثار المترتبة منطقي من المفترض أن الشرط الأخير؟ 637 00:31:53,860 --> 00:31:55,650 هذا صحيح فقط دائما. 638 00:31:55,650 --> 00:31:59,930 >> ولأن لدينا نوع من خمنت أو أحسب عن طريق التجربة والخطأ 639 00:31:59,930 --> 00:32:02,760 أن المبرمج الذي كتب هذا الرمز لم 640 00:32:02,760 --> 00:32:07,250 توقع الشخص البشري أو سيئة الكتابة في علامات الاقتباس المفردة كذلك، 641 00:32:07,250 --> 00:32:10,350 يمكننا أن نحويا إكمال الاستعلام SQL 642 00:32:10,350 --> 00:32:12,260 مع شيء لا معنى لها لكن شيئا 643 00:32:12,260 --> 00:32:15,930 غير صحيح نحويا أن يقيم دائما إلى true. 644 00:32:15,930 --> 00:32:19,130 حتى إذا كان يتم استخدام هذا الرمز للإجابة السؤال صحيحة أو خاطئة يجب 645 00:32:19,130 --> 00:32:22,930 يسمح هذا المستخدم لتمرير، و الجواب هو دائما على ما يبدو تسير 646 00:32:22,930 --> 00:32:26,930 ليكون صحيحا لأن هذا دائما ما لتحديد شيء من قاعدة البيانات 647 00:32:26,930 --> 00:32:29,280 لأن واحدا بالطبع يساوي دائما واحدة. 648 00:32:29,280 --> 00:32:30,360 >> إذن ما هو الحل؟ 649 00:32:30,360 --> 00:32:33,290 كذلك في PSET 7، ونحن في الواقع تجنب كل هذا معا. 650 00:32:33,290 --> 00:32:37,360 نقدم لك وظيفة الاستعلام، ونحن نشجعك على استخدام علامات استفهام 651 00:32:37,360 --> 00:32:40,430 كما النائبة، على غرار في روح لprintf ل٪ S، 652 00:32:40,430 --> 00:32:43,710 ولكن ما هو مفتاح عن علامات استفهام هنا هو إذا كنت تقرأ الواقع من خلال 653 00:32:43,710 --> 00:32:46,950 functions.php، حيث لدينا ويتم تنفيذ وظيفة الاستعلام، 654 00:32:46,950 --> 00:32:52,780 ونجا تلك علامات الاستفهام، حيث بأي شيء يحتمل أن تكون خطرة 655 00:32:52,780 --> 00:32:58,210 مثل تشغيل اقتباس واحد في اقتباس واحد هرب. 656 00:32:58,210 --> 00:33:00,590 >> لذلك هذا هو ما يحدث حقا إذا كنت 657 00:33:00,590 --> 00:33:04,850 استخدام وظيفة الاستعلام CS50 أو أي عدد المكتبات المجانية طرف ثالث 658 00:33:04,850 --> 00:33:06,000 تفعل الشيء نفسه. 659 00:33:06,000 --> 00:33:09,850 لا يهم في هذه الحالة، باللون الأخضر، إذا تمت كتابة المستخدم في اقتباس واحد 660 00:33:09,850 --> 00:33:12,070 لأن الاستعلام الوظيفة التي كتبنا هي 661 00:33:12,070 --> 00:33:15,120 الذهاب لإضافة خطوط مائلة عكسية قبل أي اشارة خطيرة من هذا القبيل. 662 00:33:15,120 --> 00:33:17,360 وهذا ليس، في الواقع، ستكون شرعي. 663 00:33:17,360 --> 00:33:20,910 هذا هو مثل الكتابة في مجنون أبحث كلمة السر لهذا، بالطبع، لن 664 00:33:20,910 --> 00:33:23,490 لتكون كلمة skroob الفعلية. 665 00:33:23,490 --> 00:33:28,260 >> لذلك الوجبات الجاهزة للCS50 هو واحد، دائما استخدام شيء على الاطلاق 666 00:33:28,260 --> 00:33:30,860 مثل وظيفة الاستعلام CS50 ل أو المكتبة الأساسية، 667 00:33:30,860 --> 00:33:32,560 والذي يحدث أن تسمى شركة تنمية نفط عمان. 668 00:33:32,560 --> 00:33:35,880 ولكن أبدا، أبدا، لم تفعل كود مثل هذا 669 00:33:35,880 --> 00:33:39,472 دون الهروب أو الغسل كما يقولون المدخلات الخاصة بك. 670 00:33:39,472 --> 00:33:42,430 وسوف في مرحلة ما ربما تأتي عبر بعض المواقع مثل هذا. 671 00:33:42,430 --> 00:33:46,060 في الواقع، يبدو أن هذا هو الحال مثل في المطارات والفنادق والأماكن 672 00:33:46,060 --> 00:33:48,880 حيث لديهم خدمة الواي فاي المجانية الوصول التي لديك لتسجيل الدخول إلى، 673 00:33:48,880 --> 00:33:51,010 هذه المواقع هي دائما نفذت فظيعة. 674 00:33:51,010 --> 00:33:55,680 وهكذا نوع من المرح في المنزل ممارسة، ليس لأغراض خبيثة أو أكثر 675 00:33:55,680 --> 00:33:59,170 من المرح على الطريق ممارسة، هو أن اكتب فقط 676 00:33:59,170 --> 00:34:02,850 الفاصلة العليا، اقتباس واحد، في نموذج على بعض المواقع 677 00:34:02,850 --> 00:34:03,810 ونرى ما سيحدث. 678 00:34:03,810 --> 00:34:06,660 وإذا تعطل الخادم أو يعطي لك نوعا من رسالة الخطأ، 679 00:34:06,660 --> 00:34:09,690 قد يكون جيدا أن لم يتوقع أحد هذا. 680 00:34:09,690 --> 00:34:15,239 ثم يجب عليك تنبيه السليم المضي قدما السلطات وأبعد. 681 00:34:15,239 --> 00:34:20,843 >> حتى الآن يجب أن نأمل الرجال فهم أكثر قليلا المهوس الفكاهة هنا. 682 00:34:20,843 --> 00:34:24,120 >> [ضحك] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 DAVID مالان: أنت تعرف أنك المهوس. 685 00:34:29,070 --> 00:34:30,944 لالقليلة القادمة سنوات، سوف يتذكر 686 00:34:30,944 --> 00:34:33,520 الذين الجداول بوبي الصغير بسبب هذا الكرتون هنا. 687 00:34:33,520 --> 00:34:36,760 حتى أن تبقي في الاعتبار ونحن سياق التحول للمرة الأخيرة 688 00:34:36,760 --> 00:34:38,770 اليوم لجافا سكريبت. 689 00:34:38,770 --> 00:34:41,600 لقد قضى قليلا نسبيا الوقت على بناء جملة PHP 690 00:34:41,600 --> 00:34:43,440 لأنه في الواقع السوبر مماثلة لC. 691 00:34:43,440 --> 00:34:47,300 وبشكل جيد بما فيه الكفاية، وجافا سكريبت جدا هو السوبر مشابهة لصيغة C ل 692 00:34:47,300 --> 00:34:49,639 فضلا عن سنرى في مجرد لحظة وكما سنقوم 693 00:34:49,639 --> 00:34:51,205 نرى في وقت لاحق من هذا الأسبوع على وجه الخصوص. 694 00:34:51,205 --> 00:34:54,080 ما يمكنك القيام به مع هذه اللغة، رغم ذلك، هو كل شيء وأكثر قوة، 695 00:34:54,080 --> 00:34:55,790 خصوصا مع واجهات برمجة التطبيقات. 696 00:34:55,790 --> 00:34:56,960 >> ولكن أولا جولة سريعة. 697 00:34:56,960 --> 00:35:00,450 حتى واحد، في جافا سكريبت، هناك لا وظيفة الرئيسية، التي هي لطيفة. 698 00:35:00,450 --> 00:35:02,650 كما هو الحال مع PHP، يمكنك فقط كتابة التعليمات البرمجية. 699 00:35:02,650 --> 00:35:04,310 الشروط تبدو مثل هذا. 700 00:35:04,310 --> 00:35:07,100 وربما التعبيرات المنطقية تبدو مثل هذا أو مثل هذا. 701 00:35:07,100 --> 00:35:09,530 مفاتيح موجودة، وأنها قد تبدو مثل هذه. 702 00:35:09,530 --> 00:35:10,970 أربع حلقات تبدو مثل هذه. 703 00:35:10,970 --> 00:35:12,390 بينما تبدو هذه الحلقات. 704 00:35:12,390 --> 00:35:14,160 القيام البرهة تبدو هذه. 705 00:35:14,160 --> 00:35:16,850 ثم صفائف تبدو وكأنها هذا، تشبه الى حد بعيد PHP. 706 00:35:16,850 --> 00:35:20,740 لكن لاحظ أنه في جافا سكريبت لك تعريف متغير وليس مع الدولار 707 00:35:20,740 --> 00:35:25,190 التوقيع، وليس مع نوع البيانات ولكن حرفيا بالقول فار لمتغير قبل ذلك. 708 00:35:25,190 --> 00:35:27,900 ذلك أيضا ما كتبته فضفاضة في أن لديها أنواع، 709 00:35:27,900 --> 00:35:29,729 ولكنك لا تعلن بشكل صريح. 710 00:35:29,729 --> 00:35:31,520 ثم سلسلة، ل مثلا، قد تبدو 711 00:35:31,520 --> 00:35:34,350 مثل هذا، هذه السلسلة يطلق S في هذه الحالة. 712 00:35:34,350 --> 00:35:35,410 ثم كائن. 713 00:35:35,410 --> 00:35:37,010 وهذه سنرى أكثر قبل فترة طويلة. 714 00:35:37,010 --> 00:35:41,470 والهدف من ذلك هو ربما أحد ينظر الأكثر شيوعا هياكل البيانات 715 00:35:41,470 --> 00:35:44,050 في جافا سكريبت مقرها البرنامج لأنه يسمح لل 716 00:35:44,050 --> 00:35:46,680 لك لربط تعسفي أزواج قيمة المفتاح فقط 717 00:35:46,680 --> 00:35:51,240 مثل صفائف النقابي في PHP وتماما مثل جدول التجزئة الخاصة بك 718 00:35:51,240 --> 00:35:54,042 أو محاولة كما نفذنا وقبل أسابيع قليلة. 719 00:35:54,042 --> 00:35:56,250 لذلك دعونا نرى في الواقع ما يمكننا القيام به مع جافا سكريبت. 720 00:35:56,250 --> 00:35:59,410 وعلى وجه الخصوص، وهذا هو قائمة من الميزات 721 00:35:59,410 --> 00:36:02,300 أن المتصفحات لها أن تسمح لنا لربط جافا سكريبت 722 00:36:02,300 --> 00:36:05,470 في موقع على شبكة الانترنت على النحو التالي. 723 00:36:05,470 --> 00:36:09,340 وكثيرا ما يستخدم جافا سكريبت على أنها العميل لغة البرمجة. 724 00:36:09,340 --> 00:36:10,130 ليست جمعت فيه. 725 00:36:10,130 --> 00:36:11,370 ذلك أيضا يتم تفسير. 726 00:36:11,370 --> 00:36:15,740 ولكن على عكس PHP، والتي تم تشغيل على الخادم في خادم الويب، 727 00:36:15,740 --> 00:36:18,220 أو داخل العميق لل عملاء، وجافا سكريبت 728 00:36:18,220 --> 00:36:22,190 يختلف في أنه عادة ما تعمل في المتصفح. 729 00:36:22,190 --> 00:36:26,060 >> لذلك أي شفرة جافا سكريبت أن تبدأ الكتابة لPSET 8، أو المشروع النهائي الخاص بك، 730 00:36:26,060 --> 00:36:29,890 أو في العالم الحقيقي يجري عموما ليتم حفظها على الخادم، تماما 731 00:36:29,890 --> 00:36:33,110 في HTML نقطة أو نقطة شبيبة لملف جافا سكريبت. 732 00:36:33,110 --> 00:36:35,770 لكن المتصفح سوف لتحميل أن جافا سكريبت 733 00:36:35,770 --> 00:36:39,530 الرمز إلى المثال الخاص بك من الكروم، أو IE أو فايرفوكس، أو أيا كان. 734 00:36:39,530 --> 00:36:43,870 ورمز هي في طريقها فعلا للحصول على أعدم داخل المتصفح الخاص بك. 735 00:36:43,870 --> 00:36:46,560 فقط لجعل هذا أكثر واقعية، دعونا نرى هذا في شكل ملموس. 736 00:36:46,560 --> 00:36:50,120 >> ليس لدينا أي فكرة عما يفعله هذا الرمز دون قراءة الواقع من خلال ذلك. 737 00:36:50,120 --> 00:36:52,670 ولكن اسمحوا لي ان اذهب إلى Facebook.com دون تسجيل الدخول. 738 00:36:52,670 --> 00:37:00,440 اسمحوا لي ان اذهب لفحص العنصر وتذهب إلى، دعنا نقول، شبكة وإعادة تحميل الصفحة. 739 00:37:00,440 --> 00:37:04,150 وسنقوم see-- اسمحوا لي أن التحول تحديث لل الصفحة للحصول على كل طلبات جديدة. 740 00:37:04,150 --> 00:37:08,850 وأول جدا ملف أراه هو CSS، CSS. 741 00:37:08,850 --> 00:37:10,880 وهنا أول ملف جافا سكريبت، ولدي 742 00:37:10,880 --> 00:37:14,600 أي فكرة عما يفعل هذا، ولكن هنا هي بعض من شفرة جافا سكريبت 743 00:37:14,600 --> 00:37:16,180 الذي يدفع الفيسبوك. 744 00:37:16,180 --> 00:37:18,400 انها ليست حقا حتى أن كاشفا للتكبير. 745 00:37:18,400 --> 00:37:20,260 انها لا تزال مجرد لا معنى لها مثل. 746 00:37:20,260 --> 00:37:24,341 >> ولكن سترى حتى أسفل أدناه، هناك أكثر من هذه الملفات جافا سكريبت. 747 00:37:24,341 --> 00:37:24,840 يصيح. 748 00:37:24,840 --> 00:37:25,440 هذا هو بينغ. 749 00:37:25,440 --> 00:37:28,550 دعونا ننزل قليلا أبعد، أبعد من ذلك، أكثر من ذلك. 750 00:37:28,550 --> 00:37:29,894 هناك واحد. 751 00:37:29,894 --> 00:37:31,238 هناك واحد. 752 00:37:31,238 --> 00:37:31,880 هناك واحد. 753 00:37:31,880 --> 00:37:35,820 >> ذلك على الرغم من الفيسبوك، وراء مشاهد، هو مكتوب في المشاركة في PHP 754 00:37:35,820 --> 00:37:39,100 والفيسبوك في نسخة خاصة منه، هناك كمية هائلة من جافا سكريبت. 755 00:37:39,100 --> 00:37:41,330 في الواقع، أي من الدردشة تفعله في الفيسبوك، 756 00:37:41,330 --> 00:37:45,520 أي من التحديثات المضمنة زمني ذلك يحدث في الوقت الحقيقي، كل ذلك 757 00:37:45,520 --> 00:37:47,944 يقودها جافا سكريبت. 758 00:37:47,944 --> 00:37:48,444 نعم؟ 759 00:37:48,444 --> 00:37:50,235 >> الجمهور: لست متأكدا إذا كان هذا هو الفيسبوك، 760 00:37:50,235 --> 00:37:53,624 ولكن أعتقد أن الفيسبوك المتقدمة خاصة بهم في المنزل لغة التعليمات البرمجية؟ 761 00:37:53,624 --> 00:37:54,540 DAVID مالان: فعلوا. 762 00:37:54,540 --> 00:37:58,110 ولهذا السبب أقول تباين دعا PHP الهيب هوب أنهم فعلا 763 00:37:58,110 --> 00:38:03,440 الميزات المضافة لمثل ذلك عندما علامة تنفيذها أولا الفيسبوك، 764 00:38:03,440 --> 00:38:04,710 كانت مكتوبة في PHP. 765 00:38:04,710 --> 00:38:07,370 وهذا النوع من بقي هذا النوع من اللغة الأمامية 766 00:38:07,370 --> 00:38:09,030 التي يستخدمونها لفترة طويلة من الترميز، ولكن ذلك 767 00:38:09,030 --> 00:38:11,870 لم تكن لغة هذا المقاييس بشكل خاص إلى المليارات 768 00:38:11,870 --> 00:38:12,630 من الناس. 769 00:38:12,630 --> 00:38:15,300 وهكذا فقد أضاف وحدهم تحسينات وراء الكواليس. 770 00:38:15,300 --> 00:38:17,049 ويستخدمون أي عدد لغات أخرى 771 00:38:17,049 --> 00:38:19,170 لأجزاء مختلفة من بنيتها التحتية. 772 00:38:19,170 --> 00:38:24,080 لذلك نعم، انها تباين ما نعرفه الآن باسم PHP. 773 00:38:24,080 --> 00:38:26,610 >> لذلك دعونا نلقي نظرة في بضعة أمثلة 774 00:38:26,610 --> 00:38:28,890 وكيف يمكننا استخدام جافا سكريبت هنا. 775 00:38:28,890 --> 00:38:32,530 في التعليمات البرمجية المصدر اليوم، لدينا مجموعة من الملفات، أولها، 776 00:38:32,530 --> 00:38:34,090 دعونا دعا DOM الصفر. 777 00:38:34,090 --> 00:38:36,770 حتى DOM الصفر يبدو كما يلي. 778 00:38:36,770 --> 00:38:40,730 اسمحوا لي أن أخوض في هذا الدليل وفتح domzero.html، 779 00:38:40,730 --> 00:38:44,970 أعلى مما لديه نوع وثيقة إعلان قائلة هنا يأتي HTML 5. 780 00:38:44,970 --> 00:38:46,440 والآن وهنا علامة HTML. 781 00:38:46,440 --> 00:38:47,540 وهنا علامة الرأس. 782 00:38:47,540 --> 00:38:49,210 وهنا ما هو الجديد اليوم. 783 00:38:49,210 --> 00:38:52,620 >> لدينا الآن علامة النصي داخل رأس الصفحة. 784 00:38:52,620 --> 00:38:55,290 وهذا على ما يبدو لا القليل جدا، ولكن إشعار 785 00:38:55,290 --> 00:38:58,410 التي قمت بتعريف النصي، وجافا سكريبت. 786 00:38:58,410 --> 00:39:01,050 وبوصفها جانبا، لأن هذا هو اعتقاد خاطئ، 787 00:39:01,050 --> 00:39:05,220 جافا سكريبت لديه أي شيء على الإطلاق علاقة جافا، لغة 788 00:39:05,220 --> 00:39:08,010 أن البعض منكم قد تعلمت في APCS. 789 00:39:08,010 --> 00:39:10,480 وكان أكثر من التسويق شيء من أي شيء، 790 00:39:10,480 --> 00:39:12,980 ركوب ذيول المعطف جافا سنوات مضت. 791 00:39:12,980 --> 00:39:17,300 ولكن جافا سكريبت، لا علاقة لها جافا، تماما على نحو مماثل، ومزعج، 792 00:39:17,300 --> 00:39:18,480 اسمه مشوش. 793 00:39:18,480 --> 00:39:21,890 >> حتى هنا هو كيف تقوم بتعريف وظيفة في جافا سكريبت، ويقول حرفيا وظيفة، 794 00:39:21,890 --> 00:39:24,556 ثم اسم وظيفة، ثم أي حجج قد يستغرق، 795 00:39:24,556 --> 00:39:25,530 مثلما هو الحال في PHP. 796 00:39:25,530 --> 00:39:28,990 تبين في جافا سكريبت، واحدة من أكثر وظائف المزعجة التي توجد هي تنبيه. 797 00:39:28,990 --> 00:39:31,392 هذا هو النافذة الصغيرة التي سوف يطفو على السطح وتنبيهك 798 00:39:31,392 --> 00:39:32,600 بعض قطعة من المعلومات. 799 00:39:32,600 --> 00:39:33,766 لقد عبس عموما عليها. 800 00:39:33,766 --> 00:39:35,980 ولكن سنستخدم ذلك لدينا التمرين الأول هنا. 801 00:39:35,980 --> 00:39:37,900 >> لاحظت وجود بعض الميزات للجافا سكريبت. 802 00:39:37,900 --> 00:39:41,524 علامات الاقتباس المفردة والتنصيص لا يهم في الواقع بعد الآن. 803 00:39:41,524 --> 00:39:43,690 علامات الاقتباس المفردة والمزدوجة يمكن أن يكون متبادل ونقلت و 804 00:39:43,690 --> 00:39:46,220 بينما في C، لديك لاستخدام التنصيص على الجمل، و 805 00:39:46,220 --> 00:39:48,150 وكان لديك اثنين واحد ونقلت عن حرف. 806 00:39:48,150 --> 00:39:51,150 في العالم جافا سكريبت، كثير من الناس، معظم الناس 807 00:39:51,150 --> 00:39:54,970 استخدام علامات الاقتباس المفردة حول السلاسل فقط لأنه أمر الأسلوبية. 808 00:39:54,970 --> 00:39:58,330 ولكن ما هو المشغل بالإضافة إلى هنا، والتي لم نر من قبل؟ 809 00:39:58,330 --> 00:39:59,836 >> الجمهور: تسلسل. 810 00:39:59,836 --> 00:40:00,960 DAVID مالان: تسلسل. 811 00:40:00,960 --> 00:40:02,450 هكذا C لا يكون هذا حتى. 812 00:40:02,450 --> 00:40:04,820 PHP لديه مشغل نقطة، الذي يفعل ذلك. 813 00:40:04,820 --> 00:40:09,710 جافا سكريبت لديه مشغل زائد، وهو مشوش تماما مثل جافا. 814 00:40:09,710 --> 00:40:11,440 الآن ما الذي يحدث هنا؟ 815 00:40:11,440 --> 00:40:14,260 >> حتى هنا حيث أساسي فهم تلك الصورة 816 00:40:14,260 --> 00:40:17,010 نحن رمى يصل زوجين قبل أيام يأتي دور. 817 00:40:17,010 --> 00:40:19,620 أتذكر عندما كان لدينا بسيطة نسخة من HTML page-- 818 00:40:19,620 --> 00:40:20,830 وقال أنه فقط، مرحبا العالم. 819 00:40:20,830 --> 00:40:22,770 ثم وضعنا شجرة إلى اليمين، الذي 820 00:40:22,770 --> 00:40:27,320 وكان مجموعة من المستطيلات وخطوط ربط لهم مثل شجرة العائلة. 821 00:40:27,320 --> 00:40:30,820 ذلك أن ما يسمى DOM أو طراز كائن المستند. 822 00:40:30,820 --> 00:40:36,759 واتضح أنه يمكنك الوصول المستطيلات في تلك الشجرة مع جملة 823 00:40:36,759 --> 00:40:37,550 كما يلي. 824 00:40:37,550 --> 00:40:41,370 أقول لكم حرفيا وثيقة، وهو متغير عمومي خاص في جافا سكريبت 825 00:40:41,370 --> 00:40:45,890 البرنامج الذي لديه وظيفة المرتبطة به التي يمكن الوصول إليها 826 00:40:45,890 --> 00:40:50,280 مشابهة لبنية، ولكن يمكنك ببساطة يقول نقطة ثم اسم الدالة، 827 00:40:50,280 --> 00:40:52,390 الحصول على عنصر عن الهوية. 828 00:40:52,390 --> 00:40:55,460 >> العنصر أريد أن تحصل عليه هو يبدو أن أقتبس اسم املك. 829 00:40:55,460 --> 00:40:57,150 ثم أريد الحصول على قيمتها. 830 00:40:57,150 --> 00:40:58,330 الآن نحن نحصل قبل أنفسنا. 831 00:40:58,330 --> 00:41:00,038 أنا لست حتى متأكدا ما كل هذا حول. 832 00:41:00,038 --> 00:41:03,000 دعونا إلى الأمام بسرعة إلى HTML على الصفحة الذي هو السوبر بسيط. 833 00:41:03,000 --> 00:41:05,370 >> لاحظ أن كنت تعرف شكل أسفل هنا. 834 00:41:05,370 --> 00:41:07,940 لاحظ لقد أعطيت فريدة من نوعها ID، على الرغم من أننا قد لا تستخدم 835 00:41:07,940 --> 00:41:08,870 هذه السمة من قبل. 836 00:41:08,870 --> 00:41:11,300 ولكن هذا موجود في HTML. 837 00:41:11,300 --> 00:41:15,570 يمكنك تحديد بعض فريد قطعة من HTML مع معرف من هذا القبيل. 838 00:41:15,570 --> 00:41:19,880 >> إشعار الآن this-- تبين HTML تدعم، في تلك القائمة الغسيل 839 00:41:19,880 --> 00:41:22,490 قبل لحظة، ككل مجموعة من معالجات الأحداث. 840 00:41:22,490 --> 00:41:25,060 ويقول معالج الحدث هذا على تقديم. 841 00:41:25,060 --> 00:41:28,730 على المستخدم تقديم هذا النموذج، استدعاء التعليمات البرمجية التالية. 842 00:41:28,730 --> 00:41:31,360 ورمز هذا ما يحدث ليتم استدعاؤها أو أعدم 843 00:41:31,360 --> 00:41:35,260 هو هذا بالضبط اليونانية وظيفة تليها عودة كاذبة. 844 00:41:35,260 --> 00:41:37,360 كل شيء آخر ينبغي تكون مألوفة جدا. 845 00:41:37,360 --> 00:41:42,050 >> هنا هو إدخال نوع النص الذي ID، في هذه الحالة، سيكون الاسم. 846 00:41:42,050 --> 00:41:45,430 ليس لدينا سمة اسم الفعلية هذا time-- وزر إرسال. 847 00:41:45,430 --> 00:41:48,330 لذلك في الصفحة التي تظهر يشبه هذا. 848 00:41:48,330 --> 00:41:52,890 والسلوك الناتج، سترى، يبدو مثل هذا. 849 00:41:52,890 --> 00:41:56,940 الصفحة المضيفين المحليين وتقول انها، مرحبا ديفيد، يكاد يكون جماليا 850 00:41:56,940 --> 00:41:58,340 الطريق لتحية مستخدم. 851 00:41:58,340 --> 00:41:59,950 ولكن ما يحدث في الواقع على؟ 852 00:41:59,950 --> 00:42:01,360 >> كذلك، النظر في ما هو هذا. 853 00:42:01,360 --> 00:42:02,310 هذا هو حقل النص. 854 00:42:02,310 --> 00:42:04,635 وفقا ل HTML هنا، لقد أعطى ذلك 855 00:42:04,635 --> 00:42:07,350 معرف فريد دعا اقتبس اسم املك. 856 00:42:07,350 --> 00:42:09,770 وفي الوقت نفسه، لقد قلت عندما يقوم المستخدم بإرسال هذا النموذج 857 00:42:09,770 --> 00:42:13,820 من خلال ضرب أدخل أو النقر على إرسال زر استدعاء الدالة يسمى حي 858 00:42:13,820 --> 00:42:15,410 والعودة بعد ذلك خطأ. 859 00:42:15,410 --> 00:42:16,870 دعونا النظر تلك في الاتجاه المعاكس. 860 00:42:16,870 --> 00:42:20,590 لاحظت عندما كنت فوق إرسال، و لا يغير عنوان هذه الصفحة. 861 00:42:20,590 --> 00:42:22,420 أيقونة المتصفح لم تبدأ الغزل. 862 00:42:22,420 --> 00:42:27,050 أنا لم أذهب إلى أي مكان، وهذا هو وقال حرفيا لأن أعود خطأ. 863 00:42:27,050 --> 00:42:31,534 العودة دوائر قصيرة كاذبة أو توقف السلوك الافتراضي للنموذج. 864 00:42:31,534 --> 00:42:33,700 بحيث ثم يترك لنا هذا السؤال الأخير واحد. 865 00:42:33,700 --> 00:42:34,764 ماذا سلموا تفعل؟ 866 00:42:34,764 --> 00:42:36,680 أيضا، سلموا على ما يبدو يدعو دالة يسمى 867 00:42:36,680 --> 00:42:39,250 حالة تأهب، ويمر في واحد حجة طويلة هذا 868 00:42:39,250 --> 00:42:43,950 نتيجة وصل معا مجموعة من سلاسل فرعية، مرحبا مساحة فاصلة، 869 00:42:43,950 --> 00:42:45,810 ثم يعود هذا كل ما. 870 00:42:45,810 --> 00:42:51,490 حتى وثيقة أشبه العالمية المتغير إلى أن جذور تلك الشجرة، 871 00:42:51,490 --> 00:42:55,560 استدعاء وظيفة خاصة، خلاف ذلك يعرف الآن باسم طريقة. 872 00:42:55,560 --> 00:42:57,650 وظيفة هذا من داخل المتغير 873 00:42:57,650 --> 00:42:59,640 تسمى الطريقة بدلا من وظيفة. 874 00:42:59,640 --> 00:43:01,570 >> حتى الحصول على عنصر عن الهوية. 875 00:43:01,570 --> 00:43:03,940 ما العنصر هل ترغب في الحصول على هوية لها من قبل؟ 876 00:43:03,940 --> 00:43:06,970 أقتبس اسم املك و ثم يقدرون على وجه التحديد. 877 00:43:06,970 --> 00:43:12,000 لذلك وبعبارة أخرى، هذا الرمز ببساطة يجد حقل النص الذي هو اسم معرف 878 00:43:12,000 --> 00:43:13,380 ومن ثم يحصل على قيمتها. 879 00:43:13,380 --> 00:43:16,460 حتى لو كنت لتغيير هذا ويقول دافين بدلا من ديفيد، 880 00:43:16,460 --> 00:43:20,670 وانقر فوق إرسال، ونحن الآن لدينا تحية للدافين. 881 00:43:20,670 --> 00:43:22,890 >> كل الحق، لذلك كل شيء بخير وجيدة. 882 00:43:22,890 --> 00:43:25,480 ولكن دعونا نرى ما اذا كنا نستطيع جعل هذه المكنسة منذ قليل فقط 883 00:43:25,480 --> 00:43:28,190 كتابة التعليمات البرمجية مثل هذا يحدث عادة أن تثير الامتعاض. 884 00:43:28,190 --> 00:43:30,060 هذا هو الذهاب للبحث اخافة. 885 00:43:30,060 --> 00:43:32,330 ولكن ما هو أول الفرق أن لاحظ هنا 886 00:43:32,330 --> 00:43:35,970 في هذا الإصدار إلى جانب تغيير اسم DOM لواحد؟ 887 00:43:35,970 --> 00:43:41,110 ما يبدو وهيكليا مختلفة حول هذا مقابل الآخر؟ 888 00:43:41,110 --> 00:43:41,932 نعم؟ 889 00:43:41,932 --> 00:43:43,890 الجمهور: هل النموذج على أعلى النصي الآن؟ 890 00:43:43,890 --> 00:43:46,570 DAVID مالان: نعم، وشكل هو على رأس البرنامج النصي لسبب غريب. 891 00:43:46,570 --> 00:43:48,736 لذلك هذا هو أول شيء أن يقفز في وجهي، أيضا. 892 00:43:48,736 --> 00:43:50,990 ولله الحمد على الأقل، هذا الجزء هو متطابقة. 893 00:43:50,990 --> 00:43:53,470 ذلك الشيء الوحيد الذي يبدو أن تكون مختلفا هو هذا. 894 00:43:53,470 --> 00:43:55,296 >> حتى هنا ما هو أنيق حول تفعيل جافا 2. 895 00:43:55,296 --> 00:43:57,420 ويجعل من الصعب نفهم للوهلة الأولى، 896 00:43:57,420 --> 00:44:00,670 خاصة بالنسبة للمشاريع النهائية إذا كنت تبحث في نموذج التعليمات البرمجية على الإنترنت، 897 00:44:00,670 --> 00:44:04,200 ولكنه يتلخص في بعض السمات النحوية الأساسية. 898 00:44:04,200 --> 00:44:06,230 هنا مرة أخرى هو أن وثيقة متغيرة العالمية. 899 00:44:06,230 --> 00:44:09,540 هنا مرة أخرى هو أن طريقة أو وظيفة تقول الحصول على عنصر عن الهوية. 900 00:44:09,540 --> 00:44:11,570 هذه المرة أريد أن الحصول على معرف يسمى التجريبي. 901 00:44:11,570 --> 00:44:12,490 أين هو؟ 902 00:44:12,490 --> 00:44:15,400 وهذا ما يبدو صحيحا هنا، فإن النموذج نفسه. 903 00:44:15,400 --> 00:44:20,010 >> ونلاحظ الآن أن ما يبدو إذا أنا تعود تلك العقدة من شجرة 904 00:44:20,010 --> 00:44:22,940 يمثل الشكل في حد ذاته، وليس حقل النص، 905 00:44:22,940 --> 00:44:26,970 اتضح أن النموذج، الذي عقدة أو مستطيل من الشجرة، 906 00:44:26,970 --> 00:44:30,450 لديه ما سوف ندعو الممتلكات، جدا، جدا، جدا مماثلة 907 00:44:30,450 --> 00:44:35,390 في الروح إلى البنية في C. انها مجرد عضو بيانات داخل هذا المستطيل. 908 00:44:35,390 --> 00:44:38,300 >> حتى لقد حصلت على شكل هنا، وأنا ربط، و 909 00:44:38,300 --> 00:44:44,650 أو أنا إسناد، إلى يوم للتقديم معالج أو بالأحرى في إرسال الممتلكات 910 00:44:44,650 --> 00:44:45,740 الدالة التالية. 911 00:44:45,740 --> 00:44:49,000 وهذا هو، إلى حد بعيد، وأشد جنونا شيء حتى الآن نحويا. 912 00:44:49,000 --> 00:44:53,610 اتضح في جافا سكريبت و PHP، وبصراحة لهذه المسألة في C، 913 00:44:53,610 --> 00:44:58,990 على الرغم من أننا لا نفعل ذلك، يمكنك إضافة مجهول، مجهول، أو اكا امدا 914 00:44:58,990 --> 00:45:03,000 الوظائف التي ليس لها اسم ولكن مع ذلك يمكن أن يسمى. 915 00:45:03,000 --> 00:45:07,050 >> وذلك ما أفعله هنا هو انا تعيين هذا في إرسال الممتلكات، التي 916 00:45:07,050 --> 00:45:14,330 هو داخل هذه العقدة من شجرة DOM بلدي، و وظيفة، وظيفة المؤشر اذا صح التعبير. 917 00:45:14,330 --> 00:45:16,310 هذه الوظيفة لا يوجد لديه اسم، ولكن هذا لا 918 00:45:16,310 --> 00:45:19,110 يهم لأننا سنرى في لحظة كيف نسميها. 919 00:45:19,110 --> 00:45:21,780 عندما يتم استدعاء هذه الدالة، يعدم هذا الرمز، ثم 920 00:45:21,780 --> 00:45:24,210 يتم إرجاع كاذبة تماما مثل قبل. 921 00:45:24,210 --> 00:45:25,800 >> لكن لاحظ ما فعلته. 922 00:45:25,800 --> 00:45:27,830 عند هذه النقطة في القصة، ولدي نموذج. 923 00:45:27,830 --> 00:45:30,190 انها حصلت على معرف فريد يسمى التجريبي. 924 00:45:30,190 --> 00:45:33,740 إلى هنا، ولدي بطاقة النصي الذي ينفذ التعليمات البرمجية التالية. 925 00:45:33,740 --> 00:45:37,720 التي تعلقها على تلك العقدة في الشجرة لانها على إرسال 926 00:45:37,720 --> 00:45:40,260 هذه الخاصية مهمة هنا. 927 00:45:40,260 --> 00:45:44,310 وفقط من خلال طبيعة كيفية عمل المتصفحات، عندما كنت الآن انقر فوق إرسال أو هاهنا، 928 00:45:44,310 --> 00:45:45,889 هذه الوظيفة سوف تحصل دعا. 929 00:45:45,889 --> 00:45:48,680 أنها لا تحتاج إلى الاسم لأن الذين هيك يهتم ما يطلق عليه. 930 00:45:48,680 --> 00:45:52,540 المرة الوحيدة انها أي وقت مضى للحصول على ودعا هو عندما أقدم النموذج. 931 00:45:52,540 --> 00:45:55,130 ليس هناك حاجة بالنسبة لي، المطور البشري، 932 00:45:55,130 --> 00:45:57,330 الدعوة في الواقع في أي مكان آخر. 933 00:45:57,330 --> 00:46:00,720 >> الآن تماما كما دعابة، كما لو أن لم تمانع الانحناء بما فيه الكفاية، 934 00:46:00,720 --> 00:46:03,330 حتى أننا يمكن أن تجعل هذه ننظر باستخدام أكثر خفي 935 00:46:03,330 --> 00:46:05,850 مكتبة فائقة شعبية تسمى مسج. 936 00:46:05,850 --> 00:46:08,760 في الواقع مسج وجافا سكريبت غالبا ما يتم الخلط. 937 00:46:08,760 --> 00:46:12,790 وماذا سنفعل يوم الاربعاء هو بداية باستخدام هذه اللغة وهذه المكتبات 938 00:46:12,790 --> 00:46:16,030 غير المتزامن لبناء متزايد والتطبيقات الديناميكية 939 00:46:16,030 --> 00:46:18,950 مثل الحصول على خريطة التطبيقات، والتطبيقات 940 00:46:18,950 --> 00:46:22,360 أن تحديث صفحة ويب في الوقت الحقيقي الوقت، مثل الكثير من الفيسبوك أو Gchat 941 00:46:22,360 --> 00:46:27,130 القيام به، وأنه لم يعد نقتصر على إرسال ضرب من الحصول على أو مجرد وظيفة 942 00:46:27,130 --> 00:46:27,630 وحده. 943 00:46:27,630 --> 00:46:29,055 ولذا فإنني سوف أراك غدا الاربعاء. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [عزف الموسيقى] 946 00:46:35,550 --> 00:48:09,728