DAVID مالان: حسنا، نحن العودة. لذلك لإثارة ختاما، لدينا الماضي القسم على برمجة الويب، وأنا نظن أننا سوف تستخدم كمصطلح عام للقبض على عدد قليل من الموضوعات المتبقية. وذلك في نهاية اليوم، ونحن سوف نفعل في الواقع قليلا من التدريب العملي على برمجة الويب مع لغة تسمى جافا سكريبت. وأعتقد أننا سوف نلقي نظرة في شيء متعلق الصور واكتشاف شيء مخبأة سرا في إحدى الصور، وأيضا إلقاء نظرة على جوجل خرائط API، برمجة التطبيقات واجهة، كشيء ممثل النوع من البرامج هذا على نحو متزايد و متاح مجانا اليوم. ولكن لماذا لا نأخذ نظرة في عنصر لهذا العالم أن كنا نوع من أخذ أمرا مفروغا منه موجود لبعض الوقت، وقاعدة بيانات. لليوم السابق و نصف لقد افترض أن لدينا إمكانية الوصول إلى قاعدة بيانات، ولكن ما المشكلة لا حل في قاعدة البيانات؟ ماذا يفعل بالنسبة لنا؟ ما هذا؟ الحضور: [غير مسموع] DAVID مالان: يحمل كل المعلومات، موافق، وما هي أنواع المعلومات قد كنت وضعت في ذلك؟ الحضور: [غير مسموع] DAVID مالان: أي المعلومات كنت وضعت في ذلك، فسوف نعود. هذا صحيح. وعلى موقع على شبكة الإنترنت نموذجي أو على شبكة الإنترنت تطبيق، وما هي أنواع المعلومات، على وجه التحديد، قد كنت وضعت في؟ الحضور: [غير مسموع] DAVID مالان: المستخدمين. فما هو المستخدم؟ الحضور: [غير مسموع] DAVID مالان: حسنا، مسجلة مستخدم للموقع. وماذا يعني ذلك ل معلومات المستخدمين متجر '؟ ما يؤلف المستخدم؟ قد مستخدم ماذا؟ الحضور: [غير مسموع] DAVID مالان: نعم، شخصية البيانات، وأنا أحب ذلك. دعونا نكون أكثر دقة. لذلك المستخدم لديه عادة اسم، ماذا يمكن أن يكون للمستخدم؟ الحضور: [غير مسموع] DAVID مالان: إن موافق addr--، الاسم الأول حتى واسم العائلة. ذلك جيد. في الواقع، دعونا إصلاح ذلك، لأنه سوف لفتح فرصة لل مناقشة، ولا يزال، أبعد من ذلك. الاسم الأول واسم العائلة والجنس. معرف من نوع ما. ماذا بعد؟ سمعت شيئا آخر قبل أيضا. البريد الإلكتروني، العنوان البريدي. لذلك دعونا نتوقف هناك والآن النظر ليس ما نحن تخزينها في قاعدة البيانات، but-- وليس لماذا، لأنه ربما واضح أنه بمجرد تسجيل المستخدم، كنت تريد أن تذكرها لبعض الوقت. كنت لا تريد أن فقط خزنها في ذاكرة الوصول العشوائي ويتم ذلك forgotten-- دعونا نركز على كيفية القيام بذلك. وتبين أن في العالم من قواعد البيانات، هناك نوعين على الأقل في هذه الأيام. شيء يسمى قاعدة بيانات SQL، لغة الاستعلام الهيكلية، أو، واسمه بلطافة، noSQL، وهي ليست SQL. وهذا الأخير هو مثال على ما قد أن يسمى وجوه المنحى، أو مخزن كائن، قاعدة بيانات الذي يقوم بتخزين الأشياء، وليس عذر لي، كما سنرى قريبا، الصفوف. لذلك سنركز لمجرد لحظة على أول هذه، وهي لSQL قاعدة بيانات، إلا إذا كان لأنه على دراية بذلك بالفعل، إلى أي شخص الذي يستخدم إكسل أو صفائح غوغل أو أبل الأرقام أو أي معيار برنامج جداول البيانات، أو مكافئ، أو أكثر متطور، شيء مثل مايكروسوفت وصول أو أوراكل أو الخلية أو الإنترنت، وكلها هي أسماء المنتجات للتطبيقات من الفكرة التالية. قاعدة بيانات علائقية هي ببساطة شيء له الصفوف والأعمدة. والصفوف والأعمدة، أعني حرفيا شيء مثل هذا، لذلك حيث قد يكون لدينا اسم حقل ونوعه أكثر من هنا. وفعلا، اسمحوا لي نبدأ الآن لتعيين هذه. ذلك في الواقع، أنا لا أعرف لماذا وجهت مخطط منفصل. دعونا نحافظ على هذه البسيطة. لدينا الحق هنا بدايات طاولتنا، حيث هذا هو اسم الحقل وهذا هو نوع البيانات، وحسب نوع أعني ما يلي. هل هو رقم، هو سلسلة، سلسلة قصيرة مثل كلمة واحدة، هل هو فقرة، غير أنه البيانات الثنائية، مثل صورة؟ ودعونا فقط ندف هذا وبصرف النظر عن مجرد لحظة. حتى الاسم الأول، العدد، سلسلة، جزءا كبيرا من text-- الحضور: [غير مسموع] DAVID مالان: نعم، لذلك سلسلة. وفي سياق قاعدة البيانات، وسوف نقوم استدعاء عادة هذا المجال شار. أنا أقول شار في الوقت الراهن لكننا الذهاب إلى صقل هذه في لحظة. حقل حرف. الاسم الأخير هو على الارجح واحدة. جنس؟ ذكر أو أنثى، لذلك يمكن أن يكون حقل شار. يمكن أن يكون إما الاقتباس، قوسي "ذكر" أو الاقتباس، نهاية الاقتباس "أنثى" أو قد يكون م أو و. إذا كنت تريد أن تكون أكثر شمولا، قد تحتاج إلى القيمة الثالثة أو نوع من مجال آخر تماما. وحتى يمكن استخدام كاذبة صحيح. يمكن أن يسمى هذا المجال من الذكور، و ثم هل يمكن أن نقول صحيحة أو خاطئة. ولكن هذا لا يعبر بالضرورة جميع المعلومات التي قد ترغب. لذلك تبين ان هناك نوع آخر من الحقل الذي قد يكون من المفيد هنا في قاعدة بيانات نموذجية، يسمى التعداد، حيث هو حقل حرف، لكنك، ومصمم، والحصول على تعداد القيم الممكنة، مثل الاقتباس، نهاية الاقتباس "الذكور"، واقتبس، نهاية الاقتباس "أنثى" وهكذا دواليك. ذلك أن أي قيمة في قاعدة البيانات الخاصة بك، هو في الواقع القائم على حرف، ولكن يجب أن يكون واحد من تلك القيم. نحن ربما لا تريد التعداد عن الاسم الأول أو اسم العائلة. وإلا سيكون لدينا تعداد، كاسم مستمد من، حرفيا كل من الممكن الاسم الأول واسم العائلة. حسنا، معرف ما ينبغي أن يكون الهوية؟ نعم، ولذلك ربما يكون رقم. لذلك دعونا العصا مع ذلك في الوقت الحالي، عدد. والعدد، العدد ' قليلا اسع جدا الآن. في نهاية الثانية اليوم، وأنا أشعر أننا يجب أن يكون قليلا أكثر دقة. العدد قد يعني شابه ذلك، يمكن أن يكون شيء من هذا القبيل 1.236. وهذا ربما لا ما نعنيه معرف. ما الذي ربما تعني معرف؟ الحضور: [غير مسموع] DAVID مالان: أوه، حسنا، ربما انها ليست حتى رقم. ربما انها فعلا معرف فريد هذا هو سلسلة، مثل اسم المستخدم. لذلك على الاطلاق، ويمكن أن يكون. أعتقد أن شخصا ربما يعني رقمية، على الرغم من. لذلك دعونا البقاء مع ذلك. أي نوع من العدد؟ ما هو أكثر precise-- عدد صحيح. ولذلك فإن عدد مثل 0، 1، 2، 3، لذلك نحن سوف نسمي هذا صحيح. وحتى ذلك الحين، لم أستطع أن نيتبيكينج، انها ليس حقا فقط صحيح العامة التي تريدها. وربما كنت لا تريد القيم السلبية، لمجرد أنه يشعر فقط غريب. ربما كنت ترغب الأعداد الصحيحة الموجبة. بحيث يمكنك أيضا التعبير عن أن في قاعدة بيانات، ولكن الآن، ونحن سوف نقول صحيح. البريد الإلكتروني؟ وربما هذا هو just-- ماذا؟ الحضور: [غير مسموع] DAVID مالان: انها رسالة بالبريد الالكتروني، ولكن هذا حرفا، أليس كذلك؟ انها مجرد طابع غير تقليدي مثل و"في" رمز أو أي شيء آخر، لكنه ما زال حقل حرف. والعنوان البريدي؟ حقل حرف. لذلك هذا هو بداية لطيفة، ولكن دعونا نكون أكثر قليلا دقيقة الآن. لذلك تبين أنه في قاعدة بيانات، وكنت في كثير من الأحيان يختاروا بين أكثر دقة الإصدارات من هذه الأشياء. في الواقع، في قاعدة بيانات SQL نموذجية، SQL، أو أكثر عموما، قواعد البيانات العلائقية، قواعد البيانات مع صفوف والأعمدة، وكنت في كثير من الأحيان وصول الى تحديد ليس فقط نوع من field-- اسمحوا لي أن بعض here-- الغرفة ولكن أيضا على طول. حتى متى هو الاسم الأول؟ أعتقد، D-A-V-I-D. موافق، وحصلت عليه أنا ربما فقط بالإهانة مثل نصف من الناس في الغرفة، والحق، منذ الأسماء الخاصة بك هي أطول من خمسة الرسائل، حتى خمسة يبدو قليلا الأنانية والسذاجة، فما قيمة أفضل؟ 10، كل الحق، وأنا أعتقد أن نحن يرام في الغرفة. 13؟ 30؟ لماذا لا استطيع اتخاذ اقتراب وقت سابق عندما كنا كانوا يتحدثون عن المصفوفات والذاكرة؟ لماذا لا أستطيع أن أقول مثل 1000؟ اسم لا أحد يسير أن تكون أطول من 1000. ابعاد. الحضور: [غير مسموع] DAVID مالان: نعم، انها الإسراف، والحق، وخاصة إذا معظم الأسماء هي فقط خمسة أو 10 أو 15 حرفا، وهذا الإسراف جدا. لذلك أنت تعرف لماذا؟ هذا هو نوع من سؤال صعب. الآن، يمكننا بالتأكيد تحليل اللغة الإنجليزية وأسماء أي لغة أخرى ل ومعرفة، حسنا، ما هو متوسط ​​average-- لا حقا مساعدة us-- ما هو الحد الأقصى ربما ما كنا نريد حقا. ولكن اتضح لدينا حتى بعض الاختيار على نوع هنا. في قاعدة بيانات SQL نموذجية، كنت وما يسمى حقل شار وأيضا VARCHAR، V-A-R، لحقل شار متغير. والفرق هو هذا. حقل شار، كنت مصمم، يجب أن يحدد مسبقا بالضبط طول الحقل. ولذلك ربما يكون الاسم الأول مثل 20 يشعر نوع من آمن. قد تضطر إلى القيام ببعض غوغلينغ ل نرى ما اذا كان بوسعنا فعلا بما فيه الكفاية. هناك على الارجح اسم مع 21 حرفا، ولكن حتى الآن، لنفترض 20 آمن. ومن شأن الحقل شار يعني في قاعدة البيانات التي قمت يستخدمون 20 و دائما 20 حرفا. الآن لو كان مجرد D-A-V-I-D، 15 من هؤلاء مجرد الذهاب لتكون الأحرف فارغة، ولكن كنت لا تزال تستخدم كل بايت 20. حقل VARCHAR، على النقيض من ذلك، يعني يجب أن تكون سلسلة يصل إلى 20 حرفا ولكن لو كان فقط خمسة، وأنت تسير فقط لاستخدام خمسة أو ستة ربما ل قيمة خاصة في النهاية، من هذا القبيل 0 ناقشنا ذلك يعني نهاية ذات طابع تسلسل في الذاكرة. لذلك عندما رأيك قد تختار شار مقابل VARCHAR، بالنظر إلى أن المفاضلة؟ يستخدم شار أن العديد من الشخصيات، VARCHAR لا يستخدم أكثر من أن العديد من الشخصيات. الحضور: [غير مسموع] DAVID مالان: حسنا، عندما كنت تعرف طول سلسلة جميلة مقنعة لمجرد استخدام شار، 'السبب إذا أنت تعرف ذلك، مجرد وضعها. وربما كان هذا صحيحا لالبريدي الرمز، في الولايات المتحدة، على الأقل، 02138، انها دائما ما يكون خمسة الأحرف حتى يمكنك إضافة اندفاعة الأربعة. ولكن قد يكون لديك بعض القيم ل التي تعرف دائما على طول. أو ربما رموز الدولة، مثل نيويورك لنيويورك، وMA عن ماساتشوستس في الولايات المتحدة. ربما يجب عليك بعض الحالات حيث أن من المعقول تماما، ولكن من خلال هذا المنطق، لماذا نحن حتى overthinking هذا؟ لماذا لا نحن فقط استخدام VARCHAR ثم سنقوم فقط دائما استخدام حرفين على أي حال، أو دائما استخدام خمسة أحرف على أي حال؟ لماذا لا مجرد حفظ VARCHAR ل كل شيء، من خلال هذا المنطق؟ يجب أن يكون هناك كمية الصيد. الحضور: [غير مسموع] DAVID مالان: هل يمكن أكتب شيئا خاطئا. حتى لا يكون صحيحا. ولكن حتى ذلك الحين، فإنها لا يمكن استخدام المزيد من الذاكرة مما كنت تخصيص. لا يزال لدي المباراة النهائية يقول على طول، ولذلك لا يمكن أن تجعل من غير قصد هذا الخطأ، ولكن فكرة جيدة. انها أكثر دهاء، لكنها ذات الصلة جدا لمناقشتنا، في الواقع، من صفائف وترتبط القوائم في وقت سابق. وتبين أن قاعدة بيانات، إذا فهو يعرف أن كافة القيم هي من طول ثابت، حتى لو بعض من هذه القيم فارغة، نوع من الجمالية فارغة، D-A-V-I-D ثم 15 الفراغات، اتضح انه اذا كانت كل الميدان هو طول نفس، مثل الكثير من مجموعة كان كل من الاشياء ل العودة إلى الوراء إلى العودة إلى الوراء بحيث هل يمكن أن مجرد زائد 1 للوصول الى القادم قيمة، نفس الفكرة في جدول قاعدة البيانات. وإذا كان كل من شخصيتك سلاسل هي طول نفس، لديك ما يسمى الوصول العشوائي. وإذا كان كل السلاسل هي من طول 20، كنت لا فقط قيام زائد 1 عليك أن تفعل زائد 20، بالإضافة إلى 20، بالإضافة إلى 20، بالإضافة إلى 20، ويمكنك التنقل بسرعة كبيرة من خلال أو البحث من خلال جميع البيانات الخاصة بك. حقل حرف متغير، على النقيض من ذلك، لم يكن لديك دائما 20 حرفا. قد يكون لديك 20 ثم 15 ثم 19 ثم 10، وحتى إذا كنت ترغب في البحث من خلال ذلك، لا يمكنك فقط عمياء إضافة 20 بايت للوصول الى المرحلة التالية. لديك حرفيا للبحث عن طريق لأن حافة بنية البيانات، اذا صح التعبير، هو خشنة. انها نوع من يذهب في وعلى أساس من على طول الفعلي من السلسلة. حتى عندما كنت تعرف طول، كما يقول كريم، استخدام حقل شار، لأنك الحصول على ذلك كفاءة يجري قادرة على البحث من خلال ذلك أسرع عندما كنت تبحث عن البيانات، على خلاف ذلك استخدام متغير. للأسف، ليست لدي إجابة جيدة إلى متى يجب أن يكون اسم، ولكن لشيء من هذا القبيل اسم، وأود أن أقول وVARCHAR شائع لأنه لن أن يكون طول ثابت للجميع. 20، وأنا لا أعرف، 20 يشعر قليلا ضيق. دعنا نقول فقط 50، 50. لا يكلف حقا لكم ان أكثر من ذلك بكثير ليقول 50 بدلا من 40، ولكن في مرحلة ما، عليك لإجراء مكالمة الحكم. شائعة جدا، وبصراحة، ل[؟ تاريخي ؟] أسباب، على الرغم من انها المفرط، هذا يعني 255، لأنه منذ بعض الوقت، في نظم قواعد البيانات شعبية، مثل الخلية، وهي مفتوحة المصدر وسيلة مجانية أن الكثير من الشركات مثل حتى الفيسبوك المستخدمة، كان هذا الحد الأقصى الافتراضي لذلك كان الناس يذهبون معها. حتى لا غير معقول، لكننا سوف استخدام أكثر من ذلك بقليل الحدس ونقول وبكل تأكيد 50، وهذا الإفراط ربما قليلا. الجنس، أفعل مثل التعداد، ولذا فإننا بالتالي يمكن تعداد الذكور أو الإناث، أو ربما بشكل أكثر كفاءة، م أو و أو بعض الرموز الأخرى، ولكن التعداد وكأنه خيار جيد هناك. أن تكون واضحة والجنس يمكن أن يكون مجرد VARCHAR، ويمكننا فقط كل توافق الناس لطيفة و، لوضع دائما نفس القيم هناك. ذكر أو أنثى أو غيرها. ولكن المشكلة إذن، هو أن نتمكن من تجعل من الخطأ، كما [غير مسموع] المقترحة في سياق مختلف في وقت سابق. إذا كان لنا أن تجعل من الخطأ، يمكن أن نحصل على قيم غير صحيحة في قاعدة البيانات الخاصة بنا. لذلك ما هو لطيف حول قواعد بيانات مثل أوراكل و MySQL وغيرها، هو أن لديك هذا الأخير طبقة من الدفاع حيث من مسؤول DBA، قاعدة البيانات، أيا كان تصميم هذا الجدول وكأننا هي لفظيا، قد وضعت في مكان والتعداد أن يحمي من ذلك عن طريق تحديد الذكور، والإناث، وذلك لا أحد آخر لا يمكن مبرمج عن طريق الخطأ إدراج أي قيمة أخرى. حيث سيكون هذا شيء جيد. هذه هي ميزة. لذلك فإن الهوية، على افتراض معرف رقمي، فإنه ربما ينبغي أن يكون عدد صحيح موجب. ونحن نفعل أحيانا يكون فرصة لمناقشة طول. أنت لن عادة تحديد عدد هنا، كنت بدلا من ذلك تحديد هذا هو عدد صحيح، أو كثافة كبيرة، كما انهم عادة ما تسمى. ولكن عادة، عدد صحيح سيكون، دعنا نقول، 4 بايت. واذا كان 4 بايت، هذه هي الطريقة العديد من بت؟ الحضور: [غير مسموع] DAVID مالان: 32 بت. فكيف كثير يمكن للمستخدمين لدينا في قاعدة البيانات الخاصة بنا إذا أنهم جميعا لديهم معرف وهذا الرقم يجب أن تكون فريدة من نوعها؟ 32 بت يعني أن لدينا أنماط واحد، اثنان، ثلاثة، أربعة، five-- فكيف العديد من أنماط مختلفة من الأصفار ومنها هل يمكن أن يكون إذا كان هناك 32؟ هذا هو الشيء نفسه يسأل ما هو اثنين إلى 32؟ إنه رقم كبير أن لا أستطيع الحصول على حق تماما، ولكن أنا أعلم أنه ما يقرب من 4 مليارات. ولذلك فإن هذا يعني جدول قاعدة البيانات الخاصة بك يمكن أن لدينا أربعة مليارات المستخدمين وهذا كل شيء. لذلك هذا هو اهتمام تصميم ضمنا. عدد محترم من الشركات لقد قررت، ربما ليس كثيرا لجدول مستخدميها، لأن وجود 4 مليارات المستخدمين مشكلة نادرة. هذا هو نوع من الطراز الفيسبوك المشكلة ليست مشكلة شركة نموذجية. ولكن ربما إذا كان لديك سجلات المعاملات أو نوع من البيانات التي باستمرار يحصل كتابة إلى قاعدة البيانات الخاصة بك يمكن أن يكون لها على الاطلاق مليارات والمليارات من الصفوف، و استخدام عدد صحيح لذلك، ما الذي سيحدث في أقرب وقت تحصل على الصف رقم 4000000000 ثم حاولت إدراج 4000000000 و 1، إذا جاز التعبير؟ أنا تبسيط الأرقام قليلا. يمكنك خفض، أعني لك أن التعامل معها بطريقة أو بأخرى. وما كمبيوتر ستفعل عادة، تفكر في ذلك حتى من صباح اليوم، إذا كان لديك قيمة 4 بت مثل 1، 1، 1، 1، التي، فقط لادراك التعادل في الصباح معا لفترة ما بعد الظهر، ما الذي يمثله هذا العدد في ثنائي؟ حسنا، نحن سوف تجعل من الأسهل. ماذا يعني هذا العدد تمثل في ثنائي؟ حسنا، نحن سوف تجعل من السهل، ما هل هذا تمثيل في ثنائي؟ الحضور: ثلاثة. DAVID مالان: ثلاثة، ل لدينا تلك column-- [ضحك] يا للعجب! كان لدينا عمود منها وعمود ثنائي. لذلك نفترض أن، في الواقع، لدينا [؟ كان أحط؟] ليس 32 بت، ولكنها كانت بت اثنين، يمكننا عد من الرقم 0، 1، 2، 3 المستعمل، ثم نحن نوع من العودة إلى المستخدم 00 ثانية. لذلك هذا هو ما يحدث عادة. إذا كنت قد سمعت expression-- ربما لم تفعل ذلك، ولكن إذا كنت have-- تجاوز عدد صحيح، حيث كنت تبقى التقليب كل بت الخاص بك لتكون أكبر القيم الممكنة، وبعد ذلك كنت خارجا من البتات، ماذا سيحدث عادة؟ لماذا أقول 00؟ حسنا، هذا هو ثلاثة. كيف يمكنني تمثل 4؟ كيف يمكنني تمثيل للحصول على رقم 4 في ثنائي؟ الحضور: [غير مسموع] DAVID مالان: احدا-- نعم، لا أقول 100 في حد ذاته، لأنه يحتوي على خطأ دلالة، ولكن 1-0-0. ذلك أن عدد 1-0-0 هو في الواقع صحيح، ولكن إذا كان لديك سوى اثنين بت، ماذا فعلت حقا؟ كنت قد رحلت إلى 00. والواقع، وهذا ما سيحدث. في الواقع، يمكن ان يخطر لك حول هذا أكثر حميمة. إذا كنت تذكر، ما، قبل 16 عاما، العالم كان من المفترض أن تنتهي عندما وقعت المشكلة Y2K. لماذا كان ذلك؟ حسنا معظم أجهزة الكمبيوتر، ل قرارات معقولة، تم تخزين أرقام مثل في العام 1975 أو العام 1999 فقط باستخدام رقمين في ذاكرة الكمبيوتر. وذلك بطبيعة الحال، فإن ما يحدث عندما تحصل حتى عام 2000، تذهب إلى ذلك، أو بدلا من ذلك، نعم. لذلك تذهب إلى عام 2000، ولكن إذا كنت فقط باستخدام رقمين يبدو مثل عام 00 و لذلك كنت قد رحلت. وهذا هو السبب في الكثير من النظم هناك حاجة إلى تحديث في ذلك الوقت. هكذا قال مع ذلك، شركات مثل الفيسبوك تشغيل ضد هذا. وبالتالي فإن الطريقة الوحيدة للتعامل مع الوضع، بصراحة، هو أن توقع عليه. أو أنظف وسيلة ل التعامل مع هذا الوضع هو توقع عليه حتى لا يجب أن إجراء تغييرات في وقت لاحق. وذلك بدلا من 8 بايت، أنت تعرف لماذا؟ أنا ذاهب ليكون تطلعيه هنا، على الرغم من انها قليلا متفائل بأن نحن ذاهبون الى 4 مليارات و1 المستخدمين على موقعنا على الانترنت. ولكن دعونا فقط استخدام 8 بايت، أو 64 بت، والتي ستكون بشكل عام دعا عدد صحيح كبير والتقنية للغاية. وهذا يعني فقط يمكن أن يكون المزيد من الأرقام في رقم هاتفك. ولكن هذا هو المهم القرار التصميم، لأنه إذا اخترت الرقم الذي يوجد عدد قليل جدا من أجزاء من التعبير أنت يمكن أن تخلق في الواقع خطأ في البرنامج. كل الحق، لذلك دعونا اختتام مع البريد الإلكتروني والعنوان البريدي. لذلك البريد الإلكتروني، وكيف ينبغي طويلة عنوان البريد الإلكتروني يكون؟ 50. أنا حقا لدي أي فكرة، ولكن من ربما شيء من هذا القبيل، لأن خلاف ذلك لا أحد يذهب ل أكتب لك إذا كان يحصل على فترة طويلة جدا، لذلك 50، دعنا نذهب مع ذلك الآن. العنوان البريدي، كم من الوقت يجب أن يكون؟ الحضور: [غير مسموع] DAVID مالان: انها ليست مجرد الرمز البريدي، وإن كان. العنوان البريدي، سمعت. لذلك هذا هو مثل 1 ساحة براتل، فاصلة، كامبريدج ماساشوستس، فاصلة، 02138. في واقع الأمر، اسمحوا لي أن سحب فقط يصل قليلا ورقة عمل هنا. هذا يبدو وكأنه هو فرصة ضائعة. اذا كان لدينا 1 ساحة براتل، فاصلة، كامبريدج MA 02138، أشعر أننا يمكن أن نفعل ما هو أفضل من العنوان البريدي فقط. لماذا لا تنفجر هذه قليلا؟ ما أنا الحصول على؟ ما الذي يجب أن يكون بدلا من ذلك الصفوف لدينا هنا، ربما؟ الحضور: [غير مسموع] DAVID مالان: نعم، لذلك دعونا نسميها street_number، وتسطير هو مجرد شائعة طريقة وجود ما يشبه الفضاء، ولكنها ليست، في الواقع. الشارع، وcity-- ثم آسف؟ الحضور: [غير مسموع] DAVID مالان: يمكننا أن نفعل ذلك. سطر واحد، سطرين. لماذا لا يتم سيبقي أنه بسيط في الوقت الراهن، ولكن هذا على الاطلاق قرار مقبول. ثم الدولة، ثم دعونا تكون الولايات المتحدة تركز على القليل حتى الآن ومجرد القيام الرمز البريدي، لمجرد فإنه سوف يؤدي إلى خطأ مثيرة للاهتمام أو مشكلة هنا. لذلك نفترض أن هذا الآن عنواننا. انها قليلا أكثر مزعج أن لدينا كل هذه المجالات أكثر، ولكن الآن يمكننا علامة الأمور أفضل قليلا. عدد حتى الآن الشارع ربما لا ينبغي أن يكون شار، ينبغي عليه؟ ما ينبغي أن يكون؟ الحضور: [غير مسموع] DAVID مالان: ربما، وعدد مثل عدد صحيح مرة أخرى؟ عدد صحيح كبير؟ وربما كنت لا يعيش في 4 مليارات الشارع الرئيسي أو أي شيء مجنون مثل ذلك. ذلك صحيح هو على الارجح غرامة، ولكن لديها أي شخص عاش من أي وقت مضى في عنوان مثل 1A ساحة براتل، أو 1 و 1/2؟ توجد هذه الأشياء، لسوء الحظ، حتى إذا لم تكن قد عاش هناك، هناك هذه الحالات الشاذة مثل شقة 1A، 1B، 1C. حتى تعرف ما، فإننا على الأرجح لا ينبغي أن تذهب مع عدد صحيح، وإلا فإننا ذاهبون لتفقد بعض المبيعات. ميدان شار، ربما؟ أنا لا أعرف كيف طويلة. انها على الارجح لن يكون كل هذا الوقت، لذلك 10 أو شيء من هذا. لا أحد يذهب لكتابة عدد أطول، ربما. ولكن مرة أخرى، يجب علينا على الارجح إعطاء المزيد من التفكير في ذلك. ربما جوجل، والقيام ببعض الأبحاث، ولكن سوف نذهب مع الشجاعة لدينا في الوقت الراهن. الشوارع، شار، 50، وأنا لا أعرف. في مرحلة ما، لا أحد يذهب لأنه يكتب على المغلف، أيضا، لذلك هناك على الارجح بعض الحدود العليا هناك. المدينة نفسها، بالتأكيد، لذلك شار 50. الدولة، يمكن أن يكون الولايات المتحدة التي تركز في الوقت الراهن. لذلك يمكن أن تكون قائمة، لذلك النوع مكالمة حكم، والدولة. يمكن أن يكون مثل حرفين. ذلك في الواقع، ربما، وظللت قائلا شار. وربما يعني VARCHAR، فقط لبعض الكفاءة، ولكن سوف نعود ل هذا القرار في لحظة. يمكن أن يكون حرف من طول 2 للدولة. إذا كان في الولايات المتحدة لديهم، مثل MA، ماساشوستس، نيويورك، نيويورك، ونيو جيرسي، نيو القميص، وهكذا دواليك. لذلك يمكن أن تكون ثابتة عند هذا الحد. العاصمة واشنطن دي سي. ولكن أعتقد، أوليفييه، كنت اقترح نهج آخر. الحضور: [غير مسموع] DAVID مالان: نعم، لذلك هو مزعج قليلا لكتابة، لكن التعداد قد يكون أكثر منطقية، لأن هذه الطريقة، على الأقل في الولايات المتحدة، هل يمكن تعداد، إذا مضجر، ولكن يمكنك أن تفعل ذلك مرة واحدة فقط في قاعدة البيانات الخاصة بك ويكون أبدا مرة أخرى للتفكير ، إلا أن كافة رموز المكون من حرفين 50. لذلك أود التعداد. دعونا العصا مع أن هناك، ل انها نوع من يفرض المزيد من الصرامة. ثم الرمز البريدي؟ أعتقد كان أندرو التفكير في ذلك الحضور: [غير مسموع] DAVID مالان: نعم، خمسة أو تسعة. دعونا فقط يبقيه بسيط. لا مجرد خمسة في الوقت الراهن. ولكن ربما استطعت فقط قيام عدد صحيح، أليس كذلك؟ استطيع، ولكن أنت تعرف ماذا، وأنا قدمت هذا الخطأ مرة واحدة، بمعنى ما. قبل سنوات، كنت المهاجرة من برنامج Microsoft Outlook إلى Gmail، و Outlook لديه وسيلة لتصدير جميع جهات الاتصال الخاصة بك كما في ملف إكسل، ملف CSV، مفصولة بفواصل ملف القيم. وقدم لي خطأ، وأنا أعتقد، من النقر المزدوج عليها، مرة واحدة أنا تحميل التصدير، ل تأكد من أنه بدا كما كنت أتوقع. ولا بد لي من ضرب حفظ أو السماح لصناعة السيارات في إنقاذ ركلة أو شيء. لأنني عندما ثم المستوردة ذلك إلى Gmail، كل شيء يعمل. ولكن لسنوات، حتى يومنا هذا، و فعلت ذلك خمسة، قبل 10 عاما، أنا لا تزال تجد الاصدقاء الذين لديهم العناوين التي تبدو مثل هذا. لماذا؟ الحضور: [غير مسموع] DAVID مالان: استغرق و0، حسنا، وإنما أخذ الرمز البريدي بأسره عدد، وبالتالي فإنه من و0 الرائدة التي تعني هذا لا معنى له. وحتى 2138 ويبدو أن بلدي الرمز البريدي. وهذا هو، بصراحة، إكسل مزعج ميزة حيث أعتقد افتراضيا، حتى لو كان من المفترض أن فقط أن يكون النص، ومايكروسوفت اكسل تقرر، اسمحوا لي أن يكون مفيدا، وأوه، أرى أرقام فقط. دعونا علاج هذه كأرقام. وباقتطاع الأصفار البادئة. أقسم بالله، كل زوجين من أشهر أجد عنوان، ومن نوع من الوسواس القهري، أعود في وإضافة 0، حتى على الرغم من أنني لم ارسال الناس رسائل أو أي شيء. ولكن أنا لا تزال تجد بقايا هذه. لذلك هذا هو القول، وهذا هو فكرة جيدة؟ حسنا، لا، لأن أي شخص في ماساتشوستس، في هذا المجال، وستكون لدينا س مما يؤدي بهم. لذلك دعونا نذهب مع مثل شار، على الأرجح، خمسة. وهنا، ندرك أننا يمكن استخدام التعداد، ونحن يمكن تعداد 10000 رموز البريدي الممكنة، ولكن هذا يبدو وكأنه هو على الأرجح عبور خط، مثل الفوائد. إذا كان لديك لإدخال أن الكثير من البيانات إلى قاعدة البيانات الخاصة بك للحماية من شيء. أدركت شار لذلك يمكن أن اكتب في H-E-L-L-O كما الرمز البريدي الخاص بك، وهي ليست، بالطبع، رقمية. لذلك ليس هناك طريقة، في قاعدة بيانات نموذجية، لتحديد رقمية الوحيد و خمسة أحرف فقط طويلة، لذلك نحن ذاهبون لدينا للقيام بذلك في التعليمات البرمجية. ونحن في طريقنا للقيام بذلك في PHP أو جافا أو أي لغة نحن استخدام على الخادم لفرض هذا النوع من القيد. هوو! كل الحق، لذلك أي أسئلة فقط حتى الآن؟ دعونا اتخاذ القرار تصميم آخر. وتبين أن لك كما أن تختار، عند تصميم قاعدة بيانات SQL، أو database-- العلائقية نموذجية حيث مرة أخرى، العلائقية فقط يعني الصفوف والأعمدة، هذه هي الطريقة التي تنظم data-- الخاص بك وندرك أن ما يعنيه هذا هو، لقد تم تضليل في هذا، وأنا drawing-- هذا هو ما يسمى مخطط لجدول قاعدة البيانات. هذا هو مثل المواصفات لtable-- ولكن عندما يحين الوقت في الواقع لتخزين البيانات، ونحن سوف نفعل ذلك فقط من خلال المثال هنا. أنا ذاهب لفتح إكسل، ل سوف تتفوق تعطيني الصفوف والأعمدة. وهذا هو بالضبط ما أوراكل و سوف الخلية وغيرها من الأدوات تعطيني. لذلك أنا ذاهب لمجرد استخدام ذلك من أجل مناقشة و. اسمحوا لي أن المضي قدما وفتح وثيقة تمثيلية هنا، تكبير قليلا. هكذا على سبيل المثال، ورؤوس لدينا هي الآن الاسم الأول واسم العائلة والجنس والهوية، البريد الإلكتروني، ورقم الشارع، الشارع، يصيح. الشارع، المدينة، الدولة، فقط يناسب حول على الشاشة. ذلك ما يعنيه هذا هو أنه عندما المستخدم يسجل أول لموقع الويب الخاص بي، انها سوف تكون شيء من هذا القبيل ديفيد، مالان، م، دعنا نقول 1، malan@harvard.edu، سوف رقم الشارع يكون مثل 1 ساحة براتل، كامبريدج، MA، 02138، ثم هكذا دواليك. لذلك عندما أقول أن قاعدة بيانات علائقية أو قاعدة بيانات SQL هي الصفوف والأعمدة، أعني هذا. يتم تخزين البيانات الفعلية في الصفوف والأعمدة. هذا هو مجرد صدفة، أن كنا نتحدث، وكنت مجرد رسم عليه في الصفوف والأعمدة. هذه ليست سوى مخطط، التعريف الشامل. حتى هذه الحقول هنا، أو مكافئ، هناك، وهي الحقول التي تظن أنا المرجح للبحث في إذا أنا مستخدم أو إذا أنا مسؤول قاعدة البيانات؟ مثل، ما هي المجالات أنا في الواقع تسير على البحث في؟ الحضور: [غير مسموع] DAVID مالان: اسم، نعم هكذا أحب حقيقة هكذا- يضرب نعم، قد يكون البريد الإلكتروني شائع جدا. عذرا، قلت الاسم. حتى maybe-- ومرة ​​أخرى، ونحن نوع من الحديث بصورة مجردة. أنا لا أعرف لماذا كنت أن تبحث عن اسم، ولكن أن يشعر المعقول إذا كنت تبحث عن مستخدم. ربما تقول، بالتأكيد، والهوية. وانها زلق المنحدر، لأن بوسعي دبر سيناريو حيث ربما قد طلب مدرب بلدي لي، كم عدد الرجال لدينا على موقعنا؟ كم عدد النساء لدينا على موقعنا؟ وحتى في هذه النقطة، قد ترغب للبحث في مجال النوع الاجتماعي، أيضا، ولا شيء آخر. لذلك هناك مفاضلة هنا. مرة أخرى، وليس هناك الجواب الصحيح، ولكن هناك هي ميزة في معظم قواعد البيانات SQL المعروفة باسم الفهرسة، حيث لك، المصمم، مسؤول قاعدة البيانات، وصول الى تقرر مسبقا التي حقول يجب تحسين قاعدة البيانات لعمليات البحث على. هل يمكن أن نقول بسذاجة جدا، وتحسين هذا، وتحسين ذلك، وتحسين هذا، تحسين هذا وهذا، وسوف قاعدة البيانات قيام بعض الشيء السحري تحت غطاء محرك السيارة، والقيام بشيء ما في مثل هذه الطريقة في المرة القادمة كنت ابحث في أي من هذه المجالات، وذلك، في الواقع، يكون أسرع. هذا ممكن. فإنه لا يلغي نفسه بنفسه. ولكن يجب أن يكون هناك ثمن يدفع. إذا كنت بسذاجة، أو الإفراط في الحماس مثلا، مؤشر كل من هذه المجالات، إذا جاز التعبير، وجعل كل منهم كفاءة للبحث، ما هو الثمن أنك ربما دفع؟ الحضور: [غير مسموع] DAVID مالان: الأداء. ماذا تعني؟ حسنا الأداء، على الأقل في السياق انا مناقشة، هو أفضل الآن. هذا هو تعريف الفهرسة. وسوف تقدم عمليات البحث بشكل أسرع. لذلك يقلل الوقت، إذا جاز التعبير. الحضور: [غير مسموع] DAVID مالان: الفضاء. ذلك مرة أخرى، وهذه هي التجارة المشتركة. أنا يمكن تسريع عمليات البحث، ولكنها ل سوف يكلفك أكثر بايت من المساحة. لماذا؟ حسنا، افتراضيا، إذا كان لدينا شيء من هذه النجوم الحمراء، فإن أيا من هذه المؤشرات، كما أقوله، كيف كنت ابحث لاسم في قاعدة البيانات هذه؟ لذلك دعونا رسم لدينا الانتباه إلى هذا المثال. اذا كان لدينا ديفيد وسكالي وكريم وأروى وغيرهم في هذه الصفوف، على سبيل المثال. لذلك دعونا نفعل ذلك بالضبط. سكالي هو هنا، وبعد ذلك لدينا كريم، وأروى، والجميع، إذا كنت لا لديهم مؤشر تعريف، إذا جاز التعبير، وأفضل ما يمكن القيام به هو البحث الخطي. إذا كنت تبحث عن أروى، نحن لسنا سوف تكون قادرة على القفز حق لها بسرعة. ونحن في طريقنا لبدء أعلى و يذهب كل في طريقه إلى أسفل، لا خلاف لدينا الأصلي مايك سميث سبيل المثال. إذا، ومع ذلك، وأنا أقول، مهلا، قاعدة بيانات، مؤشر حقل الاسم الأول، ثم انها سوف تفعل شيئا مربي الحيوانات ودعم شيء مثل البحث الثنائي. انها ربما لا البحث الثنائي في حد ذاته. قواعد البيانات تميل إلى استخدام آخر هيكل بيانات تسمى ب أشجار، وينبغي عدم الخلط مع شجرة ثنائية، التي تجعل مجرد أنها أسرع للبحث شيء لوغاريتمي في الطبيعة. ولكن الثمن الذي تدفعه لبناء هذا الميزة، أن بنية البيانات في الذاكرة، هو أكثر بايت. لذلك قد يستغرق بعض ميغابايت، بعض غيغا بايت، من يدري؟ ان ذلك يعتمد على البيانات. حتى في مرحلة ما، عليك أن تقرر، انها على الارجح يست قضية مشتركة. إذن ما هي القواسم المشتركة الفعلي الحالات، إذا كان حقا كان عليك أن تختار، ما قد تكون الحقول المفضلة لديك؟ البريد الإلكتروني. وأنا أحب البريد الإلكتروني لأن البريد الإلكتروني، من الناحية النظرية، ينبغي أن تكون فريدة من نوعها. وهكذا عادة، عندما تعلم مقدما أن أحد الحقول هو أو سوف تكون فريدة من نوعها، التي يميل إلى أن يكون حقل جيد للبحث عن، لأن بهذه الطريقة، عند البحث عن شيء ما، كنت ذاهب للحصول على واحدة الى الوراء أو الصفر الردود ومن ثم الانتهاء من ذلك. لم يكن لديك للحفاظ على أبحث عن بعضها الآخر. وحتى في هذه الحالة هنا، والبريد الإلكتروني، ما دمت لا يمكن تسجيل مرتين مع نفس عنوان البريد الإلكتروني، هو فكرة جيدة. معرف بحكم تعريفها، في عالم الكمبيوتر العلم، إذا كنت تتحدث عن ل الهوية، والتي تكون أفضل فريدة من نوعها. هذا النوع من دلالة من معرف أو معرف. وبقية هذه قد يكون، دعنا نسميها لطيفة إلى يملكون، ولكن ليس المطلوب حقا. وذلك في قاعدة بيانات، تحديد المؤشرات، ولكن هل يمكن أن يكون أكثر دقة. هل يمكن القول، مهلا، قاعدة البيانات، تأكد أن كل معرف في هذا الجدول هي فريدة من نوعها. حتى لا تدع مبرمج وضع عن طريق الخطأ في البريد الإلكتروني مكررة أو رقم مكررة. الكثير من مثل تتضمن التعدادات حمايتنا بالمثل، كنت يمكن أن يكون هذه الدفاعات المستوى الأدنى. وحتى تصميم قاعدة البيانات، في بعض المعنى، هو نوع من المرح، لأنك تفعل ذلك الدفاعية. أنت نوع من افتراض أن العمل مع فظيع، فظيع المبرمجين وتريد وضعها في العديد من الدفاعات ما تستطيع لحماية البيانات الخاصة بك، ولكن في نفس الوقت كنت تريد لمساعدتهم على أداء أفضل عن طريق اختيار أي الحقول لتحسين ل. ولكن لا يمكن بالضرورة أن تفعل ذلك في فراغ وكأننا هنا نوع من. كنت قد حصلت على معرفة ما هي تلك الحالات شيوعا هي. إذا المطورين تنفيذ عنوان الكتاب، قد ترغب أيضا جدا لتكون قادرة للبحث في كل مجال تقريبا، فقط من خلال طبيعة التطبيق. لذلك ربما كنت تنفق أن مساحة إضافية. الحق، أي أسئلة؟ بلى. الحضور: [غير مسموع] DAVID مالان: رقم الحضور: [غير مسموع] DAVID مالان: موافق. الحضور: [غير مسموع] DAVID مالان: أوه، لذلك نحن نتحدث بطريقة الآن هذا بلغة الملحد تماما. لذلك نحن نتحدث الآن عن قواعد البيانات العلائقية بشكل عام، أو SQL قواعد البيانات بشكل عام. الحضور: [غير مسموع] DAVID مالان: كلمة أفضل للاستخدام و، يمكن استخدامها من قبل أي لغة. حتى أتمكن من كتابة التعليمات البرمجية جافا سكريبت، C رمز رمز، C ++، جافا البرمجية، رمز روبي، وكلها تتحدث ل قاعدة البيانات وتنفيذ الاستفسارات. في الواقع، هذا ليس سيئا سغ] إلى استعلام سبيل المثال. ومرة أخرى، نحن لسنا بصدد الخوض في جاوة أو C ++ أو أي من ذلك بعد الآن، ولكن في SQL، اللغة التي أظل مشيرا، في لغة الاستعلام الهيكلية، هذا في حد ذاته هو لغة البرمجة، ولكن من المفترض أن يتم استخدامها ل، لا مفاجأة، هيكلة الاستفسارات الاستعلام. أعني هذا. الطريقة التي تختارها البيانات من قاعدة بيانات MySQL وتكتبه حرفيا في البرنامج شيء من هذا القبيل اختيار نجم من المستخدمين. أنا على افتراض أن هذا الجدول، من الآن فصاعدا يسمى المستخدمين. أنا يمكن أن يطلق عليه أي شيء نريد، لكن هذا النوع من المنطقي. وحدد لذلك هو جدا الفعل المشترك، إذا كنت صح التعبير، في SQL، ذلك حرفيا يفعل ذلك. ما رأيك نجوم يعني في هذا السياق؟ الحضور: [غير مسموع] DAVID مالان: أنا آسف؟ الحضور: [غير مسموع] DAVID مالان: غير مطلوب، انها أكثر شمولا من ذلك، في الواقع. انها شخصية بطاقة البرية. نجم دائما تقريبا يعني أي شيء، لذلك هذا يعني، في هذه الحالة، حدد كل شيء من قاعدة البيانات. لذلك عندما أقول هذا، أعني تعطيني مرة أخرى في كل عمود من مائدتي دعا المستخدمين. حتى تعطيني مجموعة نتائج، كما يطلق عليه. وبعبارة أخرى، تعطيني نسخة من جداول البيانات، هو ما أنا في الحصول. ولكن إذا قلت مختارة نجوم من المستخدمين حيث يساوي الرقم 1، ينبغي كيف كبيرة مجموعتي تكون النتيجة بعد ذلك؟ أو مكافئ، يجب أن عدد الصفوف أنا سيتم إعادتها من قاعدة البيانات؟ على الارجح واحدة فقط، إذا كان لدي بالفعل تعامل معرف كمعرف فريد، وإذا ديفيد لديها أن هوية فريدة من نوعها، وأنا يجب أن تحصل على واحدة الى الوراء وصف واحد فقط يحتوي على كافة المعلومات داود. إذا قلت هذا حيث معرف يساوي 99، يجب أن نعود، في هذا السياق، الصفر الصفوف، على الأقل في الوقت الراهن. ومع ذلك، إذا لا يهمني حقا حول كل تلك المعلومات، أستطيع أن أقول فقط، حيث لم ديفيد العيش؟ حدد الرمز البريدي من المستخدمين حيث الرقم هو 1. سيؤدي هذا إلى تحديد لي فقط الرمز البريدي داود رمز وليس مجمل هذا الصف. لماذا قد أفعل ذلك بدلا من الاستعلام نجوم، بطاقة البرية؟ الحضور: [غير مسموع] DAVID مالان: نعم، وأنا قد تحتاج إليها فقط. لذلك الأداء مرة أخرى الجواب هنا. لماذا نطلب أكثر المعلومات مما تحتاج، لأنه حتى لو كان كل الحق معا، لا يزال لديك لنسخ البيانات، على ما يبدو، من قاعدة البيانات في البرنامج بطريقة أو بأخرى، وهذا هو مجرد سخيفة إذا كنت تحتاج فقط خمسة من هذه الأرقام، لا مجمل الصف. فكيف يمكنني إدراج المستخدم؟ لنفترض أن المستخدم لديه فقط سجلت لأول مرة. ان بناء الجملة عادة ما تبدو مثل هذه. تضاف إلى المستخدمين، و ثم يمكن أن نقول القيم، وبعد ذلك نقول القيم مثل، دعنا نقول، لورين سكالي، لدينا مصور فيديو حق هنا. والحقل التالي هو الجنسين. ولذا فإننا سوف يقول الاقتباس، قوسي "و"، ثم لدينا معرف وانا ذاهب الى say-- دعونا ندعي أنها ليست في الواقع هنا، ولذا فإننا سوف الترجيع في القصة. حتى 2 سوف تكون هويتها. ثم الحقل التالي هنا هو البريد الإلكتروني لها. لذلك سيكون مثل لورين سكالي وهكذا دواليك، وسنقوم مجرد نقطة نقطة نقطة بعيدا من هنا. الآن سوف تحصل على القليل مملة، ولكن الاستعلام إدراج سيبدو في النهاية من هذا القبيل. إذا كنت ترغب في التخلص من سكالي، اه أوه، دعونا إلغاء تسجيل لها، وحذف حساب لها، حذف من المستخدمين حيث يساوي الرقم 2، سوف تتخلص من سكالي. أو أستطيع أن أقول تعيين المستخدمين التحديث، دعنا نقول، ما يمكن أن نتغير؟ لنفترض انها تتحرك. مجموعة البريدي يساوي 021-- كلا، هذا هو لها البريدي الحالي. 90210. الوحيد الرمز البريدي الآخرين وأنا أعلم في العالم. لذلك من شأنها أن تغير لها البريدي code-- في الواقع، فإن ذلك لا يغير الرمز البريدي لها. ماذا أنا فقط أفعل؟ على الرغم من أن بناء الجملة ربما الجديد. الحضور: [غير مسموع] DAVID مالان: نعم، انتقلت الجميع إلى بيفرلي هيلز، كاليفورنيا. لذلك ينبغي لي فعلا يقول حيث يساوي الرقم 2. وهكذا دواليك. لذا SQL هو كل شيء عن هذه أنواع من تعليمات. تحديد، إدراج، حذف، التحديث، مع هذه المسندات في نهاية هذه الشروط حيث، إذا جاز التعبير. وهناك الكثير من ما يمكن القيام به، لكنها في الحقيقة لا يتعدى كونه مجرد أسفل ببساطة، إذا arcanely، معربا عن ما تريد قاعدة البيانات للقيام به. ثم قاعدة البيانات ومعرفة، عندما قمت بإدراج لورين سكالي في قاعدة البيانات، حيث وضع لها في الذاكرة حتى نتمكن من الحصول بسرعة جدا لها استنادا إلى عنوان البريد الإلكتروني لها أو على أساس رقم لها أو ما شابه ذلك. نعم، دان. الحضور: [غير مسموع] DAVID مالان: سؤال جيد حقا. سوف تتغير هذه البرامج النصية من Microsoft Access لأوراكل إلى الخلية إلى شبكة الإنترنت؟ الجواب القصير هو أن يتوقف. من الناحية النظرية، هناك جدا فرعية مشتركة كبيرة من SQL الذي تتم مشاركته عبر كل من هذه التطبيقات. ومع ذلك، مختلف المصنعين لديها ميزات وأضاف إلى قواعد البيانات الخاصة بهم للقيام ببعض الأشياء خارج نطاق هذه الميزات، قد، في الواقع، وكسر. حتى طريقة للمطورين التحوط ضد هذا، غير أنه بدلا من كتابة الخام كود SQL مثل أنا أكتب هنا، انهم بدلا من استخدام مكتبة، مكتبة مشتركة نفسها هو نوع من أعلى المستويات والملخصات بعيدا عن المنتج الذي تستخدمه. وأنها تعطيك مهام وإجراءات للاتصال حتى يتسنى لك أبدا فعلا كتابة SQL الخام. من الناحية النظرية، ثم، يمكنك تغيير المنتجات من أوراكل إلى Microsoft أو العكس أو أي شيء آخر، ولكم حرفيا يغير شيئا حول التعليمات البرمجية. في الواقع، رغم ذلك، هو، وكنت في بعض الأحيان التخلي عن ميزات نتيجة لذلك. كنت قد اختار المنتج ل انها حصلت على هذه الميزات ذات القيمة المضافة، وكنت للتو لا استخدامها بوعي. والروايات المتناقلة، فإن معظم الشركات تميل أبدا الابتعاد عن قاعدة البيانات الخاصة بهم. ذلك في حين أن هذا هو لطيف ل لدينا ميزة، واقع هو، إذا كنت إصلاح قاعدة البيانات الخاصة بك، كنت ربما صنع باقات من التغييرات الأخرى على أي حال، إن كنت لا بالضرورة تحتاج إلى توقع ذلك. حتى انه يمكن القول الإفراط في هندسة المشكلة، ولكن ذلك يعتمد حقا على السياق. ولكن من الناحية النظرية، ويشارك SQL عبر هذه المنتجات المختلفة. أسئلة جيدة حقا. بلى. الحضور: [غير مسموع] DAVID مالان: نعم، لذلك يمكن ان يخطر لك قاعدة بيانات هو مجرد خادم، في نهاية اليوم، وداخل هذا الخادم هي مجموعة كاملة من الجداول والصفوف والأعمدة. وعند إرسال استعلام مثل هذه من البرنامج، موقع الويب الخاص بك، مكتوب بلغة جافا، روبي، بيثون، أيا كان، يتلقى الخادم هذا الأمر وتفسير ذلك في حرفيا بنفس الطريقة ناقشنا في وقت سابق مع غاتها، ومن ثم أداء بعض العمل على الصفر أو أكثر من الصفوف في الجداول صفر أو أكثر. الحضور: [غير مسموع] DAVID مالان: بالضبط، بالضبط. لذلك شبة الكود لشيء من هذا القبيل قد يكون هذا. في ملف PHP الخاص بك أو الخاص بك ملف الثعبان أو ملف جافا الخاص بك، عملتم كود شبة الكود، أو الصفر مثل كتل، إن زيارات المستخدمين acme.com/register~~V لأول مرة، ثم تضاف إلى المستخدمين وهكذا دواليك. ونحن من شأنه أن يترجم هذا إلى مزيد من رموز ملموسة في النهاية. ولكن في الحقيقة، لدينا جميع اللبنات الأساسية هنا، على الرغم من أننا تخطي بعض من خطوات التنفيذ. لذلك اسمحوا لي العثور على خطأ مع ما ل فعل رائعة منذ قليل. لقد خلقت جميلة الجدول الكامل للمستخدمين. ومن المسلم به، أننا يمكن أن تنفذ في عدة طرق مختلفة، ولكنك قد أدت فعلا لنا أسفل path-- وأنا أقول لكم، ولكن من المحتمل أن يكون بلدي fault-- من إلى حد ما تنفيذ قاعدة بيانات فعالة. انها ليست طبيعية. وتطبيع أعني هناك سيكون، مع مرور الوقت، والتكرار كبير، وبالتالي عدم الكفاءة، هذا هو مضيعة للمساحة. استنادا فقط ما تراه هنا، يمكن كنت أتصور حيث هذه النفايات من الفضاء سوف يأتي من، مع مرور الوقت، كما يسجل المزيد والمزيد من المستخدمين لموقع الويب الخاص بك؟ ما هي البيانات التي يمكن أن تصبح زائدة عن الحاجة؟ الحضور: [غير مسموع] DAVID مالان: لماذا هل يعني ذلك؟ الحضور: [غير مسموع] DAVID مالان: نعم. ودعونا نفترض للأغراض من اليوم أن هذا صحيح. تبين، ولقد تعلمت هذا بالطريقة الصعبة، وهذا ليس صحيحا. بطريقة أو بأخرى مدن متعددة لها، بطريقة أو بأخرى، ونفس الرمز البريدي، الذي يكسر هذا الحدس رائع. ولكن دعونا نفترض أن هذا صحيح، لأنها دائما تقريبا صحيح. لذلك نفترض أن الرمز البريدي هو يرتبط دائما مع نفس المدينة والدولة، التي هي نوع من افتراض معقول، ولكن غير صحيحة، كما تبين. لكن افتراض معقول لأغراض اليوم. ثم لنفترض أن أعيش في كامبريدج، MA، وفقا للجدول هذا المستخدم، ونفترض أن لورين يعيش سكولي في كامبردج، MA، ونفترض أن كريم يعيش في كامبردج، MA، وأروى تعيش في كامبريدج، MA، كل واحد منا في 02138. لماذا نحن نتذكر كامبريدج، MA، 02138 لكل أربعة منا؟ ما ينبغي أن يكون كافيا لتذكر؟ الحضور: [غير مسموع] DAVID مالان: فقط الرمز البريدي. مجرد أن 02138 موجودا، ل أنت تعرف ماذا يمكن أن نفعل؟ يمكن أن نحصل على القليل من يتوهم هنا وهنا، وتحديد جدول آخر أين يحدث هذا ليكون اسم، وهذا سيكون نوع، هذا وستكون طول، ومن الآن فصاعدا، وأنا الذهاب لهذه الكلمة مائدتي المدن. وقد دعا هذا، بالطبع، يا للمستخدمين الجدول. وذلك ما ينبغي أن أضع أكثر من هنا لمائدتي المدن، هل تعتقد؟ الحضور: [غير مسموع] DAVID مالان: نعم. لذلك الرمز البريدي والدولة والمدينة. وهكذا نوع هنا، ونحن سوف يقول هذا سيكون شار 5 مرة أخرى، موضوع للمناقشة في وقت سابق. وسيكون هذا التعداد، وربما مثل من قبل، ووالمدينة تكون VARCHAR 50. وحتى الآن ما يمكنني الحصول على لتمحو من هذا الجدول للقضاء على هذا القصور؟ الحضور: [غير مسموع] DAVID مالان: نيس. الدولة والمدينة تذهب بعيدا، حتى لقد قمت الآن التخلص من عدم الكفاءة المحتملة لمكررين تذكر، كامبريدج، MA، كامبردج، MA، كامبردج، MA، كامبريدج، MA، التي نأمل انها لن تتغير. وحتى لو كان كذلك، فإنه من مزعج minorly، الآن أن لدي لتغيير في صفوف متعددة، بينما هنا، وأنا يمكن فقط تغيير في مكان واحد. الآن ما هو المفاضلة، ربما؟ كان هذا السوبر مريحة. وكان كل ما عندي من البيانات بشكل جيد معا. ولكن ما هو واضح هو الحال الآن؟ الحضور: [غير مسموع] DAVID مالان: بالضبط، وأنا سعيد لأنك استخدمت كلمة الانضمام، لأن هذا هو في الواقع الكلمة، في عالم قواعد البيانات العلائقية في SQL، انها كلمة الفعلية لك قد اكتب أو على الأقل نقل. في واقع الأمر، ما لدينا الآن أن تفعل لتحديد المعلومات ديفيد الكاملة ل شيء من هذا القبيل اختيار نجم من المستخدمين، والانضمام المدن، on-- والآن انا ذاهب الى التحرك فقط إلى الخط الثاني ذلك أن هذا users.zip fits-- يساوي cities.zip، حيث يساوي users.ID 1. ماذا يحصل؟ انها قبيحة المظهر، ولكن يمكنك النوع من قراءتها من اليسار إلى اليمين، من أعلى إلى أسفل. اختر نجوم من المستخدمين هو نفسه كما كان من قبل، ولكنها ليست من المستخدمين، في حد ذاته. انها من المستخدمين الانضمام المدن. ما أنا انضمامه تلك الجدولين على؟ حسنا، على ما يبدو، المستخدمين الجداول الرمز البريدي المجال، وهذه الفترة هي مجرد الخاصة جملة للتعبير عن هذه الفكرة، وهذه هي المدن الجداول الرمز البريدي المجال. أريد هذين لتكون على قدم المساواة، ولكن أريد أن تحديد نهاية المطاف فقط تلك الصفوف حيث الرقم في الجدول المستخدمين يساوي 1، والذي حدث أن تكون الألغام. ومجرد أن يكون واضحا، وهو مبرمج، وعادة عندما ترميز ثابت للشيء من هذا القبيل عدد 1، لأن خلاف ذلك الموقع فقط يدعم ديفيد أو المستخدم الأول جدا، وكنت سوف بدلا من ذلك القيام شيء من هذا القبيل الهوية، حيث هذا يمثل متغير، وهو الأمر الذي يمكن أن تتغير مع مرور الوقت، على غرار في الروح إلى ما قلته في وقت سابق مع هذه الأنواع من النائبة. لكنه الآن سنقوم فقط ترميز ثابت أنها 1. وذلك ما يعني هذا؟ حسنا، طريقة لطيفة لتصور هذه هي أنه إذا كان هذا اليد جدول المستخدمين، وهذه اليد هي الكود البريدية الجدول، نحن نوع من finding-- ونصائح من أصابعي هي الرمز البريدي أكثر من هنا، ونصائح من أصابعي هنا هي الرمز البريدي، وكنت نوع من المتشابكة ذلك حتى يتسنى لك الحصول على دعم الناتج الجدول الأصلي، من خلال الانضمام حقا الجدولين على حقل مشترك. وليس من الضروري أن يكون الرمز البريدي. يمكن أن يكون معظم أي شيء آخر، ولكن الرمز البريدي هو لطيف، لأن واحدا، انها قصيرة، اثنين، انها دائما طول نفس، ولذلك لا يوجد كفاءة حقيقية لما اقترح اوليفييه هنا مع العوملة من الرمز البريدي، و [غير مسموع] اقتراح أن نتخلص مدينة والدول. لذلك هذا هو عملية المعروفة باسم التطبيع. أي أسئلة على ذلك؟ حسنا اسمحوا لي أن أشير إلى هذا هو النوع من الاشياء، على الرغم من انها الى حد ما على مستوى منخفض، هذا النقاش، الذي كنت أعتقد كنت نوع من الحصول على خسر في الأعشاب الضارة، هذا هو مظهر من مظاهر وافرة فرصة للمطورين لتكون سيئة. في واقع الأمر، حتى عندما كنا في دورات لقد علمت، عندما كان لدينا، على سبيل المثال، عديم الخبرة المبرمجين الجامعية بناء المواقع، للوهلة الأولى، قد تبدو المواقع رائع. ولديهم جميع وظائف طلبنا، المطورين قام بعمل جيد. لكنهم لا يعرفون بالضرورة يكفي عن تصميم قاعدة البيانات أو أنهم لم نفكر بجدية يكفي عن أنواع البيانات وأنواع المستخدمين الموقع كان على وشك أن يكون، ونجد، ثم بعد ستة أشهر، بعد أن كنت قد تخرجت أو انتقلت، أن اللعنة، موقعنا على الانترنت في الحقيقة، بطيئة حقا. وأنا لا أتحدث حتى عن وجود الملايين أو الآلاف من المستخدمين. أعني بضع مئات من المستخدمين في الحرم الجامعي، جميعهم يحبون، على سبيل المثال، متجر لدورات في في الوقت نفسه، وانهم باستخدام تلك النشرة المصورة طبعا تطبيق ذكرتها والشيء هو الحصول على الحقيقة يتباطأ بسبب عدم وجود الفهارس. لم تكن هناك نجوم حمراء، وذلك ل الكلام، أو لم يكن لدينا بالضرورة يؤخذ من البيانات المشتركة ل الحصول على بعض المدخرات من الفضاء. وذلك عندما فحص مطور أو شخص قاعدة البيانات أو ما شابه ذلك، أنواع الأسئلة للتفكير من خلال بل هو، عند استعراض كود شخص ما، أن أقول، لا تبدو بالضرورة من خلال كل من التعليمات البرمجية الخاصة بهم، ولكنهم يقولون، دعونا ننظر من خلال جداول قاعدة البيانات. ماذا تخزين؟ ثم أن أقول، حسنا، الانتظار دقيقة، لماذا أنت تستخدم عددا صحيحا؟ ماذا لو كان لدينا 4000000000 و1 من هذه الصفوف؟ وهذه الأنواع من الأسئلة هي فرصة إلى نوع من ابعاد و الحصول على شعور، حيث إذا كنت غير مريح القيام ذلك، وجود شخص ما أكثر تقنية نسأل هذه الأسئلة، من عدمه الشخص يعرف حقا الاشياء. وهذا هو نوع من الاشياء، أيضا، أن الناس على شبكة الانترنت الذي هم من العصاميين، ربما تعلم أقل كثيرا، لأنك لا تأتي بالضرورة عبرها بنفس القدر، لأنه يمكنك الحصول على واحتياطية من قاعدة البيانات وتشغيلها، لكن ما لم تكن قد قرأت حتى على الدروس أو كان وقال حول التسوية قاعدة البيانات والفهرسة والأداء، هذه هي أنواع الأشياء التي سوف يضر بك. وكنت قد تعتقد، أو مهندس سيئة يمكن القول، أوه، حسنا، ودفع نحن أفضل لقاعدة بيانات أكبر أو قاعدة بيانات أسرع أو مجرد رمي المال في هذا، على نطاق وعموديا، وليس بالضرورة أن يكون كذلك. إذا ذهبت in-- ويمكنك الذهاب في بعد المؤشرات fact-- وإضافة، وأنه قد يستغرق بضع ساعات ل قاعدة بيانات لبناء تلك البيانات الجديد الهيكل الذي أشرت إليه سابقا، لا يزال بإمكانك تصحيح هذا بعد وقوعها، أن هذا هو المكان الذي البدء في التمييز المصممين جيدة من سيء المصممين، وليس فقط من الناحية الجمالية، ولكن الأداء الحكمة أيضا. أي أسئلة؟ لا؟ وذلك لNoSQL، والتي كانت نوع آخر من قاعدة البيانات التي أشرت سابقا، لم يكن لديك الصفوف والأعمدة. بدلا من ذلك، سوف يكون لديك شيء التي تبدو أكثر قليلا من هذا القبيل. انا ذاهب الى استخدام بناء جملة المشترك. الأقواس المعقوفة يحدث ل أن تستخدم هنا الكثير جدا. قد يكون لديك شيء مثل الاسم الأول هو ديفيد، قد يكون لديك الماضي الاسم هو مالان، ونقلت و قد يكون لديك معرف أعرف، عفوا، معرف whoops-- 1، البريد الإلكتروني هو malan@harvard.edu~~gender=M، وأنا لن يكلف نفسه عناء كتابة ما تبقى، ومن ثم بعض الأشياء الأخرى. وبعبارة أخرى، وهذا هو تمثيل نصية ما يمكن أن نسميه عموما كائن في برنامج كمبيوتر. والهدف من ذلك هو عموما فقط مجموعة من أزواج قيمة المفتاح. ذلك مرة أخرى، وهذا موضوع متكرر. رأينا أزواج قيمة المفتاح في HTML، رأينا أزواج قيمة المفتاح الآن في سياق قواعد البيانات، ونحن رأى أزواج قيمة المفتاح في سياق من، أعتقد، وهي لغة في وقت سابق اليوم. وتبقي المقبلة. وبالفعل، هذا هو حقا ما هي البيانات التي تتلخص في، البيانات والبيانات الفوقية، أو القيم ومفاتيح، على التوالي. لذلك غير العلائقية قاعدة بيانات، وهو يستند على الأشياء، حيث تتجمع فقط كل شيء معا ووضعها في الذاكرة، سيكون عام كما في الصورة، أو فكرت في، لأن هذا. وسأترك ذلك الآن باعتباره نوع من نهج بديل. واحد ليست بالضرورة أفضل من الآخر. في الواقع، كثيرا في رواج هذه الأيام هي نظم قواعد البيانات مثل MongoDB ورديس وعدد قليل أدوات أخرى من هذا القبيل، وهي متاحة بحرية، لكنها تزداد حظوة. جزئيا لأنها توفر إضافية ميزات على هذه النهج جداول، ولكن أيضا لأنهم أسهل قليلا للاستخدام، لأنك لا يجب أن نفكر بجد عن الكثير من هذه القرارات التصميم. حتى الإيجابيات والسلبيات. حتى ندرك أن هناك خيارات ما وراء ما نحن قضى الوقت على. لذلك دعونا نفعل هذا. دعونا الانتقال قليلا يعود الآن لبرمجة الويب، حتى يتسنى لنا نوع من إبرام اليوم مع شيء هذا هو القليل من التدريب العملي على، وملء في بعض الثغرات من أمس. اسمحوا لي أن أذهب إلى هذا أولا. لذلك نذكر أن يوم أمس كان لدينا بعض HTML الكنسي الصفحات التي كان في البداية، فقط HTML، ومن ثم كان ثانوي CSS، اوراق النمط المتعاقب. هذا هو الشعار الجديد الذي لم نكن رؤية أمس، أو أسهب في الحديث عن، ما يسمى العلامة النصي. تبين يمكنك تضمين الواقع اللغة دعا جافا سكريبت في صفحة ويب الصفحة وجعل الويب الخاص بك صفحات تفعل شيئا. فماذا يعني ذلك؟ حسنا، اسمحوا لي أن نمضي قدما وفقط اقتراض هذا الرمز لحظة. انا ذاهب للذهاب إلى Cloud9، لا حاجة للذهاب الى هناك أنفسكم فقط حتى الآن، وانا ذاهب لاستدعاء هذا alert.HTML. أنا ذاهب للصق في الملف الخاص بي هنا. وفقط لتوضيح ما قمت به، والسماح لي بالذهاب إلى هذا العنوان والذهاب إلى تنبيه، وترى مرحبا العالم. ولكن هذا هو نوع من مخيب. أريد القيام بشيء فرق بسيط. لذلك أنا ذاهب الى القيام به في الواقع هذا. انا ذاهب للذهاب هنا ه، وبين علامات البرنامج النصي الخاص بي، يقول تنبيه ( 'مرحبا، العالم')؛ حتى إشعار انها قذرة قليلا، ولكن أنا عندي HTML، داخل وهو اللغة دعا جافا سكريبت، وهذا هو ما يسمى استدعاء دالة أو استدعاء الإجراء. هذا هو الفعل، حرفيا، في هذه الحالة، وأتوسل وظائف متاحة أن شخصا آخر كتب. ذلك أن وظائف هي في حالة تأهب، لذلك دعونا نذهب إلى هذه الصفحة الآن وانقر على تحديث، والآن أنت نرى قليلا من التفاعل. انها نوع من المدرسة القديمة وقبيحة. هذا النوع من يذكرك النوافذ المنبثقة، ربما، من الأمس لكنها لم تفعل شيئا ل أكثر قليلا البرنامجية. أكثر من ذلك من ذلك، دعونا نفعل شيء أكثر إثارة للاهتمام. اسمحوا لي ان اذهب هنا والتخلص من هذا. وانا ذاهب الى المضي قدما و إنشاء نموذج كما فعلنا أمس. في الواقع، أنت تعرف لماذا؟ انا ذاهب للذهاب إلى google.html، ونحن بدأت يوم أمس، والذي بدا وكأنه هذا، عبر وبحثنا عن القط ولكن لاحظ هناك نوع من خطأ في النسخة الحالية. وهو يعمل عن القطط، ولكن لنفترض أن أنا لا تتعاون وأنا اكتب أي شيء، وأنا ببساطة انقر فوق إرسال. هذا النوع من السلوك غريب. أخذني إلى جوجل الحقيقية، لم تعطيني رسالة خطأ. أود أن أقول للمستخدم عليك أن تعطي لنا قيمة. فكيف يمكن لنا أن نفعل ذلك؟ حسنا اسمحوا لي أن أعود إلى Cloud9 و اسمحوا لي أن أذهب إلى الجزء العلوي من الصفحة الخاصة بي وإضافة علامة النصي مثل هذا، حيث انا ذاهب الى كتابة بعض شفرة جافا سكريبت. وانا ذاهب الى القيام بما يلي. إذا (document.getelementByID-- والتذكر أن تحدثنا عن ذلك في وقت سابق، أن وظيفة. ما معرف لا أريد أن يحصل؟ أريد الحصول على ف، وأنا ذاهب ل مثلا يساوي شيئا، مثل this-- اسمحوا لي فعلا استخدام علامات الاقتباس المزدوجة فقط لconsistency-- يساوي شيئا، ثم في حالة تأهب ( "الرجاء كتابة استعلام") هنا. لذلك ليس لدي ما يبدو شيء من هذا القبيل شرط. لقد رأينا هذه الفكرة العامة في خدش. انها مثل واحدة من تلك اللغز القطع التي يشبه هذا. وما أقوله؟ حسنا، إلى هنا، لاحظ أنا الذهاب إلى القيام بما يلي. أنا ذاهب لإعطاء هذا النموذج المجال ليس فقط اسم ف، التي ما يحصل تمريرها إلى جوجل، ولكن أنا الذهاب إلى إعطائها المعرف المحلي، كما دعا ف. ولكن يمكن أن نسمي هذا أي شيء تريد، وأنا ذاهب لمجرد يبقيه بسيط وكما نسميها ف، لمجرد البساطة. والآن أنا ذاهب الى القيام به شيء أكثر من ذلك بقليل. على حقول النموذج هنا، وانا ذاهب ل إضافة ما يسمى معالج الحدث. على أن تقدم، أريد أن أدعو وظيفة تسمى التحقق من صحة. هذا لا وجود له حتى الآن، وهذا كلمة، أو هذا التحقق من صحة الفعل، لأن ما انا ذاهب الى القيام به هنا الآن هو إضافة بعض التعليمات البرمجية. أنا ذاهب لنفترض أن دالة التحقق من صحة. انا ذاهب الى البادئة هذا وإضافة أخرى متعرج هنا وآخر هنا. النظر في ما يفعل هذا الآن. لدي الآن-- التفكير في هذا الأمر خلق بلدي خاص قطعة اللغز الذي لم سابقا الوجود، ولقد دعا هذا اللغز قطعة قطعة التحقق من صحة اللغز. هدفه في الحياة هو أن تنفيذ أربعة أسطر من التعليمات البرمجية داخل منه. إذا document.getElementByID حتى من الناحية النظرية، التي ستذهب إلى العنصر، عنصر HTML التي فريدة من نوعها الفكرة هي ف العادل، وبعد ذلك على الرغم من بناء الجملة تبدو غريبة بعض الشيء، أن يساوي يساوي يعني فقط متساوين. وهذا يعني إذا كان العنصر مع معرف فريد من ف، عندما حصلت، لا قيمة له، فإنه يساوي فقط الإقتباس، لا شيء هناك، ثم ماذا أريد أن أفعل؟ أريد الصراخ المستخدم. ونحن لن نذهب بقدر كبير من التفصيل هنا. انا ذاهب الى عودة كاذبة. وهذا هو خطأ. آخر، وأنا ذاهب إلى العودة الحقيقية. ذلك إما لأنها عملت أو لم يفعل ذلك. خطأ أو صحيح. والآن لو أنني لم نرتكب أي أخطاء، اسمحوا لي أن حفظ هذه وإعادة تحميل هذه. واسمحوا لي أن الاختيار فقط المزدوج الذي لم أكن في الواقع، وجعل أي الأخطاء المطبعية، لذلك أنا لا احراج نفسي. دعونا نرى ما اذا كان يعمل هذا. حتى الآن أنا ذاهب لكتابة القطط. أنه لا يزال يعمل، أو يعمل نصف على الأقل. والآن اسمحوا لي تحميله، والآن دعونا لي أن أحاول تقديم دون كتابة anything-- اللعنة، وانهار. لحظة واحدة. اسمحوا لي أن فتح وحدة، [غير مسموع] تسجيل، إعادة تحميل الصفحة. اسمحوا لي أن أحاول ذلك مرة أخرى. أوه، اللعنة. انا نسيت. لقد ارتكبت خطأ مطبعي. أتذكر ما هو عليه. .القيمة. يعني أنا أقول إذا كانت قيمة العنصر الرقم الذي هو ف يساوي ذلك، ثم يصيح في المستخدم. وحتى الآن اسمحوا لي أن أحبس أنفاسي مرة أخرى. ها نحن ذا. هناك نذهب. يرجى كتابة استعلام. حتى انها ليست السماح لي من خلال. أنا يمكن أن يكون نوع من لعوب مع هذا، وبدلا من التحقق من وجود أي قيمة، أستطيع أن أقول شيء من هذا القبيل، لا مزيد من البحث للقطط، والآن يمكننا فقط أكثر هزلي السماح البحث المستخدم للكلاب إذا كان هو أو هي يريد، أو إذا ذهبت هنا و البحث عن القطط، والآن لا أستطيع. فما هي الوجبات الجاهزة هنا؟ حتى واحد، لقد أدخلت عالمنا من HTML و CSS، وظائف البرمجة. يمكنني في الواقع الآن اتخاذ القرارات في التعليمات البرمجية. في السابق، كل ما يمكن القيام به هو وضع علامة على مضمون النص أو المحتوى الرسومي واقول انها ما للبحث مثل وحيث لعرضه. الآن يمكنني أن أسأل في الواقع أسئلة من صفحة الويب واتخاذ قرارات تستند على ذلك، ومطالبة المستخدم إذا كنت بحاجة إلى الصراخ في وجهه أو لها. لذلك دعونا نجرب شيئا لوحدنا مع هذا. المضي قدما، اسمحوا لي أن فتح الشريحة التالية هنا، وأشير فقط إلى شيء واحد. تماما مثل مع CSS، يمكننا أن عامل خارج لدينا شفرة جافا سكريبت لملف منفصل، يمكنك أن تفعل الشيء نفسه مع جافا سكريبت كما هو الحال مع CSS. ويمكنك استخدام هذا باستخدام مصدر السمة من العلامة النصي. ولكننا لن تعقيد الامور في الوقت الراهن. بدلا من ذلك، إذا كنت تستطيع الذهاب إلى لا هذه الصفحة، but-- دعوني أنتقل هذا حولها في order-- الذهاب إليها، إذا كنت تستطيع، هذه الصفحة هنا. هذا الرابط هنا. انها في الشرائح اليوم. قد يكون لديك لإعادة تحميل ل واضاف لقد زوجين من شيء. ولكن الذهاب إلى هناك حيث تنتظر بعض الألغاز. وهذا سوف يعطينا فرصة، في سياق قليلا أكثر متعة، اشتغل مع بعض جافا سكريبت. وعندما نصل الى هناك، ساوضح ما ينتظر. الحصول على الأخضر. تعيين الأزرق. يحدد الأخضر، تضع أحمر. عفوا. آسف. هذا هو مدى دينا وثائق لهذا التحدي. وهذا هو الذهاب إلى العمل على النحو التالي. وذلك ما لديك على هذا الصفحة عبارة عن مجموعة كاملة من الألغاز الصورة من قبل الأصدقاء في جامعة ستانفورد. لذلك ما ترونه هنا هو تقريبا نوع واحد من تلك الألغاز العين السحرية، ولكن إذا كنت مجرد التحديق في ذلك، لا شيء يحدث لتخرج لك. وبدلا من ذلك، وهو أمر غير مخبأة في هذه الصورة. وأنها غارقة بالطريقة التالية. الصور، كما تعلمون، يمكن أن يكون يتكون من ثلاثة ألوان فقط. بعض الأحمر وبعض الأزرق، وبعض الخضراء. ويمكننا أن نجعل جميع الألوان في قوس قزح عن طريق خلط هذه الألوان الثلاثة بطريقة أو بأخرى. حتى هذا يبدو في الغالب الأخضر و الأزرق، ولكن كما يقول نيك هنا، هذه الصورة لغز الحديد هو اللغز. أنه يحتوي على صورة شيء الشهير، ومع ذلك، وقد شوه صورة. الكائن الشهير في القيم الحمراء. قيم ومع ذلك، فإن الحمراء لدينا جميع قسمت بنسبة 10. لذلك فهي صغيرة جدا من قبل عامل من 10. لذلك وبعبارة أخرى، نيك أخذت الصورة الأصلية، وقال انه مشبع جميع من الأحمر منه، خفض كمية أحمر الحبر، اذا صح التعبير، في ذلك. قيم الأزرق والأخضر كلها مجرد معنى، قيم عشوائية، ويعرف أيضا باسم تصميم الضوضاء لحجب الصورة الحقيقية. ذلك ما فعله نيك كان هو خففت الأحمر ثم ألقى مجرد عشوائي كميات من اللون الأزرق والأخضر في صورة لنوع من الغموض ما هو في الواقع لا يزال هناك. يجب التراجع عن هذه التشوهات الكشف عن الصورة. أولا، تعيين كافة القيم الأزرق والأخضر من الصفر للحصول عليها للخروج من الطريق، وننظر إلى نتيجة. ثم ضرب كل قيمة الحمراء بنسبة 10، تقليص تصل إلى ما يقرب من قيمتها النهائية. ما هو الكائن الشهير؟ لذلك كل من لديك هذا المستطيل في المتصفح الخاص بك الآن. ولاحظ أن هناك بعض كود المبدئ، إذا جاز التعبير. هذا هو رمز جافا سكريبت أن وقد كتب نيك بالنسبة لك. وتلاحظ أن هناك خط في الوسط ل يبدأ بخط مائل مائل، وهذا ما يسمى عموما تعليق. وهذا يعني انها عبارة إلى مبرمج التي ليس لها معنى وظيفي. انها مجرد جديلة البصرية للإنسان. حتى تتمكن من المضي قدما و فقط حذف هذا الخط، ويكون غير دقيق فائقة ل حذف أو تغيير أي شيء آخر. واسمحوا لي أن مجرد المشي لكم من خلال ماذا يفعل هذا الرمز وسأترك لكم لمعرفة الصورة سرية. هذا السطر الأول هنا أنني كنت فقط المبرز يمنحك ما يلي. على جهة يدك اليسار، لديك ما يسمى متغير نيك تعسفا، لكنه دعا معقول ايم لصورة. على جهة اليد اليمنى تلك علامة المساواة، يقوله تعطيني جديدة الاقتباس، نهاية الاقتباس "صورة بسيطة". صورة بسيطة، في هذا السياق هو ما يسمى الطبقة، حسنا، انها نوع من مثل class-- من الناحية الفنية prototype-- ولكن في الحقيقة، هذا هو إعطائي كائن جديد، محتويات منها الملف، الحديد puzzle.png. وبعبارة أخرى، خلقت نيك هذه الفكرة من صورة بسيطة لذلك ما في وسعنا، لالتربوية الأغراض، اللعب مع صورة وتغيير أحمر لها، الأخضر والأزرق القيم. وكيف نفعل ذلك؟ بناء الجملة هذا خفي إلى حد ما هنا هو نوع من مثل كتلة تكرار أن البعض منكم رأى في خدش في وقت سابق اليوم، حيث يمكنك تكرار 10 مرات. في هذه الحالة، نيك لم ضمني عدد مثل 10. وبدلا من ذلك يقول، تهيئة متغير يسمى س 0، معرفة ما اذا كان x هو أقل من عرض الصورة. وذلك لتكون أكثر مناسبة، صورة هي متغير، نقطة تعني ذهاب داخل منه والحصول على العرض، و ثم فتح قوسين، أغلق القوسين هو مجرد وسيلة مبرمج قائلا هذا هو وظيفة. هذا هو الإجراء. هذا هو وظيفة شخص آخر كتب. استخدامه وتعطيني ظهر جوابا. ثم س ++ هو وسيلة يتوهم من وقال: بعد أن كنت قد فعلت ذلك مرة واحدة، زيادة x بواسطة 1. وبعبارة أخرى، فإن هذا هي وسيلة مبرمج على إحداث حلقة هذا الذهاب إلى تكرار عبر كافة الأعمدة في صورة ما. صورة هو مجرد شبكة من النقاط والصفوف والأعمدة من النقاط. هذا هو وسيلة لبالتكرار على كل من هذه الأعمدة. وفي الداخل، وفي الوقت نفسه، نحن بالتكرار على المرتفعات، هنا وهنا وهنا. لذلك هذا هو مجرد وسيلة لالتمشي، تقريبا مثل آلة كاتبة المدرسة القديمة، للذهاب فقط على الصورة كاملة تكرارا. حتى هذا ليس كليا جدا واضحة، تأخذ فقط على الإيمان حتى الآن، أن تلك الخطوط الثلاثة من التعليمات البرمجية معا الذهاب للسماح لك أن ننظر بشكل متكرر في كل بكسل، كل نقطة في الصورة. ما هي بكسل؟ حسنا، لنكون واضحين، إذا نظرنا في الأصل، وتكبير، إذا كنت حقا وضع عينيك إلى شاشة الكمبيوتر، وهذا فقط في مجمله مجموعة من النقاط، عدة ألف النقاط معبأة معا هناك. وذلك ما أنت على وشك القيام به؟ كل واحدة من تلك النقاط، تعريف النهائي، هو نتيجة ما هو عموما دعا RGB، الأحمر، الأخضر، الأزرق، الذي مرة أخرى، يمكن الجمع بين ل تعطيك أي عدد من الألوان. في الواقع، إذا كنت تتذكر من كثيرين قبل، منذ سنوات عديدة، شاشات العرض مثل هذه الأمور كانت لدينا لا عدسة واحدة بل ثلاث. يبصقون واحد منهم من الضوء الأحمر، واحدة من منهم بصق الضوء الأخضر، واحد منهم بصق الضوء الأزرق. وإذا كنت في المدرسة المتوسطة وكأنني حيث كانوا أبدا محاذاة بشكل صحيح، كنت دائما يراقب الأفلام التاريخ التي كانت مشوهة قليلا، وذلك لأن الألوان الثلاثة لا الجمع بين صحيح. ولكن تبين أن كل من هذه القيم الأحمر والأخضر، والأزرق، يمكن أن يكون لها عدد المرتبطة بها. على سبيل المثال، 0 اللون الأحمر يعني عدم وجود الأحمر، 0 للأخضر يعني عدم وجود اللون الأخضر، و0 للأزرق يعني عدم وجود اللون الأزرق. حتى إذا لم يكن لديك أحمر، لا أخضر، ولا الأزرق، لون ما لديك؟ الحضور: [غير مسموع] DAVID مالان: أنت أردت نأمل ذلك، انها بيضاء. للأسف، هذا operates-- آسف؟ الحضور: [غير مسموع] DAVID مالان: إذن أنت في الواقع ديك أسود، في هذه الحالة. حتى إذا كان لديك أي من هذه تحولت الألوان على، لديك أسود. ومع ذلك، إذا كان لديك، دعونا نقول الكثير منهم، مثل الكثير من الأحمر، 255 منه، الكثير من اللون الأخضر، والكثير من اللون الأزرق، وهذا هو الأبيض. لذلك هذه هي النقيضين. لذلك من خلال هذا المنطق، إذا كان لدي الكثير من أحمر ولا أخضر ولا أزرق، ما لون هذا؟ الحضور: [غير مسموع] DAVID مالان: الحق، ومن الواضح. ومن ثم لا أحمر، الكثير من الأخضر، الأزرق لا، ومن ثم إذا كنت have-- جيدا، ونحن سوف ينتهي فقط ذلك، للتو، ولكن هذا، بطبيعة الحال، الآن، هو اللون الأزرق. والآن يمكنك الجمع بين هذه الألوان. الآن بوصفها جانبا، إذا كان أي من لديك من أي وقت مضى القيام ببعض تصميم الموقع الفعلي، كنت قد فعلا رؤية الرموز مثل هذا. FFF-- وفعلا، انها ربما حتى لا ذلك. انها FFFFFF. أي شخص على الاطلاق من طراز F ولE و A through-- لذلك تبين، تحدثنا بالأمس عن عشرية، واليوم، نوع من حول عشري. اليوم تحدثنا عن ثنائي. تبين، عشري هو جدا نظام قاعدة مشتركة لاستخدامها في الحوسبة. ثنائي غير اثنين، عشري هو 10، عرافة هو 16. واتضح، كيف كنت تعول في عشري؟ صفر، واحد، اثنان، ثلاثة، أربعة، خمسة، ستة، سبعة، ثمانية، تسعة، ماذا كنت تستخدم بعد تسعة؟ ما هو الرقم التالي؟ كنا بالفعل الصفر. أحتاج 16 من هذه. صفر، واحد، اثنان، ثلاثة، أربعة، خمسة، ستة، سبعة، ثمانية، تسعة، كنت بحاجة الى بعض الاتفاقيات التعسفية. وما بشرية قررت بعض الوقت قبل أن يأتي بعد تسعة الرسالة وثم B ثم جيم لذلك الطريقة التي تعول في عشري صفر، واحد، اثنان، ثلاثة، أربعة، خمسة، ستة، سبعة، ثمانية، تسعة، A، B، C، D، E، F، والتي من شأنها أن العد على طول الطريق، كما تبين، إلى 15. لذا صفر إلى 15 صفر من خلال واو الآن لماذا هو أن مهمة؟ حسنا، عندما يكون لديك اثنين F، و هذه هي الطريقة التي يمكن التعبير عن 255. طالما القصة القصيرة، في عالم فوتوشوب، هذا البرنامج تصميم الرسوم البيانية، في عالم تطوير الشبكة، حيث لديك الكثير من الألوان، وبطبيعة الحال، للعب مع، في كثير من الأحيان سوف المبرمجين التعبير عن تلك في عشري، فقط لأنه يميل أن تكون أبسط قليلا. على الرغم من النظرة الأولى انها أكثر تعقيدا بكثير. لذلك على أي حال، وهذا هو المهم لنيك في جامعة ستانفورد أعطانا ست قطع من الوظائف ان كنت والمبرمجين في مهدها، والآن لدينا القدرة على استخدامها. في صلب هذه الشبكة الصفحة هي ست وظائف، ستة الإجراءات التي كتب نيك. ثلاثة منهم سوف تحصل على العدد، أحمر، أخضر، أو قيمة الزرقاء. ثلاثة منهم سوف تحدد تلك القيمة. وهذه سفلية هي النائبة فقط، لذلك عليك أن تعرف ما هي هذه. حتى مع هذه الوظائف الثلاث، أول هذه الأشياء سوف يكون الإحداثي س، وثاني هذه الأمور سوف يكون الإحداثي ص. وبعبارة أخرى، التي دوت، الذي بكسل هل ترغب في الحصول على اللون الأخضر لل، الحصول على زرقة، احصل على أحمر من. ثم هنا، هذا لن يكون س، وهذا سيكون قيمة ذ، وهذا سوف يكون رقما. لذلك دعونا نفعل الأول خط هذا معا وبعد ذلك سأترك لك في محاولة للاستدلال على بقية. حتى فقا للتعليمات في هذه الصفحة، ونحن بحاجة لزيادة الأحمر بمعامل 10، ونحن بحاجة لإزالة اللون الأخضر وإزالة الأزرق. دعونا نبدأ مع السيناريوهات الأخيرة. حتى لو كنت تريد، وانا ذاهب البادئة باستخدام بعض الأماكن، إذا كنت ترغب في تعيين الأحمر، الأخضر، أو القيمة الزرقاء، انا ذاهب الى القيام بما يلي. الصورة، im.setBlue، ثم بناء على تعليماتي هنا، ما ينبغي لي ثلاثة أشياء اكتب داخل الأقواس الآن؟ أنا في حاجة إلى قيمة س، و ذ القيمة، وعدد ما يجب أن أضع هنا إذا أريد للتخلص من فراغ، وبناء على هذه القصة هنا؟ فقط الصفر. إذا لا اريد الأزرق، أنا فقط الذهاب إلى تغييره إلى الصفر. الآن دعونا نلخص ما هذا يقوم به. لدي هنا على هذه أعلى خطوط الثانية والثالثة، ادعيت اثنين من الحلقات، حلقات متداخلة، إذا كنت و، التي سوف يكون لها الأثر من يتقدم من اليسار إلى اليمين، أعلى إلى أسفل على كل من س القيم وكافة القيم ذ. لأنه مرة أخرى، صورة مجرد شبكة من الصفوف والأعمدة. لذلك هذا هو ذاهب للحصول على التخلص من كل الأزرق. اسمحوا لي أن ترك في السطر التالي لك. كيف أتخلص من جميع الأخضر؟ الحضور: [غير مسموع] DAVID مالان: نيس. الحضور: [غير مسموع] DAVID مالان: نيس. وانا ذاهب للتصغير، وتأخذ فقط يهمني من أن كنت لم تفعل أي الأخطاء المطبعية. وإذا كنت مرتاحا مع ما قمت به، المضي قدما وانقر على زر تشغيل / حفظ ومعرفة ما تحصل عليه. ومرة أخرى، حققنا فقط ثلاثة تغييرات. حذفنا هذا أولا التعليق والاستعاضة عن ذلك مع هذين الخطين من التعليمات البرمجية. وانه موافق إذا كنت بحاجة إلى ضرب على زر تشغيل / حفظ بضع مرات لإصلاح شيء. واسمحوا لي أيضا التكبير في بلدي التعليمات البرمجية بحيث يمكنك نسخ. جيد. لذلك أرى ديه أندرو ما يبدو أن هناك خطأ. لقد حصل مجرد سوداء كبيرة المستطيل على شاشته. هل لدى أي منكم مستطيل أسود كبير؟ الجمهور: نعم. DAVID مالان: كبير مستطيل أسود؟ حسنا، دعونا نفكر حول ما يعنيه هذا. قلنا أن الصفر، الصفر، الصفر، لذلك لا أخضر ولا أحمر ولا أزرق، سوف تعطيك الأسود. واتضح أن معظم أجهزة الكمبيوتر المحمولة لدينا فقط لم يكن لديك ما يكفي من الإخلاص. لا تستطيع ان تقول جدا هناك هو في الواقع شيء هناك. وإذا كنت من النوع ربما العجاف الشاشة إلى الأمام والخلف، ربما لم تشاهد شيئا قليلا هناك؟ ربما، نوع، أو نوع من؟ انها ليست سوداء تماما. الحضور: [غير مسموع] DAVID مالان: جناح! هناك بعض الأحمر هناك، ولكن تذكر من المواصفات المشكلة، نيك منغم عليه. انه مشبع إلى حد ما، ولكن ليس كل وسيلة إلى الصفر. لذلك إذا أردنا أن تضخيم مبلغ الأحمر، واسمحوا لي أن أقترح هذه الخدعة. اسمحوا لي في التكبير على الشاشة. واسمحوا لي أن المضي قدما ويقول مبلغ يساوي im.getRed (س، ص). هذا سطر من التعليمات البرمجية هو إعطائي شيء يسمى متغير. لدي بشكل تعسفي، ولكن، يمكن القول، دعا معقول متغير ما بلدي، على ما يبدو؟ كمية. كمية عادل. يمكن لقد وصفته أي شيء أريد، ولكن أنا باستخدام هذه وظيفة أخرى التي وصفتها في وقت سابق للحصول على كمية من اللون الأحمر عند x فاصلة ذ. لماذا فعلت ذلك؟ ماذا تريد أن تفعل هنا؟ تحتاج إلى add-- الحضور: [غير مسموع] DAVID مالان: نعم، ربما اضربها 10. وإذا كنت لا تعرف هذا، وأنا الذهاب إلى المضي قدما ونفعل ذلك. انا ذاهب الى المضي قدما و ويقول، أريد أن كمية أحمر أريد أن أكون مهما هو في الحمراء، 10 مرات، والنجم والنجمة على هاتفك لوحة المفاتيح هو the-- لا تستخدم س. استخدام نجوم. هذه هي الطريقة التي تتكاثر الأشياء في معظم لغات البرمجة. وذلك وفقا لالحدس كريم عامر، تخزينها في هذا المتغير يسمى المبلغ، هو كم الأحمر أريد في س ص الموقع. كيف، الآن، هل جعل ذلك بكسل لديها هذا العدد؟ كنت قد فعلت هذا من قبل. قمت بتعيين الأخضر و الأزرق إلى أي قيمة، إلى الصفر. الحضور: [غير مسموع] DAVID مالان: نعم، حسنا كنت لا تريد أن 10. فعلت بالفعل الرياضيات هنا. لذلك نحن الحصول على قيمة أحمر، وهو رقم منخفض، ويفترض. نحن بضرب بنسبة 10. ما تريد القيام به مع مقدار متغير الآن؟ الحضور: [غير مسموع] DAVID مالان: نيس. حتى im.set-- ماذا؟ الحضور: setRed. DAVID مالان: setRed، في س ص الموقع. بلى. وكمية فقط. وبعبارة أخرى، متغير هو عنصر نائب مؤقت يمكنك وضع أي شيء تريده في. نحن نحدث أن وضع رقم في ذلك، في الوقت الراهن. لقد ضرب من قبل 10 لجعله أكبر. والآن أنا استبدال هذا المتغير كما أن الحجة الثالثة، أو المدخلات لوضع أحمر. وذلك أنه بمجرد الانتهاء من ذلك، ويحيط علما من منقوطة والأقواس. المضي قدما وانقر تشغيل / الحفظ مرة أخرى، وكنت يجب أن نرى، بطريقة سحرية، ما كان في الواقع هناك. [؟ أروى؟] ما هناك؟ برج ايفل في كامل أحمر، ليس مظلمة تماما. يجب أن تكون أكثر وضوحا الآن، نعم؟ حسنا. وأندرو، مربع لا أكثر السوداء؟ الحضور: [غير مسموع] DAVID مالان: حسنا. ولذا فإنني سوف تبقي هذه على الشاشة. إذا كنت تريد أن تلعب مع هذا في وقت لاحق، وسوف إعادة هذا بالنسبة لك. ولكن هذا الرمز هنا فعل ذلك بالضبط. لماذا لا نفعل الآخر. اسمحوا لي أن انتقل لأسفل قليلا. حتى في هذه الحالة، والعرض لا حقا تفعل ذلك العدالة. ولكن على شاشات الخاص بك، فإنك على الأرجح لديك مربع أحمر جدا والأسود جدا. هذا، أيضا، هو اللغز الذي يظهر شيء الشهير. ومع ذلك، فقد تم تشويه الصورة. الصورة الحقيقية، وهذه المرة، هو في القيم الأزرق والأخضر. ومع ذلك، أنهم جميعا قد قسمت 20 لذلك قيم صغيرة جدا. قيم الحمراء هي مجرد أرقام عشوائية، والضوضاء. التراجع عن هذه التشوهات لتكشف عن الصورة الحقيقية. لذا نيك ثم يقول لك ما يجب القيام به. تعيين قيم الحمراء إلى الصفر، و ثم لا تفسد ما هو عليه. ثم مضاعفة الأزرق والقيم الخضراء بنسبة 20. لذلك فمن تقريبا نفس البرنامج كما كان من قبل، ولكن كنت عكس هذه العملية. وسوف أضع قانون بلدي من قبل على الشاشة في حالة تريد الرجوع إليه أو اللعب مع مزيد من أن واحدا. اسمحوا لي أن التكبير على ذلك. ولكن حل صورة النحاس لغز، عدد اثنين. الحضور: [غير مسموع] DAVID مالان: حسنا، هذا واحد أنا لن تعطي العديد من التلميحات. لذلك أنا would-- أوه، دعونا ترى، لديك خطأ مطبعي هنا. لذلك تذكر، هذا هنا يحتاج فعلا للذهاب الى هناك. ذلك ما أود أن أقترح، إذا كنت ترغب في التركيز على هذا واحد، هناك هو الجواب. إذا كنت ترغب في نسخ ذلك، أن يجب ان تحصل على أول عمل واحد. وبعد ذلك يمكنك استخدام ذلك إلهام لثانية واحدة. لطيف. جيد. ولالغريب، هذا مثال بسيط من علم أو فن دعا إخفاء المعلومات، فن إخفاء المعلومات في الصور. عادة، قد تكون الصور وضع علامة مائية بشكل صارخ جدا مع الشعار في أسفل الزاوية، ولكن من الواضح، كنت يمكن أن يكون أكثر تعقيدا بكثير حول هذا الموضوع وفعلا إخفاء الصور الأخرى في صور بطريقة أو بأخرى مع هذه التقنية. يستغرق 30 ثانية أخرى، وبعد ذلك سنقوم على الأقل الإعلان عن ما يجب أن نرى. وسأترك الثالث واحدة باعتبارها ممارسة في المنزل، إذا كنت ترغب في أكثر من تحدي في نهاية هذا الاسبوع. وأعتقد أن أندرو قد وقد حصلت لأول مرة. ما هي الصورة الثانية، أندرو؟ الحضور: تمثال الحرية. DAVID مالان: تمثال الحرية سيكون الجواب هذه المرة. ذلك مرة أخرى، فقط بعض بسيطة الأمثلة، والهدف منها غير أن تعطيك فكرة عن كيفية لقد ترجم خدش التصويرية بنات لأكثر مزعج وأكثر من ذلك كود معقد، ولكن كل الأفكار لا تزال في عينه، ولكن مع الأخذ الآن لمفهوم متغير، ويجري قادرة على تخزين شيء مؤقتا. دعونا نفعل أكثر واحد التدريب العملي على، الآن فقط إلى الربط بين النقاط إلى شيء أكثر من ذلك بقليل في العالم الحقيقي. عندما تكون مستعدا، إذا كنت تستطيع الذهاب إلى هذا الرابط على الشاشة. وهذا أيضا في نسخة من الشرائح، developers.google.com/maps~~V. دعونا في الواقع تفعل شيئا الحقيقي، إذا جاز التعبير، على شبكة الإنترنت باستخدام API خرائط جوجل، أو واجهة برمجة تطبيق، بالطريقة الآتية. جوجل، مثل العديد من الشركات، يوفر الكثير من وظائف خالية التي يمكنك استخدامها لبناء بلدكم التطبيقات الخاصة بها مثيرة للاهتمام. في الواقع، إذا كنت قد استخدمت من أي وقت مضى اوبر للحصول على سيارة أجرة أو سيارة، ربما كنت أعرف أن اوبر لديها على الخريطة وهذا واضح السيارات على ذلك. وهذا هو، على أفضل ما أستطيع أقول، خرائط جوجل API. وهم في الواقع باستخدام خرائط جوجل، لكن اوبر ليست شركة رسم الخرائط، ولا من شأنه أن يكون مشكلة مثيرة للاهتمام بشكل خاص حل على رأس بهم مشكلة خدمة السيارات. وحتى انهم دائمة، مرة أخرى، على أكتاف الآخرين، وجوجل في هذه الحالة. حتى أنها تستخدم خرائط جوجل ولكن خاصة بهم خدمات تأجير السيارات وغيرها من الميزات. لذلك نحن ذاهبون للاستفادة من هذا أن تفعل ما يلي. وإذا كنت قد ذهبت بسرعة كبيرة، مجرد دعوة لي أكثر في لحظة. سعيدة لخلاصة بعض الاشياء الصورة. يجب أن تشاهد نفسك في صفحة من هذا القبيل. حتى لطيفة جوجل، و انهم من بين الأفضل توفير واجهات برمجة التطبيقات فحسب، ولكن واجهات برمجة التطبيقات المجانية التي يمكن أن تلعب مع أو استخدام التجاري. لم تبدأ شحن لك إذا استخدامك عالية، ولكن ذهبت إلى الأمام مقدما وقعت لنا للحصول على حساب مجاني هذا، ونأمل، 10 أجهزة كمبيوتر لن ينحي بنا للحصول على فجأة. لذلك نأمل هذا سوف مظاهرة العمل. وتلاحظ أن لديهم واجهات برمجة التطبيقات ل الروبوت، دائرة الرقابة الداخلية، والخدمات على شبكة الإنترنت، وشبكة الإنترنت، أيا كان ذلك. دعونا نركز على شبكة الإنترنت. وفوق ذلك المربع الوردي، على شبكة الإنترنت، والتي سوف تقودك، ونأمل، إلى صفحة هنا. وأنها قد حصلت على مجموعة كاملة من واجهات برمجة التطبيقات. ويمكن أن يكون قليلا ساحق في البداية، ولكنني سوف توجيهنا من خلال ما نريد. في الجزء العلوي الأيسر من خرائط جوجل جافا سكريبت API واجهة برمجة التطبيقات جافا سكريبت. لذلك يذهب إلى الأمام وفوق هذا واحد. والتي سوف تقودك إلى الآن الصفحة التالية، والعروض ونموذج التعليمات البرمجية. اسمحوا لي أن التصغير هنا. واسمحوا لي أن يوصلنا ل-- انزل إلى حيث تقول خطوات البداية السريعة. الشاشة يجب أن تبدو الألغام. وهناك خطوتين، والحصول على مفتاح ويبدأ النامية. فعلت بالفعل خطوة واحدة ل لنا، والحصول على مفتاح يسمى. وهذا هو فكرة مشتركة. مفتاح API بشكل عام فقط رقم عشوائي كبير أو سلسلة ان كنت من المفترض لصقها في التعليمات البرمجية الخاصة بك، بحيث يعرف جوجل من أنت عندما كنت تستخدم خدمتهم، API الخاصة بهم. لا يعني نحن اتهامه بأي شيء. والآن، انقر فوق، بدلا من واحدة، انقر فوق بدء النامية. إذا كنت يمكن أن مجرد التلويح لي أكثر إذا لم تكن متأكدا ما نحن فيه. ولذا فإننا سوف مجرد خدش السطح، هنا ولكن ما اعتقدت أن تكون مقنعة هو فعلا كل واحد منا، باستخدام Cloud9 في نافذة واحدة و هذا البرنامج التعليمي في إطار آخر، يتيح في الواقع الحصول على منطقتنا تطبيق وتشغيلها أن يضمن مخصص جوجل الخريطة في صفحة الويب الخاصة بنا، ثم يضيف واحد أو اثنين من الميزات. ولكن سنقوم فقط خدش سطح ما يمكننا القيام به. حتى مجرد الاختيار التعقل سريع. هو كل شخص في هذه الصفحة، خرائط جوجل جافا سكريبت API؟ ينبغي أن أقول الابتداء. نحن لن تمر كل شيء بأي وسيلة. حسنا، في علامة تبويب أخرى، إذا كنت لا يكون مفتوحا، لا تذهب إلى Cloud9 والحصول على نفسك لمجرد علامة تبويب جديدة، في نهاية المطاف. ذلك مرة أخرى، c9.io من أمس، c9.io، ومجرد إنشاء ملف جديد. والمضي قدما ودعوة أنه مهما كنت تريد. دعوت map.html الألغام. يطلق عليه أي شيء ينتهي ب .html. ويجب أن تكون تقريبا مكاني في هذه العملية مع مجرد موجه وامض في فارغة دعا التبويب شيء من هذا القبيل map.html. أو ملف، ملف جديد هذه المرة. والآن، على أساس أن خرائط جوجل جافا سكريبت API، سنقوم تخطي القراءة من خلال كل من هذا النص. ولكن لاحظت أن العالم مرحبا غير بل في كل مكان، تراه الآن. مرحبا العالم لديه بهذا الحجم ملونة مثال على مجموعة كاملة من HTML. المضي قدما ونسخ ولصق هذا فقط HTML، لذلك من نوع وثيقة في الجزء العلوي على طول الطريق إلى العلامة HTML وثيقة، انتقل إلى الأمام ونسخ كافة هكذا- يضرب مرة أخرى، هذا في ظل عالم مرحبا example-- ولصق ذلك في علامة التبويب Cloud9 الخاص بك، بحيث الآن الشاشة ينبغي أن ننظر تقريبا مثل الألغام. ويمكنك حفظه، ولكن لا تحميله فقط حتى الآن. دعونا ننظر أولا في رمز ونرى ما اذا كنا لا يمكن استنتاج أو معرفة من ما هو عليه جوجل وقد كان لنا عمياء نسخ ولصق. انهم يريدون فقط للمساعدة، حرفيا، والحصول على الولايات المتحدة بدأ، ولكن هناك ليس كثيرا التعقيد في الواقع هناك. أي أسئلة فقط حتى الآن؟ نحن آمنة للمضي قدما؟ حسنا. بسرعة، دعونا نفعل فقط بعض الشيكات التعقل سريعة. سطر واحد من ما أنا ترى، ونأمل لكم ترى، ماذا يعني ذلك، DOCTYPE HTML؟ كريم، أذكر؟ الحضور: [غير مسموع] DAVID مالان: نعم. هنا يأتي HTML 5. وفي الوقت نفسه، سطرين على الشاشة هنا يعني يا المتصفح، هنا يأتي HTML الفعلية. السطر الثالث هو يا المتصفح، هنا يأتي الرأس. خط الأربعة هو، بطبيعة الحال، مهلا متصفح، هنا يأتي اللقب. ماذا السطر الخامس تفعل؟ في الواقع، وهذا لا حقا أن تفعل أي شيء بالنسبة لنا. في هذه الحالة، تغيير حجم فقط الصفحة إلى الافتراضي. خط الستة، نحن لم تحدث عنه، ولكنه يحدد ترميز الأحرف. هناك طرق مختلفة لتشفير الملفات، خاصة لغات أجنبية. UTF-8 يميل لمجرد أن يكون الافتراضي. نحن حتى الآن سنرى في خط سبعة و 16 عاما، بعض CSS. وعلى الرغم من أننا لم أر كل هذه الأمور من قبل، يمكننا النوع من الاستدلال. حتى خط ثمانية الوسائل، يا المتصفح، وتطبيق كل من التالية التي اثنين من العلامات، على ما يبدو؟ HTML و الجسم النص. حتى الفاصلة هي شيء جديد هناك. وهذا هو مجرد وسيلة ل تحديد علامات متعددة في وقت واحد. ثم لدينا الأقواس المعقوفة. لذلك على ما يبدو، وهذا يخبر المتصفح، جعل ذروة صفحة 100٪. وحتى إذا كان هناك القليل جدا المحتوى، وجعل صفحة كاملة، جعل الشيء ملء الصفحة. جعل الخريطة في نهاية المطاف ملء الصفحة. الهامش، ماذا يعني ذلك؟ التي عادة ما تكون تعسفية مثل المساحة البيضاء حول حواف أن بعض مصمم المتصفح فقط قررت أن يكون هناك، لأنه نوع من يجعل الأمور تبدو أكثر نظافة. ولكن نحن لا نريد ذلك. نريد خريطة الذهاب على طول الطريق إلى الحواف. الحشو، مماثل في روح إلى الهوامش. هوامش تعني الخارجية، وسائل الحشو في الداخل، ولكن انها نفس النوع من التعامل. انها قليلا من منطقة عازلة بينك وبين الحواف. ثم خط 13 هو جيد فرصة لمراجعة سريعة. ماذا حادة خريطة علامة يعني، أو خريطة الهاشتاج تعني؟ ماذا يعني أن أشير إلى، من حيث المبدأ؟ الحضور: [غير مسموع] DAVID مالان: بالضبط. هذه الخاصية، هذه الخاصية CSS ينطبق على شيء واحد فقط، علامة HTML يحتوي على معرف الاقتباس، قوسي "الخريطة". والآن دعونا سريع إلى الأمام، التمرير إلى أسفل من الملف، والذي ليس بعيدا جدا، وملاحظة على الخط 19، إذا قمت بلصق بالضبط مثلما فعلت، خط 19 للتو من شعبة، وهو تقسيم الصفحة، التي بالأمس ودعا منطقة مستطيلة. انها حصلت على شيء في ذلك. انها علامة مفتوحة، علامة انهاء. ولكن لا توجد لديها هوية فريدة من نوعها. وذلك ما يبدو أن يحدث هنا هو جوجل تستعد صفحة على شبكة الإنترنت ل لدينا كامل الارتفاع 100٪، وليس الحشو، لا الهوامش، ل ما نحن في طريقنا للوضع داخل هذا شعبة، الذي هو معرف فريد الخريطة، هو خريطة الفعلية المضمنة. ونريد لها أن تملأ الصفحة وليس فقط تكون بعض مستطيل صغير في الوسط. حتى خط 14 يؤكد بالمثل، فإن الخريطة نفسها ينبغي أن يكون على ارتفاع 100٪. لذلك نلاحظ الآن بين خطوط 20 و 28، وهذا هو شفرة جافا سكريبت. وهذا هو، على الرغم من انها نحويا غريبا بعض الشيء، هناك لن كل ذلك بكثير هنا. في خط 21، وهذا هو إعلان شيء يسمى متغير. بدلا من استدعائها تبلغ، كما فعلنا من قبل، نقوله بشكل أكثر دقة فار، وهو ما يعني مجرد متغير. نحن يمكن أن تستخدم ذلك في كود نيك، لكنه لم يفعل ذلك، لذلك أنا لم يكلف نفسه عناء القيام بذلك أيضا. انها متغير يسمى الخريطة، ثم هناك وظيفة هذا يبدو يسمى initMap. لذلك هذا هو مثل عادتنا الخاصة قطعة اللغز في خدش. لقد أنشأنا قطعة من وظائف دعا initMap، ويمكنك النوع من الاستدلال ما الذي يحدث هنا. على جهة يدك اليسار، لدينا متغير، لذلك نحن ذاهبون إلى وضع ما يلي شيء داخل هذا المتغير، من اليمين إلى اليسار. ويقول الجانب الأيمن، مهلا متصفح، أعطني خريطة Google الجديدة. وgoogle.maps.map هو مجرد وسيلة غير تقليدي من يحدد أن هذه الوظيفة ينتمي إلى خرائط Google. بعد الأقواس، رأيناه هذا من قبل، يا المتصفح، والحصول على لي العناصر في الصفحة، العلامة في الصفحة التي معرف فريد أعرف، الحضور: [غير مسموع] DAVID مالان: --map. وما يجري، حسنا، هذا الخط معا، خط 23، يقول أساسا، يا المتصفح، انتقل تفهموني أن شعبة فارغة على الصفحة التي هي الخريطة هوية فريدة من نوعها، لأنني أريد أن أدخل في it-- حقن في ذلك، إذا كنت will-- مجموعة كاملة من محتوى الذي يحدث أن تأتي من شبكة الإنترنت، بعد ذلك. وجوجل تفعل كل هذا بالنسبة لنا. ذلك مرة أخرى، في النهاية من اليوم، لدينا هذا المثال من التجريد. ليس لدي أي فكرة عما الخريطة أو كيفية تنفيذ واجهة برمجة تطبيقات الخرائط. نحن لسنا بحاجة ل. نحن بحاجة فقط ليقول الخريطة أين يضع نفسه، وترك تلك التنفيذ الأساسية تفاصيل لجوجل. الآن هناك على ما يبدو قطعتين من البيانات أن هذا المثال هو تزويد API جوجل. ويبدو أن مركز الخريطة، ومستوى التكبير، إذا جاز التعبير. ولا أحد يدرك هذه الإحداثيات، خطوط الطول والعرض؟ ربما لا، ولكن يمكن أن نعود البرنامج التعليمي، انظر حرفيا. ولكننا سوف نرى ذلك في لحظة فقط. مستوى التكبير هو قيمة بين، وأنا لا تعرف، واحد في 13 أو شيء من هذا القبيل. فقط لأنها قد تفعل مع أي مدى أنت التكبير أو التصغير، وهذا كل شيء. والآن في النهاية ل الصفحة، خط إشعار 29-- انها قبيحة قليلا ل ذلك wraps-- هذا سطر من التعليمات البرمجية ما بتحميل ل API متصفح الفعلي جوجل. كافة التعليمات البرمجية التي غوغل وقد كتبت المهندسين التي تنفذ هذه الميزة كاملة من الخرائط التي يمكن تضمينها. الآن دعونا لا يغير شيئا. إذا كنت بعد طول، والمضي قدما مجرد حفظ هذا الملف، إذا كان لديك بالفعل ماذا املك. الذهاب إلى عنوان URL الخاص به. ويمكن النقر على زر تشغيل حتى أعلى والتي سوف اقول أنت عنوان خادم الويب الخاص بك مرة أخرى. وسوف تقودك الى علامة تبويب جديدة. إذا قمت بالنقر فوق فتح ل map.html، والاحتمالات هي أنك ذاهب للحصول على تنبيه رسالة خطأ، نعم؟ رسالة خطأ رسالة خطأ؟ ذلك لسوء الحظ، الخطأ رسالة ليست المنير إلا إذا قمت بفتح الواقع وحدة التحكم، علامة التبويب خاصة ونحن أبقى فتح أمس و قليلا في وقت سابق اليوم. لكنني تعثرت عبر هذا في وقت سابق، لذلك أنا بالفعل أحسب ما هو الحل. في الشرائح اليوم، أو بدلا من ذلك، في Cloud9، لاحظ أننا لم نفعل شيء عمدا. لاحظ أن هذا السيناريو العلامة في خط 29، إذا كنت تقرأ من خلال ذلك، انها مثل maps.googleapis.com/ شيء ما، شيء ما، شيء، ثم لاحظ شخص ما، واحد من المطورين، كتب في كل عاصمة الرسائل، مفتاح API الخاص بك. نحن بحاجة إلى لصق شيء في هناك. وكانت هذه الخطوة فعلت بالنسبة لنا من قبل، ومرة أخرى أنها قد القائمة السوداء لنا إذا فجأة، 12 أو أكثر منا البدء في استخدام نفس المفتاح، ولكن دعونا نرى ما سيحدث. حتى إذا ذهبت إلى اليوم الشرائح، في وقت لاحق شريحة واحدة، هناك هذه السلسلة تبحث غير تقليدي-جدا من النص. المضي قدما ومجرد نسخ هذا و صقه حيث تقول مفتاح API الخاص بك. هذا هو واحد حتى انني وقعت ل. وبالتأكيد لا تحاول كتابتها يدويا، لأنه يشعر محفوفة مع الأخطاء المطبعية، ويحتمل. حتى مجرد نسخ ولصق هذا. وانه سيكون لجعل الخط لفترة أطول، ولكن الآن، لمجرد أن يكون واضحا، يجب أن تبدو أكثر قليلا مثل هذا، حيث يساوي مفتاح لا رسملة يصرخ عليك. حفظ الصفحة الخاصة بك، والعودة إلى علامة التبويب الأخرى، تحميل، ونأمل أن نرى خريطة أين؟ الحضور: أستراليا. DAVID مالان: أستراليا. على ما يبدو حتى أولئك هم الإحداثيات من أستراليا. واسمحوا لي أن يتجول لمجرد لحظة ومساعدة أي شخص ليس هناك تماما، ولكن اسمحوا لي أن أقترح، عن طريق جوجل، والعثور على والإحداثيات من مسقط الخاص أو بلدك الخاصة. وربما جوجل يمكن أن تتحول هذه تصل، أو ويكيبيديا ان اقول لكم. ولكن اختيار اثنين من قيم مختلفة لخطوط الطول والعرض، أعود في ولصقها، و ثم إعادة تحميل الصفحة بعد حفظ ونرى ما اذا كان يمكن أن يكون لها الخريطة لمسقط الخاص بك. وعند الانتهاء من ذلك مع ذلك، فإن متابعة challenge-- وسأعطيك أقل قليلا الاتجاه، عمدا، حتى يتسنى لك عمدا أن النضال لبضع دقائق مع الوثائق، تغيير الخريطة للا يكون هذا الافتراضي الكرتوني، ولكن خارطة الأقمار الصناعية. لذلك ترى في الواقع الأقمار الصناعية الصور بدلا من ألوان جميلة. والتلميح سأعطيك هو تغيير نوع الخريطة ل. العودة إلى أن الحصول على التي صفحة للإلهام. كما كنت قد جمعت، إذا كنت تبحث، هناك أكثر الكثير أشياء يمكنك القيام به. بعض من لديك بالفعل غيرت نوع خريطة. ولكن يمكنك do-- على سبيل المثال، اسمحوا لي الذهاب إلى شيء فعلناه للدورة أنا teach-- maps.cs50.net. فعلت هذا واحد من الجامعيون لدينا. ونحن على الخريطة لدينا أكثر من هارفارد يارد و يطغى على كل هذه الأسماء بناء، وكان لدينا له إضافة هذا. حتى لو كنت تريد البحث عن، على سبيل المثال، ماثيوز القاعة، لدينا القليل من القائمة المنسدلة. واعتقد انه باستخدام التمهيد، و مكتبة ناقشنا في وقت سابق لهذا الغرض. وإذا ضغطت على ماثيوز القاعة، على الفور يقفز الخريطة لجهة معينة الموقع، ويظهر لك صورة في هذا القليل المنبثقة. ولكن حتى هذا القليل المنبثقة، ونحن لم تنفذ. إذا كنت انتقل لأسفل على موقعنا على الحصول على التي صفحة والبحث عن نوافذ المعلومات، سترى أن بعض وظيفة أنت نفسك يمكنك إضافة، ولكن مع قليلا أكثر تعقيد، هو ما يسمى نافذة المعلومات. وإذا كنت فوق سبيل المثال هنا، وهذا هو ما متعة، يمكنك أن تفعل أشياء مثل هذه، النقر على علامة ثم فويلا، للملوثات العضوية الثابتة المعلومات تصل. لذلك نحن لم تدخل تماما ما يكفي من الميزات جافا سكريبت لترسم صورة بالضبط كيف قد سلك كل هذه الاشياء معا، ولكن لدينا نوع من خدش السطح. في الواقع، ما أنا فعلت عندما أنا النقر على أن علامة، وقد اثار هذا الحدث، ل ما يسمى على الحدث نقرة. ورأينا في الواقع حدث في وقت سابق من اليوم، ما يسمى تقديم الحدث، عندما كنا منع المستخدم من البحث عن القطط. ولذا فإننا قد التقطت نوع من واختارها من بين كل هذه الميزات المختلفة، لتعطيك إحساسا، ونأمل، ما يمكنك فعلا علاقة أكثر قليلا الراحة في البرمجة، وموارد مجانية تماما. أي أسئلة؟ لا؟ هذه هي فرصتك النهائية، على الأقل اليوم، يوم الجمعة، للحصول على أي شيء من صدرك حتى يتسنى لك الخروج من هنا الشعور بالثقة ومريحة. نعم فعلا. الحضور: لماذا لا يمكنك إضافة المزيد من شيء واحد؟ DAVID مالان: يا إلهي. أحتاج للراحة في نهاية هذا الاسبوع، على ما أعتقد. اسئلة اخرى؟ الحضور: [غير مسموع] DAVID مالان: أنت can-- في إنترنت إكسبلورر، والراحة في سلام، استخدمته لتكون قادرة على وضع VB النصي، السيناريو الأساسي الظاهري، ولكن هذا حقا أبدا القبض على. ولذلك فإن الجواب القصير هو مجرد جافا سكريبت. اسئلة اخرى؟ كل الحق، حسنا، اسمحوا لي أن تفعل ذلك. اسمحوا لي أن الاستيلاء على زملائنا خارج. لديهم بعض التقييم النماذج التي يريدون الجميع لقضاء بضع دقائق ملء. انهم يريدون جمع هذا الشكل وأي التنازلات التي قد يكون خارج. سيكون لديهم أيضا شهادات. انا التخمين هناك لا يزال بعض الوجبات الخفيفة خارج. اسمحوا لي أن تمرير هذه خارج، وإذا كنت لديك أي أسئلة في غضون ذلك، سوف يتجول أكثر بشكل فردي ويمكننا الحصول على انك بدأته. نعم بالطبع. الحضور: [غير مسموع] DAVID مالان: هذا هو عادة صحيحا في هذه الأيام. بالتأكيد مع شبكة الإنترنت البرنامج، كنت تميل على الآخرين سواء كنت جماليا باستخدام الأشياء مثل التمهيد، لذلك كنت لا لديك لتنفيذ انخفاض مستوى تفاصيل القوائم و أزرار وكل ذلك. كنت متوكئا على شخص مثل جوجل حتى يتسنى لك لم يكن لديك لبناء اوبر الأعمال التجارية والأعمال التجارية ورسم الخرائط، وأي عدد من مشابهة تطبيقات أيضا. في الواقع، تسجيلات شعبية أيضا. إذا كنت قد استخدمت سبوتيفي أو أي عدد من المواقع، عليك تسجيل الدخول إلى بعض مواقع الويب باستخدام الفيسبوك. لذلك ما هو جميل، هناك هي واجهات برمجة التطبيقات لتسجيل الدخول في الوقت الحاضر، بحيث لم يكن لديك أن يكون للمستخدمين الجدول الخاص بك وجميع من قاعدة البيانات الخاصة بك بالضرورة بالقدر نفسه. يمكنك أن تدع الفيسبوك تفعل كل من هذا التعقيد بالنسبة لك. حتى انها لحظة رائعة، بصراحة، في البرمجة، لأن هناك الكثير من طرف ثالث الخدمات التي يمكن أن نبني على أعلى. ومرة أخرى، فإن الثمن الذي تدفعه هو إما مالية أو التوقف. اذا مضت جوجل أسفل، حتى لا اوبر، يمكن القول، ولكن ربما هذا هو معقول مفاضلة. ومرة أخرى، التي كانت واحدة من المواضيع، نأمل، للاليومين الماضيين، هذه هي المقايضات. ونادرا ما يكون هناك الذهاب أن يكون الجواب الصحيح. انها حقا هو أفضل من اثنين أو أكثر من الأجوبة. تمرير هذه حولها. وسوف تستمر هذه الحسابات Cloud9 للعمل، من الناحية النظرية، إلى الأبد. قد تجد إذا كنت انتظر بضعة أيام أو أسبوع أو أكثر لتسجيل الدخول مرة أخرى إلى لهم، قد يستغرق وكأنه واحد أو خمس دقائق لفتح احتياطية، ولكن هذا لمجرد أنها وضعت أن النوم لانقاذ على الموارد.