>> DAVID ลัน: สิทธิทั้งหมดที่เราจะกลับมา
ดังนั้นสำหรับน่าตื่นเต้น สรุปส่วนสุดท้ายของเรา
ในการเขียนโปรแกรมเว็บซึ่งผม คิดว่าเราจะใช้เป็นคำทั่วไป
ในการจับภาพหัวข้อที่เหลืออยู่ไม่กี่
ดังนั้นในตอนท้ายของ วันนี้เราจะทำจริง
นิด ๆ หน่อย ๆ ของมือในการเขียนโปรแกรมเว็บ ด้วยภาษาที่เรียกว่า JavaScript
และผมคิดว่าเราจะมาดู บางสิ่งบางอย่างที่เกี่ยวข้องกับภาพ
และการค้นพบบางสิ่งบางอย่าง แอบซ่อนอยู่ในภาพ
และยังจะดูที่ของ Google Maps API, การเขียนโปรแกรมประยุกต์
อินเตอร์เฟซเป็นบางสิ่งบางอย่าง ตัวแทนของประเภทของซอฟแวร์
ที่เพิ่มมากขึ้นและ มีอิสระในวันนี้
>> แต่ทำไมเราไม่ลองดู ที่ส่วนผสมกับโลกนี้
ที่เราได้รับชนิดของ การที่ได้รับอยู่
บางครั้งฐานข้อมูล
สำหรับวันที่ผ่านมาและ ครึ่งหนึ่งที่เราได้ถือว่า
ที่เราสามารถเข้าถึงฐานข้อมูล แต่ สิ่งที่เป็นปัญหาไม่ฐานข้อมูลแก้ปัญหา?
มันจะมีอะไรทำเพื่อเรา?
มันคืออะไร?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: เก็บข้อมูลทั้งหมด ตกลงและสิ่งที่ชนิดของข้อมูล
คุณอาจใส่ในนั้น?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ข้อมูลใด ๆ ที่คุณใส่ในนั้นคุณจะได้รับกลับมา
ถูกแล้ว.
และในเว็บไซต์ตามปกติหรือเว็บ การประยุกต์ใช้สิ่งที่ชนิดของข้อมูล
โดยเฉพาะคุณอาจจะใส่อะไรบ้าง?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ผู้ใช้
ดังนั้นสิ่งที่ผู้ใช้?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ตกลงที่ลงทะเบียน ผู้ใช้ของเว็บไซต์
และสิ่งที่ไม่ได้หมายถึง ข้อมูลของผู้ใช้เก​​็บ '?
สิ่งที่ประกอบด้วยผู้ใช้?
ผู้ใช้มีอะไร?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่ส่วนบุคคล ข้อมูลและฉันชอบที่
ขอให้เป็นคนที่แม่นยำมากขึ้น
ดังนั้นผู้ใช้มักจะมีชื่อ สิ่งอื่น ๆ ที่ผู้ใช้อาจมี?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: การ addr-- ตกลง ดังนั้นชื่อ, นามสกุล
ดีแล้ว.
ที่จริงขอแก้ไข ว่าเพราะมันเป็นไป
ที่จะเปิดโอกาสให้มีการ การอภิปรายยังคงต่อไป
ชื่อ, นามสกุล, เพศ
รหัสบางจัดเรียง
มีอะไรอีก?
ผมได้ยินมาก่อนอย่างอื่นมากเกินไป
อีเมลที่อยู่ทางไปรษณีย์
>> ดังนั้นขอให้หยุดและมีการพิจารณาในขณะนี้ ไม่ใช่สิ่งที่เรากำลังจัดเก็บในฐานข้อมูล
but-- และไม่ได้ว่าทำไมเพราะมันอาจจะ เห็นได้ชัดว่าเมื่อคุณลงทะเบียนผู้ใช้
คุณต้องการที่จะจำได้บางครั้ง
คุณไม่ต้องการให้ เพียงแค่จะเก็บไว้ในแรม
และได้รับการ forgotten-- ดังนั้น ขอเน้นว่า
>> ปรากฎว่าใน โลกของฐานข้อมูล
มีอย่างน้อยสองชนิดวันนี้
สิ่งที่เรียกว่าฐานข้อมูล SQL, ภาษาของแบบสอบถาม,
หรือชื่อน่ารัก, NoSQL ซึ่งไม่ SQL
และหลังเป็น ตัวอย่างของสิ่งที่อาจ
ได้ชื่อว่าเป็นเชิงวัตถุ หรือร้านค้าวัตถุฐานข้อมูล
ที่เก็บวัตถุและไม่ได้แก้ตัว ฉันเป็นเราเร็ว ๆ นี้จะเห็นแถว
>> ดังนั้นเราจะมุ่งเน้นเพื่อรอสักครู่บน ครั้งแรกของเหล่านี้คือของ SQL
ฐานข้อมูลถ้าเพียงเพราะมันเป็น เพื่อให้คุ้นเคยอยู่แล้วกับทุกคน
ที่มีการใช้ Excel หรือ Google ชีตหรือแอปเปิ้ล
ตัวเลขหรือมาตรฐานใด ๆ โปรแกรมสเปรดชีต
หรือเท่ากันหรือ sophisticatedly เพิ่มเติม
บางสิ่งบางอย่างเช่น Microsoft การเข้าถึงหรือ Oracle
หรือ MySQL หรือ PostgreSQL ซึ่งทั้งหมดนี้ เป็นชื่อผลิตภัณฑ์สำหรับการใช้งาน
ความคิดดังต่อไปนี้
>> ฐานข้อมูลเชิงสัมพันธ์เป็นเพียง สิ่งที่มีแถวและคอลัมน์
และโดยแถวและคอลัมน์ แท้จริงฉันหมายถึงสิ่งที่
เช่นนี้เพื่อที่เราอาจมี ชื่อของเขตข้อมูลและประเภทของที่นี่
และที่จริงให้ฉัน ตอนนี้เริ่มที่จะ map เหล่านี้
ดังนั้นที่จริงผมไม่ทราบว่า ทำไมฉันวาดแผนภูมิที่แยกต่างหาก
ขอให้แบบนี้
>> เรามีสิทธิที่นี่ จุดเริ่มต้นของตารางของเราที่
ชื่อนี้เป็นชื่อของสนาม และนี่คือชนิดข้อมูล
และตามประเภทของผมหมายถึงต่อไปนี้
มันเป็นตัวเลขที่มันเป็นสตริง สตริงสั้น ๆ เช่นคำ
มันเป็นวรรคมันเป็น ข้อมูลไบนารีเช่นภาพ?
และขอเพียงแค่หยอกล้อนี้ ห่างกันเพียงสักครู่
ดังนั้นชื่อแรกจำนวน สตริงก้อนขนาดใหญ่ของ text--
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่ดังนั้นสตริง
และในบริบทของฐานข้อมูลเราจะ มักจะเรียกข้อมูลถ่านนี้
ฉันเพียงแค่จะบอกว่าถ่านสำหรับในตอนนี้ แต่เรา จะปรับแต่งนี้ในช่วงเวลาที่
ข้อมูลตัวละคร
นามสกุลอาจเดียวกัน
เพศ?
>> เพศชายหรือเพศหญิงจึง อาจจะเป็นข้อมูลถ่าน
มันอาจจะเป็นคำพูดอย่างใดอย่างหนึ่งได้นำมาอ้าง "ชาย" หรืออ้างนำมาอ้าง "เพศหญิง"
หรือมันอาจจะเป็น M หรือ F
หากคุณต้องการที่จะรวมมากขึ้น คุณอาจต้องมีค่าที่สาม
หรือบางประเภทของข้อมูลอื่น ๆ โดยสิ้นเชิง
และเพื่อให้คุณสามารถใช้เท็จจริง
สนามอาจจะเรียกว่าเพศชายและ แล้วคุณอาจจะบอกว่าจริงหรือเท็จ
แต่ที่ไม่จำเป็นต้องจับ ข้อมูลทั้งหมดที่คุณอาจต้องการ
>> ดังนั้นมันจะเปิดออกมีอีกประเภทหนึ่ง ของเขตข้อมูลที่อาจเป็นประโยชน์ที่นี่
ในฐานข้อมูลโดยทั่วไปเรียกว่า enum ซึ่งจะมีข้อมูลตัวอักษร
แต่คุณออกแบบที่ได้รับการ ระบุค่าที่เป็นไปได้
เช่นอ้างนำมาอ้าง "ชาย" อ้าง ได้นำมาอ้าง "เพศหญิง" และอื่น ๆ
เพื่อให้สิ่งที่คุ้มค่า อยู่ในฐานข้อมูลของคุณ
ย่อมเป็นตัวอักษรตาม แต่ มันจะต้องมีหนึ่งในค่าเหล่านั้น
เราอาจจะไม่ต้องการ enum สำหรับชื่อหรือนามสกุล
มิฉะนั้นเราจะมี ให้ระบุเป็นชื่อ
สาเหตุมาจากตัวอักษรทุก ชื่อแรกที่เป็นไปได้และนามสกุล
>> ตกลงดังนั้นสิ่งที่หมายเลข ID ที่ควรจะเป็นอย่างไร
ใช่ดังนั้นบางทีจำนวน
ดังนั้นเรามาติดกับ ว่าตอนนี้จำนวน
และจากจำนวนจำนวนเป็น เล็ก ๆ น้อย ๆ ในวงกว้างเกินไปในขณะนี้
สำหรับการสิ้นสุดของสอง วันฉันรู้สึกเหมือนเรา
ควรจะเป็นเพียงเล็กน้อยที่แม่นยำมากขึ้น
จำนวนอาจหมายถึงชอบมัน อาจจะเป็นสิ่งที่ชอบ 1.236
และที่อาจจะไม่ได้ สิ่งที่เราหมายถึงโดยประชาชน
เราทำอะไรอาจจะหมายถึง ID อยู่แล้ว?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: โอ้ตกลงดังนั้น บางทีมันอาจจะไม่ได้เป็นจำนวนมาก
บางทีมันอาจจะเป็นจริงระบุที่ไม่ซ้ำ ที่สตริงเช่นชื่อผู้ใช้
ดังนั้นอย่างที่อาจจะ
ผมคิดว่าอาจจะมีใครบางคน หมายถึงตัวเลขแม้ว่า
ดังนั้นขอให้อยู่กับที่
สิ่งที่ชนิดของจำนวน?
เกิดอะไรขึ้น precise-- จำนวนเต็ม
ดังนั้นจำนวนเช่น 0, 1, 2, 3, ดังนั้นเราจะเรียกสิ่งนี้ว่าเป็นจำนวนเต็ม
และแม้แล้วที่ฉันจะทำได้ จะ nitpicking ก็
ไม่ได้จริงๆเพียง จำนวนเต็มทั่วไปที่คุณต้องการ
คุณอาจไม่ต้องการค่าลบ เพียงเพราะมันก็รู้สึกแปลก ๆ
คุณอาจต้องการจำนวนเต็มบวก
เพื่อให้คุณยังสามารถแสดง ที่ในฐานข้อมูล
แต่สำหรับตอนนี้เราจะพูดจำนวนเต็ม
>> อีเมลได้หรือไม่
นี่อาจจะเป็นสิ่งที่ just--?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: มันเป็นอีเมล แต่ที่ตัวละครใช่มั้ย?
มันก็มีลักษณะเหมือนขี้ขลาด "การที่" สัญลักษณ์หรือสิ่งอื่น
แต่ก็ยังคงข้อมูลตัวละคร
และที่อยู่ไปรษณีย์?
ข้อมูลตัวละคร
เพื่อให้เป็นจุดเริ่มต้นที่ดี แต่ ขอให้เป็นคนเล็ก ๆ น้อย ๆ ที่แม่นยำยิ่งขึ้นในขณะนี้
>> ดังนั้นจึงปรากฎว่าใน ฐานข้อมูลคุณมักจะ
มีทางเลือกมากกว่าการกลั่นมากขึ้น รุ่นของสิ่งเหล่านี้
ในความเป็นจริงในฐานข้อมูล SQL ทั่วไป, SQL, หรือมากกว่าโดยทั่วไปฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลกับแถว และคอลัมน์ที่คุณมักจะ
จะได้รับการระบุไม่เพียง แต่ประเภทของ field-- ให้ฉันทำให้บาง here-- ห้องพัก
แต่ยังยาว
>> ยาวดังนั้นวิธีที่เป็นชื่อครั้งแรก?
ผมคิดว่า D-A-V-I-D ตกลงผมได้รับมัน อาจจะเพียงแค่โกรธเคืองเหมือนครึ่ง
ของผู้คนในห้องพักขวา ตั้งแต่ชื่อของคุณจะมีความยาวกว่าห้า
ตัวอักษรดังนั้นห้าดูเหมือนเห็นแก่ตัวน้อย และไร้เดียงสาดังนั้นสิ่งที่เป็นค่าที่ดีกว่า?
10 ทุกด้านขวาและฉันคิดว่า เราตกลงในห้องพัก
13?
30?
ทำไมฉันจึงไม่ใช้ วิธีการของเราก่อนหน้านี้เมื่อ
มีการพูดคุยเกี่ยวกับอาร์เรย์และหน่วยความจำ?
ทำไมฉันจึงไม่เพียงแค่พูดเช่น 1,000?
ไม่มีชื่อของใครจะไป ที่จะนานกว่า 1,000
ผลักดันกลับ
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่มัน สิ้นเปลืองขวาโดยเฉพาะอย่างยิ่ง
ถ้าชื่อมากที่สุดคือเพียงห้าหรือ 10 หรือ 15 ตัวอักษรที่สิ้นเปลืองมาก
เพื่อให้คุณรู้อะไรไหม
นี้เป็นชนิดของคำถามที่ยาก
ตอนนี้แน่นอนเราสามารถวิเคราะห์ภาษาอังกฤษ และชื่อภาษาอื่น ๆ ของ
และคิดออกดีสิ่งที่เป็น เฉลี่ย average-- ไม่จริง
ช่วย us-- สิ่งที่สูงสุดคือ อาจจะเป็นสิ่งที่เราต้องการจริงๆ
แต่มันกลับกลายเป็นเรายังมี ทางเลือกที่บางกว่าชนิดที่นี่
>> ในฐานข้อมูล SQL ทั่วไปคุณ มีสิ่งที่เรียกว่าสนามถ่าน
และยังเป็น varchar V-A-R, สำหรับเขตข้อมูลตัวแปร char
และความแตกต่างนี้
เขตข้อมูลถ่านคุณออกแบบ ต้องระบุล่วงหน้า
ความยาวจริงของข้อมูล
ดังนั้นอาจจะเป็นชื่อแรก เช่น 20 รู้สึกชนิดของความปลอดภัย
อาจจะต้องทำบางอย่างเพื่อ Googling ดูว่าปลอดภัยจริงพอ
อาจมีชื่อกับ 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
และคุณได้อย่างรวดเร็วสามารถเลื่อน หรือค้นหาผ่านข้อมูลทั้งหมดของคุณ
>> เขตข้อมูลตัวแปร char โดยคมชัด ไม่เคยมี 20 ตัวอักษร
มันอาจจะ 20 แล้ว 15 แล้ว 19 แล้ว 10
และดังนั้นหากคุณต้องการค้นหา ผ่านมันคุณก็ไม่สามารถสุ่มสี่สุ่มห้า
เพิ่ม 20 ไบต์ที่จะได้รับไปที่หน้าหนึ่ง
คุณอย่างแท้จริงต้องค้นหาผ่าน เพราะขอบของโครงสร้างข้อมูลที่
ถ้าคุณจะเป็นมอมแมม
ชนิดของมันไปเข้าและออกตาม กับความยาวที่แท้จริงของสตริง
ดังนั้นเมื่อคุณรู้ว่าระยะเวลาที่เป็น คารีมบอกว่าใช้ฟิลด์ถ่าน,
เพราะคุณจะได้รับว่า ประสิทธิภาพของการเป็น
สามารถที่จะค้นหาผ่านมันได้เร็วขึ้น เมื่อคุณกำลังมองหาข้อมูล
มิฉะนั้นจะใช้ตัวแปร
>> แต่น่าเสียดายที่ผมไม่มีคำตอบที่ดี จะนานแค่ไหนชื่อควรจะเป็น
แต่สำหรับสิ่งที่ต้องการ ชื่อผมจะบอกว่า
varchar เป็นเรื่องธรรมดา เพราะมันไม่ได้ไป
จะเป็นความยาวคงที่สำหรับทุกคน
20 ผมไม่ทราบว่า 20 รู้สึกตึงเล็กน้อย
ขอเพียงบอก 50, 50
มันไม่ได้โดดเสียค่าใช้จ่ายที่ อื่น ๆ อีกมากมายที่จะบอกว่า 50 แทน 40,
แต่ในบางจุดที่คุณต้องการ ที่จะทำให้สายการตัดสิน
>> ที่พบบ่อยมากตรงไปตรงมา สำหรับ [? ประวัติศาสตร์?]
เหตุผลแม้ว่ามันจะมากเกินไป คือการพูด 255 เพราะบางเวลาที่ผ่านมา
ในระบบฐานข้อมูลยอดนิยมเช่น MySQL, เครื่องมือฟรีโอเพนซอร์ส
ที่มากของ บริษัท เช่น Facebook แม้ใช้
นี่เป็นค่าเริ่มต้นสูงสุด เพื่อให้ผู้คนเพียงแค่ไปกับมัน
ดังนั้นไม่มีเหตุผล แต่เราจะ ใช้สัญชาตญาณของเล็ก ๆ น้อย ๆ
และพูดว่าแน่ใจ 50 ที่ มากเกินไปอาจจะเล็ก ๆ น้อย ๆ
>> เพศฉันทำเช่นเดียว enum, และเพื่อให้เราดังนั้นจึงสามารถ
ระบุชายหรือหญิง หรืออาจจะมีประสิทธิภาพมากขึ้น
เมตรหรือ f หรือบางสัญลักษณ์อื่น ๆ แต่ enum รู้สึกเหมือนมีทางเลือกที่ดี
ต้องมีความชัดเจนทางเพศ ก็อาจจะ varchar ที่
และเราก็สามารถทั้งหมด เห็นด้วยเป็นคนดี
ที่มักจะใส่ค่าเดียวกันมี
เพศชายหรือเพศหญิงหรือ whatnot
>> แต่ปัญหาก็คือว่าเราสามารถ ทำผิดพลาดเป็น [ไม่ได้ยิน] เสนอ
ก่อนหน้านี้ในบริบทที่แตกต่าง
ถ้าเราทำผิดพลาดเราจะได้รับ ค่าไม่ถูกต้องในฐานข้อมูลของเรา
ดังนั้นสิ่งที่ดีเกี่ยวกับฐานข้อมูล เช่น Oracle และ MySQL และคนอื่น ๆ
คือการที่คุณมีที่ผ่านมานี้ ชั้นของการป้องกันที่
ผู้ดูแลระบบ DBA, ฐานข้อมูลของคุณ ใครก็ตามที่จะออกแบบตารางนี้เหมือนเรา
มีวาจาสามารถใส่ เข้าไปในสถานที่ Enum ที่ว่า
ป้องกันได้โดยการระบุว่า ชาย, หญิงและจึงไม่มีใคร
ไม่มีใครสามารถเขียนโปรแกรมได้ตั้งใจ แทรกค่าอื่น ๆ
ดังนั้นนี้จะเป็นสิ่งที่ดี
นี่คือคุณลักษณะ
>> ดังนั้น ID ที่สมมติว่าเป็นรหัสตัวเลขมัน อาจจะเป็นจำนวนเต็มบวก
และบางครั้งเราจะมี โอกาสที่จะหารือเกี่ยวกับความยาว
ที่คุณจะไม่ปกติ ระบุจำนวนที่นี่
คุณแทนจะต้องระบุ นี้เป็น int หรือ int ใหญ่
ขณะที่พวกเขากำลังเรียกโดยทั่วไป
แต่โดยทั่วไปแล้วเป็นจำนวนเต็ม จะขอพูด 4 ไบต์
และถ้ามัน 4 ไบต์ ที่บิตหลายวิธี?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: 32 บิต
ดังนั้นวิธีการที่จำนวนผู้ใช้ที่เราสามารถมีใน ฐานข้อมูลของเราถ้าพวกเขาทั้งหมดมีรหัส
และบัตรประจำตัวนี้จะต้องไม่ซ้ำกัน?
32 บิตหมายความว่าเรามีรูปแบบ ของหนึ่งสองสามสี่ five--
รูปแบบที่แตกต่างกันดังนั้นวิธีการที่หลายศูนย์ และคนที่คุณสามารถมีถ้ามี 32?
นั่นเป็นสิ่งเดียวกับ ขอให้สิ่งที่เป็นสองถึง 32?
มันเป็นจำนวนมากว่า ฉันไม่สามารถค่อนข้างได้รับสิทธิ
แต่ฉันรู้ว่ามันประมาณ 4 พันล้าน
ดังนั้นหมายความตารางฐานข้อมูลของคุณสามารถ มีสี่พันล้านผู้ใช้และที่มัน
>> ดังนั้นนี้เป็นที่น่าสนใจ ความหมายการออกแบบ
จำนวนที่เหมาะสมของ บริษัท ได้ตัดสินใจที่อาจจะไม่มาก
สำหรับตารางผู้ใช้ของพวกเขาเพราะมี 4 พันล้านผู้ใช้เป็นปัญหาที่หายาก
นี่คือการจัดเรียงของ Facebook สไตล์ ปัญหาที่เกิดขึ้นไม่ได้เป็นปัญหาปกติของ บริษัท ฯ
แต่บางทีถ้าคุณมีล็อกธุรกรรม หรือชนิดของข้อมูลบางส่วนที่ต่อเนื่อง
ได้รับการเขียนลงในฐานข้อมูลของคุณ ที่แน่นอนอาจมีพันล้าน
และพันล้านแถวและ คุณใช้จำนวนเต็มสำหรับมัน
สิ่งที่จะเกิดขึ้นเร็วที่สุดเท่าที่ คุณจะได้รับแถวจำนวน 4 พันล้าน
และจากนั้นคุณพยายามที่จะแทรก 4000000000 และ 1, เพื่อที่จะพูด?
ฉันลดความซับซ้อนของตัวเลขบิต
>> คุณสามารถตัดกลับมาผมหมายความว่าคุณ ต้องจัดการกับมันอย่างใด
และสิ่งที่คอมพิวเตอร์ทั่วไปจะทำ คิดเกี่ยวกับมันแม้จะมาจากเช้านี้
ถ้าคุณมีค่า 4 บิต เช่น 1, 1, 1, 1 ซึ่ง
เพียงเพื่อผูกตอนเช้า ช่วงบ่ายร่วมกันเพื่ออะไร
หมายเลขนี้ไม่แทนในไบนารี?
ตกลงเราจะทำให้มันง่ายขึ้น
อะไรหมายเลขนี้ เป็นตัวแทนในไบนารี?
ตกลงเราจะทำให้มันง่ายขึ้นสิ่งที่ นี้ไม่ได้เป็นตัวแทนในไบนารี?
ผู้ชม: สาม
DAVID ลัน: สามเพราะ เรามีคนที่ column--
[LAUGHTER]
ต๊าย!
เรามีคนที่คอลัมน์ และคอลัมน์ที่เจ้าตัว
ดังนั้นคิดว่าจริงของเรา [? สนาม?] ไม่ได้ 32 บิต
แต่มันเป็นสองชิ้นเราสามารถ นับจากหมายเลข 0, 1, 2, 3 ผู้ใช้
และจากนั้นเราชนิดของ กลับไปยังผู้ 00 อีกครั้ง
ดังนั้นนี่คือสิ่งที่มักจะเกิดขึ้น
หากคุณเคยได้ยิน expression-- อาจไม่ได้ แต่ถ้าคุณ have--
ล้นจำนวนเต็มที่คุณ ให้พลิกทั้งหมดของคุณบิต
จะเป็นค่าที่เป็นไปที่ใหญ่ที่สุด แล้วคุณจะออกจากบิต
สิ่งที่มักจะจะเกิดขึ้น?
ทำไมผมพูด 00?
ดีนี้เป็นสาม
ฉันจะแสดงวิธีการที่ 4?
ฉันจะเป็นตัวแทนของวิธี สำหรับหมายเลข 4 ในไบนารี?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: One-- ใช่ ไม่ได้บอกว่า 100 ต่อ se
เพราะมันมีที่ไม่ถูกต้อง ความหมาย แต่ 1-0-0
ดังนั้นตัวเลขที่ 1-0-0 แน่นอน ถูกต้อง แต่ถ้าคุณมีเพียงสองบิต
สิ่งที่คุณทำจริงๆ?
คุณได้รีดกว่า 00
และแน่นอนว่าเป็นสิ่งที่จะเกิดขึ้น
ที่จริงแล้วคุณสามารถคิด เกี่ยวกับเรื่องนี้กันเองมากขึ้น
ถ้าคุณจำอะไร 16 ปีที่ผ่านมาโลก
ก็ควรที่จะสิ้นสุดลงเมื่อ ปัญหา Y2K ที่เกิดขึ้น
ทำไมเป็นเช่นนั้น?
ดีคอมพิวเตอร์มากที่สุดสำหรับ การตัดสินใจที่เหมาะสม
ได้รับการจัดเก็บตัวเลขเช่น ปี 1975 หรือปี 1999 ปี
โดยเพียงแค่ใช้ตัวเลขสองหลัก ในหน่วยความจำของคอมพิวเตอร์
ดังนั้นแน่นอนสิ่งที่เกิดขึ้น เมื่อคุณได้รับปี 2000
คุณไปนี้หรือมากกว่าใช่
ดังนั้นคุณจะไปปี 2000 แต่ถ้า คุณกำลังใช้เพียงตัวเลขสองหลักมันดู
เหมือนปีที่ 00 และ เพื่อให้คุณได้กลิ้งไปมา
และนี่คือเหตุผลที่มากของระบบ จำเป็นต้องได้รับการปรับปรุงในช่วงเวลานั้น
>> ดังนั้นกับที่กล่าวว่า บริษัท เช่น Facebook วิ่งขึ้นต่อนี้
ดังนั้นวิธีเดียวที่จะจัดการกับ สถานการณ์ตรงไปตรงมาคือการคาดหวังกับมัน
หรือวิธีการที่จะสะอาด จัดการกับสถานการณ์นี้
คือการคาดหวังกับมันเพื่อให้คุณไม่ จำเป็นต้องทำการเปลี่ยนแปลงในภายหลัง
ดังนั้นแทนที่จะ 8 ไบต​​์คุณรู้อะไรไหม
ฉันจะต้องคิดไปข้างหน้า ที่นี่แม้ว่ามันจะเป็น
แง่ดีเล็ก ๆ น้อย ๆ ว่า เรากำลังจะมี 4 พันล้าน
และผู้ใช้ 1 คนในเว็บไซต์ของเรา
แต่ขอเพียงแค่ใช้ 8 ไบต​​์หรือ 64 บิตซึ่งโดยทั่วไปจะเป็น
เรียกว่าเป็นจำนวนเต็มใหญ่ทางเทคนิคมาก
และนั่นก็หมายความว่าคุณสามารถมี ตัวเลขยิ่งขึ้นในจำนวนของคุณ
แต่นี้เป็นสำคัญ การตัดสินใจการออกแบบ
เพราะถ้าคุณเลือกหมายเลขที่ มีกี่บิตเกินไปของการแสดงออก
คุณจริงสามารถสร้าง ข้อผิดพลาดในซอฟต์แวร์ของคุณ
>> สิทธิทั้งหมดจึงขอตัดขึ้น ด้วยอีเมลและที่อยู่ทางไปรษณีย์
ดังนั้นอีเมลว่าควรยาว ที่อยู่อีเมลจะเป็นอย่างไร
50
ผมไม่มีความคิด แต่ก็ อาจจะเป็นสิ่งที่ต้องการที่
เพราะมิฉะนั้นไม่มีใครจะไป เขียนถึงคุณถ้าได้รับนานเกินไปดังนั้น 50,
ขอไปกับมันตอนนี้
ที่อยู่ไปรษณีย์นานแค่ไหนที่ควรจะเป็นอย่างไร
ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: มันไม่ได้ เพียงรหัสไปรษณีย์แม้ว่า
ที่อยู่ไปรษณีย์ผมได้ยิน
ดังนั้นนี้เป็นเหมือน 1 เสียงอึกทึกสแควร์ จุลภาคเคมบริดจ์ Mass. จุลภาค 02138
และในความเป็นจริงให้ฉันเพียงแค่ดึง ขึ้นแผ่นเล็ก ๆ น้อย ๆ ที่นี่
นี้รู้สึกเหมือนมัน พลาดโอกาส
ถ้าเรามี 1 เสียงอึกทึกสแควร์ จุลภาคเคมบริดจ์แมสซาชูเซต 02138,
ฉันรู้สึกเหมือนเราสามารถทำได้ดีกว่า กว่าอยู่เพียงไปรษณีย์
ทำไมเราไม่ระเบิดนี้นิด ๆ หน่อย ๆ ?
สิ่งที่ฉันได้รับที่?
เราควรจะมีอะไรแทน สำหรับแถวของเราที่นี่บางที?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ใช่จึงขอ เรียกว่า street_number,
และขีดล่างเป็นเพียงเรื่องธรรมดา วิธีของการมีสิ่งที่ดูเหมือนว่าพื้นที่
แต่มันไม่จริง
ถนนแล้ว city-- ขอโทษ?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: เราจะทำอย่างนั้น
สายหนึ่งสายสอง
ทำไมเราไม่จะให้ มันง่ายสำหรับตอนนี้
แต่ที่แน่นอน การตัดสินใจที่ได้รับการยอมรับ
แล้วรัฐและจากนั้นขอ จะเป็นเพียงเล็กน้อยสหรัฐเป็นศูนย์กลางสำหรับตอนนี้
และเพียงแค่ทำรหัสไปรษณีย์เพียงเพราะ มันจะนำไปสู่​​ความผิดพลาดที่น่าสนใจ
หรือปัญหาที่เกิดขึ้นที่นี่
ดังนั้นคิดว่าตอนนี้ที่อยู่ของเรา
มันเป็นเรื่องเล็ก ๆ น้อย ๆ ที่น่ารำคาญมากขึ้นว่า เรามีทุกเขตข้อมูลเหล่านี้มากขึ้น
แต่ตอนนี้เราสามารถแท็ก สิ่งเล็ก ๆ น้อย ๆ ที่ดีกว่า
>> ดังนั้นตอนนี้สถานที่จำนวนอาจจะ ไม่ควรจะเป็นถ่านควรมันได้หรือไม่
สิ่งที่มันควรจะเป็นอย่างไร
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: บางทีจำนวน เช่นจำนวนเต็มอีกครั้งหรือไม่
จำนวนเต็มใหญ่?
คุณอาจไม่ได้อาศัยอยู่ ที่ 4 พันล้านถนนสายหลัก
หรืออะไรที่บ้าเหมือนที่
ดังนั้นน่าจะเป็นจำนวนเต็ม ดี แต่มีทุกคน
ที่เคยอาศัยอยู่ในที่อยู่เช่น 1A เสียงอึกทึกสแควร์หรือ 1 1/2?
สิ่งเหล่านี้มีอยู่ แต่น่าเสียดายที่ แม้ว่าคุณจะไม่ได้อาศัยอยู่ที่นั่น
มีความผิดปกติเหล่านี้ เช่นอพาร์ทเม้น 1A, 1B, 1C
เพื่อให้คุณรู้ว่าสิ่งที่เราอาจ ไม่ควรไปกับจำนวนเต็ม
มิฉะนั้นเราจะ การสูญเสียยอดขายบางส่วน
>> ฟิลด์ถ่านอาจจะ?
ผมไม่ทราบว่านานแค่ไหน
มันอาจจะไม่ได้ ที่นานดังนั้น 10 หรือบางสิ่งบางอย่าง
ไม่มีใครที่จะเขียน จำนวนอีกต่อไปอาจจะ
แต่อีกครั้งเราอาจจะ ให้ความคิดที่มากขึ้นในการที่
บางที google ทำวิจัยบาง แต่เราจะไปกับความกล้าของเราตอนนี้
ถนนถ่าน, 50, ผมไม่ทราบว่า
ในบางจุดที่ไม่มีใครจะ ที่จะเขียนมันลงบนซองจดหมาย
เกินไปจึงอาจมี บางขอบเขตบนมี
ซิตี้เดียวกันนั่นเองดังนั้นถ่าน 50
>> รัฐสามารถสหรัฐเป็นศูนย์กลางสำหรับตอนนี้
ดังนั้นมันอาจจะเป็นรายการดังนั้นชนิด ของสายการตัดสินของรัฐ
มันอาจจะเป็นเหมือนตัวละครทั้งสอง
ดังนั้นจริง ๆ แล้วบางทีผมเก็บไว้ว่าถ่าน
ฉันอาจหมายถึง varchar, เพียงแค่ให้มีประสิทธิภาพบาง
แต่เราจะกลับมา การตัดสินใจว่าในขณะ
อาจจะเป็นถ่านที่มีความยาว 2 รัฐ
ถ้าในสหรัฐอเมริกาที่พวกเขามีเหมือนแม่ แมสซาชูเซต, นิวยอร์ก, นิวยอร์ก, นิวเจอร์ซีย์, นิว
นิวเจอร์ซีย์และอื่น ๆ
ดังนั้นมันอาจจะคงที่ที่
DC สำหรับวอชิงตัน ดี.ซี.
>> แต่ผมคิดว่าโอลิเวียคุณ เสนออีกวิธีหนึ่ง
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่จึงเป็น น่ารำคาญเล็ก ๆ น้อย ๆ ที่จะพิมพ์ใน
แต่ enum อาจทำให้รู้สึกมากขึ้น เพราะวิธีการนี​​้อย่างน้อยในสหรัฐอเมริกา
คุณสามารถระบุถ้าเบื่อหน่าย แต่ คุณทำมันได้เพียงครั้งเดียวในฐานข้อมูลของคุณ
และไม่เคยอีกครั้งต้องคิดเกี่ยวกับ มันทั้งหมด 50 รหัสสองตัวอักษร
ดังนั้นผมจึงชอบ enum
Let 's ติดกับที่นั่นเพราะ มันเรียงลำดับของการบังคับใช้ความรุนแรงมากขึ้น
แล้วรหัสไปรษณีย์?
ผมคิดว่าแอนดรูมีความคิดว่า
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่ห้าหรือเก้า
ขอเพียงแค่ให้มันง่าย
เพียงแค่ทำห้าสำหรับตอนนี้
แต่บางทีฉันอาจจะเป็นเพียงแค่ ทำจำนวนเต็มใช่มั้ย?
ที่ฉันสามารถทำได้ แต่คุณรู้ว่าสิ่งที่ผมทำ ความผิดพลาดครั้งนี้ในความรู้สึกบาง
ปีที่ผ่านมาผมได้ย้ายจาก Microsoft Outlook เพื่อ Gmail,
และ Outlook มีวิธีการส่งออก ติดต่อทั้งหมดของคุณเป็นไฟล์ Excel,
ไฟล์ CSV คั่นด้วยเครื่องหมายจุลภาคไฟล์ค่า
และฉันทำผิดพลาดผม คิดว่าของดับเบิลคลิกมัน
เมื่อฉันดาวน์โหลดการส่งออกไปยัง ให้แน่ใจว่ามันดูราวกับผมคาดไว้
ฉันต้องได้กดบันทึกหรือให้ บันทึกอัตโนมัติเตะในบางสิ่งบางอย่างหรือ
เพราะเมื่อฉันแล้วนำเข้า มันเข้าไปใน Gmail มันทั้งหมดทำงาน
แต่สำหรับปีที่ผ่านมาจนถึงวันนี้และ ผมทำอย่างนี้ห้า 10 ปีที่ผ่านมา
ฉันยังคงหาเพื่อนที่มี ที่อยู่ที่มีลักษณะเช่นนี้
ทำไม?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: มันต้องใช้เวลา 0 ดีค่อนข้างมัน
เอารหัสไปรษณีย์ทั้งหมดเป็น จำนวนและดังนั้นจึงเป็น
ชั้นนำ 0 ซึ่งหมายความว่า มันไม่มีความหมาย
และอื่น ๆ 2138 น่าจะเป็นรหัสไปรษณีย์ของฉัน
และนี่คือตรงไปตรงมาน่ารำคาญ Excel คุณลักษณะโดยผมคิดว่าโดยค่าเริ่มต้น
ถึงแม้ว่ามันจะหมายถึงเพียงแค่ เป็นข้อความ Microsoft Excel
ตัดสินใจให้ฉันจะเป็นประโยชน์ และโอ้ฉันเห็นตัวเลขเท่านั้น
Let 's รักษาเหล่านี้เป็นตัวเลข
และตัดทอนศูนย์ชั้นนำ
>> ฉันสาบานกับพระเจ้าทุกคู่ ของเดือนที่ฉันหาที่อยู่,
และออกจากการจัดเรียงของโรคให้ฉันกลับไป และเพิ่ม 0 แม้ว่าฉันไม่เคย
ส่งจดหมายคนหรืออะไร
แต่ฉันยังคงหาเศษนี้
ดังนั้นนี่คือที่จะกล่าวนี้เป็นความคิดที่ดีหรือไม่?
ตกลงไม่เพราะทุกคนใน แมสซาชูเซตในพื้นที่นี้
เป็นไปได้ที่จะมี o นำพวกเขา
ดังนั้นขอไปด้วยเช่น ถ่านอาจจะห้า
>> และที่นี่ตระหนักถึงเรา สามารถใช้ enum และเรา
สามารถระบุ 10,000 รหัสไปรษณีย์ที่เป็นไปได้
แต่ที่รู้สึกเหมือนมันอาจจะ ข้ามเส้นของเช่นผลประโยชน์
หากคุณมีการป้อนข้อมูลที่ ข้อมูลมากลงในฐานข้อมูลของคุณ
เพื่อป้องกันไม่ให้บางสิ่งบางอย่าง
ดังนั้นถ่านตระหนักถึงคุณสามารถพิมพ์ ใน H-E-L-L-O รหัสไปรษณีย์ของคุณ
ซึ่งไม่ได้เห็นได้ชัดว่าเป็นตัวเลข
ดังนั้นไม่มีทางที่ใน ฐานข้อมูลทั่วไป
เพื่อระบุเพียงตัวเลข เพียงห้าตัวละครยาว
ดังนั้นเรากำลังจะมี ที่จะทำในรหัส
เรากำลังจะทำใน PHP หรือ Java หรืออะไรก็ตามภาษาเรา
ใช้บนเซิร์ฟเวอร์ในการบังคับใช้ ชนิดของข้อ จำกัด ว่า
>> Whoo!
ขวาทั้งหมดดังนั้นคำถามใด ๆ เพียงแค่ยัง?
ขอให้ตัดสินใจการออกแบบอีก
แต่กลับกลายเป็นว่าคุณ ยังได้รับการเลือก
เมื่อออกแบบฐานข้อมูล SQL หรือ database-- สัมพันธ์ทั่วไปที่
อีกครั้งเพียงแค่สัมพันธ์ หมายความว่าแถวและคอลัมน์
ว่าเป็นวิธีที่คุณจัดระเบียบ data-- ของคุณ และตระหนักดีว่าสิ่งที่หมายถึงนี้
ฉันได้รับการเข้าใจผิดใน ที่ผม drawing-- นี้
เป็นสิ่งที่เรียกว่าคี สำหรับตารางฐานข้อมูล
นี้เป็นเหมือน ข้อกำหนดสำหรับ table--
แต่เมื่อมันมาถึงเวลาที่ ที่จริงการเก็บข้อมูล
และเราจะทำเพียงแค่นี้โดยตัวอย่างที่นี่
ฉันจะเปิด Excel เพราะ Excel จะให้ฉันแถวและคอลัมน์
และนั่นคือสิ่งที่ Oracle และ MySQL และเครื่องมืออื่น ๆ จะให้ฉัน
ดังนั้นฉันแค่จะใช้ ก็เพื่อประโยชน์ในการอภิปรายของ
ให้ฉันไปข้างหน้าและเปิดขึ้น เอกสารตัวแทนที่นี่
ซูมในบิต
ดังนั้นสำหรับตัวอย่างเช่นส่วนหัวของเราอยู่ในขณะนี้ ชื่อ, นามสกุล, เพศ, ID,
อีเมลหมายเลขถนน, ถนน, ขออภัย
ถนนเมืองรัฐเพียง เกี่ยวกับพอดีกับหน้าจอ
>> ดังนั้นสิ่งนี้หมายความว่าเมื่อมีการ ผู้ใช้คนแรกที่ลงทะเบียนสำหรับเว็บไซต์ของฉัน
มันจะเป็นสิ่งที่ชอบ ดาวิดลัน, M, สมมติว่า 1
malan@harvard.edu จำนวนบนท้องถนนจะ จะเป็นเหมือน 1 เสียงอึกทึกสแควร์, เคมบริดจ์
02138 แล้วอื่น ๆ
ดังนั้นเมื่อผมบอกว่าฐานข้อมูลเชิงสัมพันธ์ หรือฐานข้อมูล SQL เป็นแถวและคอลัมน์
ผมหมายถึงนี้
ว่าข้อมูลที่เกิดขึ้นจริงจะถูกเก็บไว้ ในแถวและคอลัมน์
นี่เป็นเพียงเรื่องบังเอิญ ว่าเรากำลังพูดถึง
และผมก็แค่การวาดภาพได้ ออกมาในแถวและคอลัมน์
นี่เป็นเพียงสคีมา ความหมายที่ครอบคลุม
>> ดังนั้นเขตข้อมูลเหล่านี้ที่นี่ หรือเท่ากันที่นั่น
ซึ่งเป็นเขตที่คุณคิดว่า ฉันมักจะค้นหาถ้าฉันเป็นผู้ใช้
หรือถ้าผมผู้ดูแลระบบฐานข้อมูลหรือไม่
เช่นเดียวกับสิ่งที่ฉันสาขา จริงที่เกิดขึ้นในการค้นหาหรือไม่
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ชื่อนี้ใช่ดังนั้น ฉันชอบความจริงในปัจจุบันผู้ใช่
อีเมลอาจจะรักกัน
ขออภัยคุณกล่าวว่าชื่อ
ดังนั้น maybe-- และอีกครั้งเรา ชนิดของการพูดคุยในเชิงนามธรรม
ผมไม่ทราบว่าเหตุใดจึงควร จะค้นหาชื่อ
แต่ที่รู้สึกว่าถ้าเหมาะสม คุณกำลังค้นหาผู้ใช้
บางทีรัฐตรวจสอบว่า ID
>> และมันเป็นลื่น ความลาดชันเพราะฉันสามารถทำได้
ประดิษฐ์สถานการณ์ที่ บางทีเจ้านายของฉันได้ถามผมว่า
วิธีการหลายคนเราจะมีในเว็บไซต์ของเราหรือไม่
เราจะทำอย่างไรหลายผู้หญิงมีในเว็บไซต์ของเราหรือไม่
และอื่น ๆ ที่จุดที่คุณอาจต้องการ การค้นหาบนฟิลด์เพศมากเกินไป
และไม่มีอะไรอื่น
ดังนั้นจึงมีการออกนี่
อีกครั้งไม่มี คำตอบที่ถูก แต่มี
คือคุณลักษณะในฐานข้อมูล SQL มากที่สุด ที่รู้จักกันในการจัดทำดัชนีโดย
คุณออกแบบที่ ผู้ดูแลระบบฐานข้อมูล,
ได้รับการตัดสินใจล่วงหน้า เขตข้อมูลฐานข้อมูลควรเพิ่มประสิทธิภาพ
สำหรับการค้นหา
>> คุณมากอย่างไร้เดียงสาอาจกล่าวได้เพิ่มประสิทธิภาพ นี้เพิ่มประสิทธิภาพที่เพิ่มประสิทธิภาพนี้
เพิ่มประสิทธิภาพและที่นี้ และฐานข้อมูลจะ
ทำสิ่งบางขลังใต้ เครื่องดูดควันและทำบางสิ่งบางอย่างในลักษณะ
ว่าครั้งต่อไปที่คุณค้นหา ใด ๆ ของเขตข้อมูลเหล่านี้
มันจะในความเป็นจริงจะได้เร็วขึ้น
นี้เป็นไปได้
มันไม่ได้ยกเลิกตัวเองออก
แต่จะต้องมีราคาที่จ่าย
>> หากคุณอย่างไร้เดียงสาหรือมากกว่าอย่างกระตือรือร้น พูดดัชนีทั้งหมดของเขตข้อมูลเหล่านี้
เพื่อที่จะพูดให้พวกเขาทั้งหมด ได้อย่างมีประสิทธิภาพค้นหา
สิ่งที่ราคาที่คุณอาจจะจ่ายเงิน?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ประสิทธิภาพการทำงาน
คุณหมายถึงอะไร?
ดีประสิทธิภาพการทำงานอย่างน้อยใน บริบทฉันพูดคุยจะดีกว่าตอนนี้
นั่นคือความหมายของการจัดทำดัชนี
มันจะทำให้การค้นหาได้เร็วขึ้น
ดังนั้นครั้งลดลงเพื่อที่จะพูด
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: พื้นที่
ดังนั้นอีกครั้งเหล่านี้มีการค้าร่วมกัน
ฉันสามารถเพิ่มความเร็วในการค้นหาของคุณ แต่ก็ จะเสียค่าใช้จ่ายมากขึ้นไบต์ของพื้นที่
ทำไม?
ดีโดยค่าเริ่มต้นถ้าเรามีไม่มี ดาวสีแดงเหล่านี้ไม่มีของดัชนีเหล่านี้
ขณะที่ผมกำลังพูดอย่างไรคุณค้นหา สำหรับชื่อในฐานข้อมูลนี้หรือไม่?
ดังนั้นขอวาดของเรา ให้ความสนใจกับตัวอย่างนี้
ถ้าเรามีดาวิดและสกัลลีและคารีม และ Arwa และอื่น ๆ ในแถวเหล่านี้
เช่น
>> ดังนั้นขอให้ทำตรงนั้น
สกัลลีอยู่ในที่นี่แล้ว เรามีคารีมและ Arwa,
และคนอื่น ๆ ถ้าคุณทำไม่ได้ มีดัชนีที่กำหนดไว้เพื่อที่จะพูด
ที่ดีที่สุดที่คุณสามารถทำได้คือการค้นหาเชิงเส้น
หากคุณค้นหา Arwa เราไม่ได้ จะสามารถที่จะข้ามไปทางขวาให้กับเธอ
อย่างรวดเร็ว.
เรากำลังจะเริ่มต้นบนและ ไปตลอดทางไปที่ด้านล่าง
ไม่แตกต่างจากเดิมของเรา ตัวอย่างเช่นไมค์สมิ ธ
>> แต่ถ้าผมบอกว่าเดี๋ยวก่อนฐานข้อมูล ดัชนีฟิลด์ชื่อแรก
แล้วก็จะทำบางสิ่งบางอย่าง นักเล่นและสนับสนุนบางสิ่งบางอย่าง
เช่นการค้นหาแบบไบนารี
มันอาจไม่ค้นหา binary ต่อ se
ฐานข้อมูลมีแนวโน้มที่จะใช้อีก โครงสร้างข้อมูลที่เรียกว่า B-ต้นไม้
เพื่อไม่ให้สับสนกับต้นไม้ไบนารี ที่เพียงแค่ทำให้มันเร็วขึ้นเพื่อค้นหา
บางสิ่งบางอย่างในธรรมชาติลอการิทึม
แต่ราคาที่คุณจ่ายที่จะสร้างขึ้นที่ คุณลักษณะที่โครงสร้างข้อมูลในหน่วยความจำ
เป็นไบต์มากขึ้น
ดังนั้นจึงอาจใช้เวลาเมกะไบต์บาง กิกะไบต์บางคนที่จะรู้?
มันขึ้นอยู่กับข้อมูล
>> ดังนั้นในบางจุดที่คุณต้องตัดสินใจ มันอาจจะไม่ได้เป็นกรณีทั่วไป
ดังนั้นสิ่งที่เป็นเรื่องธรรมดาที่เกิดขึ้นจริง กรณีถ้าคุณต้องเลือก
สิ่งที่เขตข้อมูลที่คุณชื่นชอบอาจจะมี?
อีเมล์
และผมชอบเพราะอีเมลอีเมล ในทางทฤษฎีต้องไม่ซ้ำกัน
และอื่น ๆ โดยปกติเมื่อคุณรู้ว่า ล่วงหน้าว่าหนึ่งในเขตข้อมูลของคุณ
หรือจะไม่ซ้ำกันที่ มีแนวโน้มที่จะเป็นสนามที่ดี
การค้นหาบนเพราะวิธีการที่ เมื่อคุณค้นหาบางสิ่งบางอย่าง
คุณกำลังจะได้รับกลับมาอย่างใดอย่างหนึ่งหรือ ศูนย์การตอบสนองแล้วคุณทำเสร็จแล้ว
คุณไม่ต้องเก็บ มองหาคนอื่น ๆ
>> และดังนั้นในกรณีนี้ที่นี่, อีเมล์, ตราบใดที่คุณไม่สามารถลงทะเบียนเป็นครั้งที่สอง
ด้วยอีเมลเดียวกันเป็นหนึ่งที่ดี
ID โดยความหมายใน โลกวิทยาการคอมพิวเตอร์
ถ้าคุณกำลังพูดถึง ID ที่ได้ดีกว่าจะไม่ซ้ำกัน
นั่นคือการเรียงลำดับของความหมายแฝง บัตรประจำตัวประชาชนหรือตัวระบุ
และส่วนที่เหลือของเหล่านี้อาจจะเป็นไปได้ ขอเรียกพวกเขามีความสุขที่จะ haves,
แต่ไม่จำเป็นจริงๆ
>> และอื่น ๆ ในฐานข้อมูล คุณระบุดัชนี
แต่คุณสามารถจะได้แม่นยำมากขึ้น
คุณสามารถพูดว่าเดี๋ยวก่อนฐานข้อมูลให้แน่ใจว่า ว่ารหัสในตารางนี้ทุกที่ไม่ซ้ำ
อย่าแม้แต่จะให้โปรแกรมเมอร์ ตั้งใจใส่ในอีเมลที่ซ้ำกัน
หรือคัดลอกหมายเลขรหัส
ดังนั้นเหมือน enums ปกป้องเราในทำนองเดียวกันคุณ
สามารถมีผู้ป้องกันในระดับต่ำกว่า
และเพื่อให้การออกแบบฐานข้อมูลใน ความรู้สึกบางอย่างเป็นชนิดของความสนุกสนาน
เพราะคุณทำมัน defensively
การจัดเรียงของคุณคิดว่าคุณทำงาน กับน่ากลัวน่ากลัวโปรแกรมเมอร์
และคุณต้องการที่จะใส่ในการป้องกันเป็นจำนวนมาก เท่าที่คุณสามารถในการปกป้องข้อมูลของคุณ
แต่ในเวลาเดียวกันคุณต้องการ ที่จะช่วยให้พวกเขาทำงานได้ดีขึ้น
โดยเลือกที่ สาขาเพื่อเพิ่มประสิทธิภาพสำหรับ
แต่คุณไม่สามารถจำเป็นต้องทำมันใน สูญญากาศเหมือนเราชนิดของการอยู่ที่นี่
คุณได้มีการรู้ว่าอะไรคือ เหล่านั้นเป็นกรณีที่พบบ่อย
หากนักพัฒนาที่มี การดำเนินการตามหนังสือที่อยู่,
คุณเป็นอย่างดีอาจต้องการที่จะสามารถ ค้นหาในเกือบทุกสาขา,
โดยธรรมชาติของแอพลิเคชัน
ดังนั้นบางทีคุณใช้จ่าย ว่าพื้นที่เพิ่มเติม
>> ขวาคำถามใด ๆ ?
ใช่.
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: เลขที่
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: OK
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: โอ้ดังนั้นเรา มีการพูดคุยในทาง
ตอนนี้ที่ภาษาไม่เชื่อเรื่องพระเจ้าสมบูรณ์
ดังนั้นเราจึงมีการพูดคุยเกี่ยวกับตอนนี้ ฐานข้อมูลเชิงสัมพันธ์มากกว่าปกติ
หรือฐานข้อมูล SQL มากขึ้นโดยทั่วไป
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: คำดีกว่าการใช้ คือสามารถใช้ภาษาใด ๆ
ดังนั้นผมจึงสามารถเขียนโค้ด JavaScript, C รหัส, C ++, Java รหัสรหัสทับทิม
ทั้งหมดที่พูดคุยกับ ฐานข้อมูลและดำเนินการสอบถาม
ในความเป็นจริงที่ไม่เลว ทำต่อไปตัวอย่างเช่นการสอบถาม
และอีกครั้งที่เราจะไม่ไปลง Java หรือ C ++ หรือใด ๆ ของอีกต่อไป
แต่ใน SQL, ภ​​าษาที่ฉันให้ อ้างอิง Structured Query Language,
นี้ตัวเองเป็นภาษาโปรแกรม แต่มันหมายถึงการจะใช้สำหรับการไม่มี
แปลกใจที่มีโครงสร้างแบบสอบถามแบบสอบถาม
>> โดยที่ฉันหมายความนี้
วิธีที่คุณเลือกข้อมูล จากฐานข้อมูล MySQL
เป็นคุณอย่างแท้จริงพิมพ์ในโปรแกรมของคุณ สิ่งที่ต้องการเลือกดาวจากผู้ใช้
ฉันกำลังสมมติว่าตารางนี้ ผู้ใช้ต่อจากนี้ไปจะเรียกว่า
ฉันจะเรียกมันว่าอะไรที่เราต้องการ แต่ที่ชนิดของการทำให้ความรู้สึก
และเพื่อให้เลือกเป็นอย่างมาก คำกริยาที่พบบ่อยถ้าคุณ
จะใน SQL ที่แท้จริงไม่ว่า
คุณคิดอย่างไรดาว หมายความว่าในบริบทนี้?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ฉันขอโทษ?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ไม่จำเป็นก็ รวมมากขึ้นกว่าที่เป็นจริง
มันเป็นตัวละครป่าการ์ด
ดารามักจะหมายถึงอะไร ดังนั้นนี้หมายความว่าในกรณีนี้
เลือกทุกอย่างจากฐานข้อมูล
ดังนั้นเมื่อผมพูดนี้ผมหมายถึง ให้ฉันกลับมาทุกคอลัมน์
จากตารางที่เรียกว่าผู้ใช้ของฉัน
เพื่อให้ฉันชุดผลให้ ณ ก็เรียกว่า
ในคำอื่น ๆ ให้ฉันสำเนาที่ สเปรดชีตคือสิ่งที่ฉันได้รับที่
>> แต่ถ้าผมบอกว่าเลือกดาวจากผู้ใช้ ที่ id เท่ากับ 1 วิธีใหญ่ควร
ชุดผลลัพธ์ของข้าพเจ้าแล้ว?
หรือเท่ากันแถวหลายวิธีที่ควร ฉันจะส่งกลับมาจากฐานข้อมูลหรือไม่
อาจเป็นเพียงแค่หนึ่งถ้าฉันมีแน่นอน ได้รับการรักษารหัสเป็นตัวระบุที่ไม่ซ้ำกัน
และหากมีเดวิดที่ ID ที่ไม่ซ้ำผม ควรจะได้รับกลับมาเพียงหนึ่งเดียวและแถว
ที่เก็บข้อมูลทั้งหมดของดาวิด
ถ้าฉันบอกว่าที่นี้ ID เท่ากับ 99 ผมควรจะได้รับกลับมา
ในบริบทนี้ศูนย์แถว อย่างน้อยในขณะนี้
>> แต่ถ้าผมไม่สนใจจริงๆ ข้อมูลเกี่ยวกับสิ่งที่
ฉันเพียงแค่อาจจะบอกว่าที่ใดเดวิดอยู่?
เลือกรหัสไปรษณีย์จาก ผู้ใช้ที่ id 1
นี้จะเลือกที่จะฉันเพียงไปรษณีย์ของดาวิด รหัสและไม่ครบถ้วนของแถวว่า
ทำไมฉันอาจจะทำเช่นนี้แทน แบบสอบถามดาวป่าการ์ด?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ใช่ผมอาจจะต้องมัน
เพื่อประสิทธิภาพเป็นอีกครั้งคำตอบที่นี่
ขอเพิ่มเติมทำไม ข้อมูลกว่าที่คุณต้องการ
เพราะแม้ว่าจะเป็นสิทธิทั้งหมดเข้าด้วยกัน คุณยังมีการคัดลอกข้อมูลที่
ก็จะดูเหมือนจากฐานข้อมูล ลงในโปรแกรมของคุณอย่างใด
และนั่นเป็นเพียงถ้าคุณโง่ เพียง แต่ต้องห้าของตัวเลขเหล่านั้น
ไม่ครบถ้วนของแถว
>> ดังนั้นฉันจะใส่ผู้ใช้?
สมมติว่าผู้ใช้มีเพียงแค่ การลงทะเบียนเป็นครั้งแรก
ไวยากรณ์มักจะมีลักษณะเช่นนี้
ใส่ลงในผู้ใช้และ แล้วเราจะบอกว่าค่านิยม
และจากนั้นเราจะบอกว่าค่า เช่นสมมติว่าลอเรนสกัลลี
ช่างภาพของเราได้ที่นี่
และเขตต่อไปคือเพศ
ดังนั้นเราจะพูดอ้างนำมาอ้าง "F" แล้วเรามีรหัส
และฉันจะขอ say-- หลอกว่าเธอไม่ได้จริงที่นี่
ดังนั้นเราจะย้อนกลับในเรื่อง
ดังนั้นที่ 2 จะเป็นรหัสของเธอ
แล้วฟิลด์ถัดไป นี่คืออีเมลของเธอ
ดังนั้นมันจะเป็นเหมือน ลอเรนสกัลลีและอื่น ๆ
และเราก็จะ dot dot จุดมันออกไปจากที่นี่
ตอนนี้มันจะได้รับเพียงเล็กน้อย น่าเบื่อ แต่แบบสอบถามแทรก
ในท้ายที่สุดจะมีลักษณะเช่นนั้น
>> ถ้าผมต้องการที่จะกำจัด สกัลลีอ๊ะขอยกเลิกการลงทะเบียน
เธอจะลบบัญชีของเธอ ลบจากผู้ใช้ที่ id เท่ากับ 2
จะได้รับการกำจัดของสกัลลี
หรือฉันสามารถพูดได้ว่าผู้ใช้ปรับปรุงการตั้งค่า สมมติว่าสิ่งที่เราสามารถเปลี่ยน?
สมมติว่าเธอย้าย
ชุดไปรษณีย์เท่ากับ 021-- Nope, ที่ไปรษณีย์ปัจจุบันของเธอ
90210
เท่านั้นรหัสไปรษณีย์อื่น ๆ ฉันรู้ว่าในโลก
เพื่อที่จะเปลี่ยน ไปรษณีย์เธอ code-- จริง
ที่จะไม่เปลี่ยนรหัสไปรษณีย์ของเธอ
>> อะไรผมแค่ทำอย่างไร
แม้ว่าไวยากรณ์คืออาจจะใหม่
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่ฉันย้ายทุกคน เบเวอร์ลี่ฮิลส์รัฐแคลิฟอร์เนีย
ดังนั้นควรจริง บอกว่าที่ id เท่ากับ 2
เป็นต้น
ดังนั้น SQL คือทั้งหมดที่เกี่ยวกับเหล่านี้ ชนิดของคำแนะนำ
เลือกแทรกลบปรับปรุง กับภาคเหล่านี้ในตอนท้าย
เหล่านี้คำสั่งที่เพื่อที่จะพูด
และมีจำนวนมากขึ้นคุณสามารถ ทำ แต่จริงๆมันก็เดือดลง
เพียงแค่ถ้า arcanely แสดง สิ่งที่คุณต้องการฐานข้อมูลที่จะทำ
>> แล้วฐานข้อมูล จะคิดออกเมื่อ
คุณใส่ลอเรนสกัลลีเข้าสู่ ฐานข้อมูลที่จะนำเธอในหน่วยความจำ
เพื่อให้เราได้อย่างรวดเร็วจะได้รับ เธอตามที่อยู่อีเมลของเธอ
หรือขึ้นอยู่กับจำนวนของเธอ ID หรือชอบ
ใช่แดน
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: คำถามที่ดีจริงๆ
สคริปต์เหล่านี้จะเปลี่ยนจาก Microsoft Access เพื่อ Oracle
ไปยัง MySQL กับ PostgreSQL?
คำตอบสั้น ๆ คือมันขึ้นอยู่กับ
ในทางทฤษฎีมีมาก กลุ่มย่อยร่วมกันอย่างมีนัยสำคัญของ SQL
ที่ใช้ร่วมกันในทุก ของการใช้งานเหล่านี้
อย่างไรก็ตามผู้ผลิตต่างๆ มีคุณสมบัติเพิ่ม
ไปยังฐานข้อมูลของพวกเขาที่จะทำบางสิ่งบางอย่าง เกินขอบเขตของคุณสมบัติเหล่านี้
อาจจะเห็นว่าในความเป็นจริง, การพักผ่อน
>> ดังนั้นวิธีการที่นักพัฒนา ป้องกันนี้
คือการที่มากกว่าการเขียนดิบ รหัส SQL เช่นผมเขียนนี่
พวกเขาแทนที่จะใช้ห้องสมุด ห้องสมุดทั่วไปที่ตัวเอง
เป็นประเภทของการระดับสูงและบทคัดย่อ ออกไปซึ่งผลิตภัณฑ์ที่คุณใช้
และมันจะช่วยให้คุณ ฟังก์ชั่นและวิธีการ
เพื่อเรียกร้องเพื่อให้คุณไม่ จริงเขียน SQL ดิบ
>> ในทางทฤษฎีแล้วคุณสามารถเปลี่ยน ผลิตภัณฑ์จาก Oracle ไปไมโครซอฟท์
หรือในทางกลับกันหรืออะไร อื่นและคุณอย่างแท้จริง
เปลี่ยนอะไรเกี่ยวกับรหัสของคุณ
ความจริง แต่เป็นบางครั้งคุณ ให้ขึ้นคุณสมบัติเป็นผล
คุณอาจจะได้เลือกสินค้าเพราะ มันมีคุณสมบัติมูลค่าเพิ่มเหล่านี้
และคุณเพียงแค่ตอนนี้ไม่ได้ ใช้พวกเขาอย่างมีสติ
>> และ anecdotally บริษัท ส่วนใหญ่มีแนวโน้มที่ ไม่เคยที่จะย้ายออกจากฐานข้อมูลของพวกเขา
ดังนั้นในขณะนี้เป็นที่ดีที่จะ มีคุณสมบัติในความเป็นจริง
คือถ้าคุณกำลังรื้อ ฐานข้อมูลของคุณคุณ
อาจจะทำให้การอัดแน่นของการเปลี่ยนแปลงอื่น ๆ แล้วที่คุณไม่จำเป็นต้อง
ต้องคาดหวังว่า
ดังนั้นจึงเป็นเนื้อหา มากกว่าวิศวกรรมปัญหา
แต่จริงๆมันขึ้นอยู่กับบริบท
แต่ในทางทฤษฎี SQL ที่ใช้ร่วมกัน ในผลิตภัณฑ์ต่างๆเหล่านี้
คำถามที่ดีจริงๆ
ใช่.
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ใช่ดังนั้น คุณสามารถคิดฐานข้อมูล
เป็นเพียงเซิร์ฟเวอร์ในตอนท้ายของ วันและภายในของเซิร์ฟเวอร์ที่
เป็นทั้งกลุ่ม ตารางแถวและคอลัมน์
และเมื่อคุณส่งแบบสอบถามเช่นนี้ จากโปรแกรมของคุณเว็บไซต์ของคุณ
เขียนใน Java, Ruby, Python, อะไรก็ตาม เซิร์ฟเวอร์ได้รับคำสั่งนี้
และการตีความใน ตัวอักษรในลักษณะเดียวกัน
เราพูดถึงก่อนหน้านี้ด้วย แปลภาษา,
แล้วการกระทำบางอย่างเกี่ยวกับศูนย์ หรือแถวอื่น ๆ ในศูนย์หรือมากกว่าตาราง
ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: แน่นอนว่า
ดังนั้น pseudocode สำหรับบางสิ่งบางอย่าง เช่นนั้นอาจเป็นแบบนี้
ในไฟล์ PHP ของคุณหรือของคุณ ไฟล์หลามหรือแฟ้ม Java ของคุณ
คุณจะมีรหัส pseudocode หรือ รอยขีดข่วนเช่นบล็อกเช่นถ้าผู้ใช้เข้าชม
acme.com/register~~V สำหรับครั้งแรก แล้วใส่ลงไปในผู้ใช้และอื่น ๆ
และเราจะแปลนี้ รหัสเป็นรูปธรรมมากขึ้นในที่สุด
แต่จริงๆเรามีทั้งหมด หน่วยการสร้างที่นี่
แม้ว่าเราจะข้ามบาง ขั้นตอนการดำเนินการ
>> เพื่อให้ฉันพบความผิดกับสิ่งที่เรา เยี่ยมยอดไม่เพียงแค่ช่วงเวลาที่ผ่านมา
คุณได้สร้างสวย ตารางที่สมบูรณ์แบบสำหรับผู้ใช้
เป็นที่ยอมรับเราสามารถใช้ มันในรูปแบบที่แตกต่างกันไม่กี่
แต่คุณได้นำเราจริง ลง path-- และฉันบอกคุณ
แต่มันอาจจะ fault-- ของฉันอย่างเป็นธรรม การใช้ฐานข้อมูลที่ไม่มีประสิทธิภาพ
มันไม่ได้เป็นปกติ
>> และโดยปกติผมหมายถึง มีเป็นไปได้,
เมื่อเวลาผ่านไปความซ้ำซ้อนอย่างมีนัยสำคัญ และดังนั้นจึงขาดประสิทธิภาพ
ที่เป็นของเสียของพื้นที่
ขึ้นอยู่กับเฉพาะสิ่งที่คุณดูที่นี่สามารถ คุณวาดภาพที่เสียพื้นที่นี้
จะมาจากเมื่อเวลาผ่านไป เป็นผู้ใช้มากขึ้นและลงทะเบียน
สำหรับเว็บไซต์ของคุณ
ข้อมูลที่อาจจะกลายเป็นสิ่งที่ซ้ำซ้อน?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ทำไมคุณหมายความว่า?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่
และสมมติวัตถุประสงค์ ในวันนี้ว่าเป็นความจริง
จะเปิดออกและเราได้เรียนรู้นี้ วิธีที่ยากที่ไม่เป็นความจริง
อย่างใดหลายเมืองมี อย่างใดรหัสไปรษณีย์เดียวกัน
ซึ่งแบ่งนี้สัญชาตญาณที่ยอดเยี่ยม
แต่ขอให้คิดว่าเป็นความจริง เพราะมันมักจะเป็นจริง
ดังนั้นคิดว่ารหัสไปรษณีย์ที่มีการ เกี่ยวข้องเสมอกับเมืองเดียวกัน
และรัฐซึ่งเป็นชนิด สมมติฐานที่เหมาะสม
แต่ไม่ถูกต้องก็จะเปิดออก
แต่สันนิษฐานที่สมเหตุสมผล สำหรับวัตถุประสงค์ของว​​ันนี้
>> แล้วคิดว่าฉันอาศัยอยู่ในเคมบริดจ์ แมสซาชูเซตตามตารางของผู้ใช้นี้,
และคิดว่าลอเรน สกัลลีที่อาศัยอยู่ในเคมบริดจ์
และสมมติว่าคารีม อาศัยอยู่ในเคมบริดจ์
และ Arwa อาศัยอยู่ในเคมบริดจ์ MA, เราทุกคนใน 02138
เหตุผลที่เราจะจดจำเคมบริดจ์ MA, 02138 สำหรับทั้งสี่ของเรา?
สิ่งที่ควรพอเพียงที่จะจำได้ไหม?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: เพียงแค่รหัสไปรษณีย์
เพียงแค่ว่า 02138 อยู่เพราะ คุณรู้ว่าสิ่งที่เราจะทำอย่างไร
เราจะได้รับแฟนซีเล็ก ๆ น้อย ๆ ที่นี่ และมากกว่าที่นี่กำหนดตารางอื่น
ที่นี้จะเป็น ชื่อนี้เป็นไปได้ชนิด
นี้จะเป็น ความยาวและต่อจากนี้ไปผม
จะเรียกตารางนี้เมืองของฉัน
อย่างนี้เรียกว่าของ แน่นอนตารางผู้ใช้ของฉัน
และเพื่อให้สิ่งที่ฉันควรใส่มากกว่าที่นี่ สำหรับตารางเมืองของฉันคุณคิดว่า?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ใช่
ดังนั้นไปรษณีย์และรัฐและเมือง
และอื่น ๆ ชนิดที่นี่เราจะบอกว่า นี้จะเป็นถ่าน 5 อีกครั้ง
อาจมีการอภิปรายก่อนหน้านี้
นี้จะเป็น enum บางทีอาจจะเหมือน ก่อนและเมืองที่จะเป็น varchar 50
และดังนั้นตอนนี้สิ่งที่ฉันจะได้รับ เพื่อลบออกจากตารางนี้
เพื่อขจัดความไร้ประสิทธิภาพที่?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: นีซ
รัฐและเมืองหายไปดังนั้นผมจึงได้ตอนนี้ กำจัดความไร้ประสิทธิภาพที่มีศักยภาพ
สำหรับเกินความจำเป็นจดจำเคมบริดจ์ MA, เคมบริดจ์, เคมบริดจ์
เคมบริดจ์ซึ่งหวังว่า ไม่เคยไปเปลี่ยน
และแม้ว่ามันไม่เป็น น่ารำคาญ minorly ตอนนี้
ที่ฉันต้องเปลี่ยน ในหลายแถว
ในขณะที่ที่นี่ผมจะทำได้เพียงแค่ เปลี่ยนได้ในสถานที่แห่งหนึ่ง
>> ตอนนี้สิ่งที่เป็นค้าปิดบางที?
นี่คือซุปเปอร์สะดวก
มีข้อมูลของฉันทุกอย่างเข้าด้วยกัน
แต่สิ่งที่เห็นได้ชัดในขณะนี้?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: แน่นอนและฉัน ดีใจที่คุณใช้คำว่าเข้าร่วม
เพราะที่จริงคำหลัก ในโลกของฐานข้อมูลเชิงสัมพันธ์
ใน SQL มันเป็นคำที่เกิดขึ้นจริงคุณ อาจจะพิมพ์หรืออย่างน้อยก็ถ่ายทอด
และในความเป็นจริงสิ่งที่เราต้องทำ เพื่อเลือกข้อมูลที่ครบถ้วนของดาวิดคือ
สิ่งที่ต้องการเลือกจากดาว ผู้ใช้เข้าร่วมเมือง on-- และตอนนี้
ฉันจะเป็นเพียงแค่ย้ายไปยังบรรทัดที่สอง เพื่อที่ว่านี้ users.zip fits-- เท่ากับ
cities.zip ที่ users.ID เท่ากับ 1
>> เกิดอะไรขึ้น?
มันน่าเกลียดมอง แต่คุณสามารถชนิดของ อ่านจากซ้ายไปขวาบนลงล่าง
เลือกดาวจากผู้ใช้ เป็นเช่นเดียวกับก่อน
แต่มันก็ไม่ได้มาจากผู้ใช้ต่อ se
มันมาจากผู้ใช้เข้าร่วมเมือง
สิ่งที่ฉันเข้าร่วมทั้งสองตารางบน?
ดีเห็นได้ชัดว่า ตารางผู้ใช้ซิปฟิลด์
และช่วงเวลานี้เป็นเพียงพิเศษ ไวยากรณ์ในการแสดงความคิดที่ว่า
และนี่คือตารางเมือง zip ฟิลด์
ฉันต้องการทั้งสองจะเป็นเท่ากัน แต่ผมต้องการที่จะเลือกในท้ายที่สุด
เฉพาะแถวที่ ID ในตารางผู้ใช้
เท่ากับ 1 ซึ่งเกิดขึ้นมาเป็นของฉัน
>> และเพียงเพื่อให้ชัดเจน โปรแกรมเมอร์โดยทั่วไปเมื่อ
hardcode บางอย่างเช่นจำนวน 1 เพราะมิฉะนั้นเว็บไซต์เท่านั้น
สนับสนุนเดวิดหรือ ผู้ใช้คนแรกมากคุณ
แทนจะทำ บางอย่างเช่น ID ที่
นี้แสดงให้เห็นถึง ตัวแปรอะไรบางอย่างที่
สามารถเปลี่ยนแปลงได้ตลอดเวลาที่คล้ายกัน ในจิตวิญญาณกับสิ่งที่ผมพูดก่อนหน้านี้
กับเหล่านี้ชนิดของตัวยึด
แต่ตอนนี้เราก็จะ hardcode เป็น 1
และเพื่อให้สิ่งนี้หมายความว่าอย่างไร
ดีเป็นวิธีที่ดีที่จะเห็นภาพนี้อยู่ ว่าถ้ามือนี้เป็นตารางผู้ใช้
และมือนี้เป็นรหัสไปรษณีย์ ตารางเราเรียงลำดับของ finding--
และเคล็ดลับของมือของฉันที่มีซิป มากกว่าที่นี่และเคล็ดลับของนิ้วมือข​​องฉัน
ที่นี่มีซิปคุณ ชนิดของการเชื่อมต่อกันมัน
เพื่อที่คุณจะได้รับกลับมาที่เกิด ตารางเดิมโดยการเข้าร่วมอย่างแท้จริง
ตารางที่สองบนสนามที่พบบ่อย
และมันไม่จำเป็นต้องเป็นซิป
มันอาจจะเป็นอะไรมากที่สุดอื่น แต่ ไปรษณีย์เป็นสิ่งที่ดีเพราะหนึ่งมันสั้น
สองมันเสมอ ยาวเท่ากันเพื่อให้มี
ประสิทธิภาพจริงกับสิ่งที่ โอลิเวียที่นำเสนอที่นี่
กับแฟออกซิปและ [ไม่ได้ยิน] เสนอว่าเราได้รับการกำจัด
เมืองและรัฐ
>> ดังนั้นนี่คือกระบวนการ ที่รู้จักกันในการฟื้นฟู
คำถามใด ๆ ในที่?
ดีให้ฉันชี้ให้เห็น นี้เป็นชนิดของสิ่งที่
แม้ว่ามันจะเป็นธรรมระดับต่ำ การสนทนานี้ที่คุณจะคิดว่า
คุณได้รับการจัดเรียงของ หายไปในวัชพืช
นี้คือการประกาศของเหลือเฟือ โอกาสสำหรับนักพัฒนาจะไม่ดี
และในความเป็นจริงแม้เมื่อเราใน หลักสูตรที่ผมเคยสอนเมื่อเราเคย
ตัวอย่างเช่นที่ไม่มีประสบการณ์ โปรแกรมเมอร์ระดับปริญญาตรี
สร้างเว็บไซต์ได้อย่างรวดเร็วก่อน เว็บไซต์ที่อาจมีลักษณะที่ยอดเยี่ยม
และพวกเขามีทั้งหมดของ ฟังก์ชั่นที่เราร้องขอ
นักพัฒนาได้งานที่ดี
>> แต่พวกเขาไม่จำเป็นต้องรู้ เพียงพอเกี่ยวกับการออกแบบฐานข้อมูล
หรือพวกเขาไม่ได้คิดหนัก เพียงพอเกี่ยวกับประเภทของข้อมูล
และประเภทของผู้ใช้ เว็บไซต์เป็นไปได้
และเราพบแล้วหกเดือนต่อมา หลังจากที่พวกเขาได้จบการศึกษาหรือย้ายที่
ที่ด่าว่าเว็บไซต์ของเรา มันช้าอย่างแท้จริง
และผมไม่ได้พูดคุยเกี่ยวกับการมี ล้านบาทหรือหลายพันคน
ผมหมายถึงไม่กี่ร้อยผู้ใช้งานในมหาวิทยาลัย ทุกคนต้องการที่จะยกตัวอย่างเช่น
ร้านค้าสำหรับหลักสูตรที่ ในเวลาเดียวกันพวกเขากำลัง
โดยใช้แคตตาล็อกแน่นอนว่า แอพลิเคชันที่ผมกล่าวถึง
และสิ่งที่จะได้รับจริงๆ ช้าเนื่องจากไม่มีการจัดทำดัชนี
ไม่มีดาวแดงเพื่อที่จะ พูดหรือเราไม่จำเป็นต้องมี
เอาเรื่องข้อมูลร่วมกันเพื่อ จะได้รับเงินฝากออมทรัพย์ของพื้นที่บางส่วน
>> และดังนั้นเมื่อเตรียมเป็นนักพัฒนา หรือบุคคลฐานข้อมูลหรือสิ่งที่คล้ายกัน
ประเภทของคำถามที่จะคิดว่าผ่าน แม้เมื่อตรวจสอบรหัสของใครบางคน
จะบอกว่าไม่จำเป็นต้องดู ผ่านทุกรหัสของพวกเขา แต่พูดว่า
ให้ดูผ่านตารางฐานข้อมูล
คุณเก็บอะไร?
แล้วจะบอกว่าดีรอ นาทีทำไมคุณใช้จำนวนเต็ม?
เกิดอะไรขึ้นถ้าเรามี 4 พันล้าน และอีก 1 แถวเหล่านี้หรือไม่
และชนิดเหล่านี้ของ คำถามคือโอกาส
ชนิดของการผลักดันกลับและ รับความรู้สึกของซึ่งเป็น
ถ้าคุณไม่สบายใจที่จะทำ มันมีคนทางเทคนิคเพิ่มเติม
ถามคำถามเหล่านี้หรือไม่ คนที่รู้จริงสิ่งที่พวกเขา
และนี่คือชนิดของ สิ่งที่เหมือนกันว่าคน
บนอินเทอร์เน็ตที่ มีเรียนด้วยตัวเองอาจจะ
เรียนรู้ไม่บ่อยเพราะคุณ ไม่จำเป็นต้องเจอมัน
เท่าเพราะคุณจะได้รับ ฐานข้อมูลและทำงาน
แต่ถ้าคุณได้อ่าน ขึ้นบนบทเรียนหรือรับ
บอกเกี่ยวกับการฟื้นฟูฐานข้อมูล และการจัดทำดัชนีและประสิทธิภาพการทำงาน
เหล่านี้เป็นชนิดของสิ่งที่ ที่จะไปทำร้ายคุณ
และคุณอาจจะคิดหรือวิศวกรที่ไม่ดี อาจจะบอกว่าโอ้ดีจ่ายเราดีขึ้น
สำหรับฐานข้อมูลขนาดใหญ่ หรือฐานข้อมูลได้เร็วขึ้น
หรือเพียงแค่โยนเงินที่นี้ ขนาดในแนวตั้งไม่จำเป็นต้องให้
ถ้าคุณไป in-- และคุณสามารถไปใน หลังจากที่ fact-- และเพิ่มดัชนี
และมันอาจจะใช้เวลาไม่กี่ชั่วโมงสำหรับ ฐานข้อมูลที่จะสร้างขึ้นว่าข้อมูลใหม่
โครงสร้างที่ฉันพูดพาดพิงถึงก่อนหน้านี้ คุณยังสามารถแก้ไขปัญหานี้หลังจากที่ความจริง
ที่นี่คือที่คุณ เริ่มต้นที่จะแยกแยะความแตกต่าง
นักออกแบบที่ดีจากที่ไม่ดี นักออกแบบไม่เพียง แต่สกอร์
แต่ประสิทธิภาพการทำงานที่ชาญฉลาดเช่นกัน
มีคำถามอะไรไหม?
ไม่ได้หรือไม่
ดังนั้นสำหรับ NoSQL ซึ่งเป็นชนิดอื่น ของฐานข้อมูลที่ฉันพูดพาดพิงถึงก่อนหน้านี้
คุณไม่ได้มีแถวและคอลัมน์
แต่คุณจะมีบางสิ่งบางอย่าง ที่มีลักษณะเล็ก ๆ น้อย ๆ เช่นนี้
ฉันจะใช้ไวยากรณ์ที่พบบ่อย
วงเล็บปีกกาเกิดขึ้นกับ ถูกนำมาใช้ที่นี่ค่อนข้างมาก
คุณอาจจะมีบางสิ่งบางอย่าง เช่นชื่อแรกคือดาวิด
คุณอาจจะมีข้อเสนอนี้อยู่ ชื่อลัน, คำพูด,
คุณอาจมี ID is-- ขอโทษนะ ID whoops-- คือ 1,
อีเมล malan@harvard.edu และฉันจะไม่ รำคาญพิมพ์ออกส่วนที่เหลือแล้ว
บางสิ่งอื่น ๆ
>> ในคำอื่น ๆ นี้เป็น เป็นตัวแทนต้นฉบับเดิม
ของสิ่งที่เรามักจะเรียก วัตถุในโปรแกรมคอมพิวเตอร์
และวัตถุโดยทั่วไปเพียง คอลเลกชันของคู่ค่าคีย์
ดังนั้นอีกครั้งในรูปแบบนี้เกิดขึ้นเป็นประจำ
เราเห็นคู่ค่าที่สำคัญใน HTML, เราเห็นคู่ค่าที่สำคัญในขณะนี้
ในบริบทของฐานข้อมูลและเรา เห็นคู่ค่าที่สำคัญในบริบท
ของผมคิดว่าภาษาที่ก่อนหน้านี้ในวันนี้
ช่วยให้ขึ้นมา
และแน่นอนว่าจริงๆ ข้อมูลที่เดือดลงไป,
ข้อมูลและเมตาดาต้าหรือค่า และปุ่มตามลำดับ
>> ดังนั้นไม่สัมพันธ์ ฐานข้อมูลบางสิ่งบางอย่างตาม
บนวัตถุที่คุณเพียงแค่กอ ทุกอย่างร่วมกันและวางไว้
ในหน่วยความจำโดยทั่วไปจะเป็น ภาพเป็นหรือคิดเช่นนี้
และฉันจะออกจากที่ขณะนี้เป็น การเรียงลำดับของวิธีทางเลือก
และเป็นหนึ่งในไม่จำเป็นต้องเป็น ดีกว่าอื่น ๆ
ในความเป็นจริงมากในสมัย วันนี้เป็นระบบฐานข้อมูล
เช่น MongoDB และ Redis และไม่กี่ เครื่องมืออื่น ๆ ที่มีอยู่ได้อย่างอิสระ
แต่พวกเขามีมากขึ้นสมัย​​ en
ส่วนหนึ่งเป็นเพราะพวกเขานำเสนอเพิ่มเติม คุณสมบัติมากกว่าวิธีตารางเหล่านี้
แต่ยังเป็นเพราะพวกเขากำลัง เล็ก ๆ น้อย ๆ ง่ายต่อการใช้
เพราะคุณไม่ต้องคิดอย่างหนัก เกี่ยวกับจำนวนมากของการตัดสินใจในการออกแบบเหล่านี้
ดังนั้น pluses และ minuses
ดังนั้นตระหนักถึงมีตัวเลือก เกินกว่าสิ่งที่เราก็ใช้เวลาในการ
>> ดังนั้นขอให้ทำเช่นนี้
Let 's การเปลี่ยนแปลงเล็ก ๆ น้อย ๆ กลับมาตอนนี้กับการเขียนโปรแกรมเว็บ
เพื่อให้เราชนิดของการสรุป วันนี้กับบางสิ่งบางอย่าง
ที่บนมือเล็ก ๆ น้อย ๆ เติม ในช่องว่างบางส่วนจากเมื่อวานนี้
ผมขอไปครั้งแรกนี้
ดังนั้นจำเมื่อวานนี้ว่า เรามีบางส่วนที่ยอมรับ HTML
หน้าเว็บที่มีในขั้นต้นเท่านั้น html แล้วครั้งที่สองมี CSS,
cascading สไตล์ชีต
นี่คือแท็กใหม่ที่เราไม่ได้ เห็นเมื่อวานนี้หรืออาศัยอยู่ใน
ที่เรียกว่าแท็กสคริปต์
>> เปิดออกคุณจริงสามารถฝัง ภาษาที่เรียกว่า JavaScript ในเว็บของคุณ
และทำให้หน้าเว็บของคุณ หน้าทำอะไรบางอย่าง
ดังนั้นสิ่งที่ผมหมายถึงโดยที่?
ดีให้ฉันไปข้างหน้าและเพียง ยืมรหัสนี้สักครู่
ฉันจะไปลงใน Cloud9 ไม่จำเป็น ไปที่นั่นด้วยตัวเองเพียง แต่
และฉันจะเรียก alert.HTML นี้
ฉันจะวางในแฟ้มของฉันที่นี่
และเพียงเพื่อชี้แจงสิ่งที่ฉันได้ทำให้ ฉันไปยังที่อยู่นี้และไปที่การแจ้งเตือน
และคุณจะเห็น Hello World
>> แต่นี้เป็นชนิดของ underwhelming
ผมต้องการที่จะทำบางสิ่งบางอย่าง แตกต่างกันเล็กน้อย
ดังนั้นฉันจะทำจริงนี้
ฉันจะไปในที่นี่ E, และในระหว่างแท็กสคริปต์ของฉัน
กล่าวว่าการแจ้งเตือน ( 'Hello, world'); เพื่อแจ้งให้ทราบล่วงหน้า มันเลอะเทอะเล็กน้อย แต่ฉันมี HTML,
ภายในซึ่งเป็น ภาษาที่เรียกว่า JavaScript,
และนี่คือสิ่งที่เรียกว่า การเรียกใช้ฟังก์ชันหรือเรียกขั้นตอน
นี้เป็นคำกริยาที่แท้จริงในกรณีนี้ และฉันกำลังเรียกใช้ฟังก์ชั่นรหัส
ว่าคนอื่นเขียน
>> ดังนั้นการทำงานที่เป็น การแจ้งเตือนเพื่อให้ไปที่หน้านี้
ในขณะนี้และคลิกโหลดและตอนนี้คุณ เห็นนิด ๆ หน่อย ๆ ของการติดต่อสื่อสาร
เป็นชนิดของโรงเรียนเก่าและน่าเกลียด
นี้ชนิดของการแจ้งเตือนคุณของ ป๊อปอัพบางทีของปีกลาย
แต่มันก็ทำบางสิ่งบางอย่าง เล็ก ๆ น้อย ๆ มีระบบมากขึ้น
>> ดังนั้นยิ่งไปกว่านั้นให้ทำ สิ่งที่น่าสนใจมากขึ้น
ให้ฉันไปที่นี่และกำจัดนี้
และฉันจะไปข้างหน้าและ สร้างรูปแบบเหมือนที่เราทำเมื่อวานนี้
ที่จริงแล้วคุณรู้อะไรไหม
ฉันจะไปเป็น google.html ซึ่งเรา
เริ่มต้นเมื่อวานนี้ซึ่งดูเหมือน นี้ผ่านทางที่เราหาแมว
แต่สังเกตเห็นมีชนิดของ ข้อผิดพลาดในรุ่นปัจจุบัน
มันทำงานสำหรับแมว แต่คิดว่า ฉันจะไม่ให้ความร่วมมือและผมพิมพ์อะไร
และฉันเพียงแค่คลิกส่ง
นั่นเป็นชนิดของพฤติกรรมแปลก
พาฉันไปจริงของ Google ไม่ให้ฉันข้อผิดพลาด
ผมอยากจะบอกผู้ใช้ คุณต้องการที่จะให้เราคุ้มค่า
>> ดังนั้นวิธีที่เราอาจจะทำเช่นนี้?
ดีให้ฉันกลับไปเป็น Cloud9 และ ให้ฉันไปสู่​​ด้านบนของหน้าเว็บ
และเพิ่มแท็กสคริปต์เช่นนี้ที่ ฉันจะพิมพ์รหัส JavaScript บาง
และฉันจะทำต่อไปนี้
ถ้า (document.getelementByID-- และการเรียกคืน ที่เราได้พูดคุยเกี่ยวกับที่ก่อนหน้านี้
ฟังก์ชั่นที่
ฉันจะทำอะไร ID ต้องการที่จะได้รับ?
ฉันต้องการที่จะได้รับ Q และฉันกำลังจะไป พูดเท่ากับไม่มีอะไรเหมือน this--
จริงให้ฉันใช้คำพูดสอง เพียงเพื่อ consistency-- เท่ากับไม่มีอะไร
แล้วแจ้งเตือน ( "กรุณาพิมพ์แบบสอบถาม") ที่นี่
>> ดังนั้นผมจึงมีสิ่งที่ดูเหมือนจะ สิ่งที่ต้องการสภาพ
เราได้เห็นความคิดนี้โดยทั่วไปในรอยขีดข่วน
มันเหมือนเป็นหนึ่งในปริศนาเหล่านั้น ชิ้นส่วนที่มองเช่นนี้
และสิ่งที่ฉันพูด?
ดีลงที่นี่สังเกตเห็นฉัน จะทำอย่างไรต่อไป
ฉันจะให้แบบฟอร์มนี้ ข้อมูลไม่เพียง แต่เป็นชื่อของ Q ซึ่ง
เป็นสิ่งที่ได้รับส่งไปยัง Google แต่ฉัน จะให้ระบุในท้องถิ่น
เรียกว่า Q
แต่ผมจะเรียกอะไรนี้ฉัน ต้องการฉันแค่ไปเพื่อให้มันง่าย
และยังเรียกว่า Q เพียงสำหรับความเรียบง่าย
>> และตอนนี้ฉันจะไปทำ บางสิ่งบางอย่างเล็ก ๆ น้อย ๆ
ในเขตข้อมูลแบบฟอร์มที่นี่ฉันจะไป เพิ่มสิ่งที่เรียกว่าตัวจัดการเหตุการณ์
เมื่อวันที่ส่งผมต้องการที่จะเรียก ฟังก์ชั่นที่เรียกว่าการตรวจสอบ
นี้ยังไม่ปรากฏอยู่นี้ คำหรือตรวจสอบคำกริยานี้
เพราะสิ่งที่ฉันจะทำอย่างไร ขึ้นที่นี่ในขณะนี้คือการเพิ่มโค้ดบางส่วน
>> ฉันจะบอกว่าฟังก์ชั่นการตรวจสอบ
ฉันจะเยื้องนี้และเพิ่มอีก วงเล็บปีกกาที่นี่และอีกคนหนึ่งที่นี่
พิจารณาสิ่งนี้คือตอนนี้ทำ
ฉันมี now-- คิดว่านี้เป็นของฉันสร้างขึ้น ชิ้นส่วนจิ๊กซอว์ตัวเองที่ไม่ได้ก่อนหน้านี้
อยู่และผมเคยเรียกว่าปริศนานี้ ชิ้นปริศนาชิ้นตรวจสอบ
โดยมีวัตถุประสงค์ในชีวิตคือการดำเนินการ สี่บรรทัดของรหัสภายในของมัน
>> หาก document.getElementById ดังนั้นแนวคิด
ที่จะไปเป็นองค์ประกอบ องค์ประกอบ HTML ที่มีที่ไม่ซ้ำกัน
คิดเป็นเพียง Q แล้วแม้ว่า ไวยากรณ์ดูแปลกเล็กน้อย
ที่เท่ากันเท่ากับเพียงหมายถึงความเท่าเทียม
เพื่อที่ว่าหมายความว่าถ้าองค์ประกอบด้วย ระบุที่ไม่ซ้ำของ Q เมื่ออากาศ,
ไม่มีค่ามันก็เท่ากับ อ้างนำมาอ้างไม่มีอะไรในนั้น
แล้วอะไรที่ฉันต้องการจะทำอย่างไร?
ผมอยากจะตะโกนใส่หน้าผู้ใช้
>> และเราจะไม่ไปดูรายละเอียดที่ดีที่นี่
ฉันจะกลับเท็จ
นั่นคือข้อผิดพลาด
อื่นฉันจะกลับจริง
ดังนั้นทั้งการทำงานหรือไม่
เท็จหรือจริง
และตอนนี้ถ้าฉันไม่ได้ทำผิดพลาดใด ๆ ให้ฉันบันทึกนี้และโหลดหน้านี้ใหม่
และแจ้งให้เราตรวจสอบเพียงครั้งว่า ฉันไม่ได้ในความเป็นจริงจะทำให้ความผิดพลาดใด ๆ
ดังนั้นผมจึงไม่อึดอัดใจตัวเอง
ลองมาดูว่าการทำงานนี้
>> ดังนั้นตอนนี้ฉันกำลังจะไปพิมพ์แมว
มันยังคงทำงานหรือครึ่งหนึ่งของผลงานอย่างน้อย
ตอนนี้ให้ฉันโหลดมันและตอนนี้ปล่อยให้ ผมลองส่งโดยไม่ต้องพิมพ์
อะไรเลยด่ามันยากจน
แป๊บนึง.
ผมขอเปิดคอนโซล [ไม่ได้ยิน] บันทึกการโหลดหน้าเว็บ
ผมขอลองนี้อีกครั้ง
โอ้ด่ามัน
ฉันลืม.
ฉันทำพิมพ์ผิด
ผมจำได้ว่ามันคืออะไร
.value
ผมหมายถึงว่าถ้าค่า ขององค์ประกอบที่มี ID เป็น Q
เท่ากับว่าแล้วตะโกนใส่หน้าผู้ใช้
>> ดังนั้นตอนนี้ให้ฉันกลั้นลมหายใจของฉันอีกครั้ง
ไปเลย.
เราจะไปที่นั่น.
กรุณาพิมพ์แบบสอบถาม
ดังนั้นจึงไม่ปล่อยให้ฉันผ่าน
ฉันจะเป็นชนิดของขี้เล่นกับเรื่องนี้ และแทนที่จะตรวจสอบไม่มีค่า
ฉันจะบอกอะไรบางอย่างเช่น ไม่มีการค้นหาสำหรับแมว
และตอนนี้เราก็สามารถเล่นให้มากขึ้น การค้นหาของผู้ใช้สำหรับสุนัขถ้าเขาหรือเธอ
ต้องการหรือถ้าผมอยู่ที่นี่ ค้นหาสำหรับแมวตอนนี้ผมไม่สามารถ
>> ดังนั้นสิ่งที่ Takeaway ที่นี่?
ดังนั้นหนึ่งเราได้นำเข้าสู่ โลกของเราของ HTM​​L และ CSS,
ฟังก์ชั่นการเขียนโปรแกรม
ที่ฉันสามารถทำได้จริงในขณะนี้ ทำให้การตัดสินใจในรหัส
ก่อนหน้านี้ทั้งหมดที่ฉันสามารถทำคือการทำเครื่องหมาย เนื้อหาที่เป็นข้อความหรือเนื้อหากราฟิก
และบอกว่าสิ่งที่จะมอง เหมือนและสถานที่ที่จะแสดง
ตอนนี้ที่จริงผมสามารถขอ คำถามของหน้าเว็บ
และตัดสินใจบนพื้นฐาน ในนั้นและแจ้งให้ผู้ใช้
ถ้าผมต้องตะโกนใส่หน้าเขาหรือเธอ
>> ดังนั้นขอลองอะไร ของเราเองด้วยนี้
ไปข้างหน้าให้ฉันเปิดสไลด์ถัดไป ที่นี่และเพียงแค่ชี้ให้เห็นสิ่งหนึ่ง
เช่นเดียวกับ CSS เราสามารถปัจจัยออก โค้ด JavaScript ของเราเพื่อแฟ้มต่างหาก
คุณสามารถทำสิ่งเดียวกัน ด้วย JavaScript เช่นเดียวกับ CSS
และคุณใช้ว่าการใช้แหล่งที่มา แอตทริบิวต์ของแท็กสคริปต์
แต่เราจะไม่สิ่งที่ซับซ้อนสำหรับตอนนี้
แต่ถ้าคุณสามารถ ไปที่หน้านี้ไม่ได้
but-- ให้ฉันย้ายไปรอบ ๆ ใน order-- ไปถ้าคุณสามารถหน้านี้ที่นี่
URL นี้ที่นี่
มันอยู่ในสไลด์ของว​​ันนี้
คุณอาจจะต้องโหลดเพราะ ฉันได้เพิ่มคู่ของสิ่งที่
>> แต่ไปที่นั่นที่ปริศนาบางอย่างรอคอย
และนี่จะทำให้เรามีโอกาส ในบริบทเล็กน้อยความสนุกสนานมากขึ้น
ตะลุยกับบาง JavaScript
และเมื่อคุณได้รับมี ฉันจะอธิบายสิ่งที่รอคอย
รับสีเขียว
ตั้งสีฟ้า
ชุดสีเขียวชุดสีแดง
อุ่ย
ขอโทษ
>> นี่คือขอบเขตของเรา เอกสารสำหรับความท้าทายนี้
และนี่จะไปทำงานดังต่อไปนี้
ดังนั้นสิ่งที่คุณมีเกี่ยวกับเรื่องนี้ หน้าเป็นทั้งกลุ่ม
ปริศนาภาพโดยเพื่อน ที่ Stanford University
ดังนั้นสิ่งที่คุณเห็นนี่เป็นเกือบ ชนิดของหนึ่งในบรรดาปริศนาตาวิเศษ
แต่ถ้าคุณแค่จ้องมองไปที่มัน ไม่มีอะไรที่จะปรากฏออกที่คุณ
แต่สิ่งที่เป็น ซ่อนอยู่ในภาพนี้
และมันซ่อนอยู่ในลักษณะต่อไปนี้
ภาพที่คุณอาจจะรู้ว่าสามารถ ประกอบด้วยเพียงสามสี
บางสีแดง, สีฟ้าและสีเขียว
และเราสามารถทำให้ทุก สีรุ้ง
โดยการผสมสีทั้งสามอย่างใด
>> ดังนั้นนี้มีลักษณะสีเขียวเป็นส่วนใหญ่และ สีฟ้า แต่เมื่อนิคบอกว่าที่นี่
นี้ภาพปริศนาเหล็กเป็นปริศนา
มันมีภาพของ บางสิ่งบางอย่างที่มีชื่อเสียงอย่างไร
ภาพที่ได้รับการบิดเบี้ยว
วัตถุที่มีชื่อเสียงอยู่ในค่าสีแดง
ค่า แต่สีแดง ทั้งหมดได้รับการหารด้วย 10
ดังนั้นพวกเขาจึงมีขนาดเล็กเกินไปโดยปัจจัยที่ 10
ดังนั้นในคำอื่น ๆ นิค เอาภาพเดิม
และเขา desaturated ทั้งหมด สีแดงจากมัน
การลดปริมาณของสีแดง หมึกถ้าคุณจะอยู่ในนั้น
>> ค่าสีน้ำเงินและสีเขียว ทุกคนมีความหมายเพียงแค่
ค่าสุ่ม aka ออกแบบเสียง เพื่อปิดบังภาพที่แท้จริง
ดังนั้นสิ่งที่นิคไม่ได้เขา กระชับลงสีแดงแล้ว
เขาก็โยนสุ่ม ปริมาณของสีฟ้าและสีเขียว
ที่ภาพเพื่อปิดบังชนิดของ สิ่งที่เป็นจริงยังคงมี
คุณต้องยกเลิกการบิดเบือนเหล่านี้ เผยให้เห็นภาพ
แรกตั้งค่าสีฟ้าและสีเขียวทั้งหมด ให้เป็นศูนย์ที่จะได้รับพวกเขาออกจากทาง
และมองไปที่ผล แล้วก็ คูณแต่ละค่าสีแดง 10
ปรับกลับขึ้นไป ประมาณค่าสุดท้ายของมัน
เป็นวัตถุที่มีชื่อเสียงอะไร?
>> เพื่อให้ทุกท่านมีสี่เหลี่ยมนี้ ในเบราว์เซอร์ของคุณตอนนี้
และแจ้งให้ทราบว่ามีบางส่วน รหัสเริ่มต้นเพื่อที่จะพูด
นี่คือรหัส JavaScript ที่ นิคได้เขียนขึ้นสำหรับคุณ
และแจ้งให้ทราบว่ามี บรรทัดที่อยู่ตรงกลางที่
เริ่มต้นด้วยการเฉือนเฉือนที่ สิ่งที่เรียกโดยทั่วไปแสดงความคิดเห็น
มันหมายความว่ามันเป็นวลีโปรแกรมเมอร์ที่ ที่มีความหมายไม่ทำงาน
มันเป็นเพียงแค่คิวภาพเพื่อมนุษย์
>> เพื่อให้คุณสามารถไปข้างหน้าและ ลบเพียงบรรทัดนั้น
และเป็นซุปเปอร์ระมัดระวังไม่ให้ ลบหรือเปลี่ยนแปลงอะไรอื่น
และแจ้งให้เราเพียงแค่คุณเดินผ่าน สิ่งที่ไม่รหัสนี้และฉันจะปล่อยให้มัน
กับคุณที่จะคิดออกภาพลับ
บรรทัดนี้ที่นี่ครั้งแรกที่ฉันได้เพียงแค่ ไฮไลต์จะช่วยให้คุณต่อไปนี้
ที่อยู่ด้านซ้ายมือ คุณมีสิ่งที่เรียกว่า
ตัวแปรที่มีนิคพล แต่ที่เรียกว่าสมควร im ภาพ
บนด้านขวามือ ของเครื่องหมายเท่ากับว่า
ที่เขาบอกให้ฉันใหม่ อ้างนำมาอ้างภาพ "ง่าย"
>> ภาพที่เรียบง่ายในบริบทนี้ เป็นสิ่งที่เรียกว่าชั้นดี
มันเป็นชนิดเช่น class-- เทคนิค prototype-- แต่จริงๆ
นี้จะให้ฉันวัตถุใหม่ เนื้อหาที่มีไฟล์
เหล็ก puzzle.png
ในคำอื่น ๆ นิคได้สร้าง ความคิดของภาพที่เรียบง่ายนี้
เพื่อให้เราสามารถสำหรับการเรียนการสอน วัตถุประสงค์ในการเล่นกับภาพ
และเปลี่ยนสีแดง ค่าสีเขียวและสีฟ้า
>> และวิธีการที่เราทำอย่างนั้น?
นี้ไวยากรณ์ค่อนข้างคลุมเครือที่นี่ เป็นชนิดเช่นบล็อกซ้ำ
ว่าบางส่วนของที่คุณเห็นในเกาก่อนหน้านี้ วันนี้ที่คุณสามารถทำซ้ำ 10 ครั้ง
ในกรณีนี้นิคไม่ได้ hardcoded ตัวเลขเช่น 10
แต่เขาไม่ว่าจะเริ่มต้น ตัวแปรที่เรียกว่า X 0
ตรวจสอบถ้า x น้อยกว่า ความกว้างของภาพ
>> และเพื่อที่จะเป็นที่เหมาะสมมากขึ้นภาพเป็น ตัวแปรจุดหมายความว่าไปภายในของมัน
และได้รับความกว้างของตนและ แล้ววงเล็บเปิดปิด
วงเล็บเป็นเพียงวิธีการของโปรแกรมเมอร์ ของคำพูดนี้เป็นฟังก์ชั่น
นี่คือขั้นตอน
นี่คือการทำงาน คนอื่นเขียน
ใช้มันและให้ฉันกลับคำตอบ
แล้ว X ++ เป็นวิธีที่จินตนาการของ ว่าหลังจากที่คุณได้กระทำเช่นนี้ครั้งเดียว
เพิ่มขึ้นโดย x 1
ในคำอื่น ๆ นี้ เป็นวิธีของโปรแกรมเมอร์
ของการกระตุ้นให้เกิดห่วงที่เป็น จะย้ำกว่า
คอลัมน์ทั้งหมดในภาพ
>> ภาพเป็นเพียงตารางของ จุดแถวและคอลัมน์ของจุด
นี้เป็นวิธีการ iterating มากกว่าคอลัมน์ทั้งหมดเหล่านั้น
และในภายใน ในขณะที่เรากำลังทำซ้ำ
มากกว่าความสูงที่นี่ และนี่และที่นี่
ดังนั้นนี้เป็นเพียงวิธีการ traipsing ที่ เกือบจะเหมือนเครื่องพิมพ์ดีดโรงเรียนเก่า
เพียงแค่ไปมากกว่า ภาพทั้งหมดซ้ำ
แม้กระทั่งว่าไม่ได้ค่อนข้างทั้งหมด ชัดเจนเพียงแค่ใช้เวลาบนความเชื่อสำหรับตอนนี้
ว่าผู้ที่สามบรรทัด รหัสร่วมกัน
จะช่วยให้คุณสามารถดูซ้ำ ในทุกพิกเซลทุกจุดในภาพ
>> อะไรพิกเซล?
ดีที่มีความชัดเจนถ้าเรามอง ที่เดิมและขยาย
ถ้าคุณจริงๆใส่ดวงตาของคุณ ไปที่หน้าจอคอมพิวเตอร์ที่
เพียงแค่ทั้งกลุ่มของจุดหลาย พันจุดเต็มไปด้วยกันมี
และเพื่อให้สิ่งที่คุณกำลังจะทำอย่างไร?
แต่ละคนของจุดเหล่านั้น คำนิยามสุดท้าย
เป็นผลมาจากสิ่งที่อยู่โดยทั่วไป เรียกว่า RGB, สีแดง, สีเขียว, สีฟ้าซึ่ง
อีกครั้งสามารถรวมกันเพื่อ ให้จำนวนของสีใด ๆ
>> ในความเป็นจริงถ้าคุณจำ จากหลายปีที่ผ่านมา
หน้าจอโปรเจ็กเตอร์เช่นเดียวกับสิ่งเหล่านี้ เคยมีไม่หนึ่งเลนส์ แต่สาม
หนึ่งของพวกเขาคายแสงสีแดงซึ่งเป็นหนึ่งใน พวกเขาคายออกไฟเขียวหนึ่งของพวกเขา
คายแสงสีฟ้า
และถ้าคุณอยู่ในโรงเรียนมัธยม เหมือนผมที่พวกเขาไม่เคย
สอดคล้องถูกต้องคุณอยู่ มักจะชมภาพยนตร์ประวัติศาสตร์
ที่ถูกบิดเบี้ยวเล็กน้อย เพราะสามสีไม่ได้
รวมถูกต้อง
>> แต่ปรากฎว่าแต่ละ ค่าเหล่านี้สีแดงสีเขียวและสีฟ้า
สามารถมีหมายเลขที่เกี่ยวข้องกับพวกเขา
ยกตัวอย่างเช่น 0 สีแดงหมายความว่าไม่มี สีแดง, 0 สีเขียวสีเขียวหมายถึงไม่มี
และ 0 สีฟ้าหมายถึงไม่มีสีฟ้า
ดังนั้นหากคุณไม่มีแดงไม่มีสีเขียว และไม่มีสีฟ้า, สีอะไรคุณมี?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: คุณต้องการ หวังว่าอย่างนั้นมันเป็นสีขาว
แต่นี้ operates-- ขอโทษ?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ดังนั้นคุณจริง มีสีดำในกรณีนี้
ดังนั้นถ้าคุณมีไม่มีของเหล่านี้ สีที่เปิดอยู่คุณมีสีดำ
แต่ถ้าคุณมีขอพูดมาก พวกเขาชอบมากสีแดง 255 ของมัน
จำนวนมากของสีเขียวและเป็นจำนวนมาก สีฟ้าที่เป็นสีขาว
ดังนั้นเหล่านี้เป็นสองขั้ว
ดังนั้นโดยตรรกะนี้ถ้าฉันมีจำนวนมาก สีแดงและสีเขียวไม่มีและไม่มีสีฟ้า
สีอะไรคือ?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ขวาอย่างเห็นได้ชัด
แล้วไม่มีสีแดงจำนวนมาก สีเขียว, สีฟ้าไม่มีแล้ว
ถ้าคุณ have-- ดีเราก็จะเสร็จสิ้น มันเพียงเพราะ แต่นี้แน่นอน
ตอนนี้เป็นสีฟ้า
และตอนนี้คุณสามารถรวมสีเหล่านี้
ตอนนี้เช่นกันถ้าใด ๆ ของคุณมี เคยทำบางการออกแบบเว็บไซต์ที่เกิดขึ้นจริง
คุณอาจจะจริง เห็นสัญลักษณ์เช่นนี้
FFF-- และที่จริงก็ อาจจะไม่ได้แม้กระทั่งว่า
มัน FFFFFF
>> ใครเคยเห็น F และอี และ A through-- ดังนั้นมันจะเปิดออก
เราได้พูดคุยเมื่อวานนี้เกี่ยวทศนิยม และในวันนี้เกี่ยวกับชนิดของทศนิยม
วันนี้เราพูดคุยเกี่ยวกับไบนารี
จะเปิดออกเลขฐานสิบหกเป็นอย่างมาก ระบบฐานร่วมกันที่จะใช้ในการคำนวณ
ไบนารีคือสองทศนิยมคือ 10, ฐานสิบหกคือ 16
และปรากฎอย่างไร คุณนับเลขฐานสิบหก?
ศูนย์หนึ่งสองสามสี่ ห้าหกเจ็ดแปด
เก้าทำในสิ่งที่คุณใช้หลังจากเก้า?
เบอร์อะไรต่อไปหรือไม่
เรามีอยู่แล้วมาใช้เป็นศูนย์
ฉันต้อง 16 เหล่านี้
ศูนย์หนึ่งสองสามสี่ ห้าหกเจ็ดแปดเก้า
คุณต้องมีการประชุมโดยพลการ
>> และสิ่งที่มนุษย์ตัดสินใจบางเวลา ที่ผ่านมาว่าหลังจากที่เก้ามาพร้อมตัวอักษร
แล้วบีและซีแล้วดังนั้น วิธีที่คุณนับเลขฐานสิบหก
เป็นศูนย์หนึ่งสองสามสี่ ห้าหกเจ็ดแปดเก้า
A, B, C, D, E, F และที่จะนับ คุณทุกทางที่มันจะเปิดออกถึง 15
ดังนั้นศูนย์ถึง 15 เป็นศูนย์ผ่าน ตอนนี้ทำไมเอฟที่มีความสำคัญ?
ดีเมื่อคุณมีสอง F ของ ว่าเป็นวิธีที่คุณแสดง 255
>> ตราบเรื่องสั้นใน โลกของ Photoshop,
ว่าซอฟต์แวร์การออกแบบกราฟิก ในโลกของการพัฒนาเว็บ
ที่คุณมีจำนวนมากของสี ของหลักสูตรที่จะเล่นกับ
มักจะโปรแกรมเมอร์ แสดงผู้ที่อยู่ในเลขฐานสิบหก
เพียงเพราะมันมีแนวโน้มที่ จะเป็นเล็ก ๆ น้อย ๆ ที่เรียบง่าย
แม้ว่าได้อย่างรวดเร็วก่อน มันซับซ้อนมากขึ้น
>> ดังนั้นในกรณีนี้เป็นสิ่งสำคัญ เพราะนิคที่ Stanford
ได้ให้เราหกชิ้นของการทำงาน ที่คุณโปรแกรมเมอร์รุ่น,
ตอนนี้จะมีความสามารถในการใช้
ที่สร้างขึ้นในเว็บนี้ หน้าหกฟังก์ชั่น
หกขั้นตอนที่นิคเขียน
สามของพวกเขาคุณจะได้รับหมายเลข สีแดง, สีเขียวหรือสีฟ้าค่า
สามของพวกเขาจะตั้งค่าที่
และขีดเหล่านี้ เป็นเพียงตัวยึด
ดังนั้นคุณต้องรู้ว่าสิ่งเหล่านั้นเป็น
>> ดังนั้นด้วยทั้งสามฟังก์ชั่น ครั้งแรกของสิ่งเหล่านี้
เป็นไปได้ x-ประสานงาน และครั้งที่สองของสิ่งเหล่านี้
เป็นไปได้ที่จะเป็นพิกัด y
ในคำอื่น ๆ ซึ่งจุดที่ พิกเซลที่คุณต้องการที่จะได้รับสีเขียวที่
รับสีฟ้าของที่ได้รับสีแดงของ
แล้วนี่นี้เป็นไปได้ X นี้จะเป็นค่า Y,
และนี่เป็นไปได้ที่หมายเลข
เพื่อขอทำครั้งแรก สายนี้ด้วยกัน
แล้วฉันจะปล่อยให้มันอยู่กับคุณ เพื่อพยายามที่จะได้ข้อสรุปที่เหลือ
ดังนั้นตามคำแนะนำ ในหน้านี้เราต้อง
เพื่อเพิ่มสีแดงโดยมีปัจจัยของ 10 และเราจำเป็นต้องเอาสีเขียว
และลบสีฟ้า
เริ่มต้นให้กับสถานการณ์หลัง
ดังนั้นถ้าฉันต้องการและฉันจะ เพื่อเยื้องโดยใช้พื้นที่บางส่วน
ถ้าผมต้องการที่จะตั้งสีแดง สีเขียวหรือค่าสีฟ้า
ฉันจะทำอย่างไรต่อไป
>> ภาพ im.setBlue แล้ว ขึ้นอยู่กับคำแนะนำของฉันที่นี่
สิ่งที่สามสิ่งที่ฉันควร พิมพ์ที่อยู่ภายในวงเล็บตอนนี้หรือไม่
ฉันต้องการค่า x ที่ ค่า Y และสิ่งที่จำนวน
ฉันควรใส่ที่นี่ถ้าผมต้องการที่จะกำจัด สีฟ้าบนพื้นฐานของเรื่องนี้ที่นี่?
ศูนย์เพียง
ถ้าผมต้องการที่ไม่มีสีฟ้า, ฉันแค่ จะเปลี่ยนเป็นศูนย์
>> ตอนนี้ขอเพียงแค่นี้สรุปสิ่งที่จะทำ
ฉันมีที่นี่ในชั้นนำเหล่านี้ สายที่สองและสาม
ผมอ้างว่าสองลูป ลูปซ้อนกันถ้าคุณ
จะว่ากำลังจะมีผลกระทบ ของความคืบหน้าจากซ้ายไปขวา
บนลงล่างมากกว่าทั้งหมดของ X ค่านิยมและค่าทั้งหมดวาย
เพราะอีกครั้งภาพที่มี เพียงตารางของแถวและคอลัมน์
ดังนั้นนี้เป็นไปได้ การกำจัดของทุกสีฟ้า
ผมขอออกในบรรทัดถัดไปกับคุณ
ฉันจะได้รับการกำจัดของทุกสีเขียว?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: นีซ
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: นีซ
และฉันจะซูมออกและใช้เวลาเพียงแค่ ดูแลที่คุณไม่ได้ทำผิดพลาดใด ๆ
และถ้าคุณสะดวกสบาย กับสิ่งที่คุณได้ทำ
ไปข้างหน้าและคลิกที่ปุ่ม Run / บันทึกและดูสิ่งที่คุณได้รับ
และอีกครั้งที่เราได้ทำ เพียงแค่สามการเปลี่ยนแปลง
เราลบที่แรก แสดงความคิดเห็นและแทนที่มัน
กับทั้งสองสายรหัส
และก็ OK ถ้าคุณต้องการที่จะตี การเรียกใช้ / ปุ่มบันทึกกี่ครั้ง
ในการแก้ไขปัญหาบางสิ่งบางอย่าง
>> และแจ้งให้เรายังซูมในของฉัน รหัสเพื่อให้คุณสามารถคัดลอก
ดี.
ดังนั้นผมจึงเห็นแอนดรูมีสิ่งที่ ดูเหมือนว่าจะเป็นความผิดพลาด
เขาเพียงแค่มีสีดำขนาดใหญ่ สี่เหลี่ยมผืนผ้าบนหน้าจอของเขา
ไม่มีใครมี สี่เหลี่ยมสีดำขนาดใหญ่?
>> ผู้ชม: ใช่
>> DAVID ลัน: บิ๊กสี่เหลี่ยมสีดำ?
ตกลงดังนั้นขอคิด เกี่ยวกับสิ่งที่นี้หมายถึง
เรากล่าวว่าศูนย์ศูนย์ศูนย์ จึงไม่มีสีเขียวไม่มีแดงไม่มีสีฟ้า
เป็นไปเพื่อให้คุณสีดำ
และปรากฎว่า ส่วนใหญ่ของแล็ปท็อปของเรา
ก็ไม่ได้มีความจงรักภักดีพอ
คุณไม่สามารถบอกได้ค่อนข้างมี เป็นจริงอย่างที่มี
และถ้าคุณชนิดของอาจจะยัน หน้าจอของคุณไปข้างหน้าและด้านหลัง
Maybe คุณเห็น บางสิ่งบางอย่างเล็ก ๆ น้อย ๆ ที่นั่น?
บางทีชนิดของการเรียงลำดับของ?
มันไม่ได้เป็นสีดำได้อย่างสมบูรณ์แบบ
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: สปอยเลอร์!
มีสีแดงบางส่วนจะมี แต่ จำได้จากข้อกำหนด
ของปัญหานิคกระชับมันลง
เขา desaturated มันบ้าง แต่ไม่ทั้งหมดวิธีการที่จะเป็นศูนย์
ดังนั้นถ้าเราต้องการที่จะขยายจำนวนเงินที่ สีแดงให้ฉันนำเสนอเคล็ดลับนี้
ผมขอขยายบนหน้าจอของฉัน
และแจ้งให้เราไปข้างหน้าและพูดว่า จำนวนเงินเท่ากับ im.getRed (x, y)
>> บรรทัดของรหัสนี้ให้ฉัน สิ่งที่เรียกว่าตัวแปร
ฉันมีพล แต่เนื้อหา เรียกว่ามีเหตุผลของฉันตัวแปรอะไร
เห็นได้ชัด?
จำนวน
จำนวนเงินเพียง
ฉันจะได้เรียกมันว่า สิ่งที่ฉันต้องการ แต่ฉัน
โดยใช้ฟังก์ชั่นอื่น ๆ ที่ผมอธิบายไว้ก่อนหน้า
ที่จะได้รับปริมาณของสีแดงที่ X Y จุลภาค
ผมไม่ทำอย่างนั้นทำไม?
สิ่งที่คุณต้องการจะทำที่นี่?
คุณจำเป็นต้อง add--
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่บางที คูณด้วย 10
และถ้าคุณไม่ทราบว่านี้ฉัน จะไปข้างหน้าและทำเช่นนี้
ฉันจะไปข้างหน้าและ กล่าวว่าฉันต้องการปริมาณของสีแดง
ฉันอยากจะเป็นอะไรก็ตาม ที่สีแดงครั้งที่ 10
และดาวดอกจันบนของคุณ แป้นพิมพ์เป็นคนทั่วไปไม่ได้ใช้ X
ใช้ดาว
นั่นเป็นวิธีที่คุณคูณสิ่ง มากที่สุดในการเขียนโปรแกรมภาษา
>> ดังนั้นตามสัญชาตญาณคารีมของ เก็บไว้ในตัวแปรนี้เรียกว่าจำนวนเงิน
เป็นวิธีการที่สีแดงมากฉันต้องการที่ XY สถานที่ตั้ง
วิธีตอนนี้ฉันจะทำให้ พิกเซลมีตัวเลขที่?
คุณได้ทำมาแล้วนี้มาก่อน
คุณตั้งค่าสีเขียวและ สีฟ้าจะไม่มีค่าเป็นศูนย์
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่ดี คุณไม่ต้องการให้ 10
แล้วคุณไม่คณิตศาสตร์ที่นี่
ดังนั้นเราจะได้รับค่าของสีแดง ซึ่งเป็นตัวเลขที่ต่ำสันนิษฐานว่า
เรากำลังคูณเพิ่มขึ้น 10
สิ่งที่คุณต้องการจะทำอย่างไรกับ จำนวนตัวแปรตอนนี้หรือไม่
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: นีซ
ดังนั้น im.set-- อะไร?
>> ผู้ชม: setRed
>> DAVID ลัน: setRed ที่ XY สถานที่ตั้ง
ใช่.
และจำนวนเงินเพียง
ในคำอื่น ๆ ตัวแปร เป็นตัวยึดชั่วคราว
ที่คุณสามารถใส่สิ่งที่คุณต้องการใน
เราจะได้รับการวาง จำนวนในนั้นในขณะนี้
เราได้คูณมันด้วย 10 ที่จะทำให้มันมีขนาดใหญ่
และตอนนี้ฉันแทนตัวแปรที่ เป็นว่าอาร์กิวเมนต์ที่สามหรือการป้อนข้อมูล
การตั้งค่าสีแดง
และเพื่อว่าเมื่อคุณ เสร็จสิ้นการที่และรับทราบ
กึ่งทวิภาคและวงเล็บ
>> ไปข้างหน้าและคลิก เรียกใช้ / บันทึกอีกครั้งและคุณ
ควรเห็นอย่างน่าอัศจรรย์สิ่งที่เป็นจริง ที่นั่น [? Arwa?] สิ่งที่มี?
หอไอเฟลในที่เต็มเปี่ยม สีแดงไม่ได้ค่อนข้างมืด
มันควรจะเป็นที่ชัดเจนมากขึ้นในขณะนี้ใช่?
ตกลง.
และแอนดรูไม่มีกล่องดำมากขึ้น?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: สิทธิทั้งหมด
ดังนั้นฉันจะเก็บเรื่องนี้ไว้บนหน้าจอ
หากคุณต้องการที่จะเล่นกับเรื่องนี้ ต่อมาผมจะสร้างนี้สำหรับคุณ
แต่รหัสนี้นี่ไม่ตรงกับที่
ทำไมเราไม่ทำคนอื่น ๆ
ผมขอเลื่อนลงเล็กน้อย
>> ดังนั้นในกรณีนี้โปรเจ็กเตอร์ ไม่ได้ทำจริงๆมันยุติธรรม
แต่บนหน้าจอของคุณคุณอาจ มีกล่องสีแดงและสีดำมากมาก
นี้ก็เป็นปริศนาที่ แสดงให้เห็นบางสิ่งบางอย่างที่มีชื่อเสียง
แต่ภาพที่ได้รับการบิดเบี้ยว
ภาพความจริงในเวลานี้คือ ค่าสีฟ้าและสีเขียว
อย่างไรก็ตามพวกเขาได้ถูกแบ่งออกทั้งหมด 20 ดังนั้นค่าที่มีขนาดเล็กมาก
ค่าสีแดงเป็นเพียง ตัวเลขสุ่มเสียง
เลิกบิดเบือนเหล่านี้ เผยให้เห็นภาพที่แท้จริง
>> ดังนั้นนิคก็บอกว่าจะทำอย่างไร
การตั้งค่าสีแดงให้เป็นศูนย์และ แล้วไม่เสียว่ามันคืออะไร
แล้วคูณสีฟ้า และค่านิยมสีเขียว 20
ดังนั้นจึงเป็นเกือบ โปรแกรมเดียวกันเป็นมาก่อน
แต่คุณย้อนกลับกระบวนการ
และฉันจะใส่รหัสของฉันจาก ก่อนที่บนหน้าจอในกรณีที่
คุณต้องการที่จะกลับไปดูมัน หรือเล่นต่อไปด้วยที่หนึ่ง
ผมขอซูมในที่
แต่แก้ภาพทองแดง ปริศนาหมายเลขสอง
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: ตกลงดังนั้นคนนี้ฉัน ไม่ได้จะให้คำแนะนำที่เป็นจำนวนมาก
ดังนั้นผมจึง would-- โอ้ขอ เห็นคุณมีการพิมพ์ผิดนี่
ดังนั้นจำที่นี่ จริงต้องการที่จะไปที่นั่น
ดังนั้นสิ่งที่ผมจะนำเสนอถ้าคุณต้องการที่จะ มุ่งเน้นไปที่คนนี้มีคำตอบ
หากคุณต้องการคัดลอกนั้น ควรจะได้รับคนแรกที่ทำงาน
แล้วคุณสามารถใช้เป็น แรงบันดาลใจสำหรับคนที่สอง
ดี
ดี.
>> และอยากรู้อยากเห็น นี้เป็นตัวอย่างง่ายๆ
ของวิทยาศาสตร์หรือศิลปะ เรียกว่าซูรินาเม,
ศิลปะของการซ่อนข้อมูลในภาพ
โดยปกติภาพอาจจะ ใส่ลายน้ำดิจิตอลมากโจ๋งครึ่ม
ที่มีโลโก้ในด้านล่าง มุม แต่อย่างชัดเจนคุณ
สามารถเป็นความซับซ้อนมากขึ้น เกี่ยวกับเรื่องนี้และจริง
ซ่อนภาพอื่น ๆ ที่อยู่บนภาพ อย่างใดด้วยเทคนิคนี้
>> ใช้เวลาอีก 30 วินาทีและจากนั้นเราจะ ประกาศอย่างน้อยสิ่งที่คุณควรจะเห็น
และฉันจะออกจากที่สาม เป็นหนึ่งในการออกกำลังกายที่บ้าน
ถ้าคุณต้องการที่มากขึ้นของ ท้าทายสุดสัปดาห์นี้
และผมคิดว่าแอนดรูอาจ มีอากาศมันเป็นครั้งแรก
อะไรคือภาพที่สองแอนดรู?
>> ผู้ชม: อนุสาวรีย์เทพีเสรีภาพ
>> DAVID ลัน: อนุสาวรีย์เทพีเสรีภาพ จะเป็นคำตอบในครั้งนี้
ดังนั้นอีกครั้งเพียงบางส่วนที่เรียบง่าย ตัวอย่างเป้าหมายของการที่
คือการให้ความรู้สึกของวิธีการ เราได้รับการแปลเป็​​นภาพรอยขีดข่วน
บล็อกที่น่ารำคาญมากขึ้นและมากขึ้น รหัสซับซ้อน แต่ทั้งหมดของความคิด
ยังคงอยู่ตรงเดียวกัน แม้จะมีการแนะนำ
ตอนนี้ความคิดของตัวแปรเป็น สามารถที่จะเก็บบางสิ่งบางอย่างชั่วคราว
>> ขอทำอีกหนึ่งมือบน เพียงแค่ตอนนี้เชื่อมต่อจุด
บางสิ่งบางอย่างเล็ก ๆ น้อย ๆ ในโลกความจริง
เมื่อคุณพร้อมที่ถ้าคุณสามารถ ไปที่ URL นี้บนหน้าจอ
นั่นคือยังอยู่ในสำเนาของ ภาพนิ่ง developers.google.com/maps
ลองจริงทำบางสิ่งบางอย่าง จริงเพื่อที่จะพูดบนเว็บ
โดยใช้ Google Maps API หรือ อินเตอร์เฟซการเขียนโปรแกรมประยุกต์
ในลักษณะดังต่อไปนี้
>> Google เช่นหลาย บริษัท ให้มากของการทำงานฟรี
ที่คุณสามารถใช้เพื่อสร้างของคุณ โปรแกรมที่น่าสนใจของตัวเอง
ในความเป็นจริงถ้าคุณเคยใช้ Uber ที่จะได้รับรถแท็กซี่หรือรถ
คุณอาจจะรู้ว่ามี Uber แผนที่และมันแสดงให้เห็นรถยนต์บนมัน
นั่นคือเป็นที่ดีที่สุดเท่าที่จะทำได้ บอก Google Maps API
พวกเขาเป็นจริงการใช้แผนที่ของ Google แต่ Uber ไม่ได้เป็น บริษัท ทำแผนที่
หรือว่าจะเป็น ปัญหาที่น่าสนใจโดยเฉพาะอย่างยิ่ง
เพื่อแก้ปัญหาด้านบนของพวกเขา ปัญหารถ
และเพื่อพวกเขาจะยืน อีกครั้งบนไหล่
ของคนอื่น ๆ ของ Google ในกรณีนี้
ดังนั้นพวกเขาจึงใช้แผนที่ Google แต่ของตัวเอง บริการรถยนต์และคุณสมบัติอื่น ๆ เช่น
>> ดังนั้นเราจะใช้ประโยชน์ นี้ทำต่อไปนี้
และถ้าผมได้ไปเร็วเกินไป เพียงแค่โทรหาฉันมากกว่าในช่วงเวลาที่
ความสุขที่จะสรุปบางสิ่งภาพ
คุณควรจะเห็นตัวเอง ที่หน้าเช่นนี้
ดังนั้นที่ดีของ Google และ พวกเขากำลังหมู่ที่ดีที่สุด
ของการให้บริการ API ที่ไม่เพียง แต่ APIs ฟรีที่คุณ
สามารถเล่นกับหรือใช้ในเชิงพาณิชย์
พวกเขาจะเริ่มต้นการเรียกเก็บเงินถ้าใช้งานของคุณ อยู่ในระดับสูง แต่ฉันเดินไปข้างหน้าล่​​วงหน้า
และลงนามเราขึ้นสำหรับบัญชีฟรี ที่หวังว่า 10 คอมพิวเตอร์
จะไม่ตัดสิทธิ์เราสำหรับกึก
ดังนั้นหวังว่านี้ การสาธิตจะทำงาน
>> และแจ้งให้ทราบว่าพวกเขามี APIs สำหรับ Android, iOS, บริการเว็บและเว็บ
สิ่งที่เป็น
ขอเน้นบนเว็บ
ดังนั้นคลิกกล่องชมพู, เว็บและว่า จะนำคุณหวังว่าไปยังหน้า
ที่นี่
และพวกเขาได้มีทั้งกลุ่มของ API
และมันสามารถจะเป็นเพียงเล็กน้อย ครอบงำในตอนแรก
แต่ฉันจะคัดท้ายเราผ่านสิ่งที่เราต้องการ
>> ที่ด้านบนซ้ายเป็น Google Maps JavaScript API ที่ JavaScript API
เพื่อไปข้างหน้าและคลิกที่หนึ่ง
และที่จะนำคุณไปตอนนี้ ต่อไปนี้หน้า, การสาธิตและรหัสตัวอย่าง
ผมขอซูมออกจากที่นี่
และแจ้งให้เราได้รับเรา to-- เลื่อนลง เพื่อที่จะบอกว่าขั้นตอนการเริ่มต้นอย่างรวดเร็ว
หน้าจอของคุณควรมีลักษณะเช่นเหมือง
>> และมีขั้นตอนที่สองได้รับ คีย์และการพัฒนาเริ่มต้น
ฉันแล้วทำขั้นตอนที่หนึ่งสำหรับ เราได้รับการเรียกว่าสำคัญ
และนี่คือความคิดร่วมกัน
คีย์ API โดยทั่วไปเพียง จำนวนสุ่มขนาดใหญ่หรือสตริง
ที่คุณควร ไปวางลงในรหัสของคุณ
เพื่อให้ Google รู้ว่าคุณเป็นใครเมื่อ คุณกำลังใช้บริการของพวกเขา API ของพวกเขา
ไม่ได้หมายความว่าเรา ถูกเรียกเก็บอะไร
และตอนนี้คลิกแทน หนึ่งคลิกเริ่มต้นการพัฒนา
หากคุณเพิ่งจะโบกมือฉัน ถ้าหากไม่แน่ใจว่าเราอยู่ที่ไหน
>> ดังนั้นเราก็จะเกา พื้นผิวที่นี่ แต่สิ่งที่
ผมคิดว่าจะเป็นที่น่าสนใจ เป็นจริงได้ทั้งหมดของเรา
ใช้ Cloud9 ในหน้าต่างเดียวและ การกวดวิชานี้ในหน้าต่างอื่น
ช่วยให้ได้รับจริงของเราเอง แอพลิเคชันและทำงาน
ที่ฝังกำหนดเองของ Google แผนที่ในหน้าเว็บของเราเอง
แล้วเพิ่มหนึ่งหรือสองคุณสมบัติ
แต่เราก็จะเกา พื้นผิวของสิ่งที่เราสามารถทำได้
>> ดังนั้นเพียงแค่การตรวจสอบสติได้อย่างรวดเร็ว
คือทุกคนในหน้านี้ ของ Google Maps API Javascript?
ควรจะพูดว่าการเริ่มต้น
เราจะไม่ไปผ่าน สิ่งที่ทั้งโดยวิธีใด ๆ
ตกลงในแท็บอื่นถ้าคุณทำไม่ได้ มีมันเปิดไม่ไปลง Cloud9
และได้รับตัวไปเพียง แท็บใหม่ในที่สุด
ดังนั้นอีกครั้ง c9.io จากเมื่อวานนี้ c9.io และเพียงแค่สร้างไฟล์ใหม่
และไปข้างหน้าและการโทร มันสิ่งที่คุณต้องการ
ผมเรียกว่าเหมือง map.html
เรียกว่าอะไรที่ลงท้ายด้วย .html
และคุณควรจะประมาณ ที่ผมอยู่ในขั้นตอนนี้
มีเพียงพรอมต์กะพริบในที่ว่างเปล่า แท็บที่เรียกว่าสิ่งที่ต้องการ map.html
หรือแฟ้มแฟ้มใหม่ในครั้งนี้
>> และตอนนี้มากกว่าบน ของ Google Maps API JavaScript,
เราจะข้ามไปอ่าน ผ่านทุกข้อความนี้
แต่แจ้งให้ทราบสวัสดีโลกที่เป็น แน่นอนทุกที่ที่คุณเห็นได้ในขณะนี้
สวัสดีชาวโลกมีขนาดใหญ่นี้มีสีสัน ตัวอย่างของทั้งกลุ่มของ HTM​​L
ไปข้างหน้าและคัดลอกและวางเพียงแค่นั้น HTML ดังนั้นจากประเภทเอกสารที่อยู่ด้านบน
ไปทางแท็กปิดไป ข้างหน้าและคัดลอกในปัจจุบันผู้อีกครั้ง
ที่อยู่ภายใต้โลกเฮ example-- และวางลงในแท็บ Cloud9 ของคุณ
เพื่อที่ว่าตอนนี้หน้าจอของคุณ ควรมีลักษณะเช่นเหมืองประมาณ
>> และคุณสามารถบันทึกมัน แต่ ไม่โหลดมันก็ยัง
ลองดูครั้งแรกที่ รหัสและดูว่าเรา
ไม่สามารถอนุมานหรือเรียนรู้ จากสิ่งที่มันเป็นของ Google
มีเราสุ่มสี่สุ่มห้าคัดลอกและวาง
พวกเขาเพียงแค่ต้องการที่จะช่วย แท้จริงเราได้รับการเริ่มต้น
แต่มีไม่มาก จริงมีความซับซ้อน
คำถามใด ๆ เพียงแค่ยัง?
เราปลอดภัยในการเคลื่อนไปข้างหน้า?
ตกลง.
>> อย่างรวดเร็วเราแค่ทำ ตรวจสอบสติบางอย่างรวดเร็ว
สายหนึ่งในสิ่งที่ฉัน ดูและหวังว่าคุณ
เห็นสิ่งที่หมายความว่า, DOCTYPE HTML ได้ไหม?
คารีมจำ?
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: ใช่
ที่นี่มา HTML 5
ในขณะเดียวกันสายที่สองบน หน้าจอนี่หมายความว่าเบราว์เซอร์เดี๋ยวก่อน
นี่มาจริง HTM​​L
สายสามเฮ้เบราว์เซอร์ นี่มาหัว
สายสี่เป็นของหลักสูตรเดี๋ยวก่อน เบราว์เซอร์ที่นี่มาชื่อ
บรรทัดห้าทำอะไร?
ที่จริงนี้ไม่ได้ จริงๆทำอะไรสำหรับเรา
ในกรณีนี้มันเป็นเพียงแค่ปรับขนาด หน้าไปเริ่มต้น สายหก
เรายังไม่ได้พูดคุยเกี่ยวกับ แต่มัน ระบุการเข้ารหัสอักขระ
มีวิธีการที่แตกต่างกันในการเข้ารหัสไฟล์ของ โดยเฉพาะอย่างยิ่งสำหรับภาษาต่างประเทศ
UTF-8 เพียงมีแนวโน้มที่จะเริ่มต้น
>> ดังนั้นตอนนี้เราจะเห็นในสาย เจ็ดผ่าน 16, CSS บาง
และแม้ว่าเราจะไม่ได้เห็น ทุกสิ่งเหล่านี้มาก่อน
เราสามารถอนุมานชนิดของ
ดังนั้นสายแปดหมายถึงเฮ้เบราว์เซอร์ที่ใช้ ทั้งหมดต่อไปนี้ที่สองแท็ก
เห็นได้ชัด?
ข้อความ HTML และร่างกาย
ดังนั้นจุลภาคเป็นสิ่งใหม่ที่มี
และนี่เป็นเพียงวิธีการ ระบุหลายแท็กในครั้งเดียว
>> จากนั้นเราได้มีวงเล็บปีกกา
ดังนั้นเห็นได้ชัดว่านี้จะบอกเบราว์เซอร์ ทำให้ความสูงของหน้า 100%
ดังนั้นแม้ว่าจะมีน้อยมาก เนื้อหาที่ให้ทั้งหน้า,
ทำให้สิ่งที่เติมหน้า
ทำให้แผนที่ท้ายที่สุดเติมหน้า
อัตรากำไรขั้นต้นสิ่งที่หมายความว่า?
ที่มักจะชอบโดยพลการ พื้นที่สีขาวรอบขอบ
ว่าบางออกแบบเพียงเบราว์เซอร์ ตัดสินใจที่ควรจะมีเพราะมัน
ชนิดของการทำให้สิ่งที่ดูสะอาด
แต่เราไม่ต้องการที่
เราต้องการแผนที่จะ ไปตลอดทางจนถึงขอบ
padding, ในทำนองเดียวกันกับอัตรากำไรขั้นต้น
อัตรากำไรขั้นต้นหมายถึงนอกหมายถึงช่องว่างภายใน ภายใน แต่มันเป็นชนิดเดียวกันของการจัดการ
มันเป็นเรื่องเล็กน้อยของกันชน ระหว่างคุณและขอบ
>> แล้วสาย 13 เป็นดี โอกาสในการตรวจสอบอย่างรวดเร็ว
อะไรแผนที่สัญญาณที่คมชัด หมายถึงแผนที่หรือ hashtag หมายความว่าอย่างไร
อะไรที่อ้างถึงในหลักการ?
>> ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: แน่นอน
คุณสมบัตินี้คุณสมบัตินี้ CSS นำไปใช้เพียงสิ่งหนึ่งแท็ก
ที่มีรหัสของคำพูดที่นำมาอ้าง "แผนที่"
และตอนนี้ขอไปข้างหน้าอย่างรวดเร็วเลื่อน ลงไปด้านล่างของไฟล์ซึ่ง
ไม่ไกลเกินไปและแจ้งให้ทราบล่วงหน้าในบรรทัด 19 ถ้าคุณวางมันเหมือนกับผม
line 19 มีเพียง div ซึ่งเป็น ส่วนของหน้าซึ่งเมื่อวานนี้ผม
เรียกว่าเป็นพื้นที่สี่เหลี่ยม
มันมีอะไรอยู่ในนั้น
มันเป็นแท็กเปิดปิดแท็ก
แต่มันจะมีรหัสเฉพาะ
>> ดังนั้นสิ่งที่น่าจะเป็น เกิดขึ้นที่นี่เป็นของ Google
กำลังพร้อมหน้าเว็บของเราไป มีความสูง 100% ที่สมบูรณ์
และไม่มีขอบไม่มีขอบเพราะ สิ่งที่เรากำลังจะไปใส่ใน
ของ div นี้มี ID ที่ไม่ซ้ำกัน แผนที่เป็นแผนที่ฝังตัวที่เกิดขึ้นจริง
และเราต้องการที่จะเติม หน้าและไม่ได้เป็นเพียง
มีบางรูปสี่เหลี่ยมผืนผ้าขนาดเล็กที่อยู่ตรงกลาง
ดังนั้นสาย 14 ในทำนองเดียวกันเน้นที่ แผนที่ตัวเองควรจะมีความสูง 100%
>> ดังนั้นตอนนี้สังเกตเห็นระหว่างบรรทัด 20 และ 28 นี้เป็นโค้ด JavaScript
และนี่คือแม้ว่ามันจะเป็น syntactically แปลกเล็กน้อย
มีไม่ทั้งหมดที่มากเกิดขึ้นที่นี่
ในบรรทัดที่ 21 นี้จะมีการประกาศ สิ่งที่เรียกว่าตัวแปร
แทนที่จะเรียกมันว่า จำนวนเงินเหมือนอย่างที่เราทำมาก่อน
เรากำลังจะบอกว่าอย่างแม่นยำมากขึ้น var ซึ่งก็หมายความว่าตัวแปร
เราจะได้ใช้ใน รหัสของนิค แต่เขาไม่ได้ดังนั้นฉัน
ไม่รบกวนการทำอย่างใดอย่างหนึ่ง
มันเป็นตัวแปรที่เรียกว่า แผนที่และจากนั้นยังมี
ฟังก์ชั่นที่เป็น เห็นได้ชัดว่าเรียกว่า initMap
>> ดังนั้นนี้เป็นเหมือนที่กำหนดเองของเราเอง ชิ้นส่วนปริศนาในรอยขีดข่วน
เราได้สร้างชิ้นส่วนของ ฟังก์ชันการทำงานที่เรียกว่า initMap,
และชนิดที่คุณสามารถอนุมาน เกิดอะไรขึ้นที่นี่.
ที่อยู่ด้านซ้ายมือ เราได้มีตัวแปร
ดังนั้นเราจะใส่ต่อไปนี้ สิ่งที่อยู่ภายในตัวแปรที่
จากขวาไปซ้าย
ด้านขวาบอกว่าเดี๋ยวก่อน เบราว์เซอร์ให้ฉันแผนที่ใหม่ของ Google
และ google.maps.map เป็นเพียงวิธีที่ขี้ขลาด การระบุว่าการทำงานนี้
เป็นของ Google Maps
>> หลังจากวงเล็บที่เราเคยเห็น นี้มาก่อนเฮ้เบราว์เซอร์ได้รับ
ฉันองค์ประกอบในหน้านี้ แท็กในหน้าเว็บที่มีรหัสเฉพาะ is--
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: --map
และสิ่งที่เกิดขึ้นดี สายนี้ด้วยกันสาย 23
เป็นหลักว่า เฮ้เบราว์เซอร์ให้ไปรับฉัน
ที่ div ที่ว่างเปล่าบนหน้าเว็บ ที่มีรหัสเฉพาะคือแผนที่,
เพราะผมต้องการแทรก เข้า it-- ฉีดเข้าไปในนั้น
ถ้าคุณ will-- ทั้งกลุ่มของเนื้อหา ที่เกิดขึ้นจะมาจากเว็บ
ต่อมา
และของ Google ทำทุกที่สำหรับเรา
>> ดังนั้นอีกครั้งที่ปลายสุดของวัน เรามีตัวอย่างของสิ่งที่เป็นนามธรรมนี้
ผมมีความคิดว่าเป็นแผนที่ หรือวิธีการที่จะใช้แผนที่ API
เราไม่จำเป็นต้อง
เราก็ต้องบอกแผนที่ ที่จะนำตัวเองและปล่อยให้
ผู้ใช้งานพื้นฐาน รายละเอียดไปยัง Google
ขณะนี้มีความเห็นได้ชัด สองชิ้นของข้อมูล
ว่าตัวอย่างนี้คือ เพื่อให้ API ของ Google
เห็นได้ชัดว่าศูนย์ของแผนที่, และระดับการซูมเพื่อที่จะพูด
>> และไม่มีใครรับรู้เหล่านี้ พิกัดละติจูดและลองจิจูด?
อาจจะไม่ได้ แต่เราสามารถกลับไป การกวดวิชาที่แท้จริงเห็น
แต่เราจะเห็นมันในรอสักครู่
ระดับการซูมเป็นค่าระหว่างฉันทำไม่ได้ รู้หนึ่งใน 13 หรือสิ่งที่ต้องการ
มันก็จะทำอย่างไรกับวิธีไกลคุณ ซูมเข้าหรือออกและที่มัน
และตอนนี้ที่ส่วนท้ายสุดของ หน้าสายแจ้งให้ทราบล่วงหน้า 29--
มันเป็นเรื่องเล็ก ๆ น้อย ๆ ที่น่าเกลียดเพราะ มัน wraps-- บรรทัดของรหัสนี้
คือสิ่งที่ดาวน์โหลดไป เบราว์เซอร์ของ API ที่เกิดขึ้นจริงของ Google
ทั้งหมดของรหัสที่ของ Google วิศวกรได้เขียนไว้ว่าการดำเนินการ
คุณลักษณะนี้ทั้งแผนที่ฝัง
>> ตอนนี้ขอไม่เปลี่ยนแปลงอะไร
หากคุณกำลังไปพร้อมไปข้างหน้าและ เพียงแค่บันทึกไฟล์ว่าถ้าคุณมีแน่นอน
สิ่งที่ฉันมี
ไปที่ URL ของมัน
คุณสามารถคลิกที่ปุ่ม Run ขึ้นด้านบนและที่จะบอก
คุณ URL ของเว็บเซิร์ฟเวอร์ของคุณอีกครั้ง
และมันจะนำคุณไปสู่​​แท็บใหม่
หากคุณคลิกเปิด map.html และราคาที่คุณ
จะได้รับการแจ้งเตือน ข้อผิดพลาดใช่?
เกิดข้อผิดพลาดเกิดข้อผิดพลาด?
>> จึงขออภัยข้อผิดพลาด ข้อความที่ไม่ enlightening
จนกว่าคุณจะเปิดจริง คอนโซลที่แท็บพิเศษที่เรา
เก็บไว้เปิดเมื่อวานนี้และ นิด ๆ หน่อย ๆ ก่อนหน้านี้ในวันนี้
แต่ผมเจอ ก่อนหน้านี้ดังนั้นฉันแล้ว
คิดออกว่าการแก้ปัญหาคือ
ในสไลด์ของว​​ันนี้หรือ แต่ใน Cloud9, แจ้งให้ทราบล่วงหน้า
ว่าเราไม่ได้ทำ บางสิ่งบางอย่างจงใจ
ขอให้สังเกตว่าสคริปต์นี้แท็กใน บรรทัดที่ 29 ถ้าคุณอ่านผ่านมัน
มันก็เหมือน maps.googleapis.com/ บางสิ่งบางอย่างบางสิ่งบางอย่างบางสิ่งบางอย่าง
แจ้งให้ทราบแล้วใครสักคน อย่างใดอย่างหนึ่งของนักพัฒนา
เขียนในเมืองหลวงทั้งหมด ตัวอักษรคีย์ API ของคุณ
>> เราจำเป็นต้องวางบางสิ่งบางอย่างในการมี
และนี่คือขั้นตอน ฉันทำเพื่อเรามาก่อน
และอีกครั้งที่พวกเขาอาจบัญชีดำ เราถ้าจู่ ๆ 12 หรือมากกว่าของเรา
เริ่มต้นใช้คีย์เดียวกัน แต่เรามาดูสิ่งที่เกิดขึ้น
ดังนั้นถ้าคุณไปลงในวันนี้ สไลด์ภาพนิ่งหนึ่งต่อมามี
นี้สตริงที่ดูขี้ขลาดมากของข้อความ
ไปข้างหน้าและเพียงคัดลอกที่และ วางไว้ในที่ที่มันบอกว่าคีย์ API ของคุณ
นั่นคือคนที่ฉันลงทะเบียนสำหรับ
>> และแน่นอนไม่พยายาม พิมพ์มันออกมาด้วยตนเอง
เพราะมันให้ความรู้สึกที่เต็มไป กับความผิดพลาดที่อาจเกิดขึ้น
ดังนั้นเพียงแค่คัดลอกและวางที่
และมันจะทำให้เส้น อีกต่อไป แต่ตอนนี้เพียงเพื่อให้มีความชัดเจน
ควรมีลักษณะเล็ก ๆ น้อย ๆ เช่นนี้ที่สำคัญไม่เท่ากับ
ทุนตะโกนที่คุณ
บันทึกหน้าเว็บของคุณกลับไป ไปที่อื่น ๆ แท็บโหลด
และหวังที่จะเห็นแผนที่ที่?
>> ผู้ชม: ออสเตรเลีย
>> DAVID ลัน: ออสเตรเลีย
ดังนั้นเห็นได้ชัดว่าผู้ที่มี พิกัดจีพีเอสของออสเตรเลีย
และแจ้งให้เราเดินไปรอบ ๆ เพื่อรอสักครู่ และช่วยให้ทุกคนที่ไม่ได้ค่อนข้างมี
แต่ให้ฉันเสนอผ่านทาง Google ค้นหา พิกัด GPS ของบ้านเกิดของตัวเอง
หรือประเทศบ้านของคุณเอง
และอาจจะสามารถเปิด Google นี้ ขึ้นหรือวิกิพีเดียสามารถบอกคุณได้
แต่เลือกที่แตกต่างกันสองค่า สำหรับละติจูดและลองจิจูด
กลับไปในและวางพวกเขาและ แล้วโหลดหน้าหลังจากที่ประหยัด
และดูว่าคุณสามารถมี แผนที่บ้านเกิดของตัวเอง
>> และเมื่อคุณทำกับ ที่ติดตาม challenge--
และฉันจะให้ทิศทางน้อยเพียงเล็กน้อย จงใจเพื่อให้คุณจงใจ
ต้องต่อสู้สำหรับคู่ นาทีกับเอกสาร
เปลี่ยนแผนที่เพื่อจะไม่ได้นี้ เริ่มต้นการ์ตูน แต่แผนที่ดาวเทียม
เพื่อให้คุณเห็นจริงดาวเทียม ภาพแทนสีสวย
>> และคำแนะนำที่ผมจะให้คุณ คือการเปลี่ยนชนิดของแผนที่
กลับไปว่าได้รับ หน้าเริ่มต้นสำหรับแรงบันดาลใจ
ในขณะที่คุณอาจจะมีการรวบรวม, ถ้าคุณกำลังมองหา
มีจำนวนมากขึ้น สิ่งที่คุณสามารถทำได้
บางส่วนของคุณมีอยู่แล้ว เปลี่ยนประเภทแผนที่
แต่คุณสามารถ do-- เช่นให้ฉัน ไปที่สิ่งที่เราทำเพื่อการเรียนการสอน
ฉัน teach-- maps.cs50.net
หนึ่งในนักศึกษาระดับปริญญาตรีของเราทำอย่างนี้
เราอยู่ตรงกลางแผนที่ของเรามากกว่าฮาร์วาร์ลานและ ซ้อนทับทั้งหมดของชื่ออาคารเหล่านี้
และเราได้ให้เขาเพิ่มนี้
ดังนั้นถ้าฉันต้องการค้นหา, เช่นแมตทิวส์ฮอลล์
เรามีเมนูแบบเลื่อนลงเล็กน้อย
และผมคิดว่าเขาใช้เงินทุนที่ ห้องสมุดที่เราพูดถึงก่อนหน้านี้สำหรับการนี​​้
และถ้าคุณคลิกที่แมตทิวส์ ฮอลล์ได้ทันที
กระโดดแผนที่เพื่อบางอย่าง สถานที่ตั้งและมันแสดงให้เห็น
คุณเห็นภาพนี้เล็ก ๆ น้อย ๆ แบบ pop-up
>> แต่ถึงแม้จะเล็ก ๆ น้อย ๆ นี้ ป๊อปอัพที่เราไม่ได้ใช้
ถ้าผมเลื่อนลงมาที่ได้รับของเรา เริ่มต้นหน้าและมองหาข้อมูลหน้าต่าง
คุณจะเห็นบางส่วนของที่ การทำงานของคุณเอง
สามารถเพิ่มแม้จะมี ซับซ้อนมากขึ้นอีกนิด
สิ่งที่เรียกว่าหน้าต่างข้อมูล
และถ้าฉันคลิกตัวอย่าง ที่นี่และนี่คือสิ่งที่สนุก
คุณสามารถทำสิ่งเช่นนี้ คลิกที่เครื่องหมายและจากนั้น voila,
ข้อมูลจะปรากฏขึ้น
>> ดังนั้นเราจึงยังไม่ได้นำมาใช้ค่อนข้าง คุณสมบัติเพียงพอของ JavaScript
การวาดภาพของว่าวิธีที่คุณ อาจสายทั้งหมดของสิ่งนี้เข้าด้วยกัน
แต่เราได้มีรอยขีดข่วนชนิดของพื้นผิว
ในความเป็นจริงสิ่งที่ฉันเพิ่งได้เมื่อ ผมคลิกที่เครื่องหมายว่า
ถูกเรียกเหตุการณ์ที่ เรียกว่าเมื่อมีการคลิกเหตุการณ์
และเราเห็นจริง เหตุการณ์ก่อนหน้านี้ในวันนี้
ที่เรียกว่าส่งเหตุการณ์ เมื่อเราได้รับการป้องกัน
ผู้ใช้จากการค้นหาสำหรับแมว
ดังนั้นเราจึงได้เลือกชนิดของและการเลือกสรร จากบรรดาทั้งหมดคุณสมบัติต่างๆเหล่านี้
เพื่อให้คุณมีความรู้สึกหวังว่า ของสิ่งที่คุณสามารถทำได้จริง
ทำอย่างไรกับอีกเล็กน้อย สะดวกสบายในการเขียนโปรแกรม
และทรัพยากรที่สมบูรณ์ฟรี
>> มีคำถามอะไรไหม?
ไม่ได้หรือไม่
นี่เป็นโอกาสสุดท้ายของคุณ อย่างน้อยวันนี้ในวันศุกร์
ที่จะได้รับสิ่งที่ออกจากหน้าอกของคุณ เพื่อที่คุณจะเดินออกไปจากที่นี่
ความรู้สึกมั่นใจและสะดวกสบาย
ใช่.
>> ผู้ชม: ทำไมทำไม่ได้ คุณเพิ่มอีกหนึ่งสิ่ง?
>> DAVID ลัน: โอ้ความดีของเรา
ฉันต้องการที่จะพักผ่อนวันหยุดสุดสัปดาห์นี้ผมคิดว่า
คำถามอื่น ๆ ?
>> ผู้ชม: [ไม่ได้ยิน]
>> DAVID ลัน: คุณ can-- ใน Internet Explorer, ส่วนที่เหลืออยู่ในความสงบ
คุณใช้เพื่อให้สามารถที่จะนำ VB สคริปต์สคริปต์พื้นฐานเสมือน
แต่ที่จริงไม่เคยติดอยู่บน
ดังนั้นคำตอบสั้น ๆ เพียงแค่ JavaScript
คำถามอื่น ๆ ?
สิทธิทั้งหมดดีให้ฉันทำเช่นนี้
ให้ฉันคว้าเพื่อนร่วมงานของเราออกไปข้างนอก
พวกเขามีการประเมินผลบางอย่าง รูปแบบที่พวกเขาต้องการให้ทุกคน
ที่จะใช้จ่ายไม่กี่นาทีในการกรอก
พวกเขาต้องการที่จะเก็บรูปแบบใด ๆ ที่และ สละที่คุณอาจมีนอก
พวกเขายังจะมีใบรับรอง
ฉันคาดเดามี ยังคงขนมบางอย่างออกไปข้างนอก
ผมขอผ่านออกเหล่านี้และถ้าคุณ มีข้อสงสัยใด ๆ ในขณะเดียวกัน
ผมจะเดินไปรอบ ๆ มากขึ้นเป็นรายบุคคล และเราสามารถให้คุณเริ่มต้น
ใช่แน่นอน
ผู้ชม: [ไม่ได้ยิน]
DAVID ลัน: นั่น มักจะเป็นความจริงวันนี้
แน่นอนกับเว็บ ซอฟต์แวร์ที่คุณมีความเอนเอียง
กับคนอื่น ๆ คุณอย่างใดอย่างหนึ่ง ความสุนทรีย์โดยใช้สิ่งที่
เช่นเงินทุนเพื่อให้คุณทำไม่ได้ มีการดำเนินการในระดับต่ำ
รายละเอียดของเมนูและ ปุ่มและทุกสิ่งที่
คุณกำลังยืนพิงคน เช่น Google เพื่อให้คุณ
ไม่ได้มีการสร้าง Uber ธุรกิจและธุรกิจการทำแผนที่,
และจำนวนของที่คล้ายกัน การใช้งานได้เป็นอย่างดี
>> ในความเป็นจริงการเข้าสู่ระบบที่เป็นที่นิยมมากเกินไป
หากคุณเคยใช้ Spotify หรือ หมายเลขใด ๆ ของเว็บไซต์
คุณจะเข้าสู่ระบบในบางส่วน เว็บไซต์โดยใช้ Facebook
ดังนั้นสิ่งที่เป็นเรื่องดีที่มี มี APIs สำหรับการเข้าสู่ระบบ
ในปัจจุบันเพื่อให้คุณไม่ได้ จะมีตารางผู้ใช้ของคุณเอง
และทั้งหมดของฐานข้อมูลของคุณเอง จำเป็นต้องมีขอบเขตเดียวกัน
คุณสามารถให้ Facebook ทำทั้งหมด ของความซับซ้อนที่สำหรับคุณ
ดังนั้นจึงเป็นช่วงเวลาที่น่าตื่นเต้น ตรงไปตรงมาในการเขียนโปรแกรม
เพราะมีบุคคลที่สามจำนวนมากดังนั้น บริการที่คุณสามารถสร้างด้านบนของ
>> และอีกครั้งที่ราคาที่คุณจ่ายเป็น ทั้งทางการเงินหรือการหยุดทำงาน
หาก Google ลงไป เพื่อไม่ Uber เนื้อหา
แต่บางทีนั่นอาจจะเป็น ที่เหมาะสมค้าปิด
และอีกครั้งที่เป็นหนึ่งในรูปแบบที่ หวังว่าสำหรับคู่ที่ผ่านมาของวัน
เหล่านี้คือไม่ชอบการค้า
และไม่ค่อยจะมี จะเป็นคำตอบที่เหมาะสม
จริงๆมันเป็นทางที่ดีขึ้น สองคนหรือมากกว่าคำตอบ
>> ผ่านเหล่านี้รอบ
>> และสิ่งเหล่านี้บัญชี Cloud9 จะยังคง ในการทำงานในทางทฤษฎีในความเป็นอมตะ
คุณอาจพบว่าถ้าคุณรอไม่กี่วัน หรือสัปดาห์หรือมากกว่าที่จะกลับเข้าสู่พวกเขา
มันอาจจะใช้เวลาอย่างหนึ่งหรือ ห้านาทีจะเปิดกลับขึ้น
แต่นั่นเป็นเพียงเพราะพวกเขาใส่ มันจะนอนหลับเพื่อประหยัดทรัพยากร