>> เจสัน Hirschhorn: ยินดีต้อนรับคุณ, ทุกคนสัปดาห์ 10
นี้เป็นสัปดาห์ที่น่าตื่นเต้นเพราะ วันพรุ่งนี้เป็นแบบทดสอบ 1 ซึ่งเราจะได้รับ
ในครั้งที่สอง
วันนี้ในส่วนที่เราจะไป ทรัพยากรบางอย่างสำหรับการทดสอบและ
แล้วผมจะตอบใด ๆ และทั้งหมด คำถามที่พวกคุณมี
และในที่สุดเราก็จะจบลงด้วย ปัญหาการปฏิบัติบาง
>> เราสามารถใช้จ่ายส่วนทั้งหมด การตอบคำถาม
เราสามารถใช้จ่ายส่วนทั้งหมด ไปกว่าปัญหาการปฏิบัติ
เราก็จะขยายไปยังกรอก พื้นที่และเวลาที่เรามี
>> ดังนั้นผมใส่รายชื่อนี้ขึ้นทุกสัปดาห์ แต่ มันเป็นสิ่งสำคัญโดยเฉพาะอย่างยิ่งในสัปดาห์นี้
สำหรับการศึกษาถ้าคุณมีไม่ได้ เริ่มต้นแล้วโอ้เด็ก
แต่หวังว่าคุณได้เริ่มต้นแล้ว
และคุณกำลังจะผ่านวัสดุ และทรัพยากรที่อยู่ที่นี่
ฉันอยากจะแนะนำสูง จำนวนเหล่านี้
>> โดยเฉพาะอย่างยิ่งการบรรยายเป็น อย่างไม่น่าเชื่อที่สำคัญและเป็นประโยชน์
study.cs50.net ให้ ไพรเมอร์ที่ดีในหลาย
หัวข้อที่เราครอบคลุม
นอกจากนี้ยังมีบางส่วนที่ดี ปัญหาการปฏิบัติ
แล้ว Google เป็นที่ดีเกินไป
ผมไม่ทราบว่าสิ่งที่คุณต้องการใช้งานได้
แต่ใช้ Google เป็นอย่างดี
>> ถึงออกมาให้ฉันถ้าคุณมีใด ๆ คำถามความคิดเห็นหรือข้อสงสัย
มองผ่านเซสชั่นการตรวจสอบ ภาพนิ่งจากเมื่อคืนที่ผ่าน
หรือถ้าคุณมีบางเวลา ดูวิดีโอ
พวกเขาให้มากประโยชน์ วัสดุและข้อมูล
และพยายามและครอบคลุมหากไม่ได้ทั้งหมดหลาย หัวข้อที่เราได้ครอบคลุมและที่คุณ
อาจจะเห็นในการตอบคำถาม
>> การพูดของการตอบคำถามที่ว่า จะเป็นวันพรุ่งนี้
มันเป็น 75 นาทีที่ยาวนาน
ๆ ของคุณจะพามันที่ 1 โมงและบางส่วนของคุณ
ใช้มัน 5:30
ในขณะที่คุณกำลังใช้มันและ สถานที่ที่คุณกำลังใช้มันให้แน่ใจว่า
คุณตรวจสอบเอกสาร บนหน้าแรกของ CS50.net
>> โปรดจำไว้ว่าคุณจะได้รับอย่างใดอย่างหนึ่ง 8 1/2 11 แผ่นใช้เวลากับคุณ
บ่อยครั้งที่คนไม่ได้ใช้นี้ แผ่นที่ทั้งหมดในระหว่างการทดสอบ
แต่จริงๆมันเป็นอย่างไม่น่าเชื่อ เครื่องมือในการศึกษาที่เป็นประโยชน์
เพื่อร่วมกันวางแผ่นที่มีสิ่งที่ ผมใช้เวลาอาจจะสามหรือสี่ชั่วโมง
ทำเมื่อผมเรียน CS50 และ ที่ได้ประโยชน์มากที่สุด
วิธีที่ฉันสามารถศึกษาสำหรับการทดสอบ
ดังนั้นแม้ว่าคุณจะมีบางคนอื่น คู่มือการศึกษาที่จะมองและ
ใช้เป็นข้อมูลอ้างอิงผมขอแนะนำให้ การทำคู่มือการศึกษาของคุณเองใส่
สิ่งที่ร่วมกันว่า
ที่จริงจะช่วยให้คุณเรียนรู้ ทั้งหมดของวัสดุ
>> แต่ต้องไม่น้อยในส่วนนี้ หลังจากวันพรุ่งนี้ทดสอบมีหนึ่ง
การบรรยายมากขึ้น -
วันจันทร์ถัดไป
มีส่วนหนึ่งมากขึ้นไม่เป็นต่อไป อังคารก่อนวันขอบคุณพระเจ้า แต่
วันอังคารหลังจากที่
เราจะมีการประชุมร่วมกันเพื่อให้เป็นครั้งสุดท้าย ลาพรรคและยังทำบางเย็น
สิ่งที่จะได้รับพวกคุณตื่นเต้นเกี่ยวกับ ศึกษาต่อในสาขาวิชาวิทยาการคอมพิวเตอร์
>> มีหนึ่งโครงการมากขึ้นอย่างใดอย่างหนึ่ง ยุติธรรม Hackathon อีกหนึ่ง
เรากำลังใกล้สิ้น CS50, ซึ่งเป็นที่น่าตื่นเต้น -
แต่ยังถ้าคุณต้องการ ฉันเศร้าเล็กน้อย
ก่อนที่ผมจะย้ายไปไม่มีใครมี คำถามใด ๆ เกี่ยวกับสิ่งที่
เราได้ครอบคลุมเพื่อให้ห่างไกล
>> ตกลงกันขอไปกว่าคำถามบางอย่าง ว่าคุณมีการตอบคำถามและหัวข้อที่
เราอาจจะครอบคลุม
ดังนั้นนี่คือรายการที่ผมใส่กัน
มันเป็นโดยไม่มีหมายถึงหมดจด แต่ หวังว่าจะเตือนความจำของคุณหากคุณ
มีคำถามบางอย่างเกี่ยวกับใด ๆ เหล่านี้ หัวข้อหรือหากคุณมีคำถามเกี่ยวกับ
ปัญหาการปฏิบัติจากแบบทดสอบ ในปีที่ผ่านมา
>> ผมมีคำถามสองสามที่ ส่งไปฉัน แต่ฉันต้องการที่จะถือปิด
ในบรรดาการที่สอง
ไม่มีใครมีข้อสงสัยใด ๆ ปัญหาที่พวกเขาไม่เข้าใจ
คำตอบที่พวกเขาไม่เข้าใจ ที่จะได้รับเราเริ่มต้นได้อย่างไร
avi
>> ผู้ชม: คุณสามารถเพียงแค่ไปกว่า DOM และอาแจ็กซ์จริงๆอย่างรวดเร็ว
เช่นเดียวกับสิ่งที่เราจำเป็นต้องรู้หรือควร เข้าใจเกี่ยวกับพวกเขา
>> เจสัน Hirschhorn: ฉันจะตอบ โดยทั่วไปคำถามนี้ของสิ่งที่ฉันทำ
จำเป็นต้องรู้เกี่ยวกับหัวข้อที่กำหนด x?
เพราะผมมีความรู้สึกหลายท่าน จะถามผมว่าหรือ
อยากรู้อยากเห็นเกี่ยวกับที่
ดังนั้นเท่าที่เป็นหัวข้อ ครอบคลุมในการบรรยายหรือส่วนหรือบน
study.cs50.net ปัญหาการตั้งค่าที่คุณ ควรจะคุ้นเคยกับมัน
>> ดังนั้นคุณจึงไม่จำเป็นต้องรู้ทุกประเภท ของแท็กที่มีอยู่ใน HTML หรือ
ชนิดของคุณลักษณะหรือสถานที่ให้บริการทุก คุณสามารถให้อะไรบางอย่างใน CSS
แต่ถ้าคุณเห็นมันในตัวอย่างการบรรยาย ถ้าคุณเห็นมันในปัญหา
ชุดคุณอาจจะมีความคุ้นเคย กับมันโดยเฉพาะอย่างยิ่งสิ่งที่คุณเห็น
ในการบรรยาย
ดังนั้นเราได้พูดถึงเอกสาร วัตถุรูปแบบบิตใน
ส่วนมากขึ้นดังนั้นในการบรรยาย
คุณควรจะคุ้นเคย กับที่มากของมัน
>> และคุณควรจะคุ้นเคยกับ อาแจ็กซ์ในระดับเดียวกับ
เราไม่เคยเห็นสูงอย่างไม่น่าเชื่อหรือ ตัวอย่างที่ซับซ้อนของอาแจ็กซ์เพื่อ
คุณจะไม่ได้ที่จะถามทำ สิ่งที่ซับซ้อนอย่างไม่น่าเชื่อ
แต่คุณอาจจะถามว่าฉันจะ โทรอาแจ็กซ์ใช้ jQuery?
ซึ่งเป็นสิ่งที่คุณได้เห็นจำนวน ครั้งก่อนที่ทั้งใน
เซสชั่นและทบทวนในการบรรยายและ เป็นเพียงสายสอง ish ของรหัส
>> เพื่อให้เป็นสิ่งที่คุณควร จะคุ้นเคยกับ
แต่อีกครั้งสำหรับหัวข้อเหล่านี้ ถ้าคุณได้เห็นมัน
ก่อนที่มันจะเป็นเกมที่ยุติธรรม
และเราอาจขอให้คุณ - เห็นได้ชัดว่าเรากำลัง จะขอให้คุณสิ่งที่คุณ
ยังไม่ได้เห็นมาก่อน
การเข้ารหัสสิ่งที่คุณยังไม่ได้ เห็นมาก่อน
ซึ่งไม่ได้บอกคุณไม่ได้ เห็นเครื่องมือในการแก้ปัญหา
ปัญหาก่อนหน้านั้น
คุณได้เห็นเครื่องมือเหล่านั้น
>> ตัวอย่างเช่นในการทดสอบที่ 1 ถ้า คุณต้องรหัส strlen
เรายังไม่ได้เขียน strlen ก่อน
แต่คุณรู้ว่าวิธีการใช้การวน คุณรู้วิธีที่จะใช้ถ้าเงื่อนไข
คุณจะรู้ว่าวิธีการเขียนตัวแปรใน C. มันจะเป็นสิ่งเดียวกันที่นี่
คุณจะไม่ได้ขอให้ทำ สิ่งที่คุณยังไม่เคยเห็นมาก่อน แต่
คุณอาจถูกขอให้เหมือนใส่ บางสิ่งบางอย่างร่วมกันในวิธีที่แปลกใหม่หรือ
แก้ประเภทที่แตกต่างกันของปัญหา
>> ขออภัยที่ไม่ได้เฉพาะเจาะจงของคุณ คำถาม แต่ฉันไม่สามารถให้คำตอบเกี่ยวกับ
ทุกหัวข้อเดียวสิ่งที่คุณ ทำหรือไม่จำเป็นต้องรู้
แต่ยังขอโทษสิ่งสุดท้ายในที่
เราได้ใช้เวลาอย่างมีนัยสำคัญมากขึ้น ในรายการการเชื่อมโยงกว่าที่เรามีอยู่กับอาแจ็กซ์
คุณไม่ได้ใช้อาแจ็กซ์ในปัญหาการตั้งค่า
หนึ่งในคุณสมบัติที่สำคัญของที่ ชุดปัญหาที่เป็นรายการการเชื่อมโยง
และเราใช้เวลามากในการบรรยาย และส่วนที่ใช้มัน
>> ดังนั้นราคาที่รายการการเชื่อมโยงจะเกิดขึ้นมากขึ้น มักจะเกี่ยวกับการทดสอบกว่าอาแจ็กซ์จะ
หรือคำถามที่มีจะทำอย่างไรกับการเชื่อมโยง รายการจะคุ้มค่าคะแนนมากขึ้น
เพื่อให้คุณอย่างแน่นอนสามารถมุ่งเน้นและแคบ ในสิ่งที่มีมากขึ้น
แนวโน้มที่จะเกิดขึ้นเพราะเรามี ใช้เวลามากขึ้นกับพวกเขา
>> ตกลงคำถามอื่นใด
ใช่
>> ผู้ชม: เราสามารถไปกว่าการใช้ ฟังก์ชั่นที่ไม่ระบุชื่อใน JavaScript?
ฉันมีความสับสนเล็กน้อยเกี่ยวกับที่
>> เจสัน Hirschhorn: ดังนั้นใน JavaScript -
ฉันพยายามที่จะคิดว่าฉัน สามารถเขียนนี้ -
จึงขอจริงเปิดรหัสนี้
ดังนั้นนี่คือรหัสที่เราได้เมื่อสัปดาห์ที่แล้ว
และคุณได้เห็นนี้มาก่อนถ้าคุณ อยู่ที่นี่ในส่วนเมื่อสัปดาห์ที่แล้ว
หรือคุณเคยเห็นบางสิ่งบางอย่าง คล้ายกับเรื่องนี้มาก่อน
>> แต่คุณสามารถดูที่บรรทัดแรกนี้
นี่คือวิธีที่คุณจะเริ่มต้น -
ทุกคนที่เห็นนี้มาก่อน
หากคุณต้องการที่จะนำบางส่วนรหัสจาวาสคริปต์ คุณใส่ไว้ในนี้สมมติว่า
คุณกำลังใช้ JQuery
นี้ว่าไม่ทำอะไร จนกว่าจะโหลดเอกสาร
>> แล้วห้วนคุณจะเห็นที่นี่ ที่เรากำลังทำบางสิ่งบางอย่างเช่นนี้ -
ฟังก์ชั่น paren เปิดวงเล็บปิด
ดังนั้นเราจะไม่ให้นี้ ทำงานชื่อ
เราจะไม่ได้ไปที่จะกำหนดฟังก์ชั่นนี้ ควรจะทำงานแล้ว
เรียกว่าพวงของครั้ง
เราก็บอกว่าเอกสารนี้ แล้วใช้ฟังก์ชั่น
สองสิ่งที่จะทำ
>> และเราไม่ต้องการที่จะใช้เวลา ให้มันชื่อหรือบันทึกไว้สำหรับ
ความเป็นนิจ
เราเพียงแค่ต้องการที่จะใช้บางสิ่งบางอย่าง
ดังนั้นการจัดเรียงฟังก์ชั่นที่ไม่ระบุชื่อ ของมีจุดมุ่งหมายที่
เมื่อคุณไม่ได้ที่จะใช้สิ่งที่ ซ้ำแล้วซ้ำอีกครั้งเพื่อให้คุณไม่จำเป็นต้อง
ที่จะให้มันชื่อ - คุณเพียงแค่ ต้องการที่จะใช้ครั้งเดียว -
คุณก็จะบอกว่าฟังก์ชั่นสำหรับ ตัวอย่างเช่นในกรณีนี้และคุณเพียงแค่
การกำหนดสิ่งที่ คุณสามารถให้ชื่อ
>> เช่นเราสามารถดึงฟังก์ชันนี้ออก และให้มันชื่อแล้วเรียกว่า
ทำงานที่นี่
แต่เราไม่จำเป็นต้องเพราะเราทำไม่ได้ ต้องการที่จะเสียเวลาให้มันชื่อหรือ
การสูญเสียบางสิ่งบางอย่างในพื้นที่ชื่อของเรา
และคุณจะเห็นว่าเป็นจำนวนมาก
ตัวอย่างเช่นเราจะเห็นว่าจำนวนมากในครั้งนี้ รหัส แต่คุณเคยเห็นมาก่อนหน้านี้เมื่อ
คุณคลิกอะไร -
ใช้ประเภทของรหัสนี้
>> เราสามารถกำหนดรหัสที่เราต้องการ ที่จะทำงานเมื่อเราคลิกในกรณีนี้
ID นี้เป็นฟังก์ชั่นที่แยกต่างหาก และเรียกใช้ฟังก์ชั่นที่
แต่ในกรณีนี้เราก็กระโดดข้าม ขั้นตอนที่และย้ายเข้ามาที่นี่และ
เพียงเพื่อกำหนดทุกอย่าง ว่าเราต้องการที่จะเกิดขึ้นและ
ไม่ให้มันชื่อ
ที่ยังคงไม่อาจมี ตอบคำถามของคุณ
>> ผู้ชม: ไม่มีก็ไม่
ผมหมายถึงผมคิดว่าผมก็ทำไม่ได้จริงๆ ได้รับเหตุผลที่มันจะเป็น
ฟังก์ชั่นที่ทุกคนไม่ว่า
เพราะมันไม่ได้จริงๆถูกเรียกว่า
มันไม่ได้จริงๆมีชื่อ
>> เจสัน Hirschhorn: มันเป็นฟังก์ชั่นใน รู้สึกว่ามันเป็นชุดของขั้นตอนที่
เช่นคุณจะใส่ในการทำงาน
แล้วที่ว่าทำไมเราเรียกว่า มันฟังก์ชั่นที่ไม่ระบุชื่อ
เราจะไม่ให้มันชื่อ
เราจะไม่พยายามที่จะเสีย ที่จะตั้งชื่อมัน แต่เราสามารถทำได้
>> ฟังก์ชั่นที่ไม่ระบุชื่อคุณ สามารถให้ชื่อ
ดังนั้นตัวอย่างเช่นรหัสนี้ที่นี่ เราสามารถใส่รหัสนี้ภายใน
ฟังก์ชั่นแล้วโทร ฟังก์ชั่นนี้ได้ที่นี่
แต่เราบอกว่าเราจะไม่ รำคาญกับที่
เรากำลังจะเขียน มันทั้งหมดที่นี่
>> มันเหมือนกับบางครั้งเมื่อคุณกำลังเขียน วงสี่ใน C - พวกคุณ
ได้เห็นนี้มาก่อน - บางทีคุณ iterating ผ่าน forloop
เป็น i เท่ากับ 0
ฉันมีค่าน้อยกว่า strlen
หรือคุณกำลังจะผ่านบาง อาร์เรย์คุณสามารถบันทึกอาร์เรย์
ดัชนี i ในตัวแปรบาง
และคุณใช้ตัวแปรที่
ดังนั้นคุณจึงไม่จำเป็นต้องเขียนอาร์เรย์ วงเล็บ i กว่าและเหนือและมากกว่า
>> และที่จัดเรียงของชอบ ตัวแปรดัมมี่
มันไม่ได้มีวัตถุประสงค์ที่มาก ๆ กว่า ที่จะทำให้รหัสของคุณทำความสะอาดบิต
และง่ายต่อการอ่าน
ฟังก์ชั่นที่คล้ายกันที่นี่
เพียงแค่ทำให้มันง่ายขึ้นเล็กน้อย แต่ หน้าที่มีไม่แตกต่างกัน
ไม่ว่าจะตอบคำถามของคุณหรือไม่
>> ผู้ชม: ใช่
>> เจสัน Hirschhorn: OK ..
มาริโอ?
>> ผู้ชม: เมื่อวานนี้พวกเขามักจะใส่ ฟังก์ชั่นวงเล็บเหตุการณ์
ไม่ว่าหมายถึงอะไร
หรือมันคือสำหรับสิ่งที่ต้องการ ว่าพวกเขาจะทำ
เหตุการณ์ฟังก์ชัน document.ready
>> เจสัน Hirschhorn: เราได้เห็นนี้และ อีกครั้งเหล่านี้เป็นสิ่งที่มีขนาดเล็ก
ฉันอาจจะไม่ต้องการที่จะ ใช้เวลามากเกินไปใน
เพราะบางครั้งผมไม่ต้องการให้คน ได้รับ freaked ออกว่าพวกเขาไม่ได้
ได้ยินเกี่ยวกับสิ่งเหล่านี้มากว่า
แต่เราได้พูดคุยเกี่ยวกับบิต ตัวจัดการเหตุการณ์
ดังนั้นสิ่งที่เกิดขึ้นแล้ว ฟังก์ชั่นนี้จะถูกดำเนินการ
แล้วเรายังต้องการที่จะรู้ว่า รายละเอียดบางอย่างเกี่ยวกับสิ่งที่
ที่เกิดขึ้นในเหตุการณ์นี้
>> ดังนั้นคิดว่ากลับไปปัญหาชุด 4
นั่นอาจเป็นวิธีที่ง่ายที่สุด เข้าใจว่าในการแบ่งออก
มีรหัสบางอย่าง -
เช่นเหตุการณ์ที่จะเกิดขึ้น แต่ เหตุการณ์อาจหมายถึงหลายสิ่งหลายอย่าง
อาจหมายถึงหากมีการคลิกเมาส์มัน อาจหมายถึงการที่คุณกดปุ่มลูกศร, et
ฯลฯ และอื่น ๆ
>> แต่ที่บันทึกไว้ทั้งหมดในทั่วไปนี้ สิ่งที่เรียกว่าเหตุการณ์ที่เกิดขึ้น
แล้วเราสามารถพูดได้ว่าเป็น เหตุการณ์นี้สิ่งนี้
หรือนี่จะเป็นเหตุการณ์สิ่งนี้
หรือสิ่งที่จัดเรียงของที่เกิดขึ้น ด้วยเหตุการณ์ที่
เพื่อที่ว่าทำไมคุณสร้างตัวแปรที่ มีการบันทึกข้อมูลเพิ่มเติมที่
เกี่ยวกับสิ่งที่เกิดขึ้นตรงที่ คุณจะต้องการที่จะ
ใช้ประโยชน์ในการทำงาน
แต่อีกครั้งที่อาจเป็นหนึ่งใน สิ่งที่สำคัญน้อยกว่าที่จะเป็นซุปเปอร์
คุ้นเคยกับ
>> ตกลงว่าคำถามอื่น ๆ ที่มีคน มีหรือสะดุดบล็อกที่พวกเขาได้
พบในขณะที่การตรวจสอบ?
เราจะกลับไปยังรายการที่
สิ่งที่เกี่ยวกับการปฏิบัติในระหว่างการทดสอบถ้า คนเหล่านั้นได้รับมาแล้ว
สิ่งที่เป็นปัญหาที่ สะดุดที่พวกคุณได้หรือไม่
ฉันรู้สำหรับข้อเท็จจริงที่ว่าปีที่ผ่านมา ทดสอบเป็นเรื่องยาก
>> ผู้ชม: คุณสามารถอธิบายสิ่งที่ โจมตีฉีด SQL คืออะไร
>> เจสัน Hirschhorn: ตกลงที่ดี
ดังนั้นเราได้พูดคุยเกี่ยวกับเรื่องนี้สักหน่อย
มีการบรรยายเกี่ยวกับการรักษาความปลอดภัยเป็น
และอีกครั้งที่ผมกล่าวถึงก่อนหน้านี้ นี้เป็นกัน
แต่คุณจะผิดหวังกับการตอบคำถาม เมื่อคุณอ่านบางสองจุดเล็ก
คำถามและคุณต้องการเมื่อ ฉันไม่เคยเรียนรู้ที่
>> ทั้งหมดของสิ่งเหล่านั้นในการบรรยายที่ ที่คุณไม่ได้คิดว่าคุณจำเป็นต้อง
รู้หรือคุณอาจจะปัดสวะเพราะ พวกเขาไม่ได้มีจะทำอย่างไรกับ
ชุดปัญหาเหล​​่านั้นมีแนวโน้มที่จะ ขึ้นมาอีกครั้งในการตอบคำถาม
ดังนั้นเย็นกิจกรรมสนุก ๆ ที่คุณเพิ่ง คิดว่าเดวิดก็บอกให้คุณ
เพลิดเพลินไปกับเขาได้บอกคุณเพื่อให้คุณ และเพลิดเพลินไปกับการที่จะทำให้คุณเพียงแค่เป็นซุปเปอร์
ตื่นเต้นเกี่ยวกับการเรียนรู้ทุกอย่าง มีการเรียนรู้
เกี่ยวกับวิทยาการคอมพิวเตอร์
สิ่งเหล่านั้นยังมาในแบบทดสอบ
ดังนั้นแม้สิ่งเล็ก ๆ เหล่านี้ที่ไม่ได้ เกี่ยวข้องโดยตรงกับปัญหาของคุณ
ตั้งเป็นพวกคุณมีความคุ้นเคยกับจาก 0 คำถามอาจจะเกิดขึ้น
และนี่คือตัวอย่างที่ดี บางสิ่งบางอย่าง
>> ดังนั้นการฉีดโจมตีคือเมื่อคุณ ได้รับข้อมูลจากผู้ใช้และ
คุณต้องการที่จะใส่ลงในตารางโดยใช้ คำสั่งแทรก SQL แต่คุณ
ไม่ sanitize เข้า ก่อนเวลา
ดังนั้นเห็นได้ชัดว่าเราได้เห็น คำสั่ง SQL
ฉันเพิ่งจะเปิดขึ้น -
ให้เป็นไป -
เราจะไปถึงการทบทวน -
ผมคิดว่าที่ครอบคลุมมันได้หรือไม่
ผมคิดว่า samala ได้
เพื่อให้เราสามารถได้รับ -
>> ผู้ชม: ในกรณีที่คุณไม่ได้พบนี้
>> เจสัน Hirschhorn: ดังนั้นถ้าคุณไปที่ CS50.net, แบบทดสอบและจากนั้นคุณสามารถ
เลื่อนไปและได้รับสไลด์ จากเซสชั่นการตรวจสอบ
แต่คุณสามารถดูนี้เป็นตัวอย่างที่ดี ที่มีการโจมตีการฉีด
เราจะใช้ข้อมูลบางส่วนจากผู้ใช้ และพวกเขาให้เราสตริงและแล้วเรา
ต้องการแทรกสตริงที่ ลงในฐานข้อมูล
โดยทั่วไปเราจะ sanitize ที่ เข้าซึ่งหมายความว่ามีบาง
ตัวอักษรที่เป็นอันตราย
>> ตัวอย่างเช่นในสตริง SQL, คำพูดเหล่านี้ -
ราคาเดียวหรือราคาสอง -
หมายถึงสิ่งที่
พวกเขาหมายถึงจบสายนี้ที่นี่
ดังนั้นหากผู้ใช้จะช่วยให้คุณเดียว หรือคำพูดที่สองพวกเขาอาจจะ
พยายามที่จะเดินทางขึ้นแบบสอบถามของคุณและ แทรกบางสิ่งที่ไม่ดีลงไป
และถ้าพวกเขาทำเช่นนั้นพวกเขาจะได้รับ การควบคุมของฐานข้อมูลของคุณหรือทำบางอย่าง
สิ่งที่คุณไม่ต้องการให้พวกเขาทำ
>> เพื่อที่ว่าทำไมทุกครั้งที่เราใช้ SQL แบบสอบถามเรา sanitize ใส่ก่อน
วางมันลงในฐานข้อมูลซึ่ง หมายความว่าเราหนีตัวอักษรเหล่านั้น
เราจะพูดคุยเกี่ยวกับว่าในครั้งที่สอง
แต่เรื่องยาวสั้นฉีด การโจมตีคือถ้าคุณไม่ทำอย่างนั้น -
ถ้าคุณไม่ดูแลท่าน พวกเขาให้คุณก่อนที่จะวางของคุณ
ฐานข้อมูลที่พวกเขาสามารถที่คุณเห็นลง ที่นี่เรียกใช้แบบสอบถามที่ในความเป็นจริง -
พวกเขาวางในรหัสของพวกเขาลงมาที่นี่และ สายนี้เลือกลงที่นี่จะเลือก
ทุกอย่างจากตารางโดยไม่คำนึงถึง รหัสผ่านของสิ่งที่จะได้รับ
เพราะคุณมีหรือ 1 เท่ากับ 1
>> ดังนั้นจึงเป็นพื้นเรื่องยาวสั้น วิธีการที่จะใช้เวลามากกว่าฐานข้อมูล
คำถามแล้วสำหรับพวกคุณเป็น ซึ่งในพีชุดที่ 7 คุณไม่ sanitize ทั้งหมด
ปัจจัยการผลิตเพื่อการค้นหาของคุณ SQL?
ขั้นตอนที่ไม่ว่าเกิดขึ้นได้อย่างไร
คุณจะป้องกันไม่ให้การฉีดที่ การโจมตีที่เกิดขึ้นในการตั้งค่าพี 7?
ใช่
>> ผู้ชม: Crypt?
>> เจสัน Hirschhorn: ดังนั้นมันไม่ได้ฝังศพใต้ถุนโบสถ์
เราไม่ได้ให้คุณทำเช่นนี้ในการนี​​้ โดยเฉพาะอย่างยิ่งปัญหาการตั้งค่า แต่มันเกิดขึ้น
ในฟังก์ชั่นการค้นหา
จริงเราเขียนมันสำหรับคุณ และเราเอาดูแลของ
ฆ่าเชื้อปัจจัยการผลิตสำหรับคุณ
แต่ในปีที่ผ่านมามีนักเรียน พิมพ์ปัจจัยการผลิตของตัวเอง
ในพีชุดที่ 7 มากของคุณ -
ให้ฉันเปิดไฟล์อื่น ๆ
>> ดังนั้นคุณจะสังเกตเห็นที่นี่เป็นจำนวนมาก คนในปัญหาตั้ง 7 ไม่ได้เรียก
ฟังก์ชั่นนี้ในสาย
ฟังก์ชั่นนี้ htmlspecialchars, อีกครั้ง -
สายนี้อาจจะมีบางสิ่งบางอย่าง ว่าใน HTML หมายถึงอย่างอื่น
เช่นรั้งตารางหรือมุม วงเล็บหมายถึงอะไรบางอย่างใน HTML
>> และดังนั้นหากคุณพิมพ์ที่ออกไป หน้าจอหรือถ้าคุณเพียงใช้เวลาที่และ
พิมพ์ที่ออกมาเพื่อ HTML, คุณอาจที่ ทำสิ่งที่คุณไม่คาดหวัง
ดังนั้น htmlspecialchars ไปกว่าทุกคน ตัวละครที่มีความพิเศษ
การประชุมและพวกเขาหนีออกมา
จึงได้รับการพิมพ์ออกมาเป็นข้อความ คุณต้องการที่จะเห็นมากกว่า
กวดขันขึ้น HTML ของคุณ
เราเรียกว่าฟังก์ชั่นที่อยู่ในส่วนหัว
และคนจำนวนมากลืมที่จะ เรียกใช้ฟังก์ชันในที่
รหัสที่คุณเขียน
>> ดังนั้นสำหรับตัวอย่างเช่นถ้าชื่อหุ้นมี วงเล็บมุมในนั้นและคุณลืม
ที่จะเรียกใช้ฟังก์ชันนี้มุมที่ วงเล็บอาจมีการโยนออกจากสิ่งที่
HTML ของคุณดูเหมือน
แต่การเรียกฟังก์ชั่นนี้จะหลบหนี ที่ทำให้มันเป็นจริงจะพิมพ์ออกมาเป็น
วงเล็บมุมและไม่โยน ออกรหัส HTML ของคุณ
>> เหตุผลเดียวกันกับที่เราเคยเห็นบางครั้ง slashes ก่อนที่คำพูดสองใน
สาย printf เพราะเราไม่ต้องการ ราคาคู่ลงสตริง
เราต้องการที่จะพิมพ์พวกเขา ออกไปที่หน้าจอ
ดังนั้นทั้งหมดนี้เป็นความคิดเดียวกัน
ไม่ว่าจะตอบคำถามของคุณหรือไม่
>> ผู้ชม: ชนิดของ
>> เจสัน Hirschhorn: คุณ มีการติดตาม?
>> ผู้ชม: ผมคิดว่าการฉีด การโจมตีได้จะทำอย่างไรกับที่
ผมไม่เข้าใจว่า ทั้งสองมีความสัมพันธ์กัน
ทำไมคุณจะทำ specialchars?
>> เจสัน Hirschhorn: OK เพื่อ SQL โจมตีการฉีดคือเมื่อคุณฉีด
สตริงที่เป็นอันตรายในบางคน โปรแกรมและพวกเขาก็ให้และเรียกใช้
แบบสอบถาม SQL กับสตริง คุณให้พวกเขา
ที่คุณสามารถดูลงที่นี่ที่ อาจจะมีปัญหา
ดังนั้นวิธีที่คุณสามารถป้องกันกับที่เป็น คุณใช้สตริงของพวกเขาที่พวกเขาให้
คุณ - เพื่อให้สตริงที่นี่นี้ -
และคุณ sanitize มัน
คุณหลบหนีทุกสิ่งที่ มีปัญหาที่อาจเกิดขึ้น
ดังนั้นคุณจึงไม่แปลความหมายเป็นสิ่งที่พวกเขา นั่นหมายความว่าบางสิ่งบางอย่าง
>> และเป็นตัวอย่างของการที่ว่าด้วย HTML ที่เป็นฟังก์ชั่นนี้
ดังนั้นจึงเป็นความคิดเดียวกันที่นี่
และผมก็แค่การแสดงอื่น ๆ ตัวอย่างของเมื่อคุณได้
เห็นความคิดนี้มาก่อน
หนีเข้าของผู้ใช้ก่อนที่จะพิมพ์ มันออกมาที่หน้าจอหรือวางไว้
ภายในคำสั่ง SQL
>> ผู้ชม: ดังนั้นในกรณีนี้ผู้ใช้ ถูกล้อเล่นกับโปรแกรมเมอร์
>> เจสัน Hirschhorn: ใช่
ด้วยทั้งหมดของการโจมตีความปลอดภัยเหล่านี้ ที่เสมอโดยทั่วไปผู้ใช้หรือ
ใครสักคนพยายามที่จะรับประทานอาหาร กับคุณโปรแกรมเมอร์
และเหล่านี้เป็นวิธีที่คุณสามารถ ป้องกันไม่ให้เกิดกับพวกเขา
>> ผู้ชม: ดังนั้นผมจึงมีคำถาม เกี่ยวกับฟังก์ชั่นแฮช
ในแบบทดสอบ 1 จาก 2011 มีสอง คำถามเกี่ยวกับ hashes ด้านเดียว
และผมเพียงแค่สงสัย สิ่งที่หมายถึง
>> เจสัน Hirschhorn: OK ซึ่งคำถาม?
ปี 2011?
>> ผู้ชม: ใช่
>> ผู้ชม: แบบทดสอบ 1?
>> ผู้ชม: [ไม่ได้ยิน]
นั่นเป็นเหมือน hashing รหัสผ่าน
ที่ไม่ได้วางสิ่ง -
>> เจสัน Hirschhorn: อะไรที่หน้าเป็นมันได้หรือไม่
>> ผู้ชม: ฉันคิดว่ามันเป็น 9 หรือ 10 หรือทั้งสองอย่าง
>> เจสัน Hirschhorn: สิทธิทั้งหมด ไปข้างหน้าห้วน
คุณสามารถตอบในขณะที่เรามอง
>> ผู้ชม: ฉันคิดว่ามันพูด เกี่ยวกับ hashing รหัสผ่าน
เช่นเมื่อมีคนเข้ามาในรหัสผ่าน คุณทำให้มันกลายเป็นสิ่งที่มีการเข้ารหัส
ที่สับรหัสผ่านซึ่งเป็น แตกต่างจากฟังก์ชันแฮชที่
ทำให้บางสิ่งบางอย่างลงในตารางแฮช
>> เจสัน Hirschhorn: ลองมาดูกัน
ผมขอดึงสิ่งที่พวกเขา ให้เป็นคำตอบ
แล้วเราจะเดินผ่านมัน
>> ดังนั้นห้วนให้เป็นตัวอย่างที่ดี ของแฮชทางเดียว
เมื่อเราได้เห็นนี้มาก่อนเรา ใช้รหัสผ่านและเปิด -
จำได้ว่าในพีชุดที่ 7 บางคนอาจจะ มีรหัสผ่านที่เป็นรหัสผ่านที่
แต่แล้วก็จะได้รับการเข้ารหัสใน บางสิ่งที่ยาวจริงๆ
แฮชทางเดียวหมายความว่ามันเป็นเรื่องง่ายมาก ที่จะไปจากวิธีที่หนึ่งไปยังอีก แต่
มันยากมากที่จะไปจาก วิธีอื่น ๆ กลับ
>> และเพื่อให้คุณรู้ว่าเมื่อคุณได้รับการตรวจสอบ รหัสผ่านของผู้คนในปัญหา
ตั้ง 7 คุณจะใช้เวลาของพวกเขา -
ดังนั้นตัวอย่างเช่นกล่าวว่าพวกเขาต้องการที่จะ เปลี่ยนรหัสผ่านของพวกเขาคุณถามพวกเขา
สำหรับรหัสผ่านเก่าของพวกเขา
คุณเอารหัสผ่านเก่าของพวกเขา
คุณเข้ารหัสมัน
และจากนั้นเมื่อเทียบกับสอง encryptions มากกว่า unencrypting เดิม
หนึ่งเพราะจริงๆ ยากที่จะไปทางนั้น
ใช่
>> ผู้ชม: วิธีการในเชิงลึกของเราไม่ ความเข้าใจในการ Telnet จะต้องเป็นอย่างไร
>> เจสัน Hirschhorn: ถ้ามันถูกกล่าวถึง สั้น ๆ ในการบรรยายเพียงสั้น ๆ
ความเข้าใจ
อีกครั้งกลับไปที่คำตอบ กับคำถามของ Avi -
สิ่งที่เพิ่มเติมขึ้นมามีโอกาสมากขึ้น เป็นที่ที่คุณจะต้องเป็นซุปเปอร์
คุ้นเคยกับพวกเขา
ถ้าพวกเขาได้มาเพียง แต่ในการบรรยาย ว่าเป็นเพียงหนึ่งในสถานที่
แต่ถ้าพวกเขามาในการบรรยายส่วน และปัญหาการตั้งค่าแล้วคุณ
อาจจะต้องเป็นซุปเปอร์ คุ้นเคยกับพวกเขา
>> ดังนั้นผมจึงมีคำถามจาก ก่อนหน้านี้เกี่ยวกับ -
คือเป็นฤดูใบไม้ร่วงปี 2010 -
คำถามที่ 1 ให้ดึงขึ้น -
คำถามนี้ในกองและคิว ซึ่งเราไม่ได้ใช้จ่ายยุติธรรมบิตของเวลา
พูดคุยเกี่ยวกับในการบรรยายได้ แม้ว่าเราไม่ได้จริงๆ
เคยตีในส่วน
ดังนั้นคำถามนี้จะให้คุณชุด ของคำสั่งและขอให้คุณสิ่งที่
ได้รับการตีพิมพ์ในกรณีนี้
ดังนั้นนี่คือคำถามที่เหมาะสมโดยสิ้นเชิง ที่อาจจะถามคุณ
พวกแล้วพวกคุณควร จะสามารถที่จะตอบมัน
>> ดังนั้นทำไมคุณไม่มองมันเป็นเวลา 30 วินาทีและจากนั้นถ้าใครต้องการที่จะ
เสนอคำตอบให้ฉันและ แล้วเราจะเดินผ่านมัน
ในขณะที่ทุกคนมีคำตอบ คำถาม 27?
ใช่
>> ผู้ชม: มันคือ 1, 2, 3, 3?
>> เจสัน Hirschhorn: ที่เหมาะสม
27 1, 2, 3, 3
เพื่อให้ดูที่วิธีการที่เราได้ที่
>> ครั้งแรกที่เราจะพูดถ้าคือ คิวเป็นสิ่งที่ได้รับการพิมพ์?
ดังนั้น q เป็นครั้งแรกในครั้งแรกออก
เราได้เห็นว่าก่อนที่
เราเห็นภาพของคนที่ รออยู่ที่แอปเปิ้ล
การจัดเก็บที่จะซื้อสินค้าบางอย่าง
คนเป็นครั้งแรกใน คนแรกที่ออก
สิ่งแรกที่อยู่ในคิว เป็นสิ่งแรกที่ออก
>> ดังนั้นถ้าเราผลักดันสิ่งที่เป็นคิว คุณกด 1 แล้วเรา pop 1
ป๊อปก็หมายความว่าจะออก
ในกรณีนี้ใช้เวลาเพียงแค่บางสิ่งบางอย่างออกมา
เราจะออกครั้งแรก สิ่งที่ 1
ดังนั้นเราจะนำสิ่งที่เรา พิมพ์ลงไปที่นี่
นี้ไม่ได้อยู่ในคิวของเรา
>> แล้วเราก็ผลักดันที่ 2 และ 3 และ เราปรากฏออกสิ่งแรกที่
อีกครั้งเพราะมันเป็นคิว
ดังนั้นเราจึงได้รับ 2 แล้วเราใส่ในอีก 3 และเรียกป๊อปอีกครั้ง
3 ของเราเป็นครั้งแรก
>> แล้วเรามีทั้งกลุ่มของ และสิ่งที่สายอื่นป๊อป
แต่อีกครั้งตั้งแต่นี้เป็นคิว ครั้งแรกในครั้งแรกออก
เราจะออกจากสิ่งแรกที่ ที่เคยใส่ค่ะ
ที่ 3 ของเรา
และในกรณีนี้เราไม่ต้องกังวล เกี่ยวกับทุกสิ่งอื่น ๆ เหล่านั้น
ดังนั้นที่ว่านี้เป็นคิว
คำถามใด ๆ เกี่ยวกับคิวหรือไม่
>> สแต็คของที่แตกต่างกัน
เป็นตัวย่อที่เรามีอะไร สำหรับการทำความเข้าใจกองหรือไม่
>> ผู้ชม: สุดท้ายในครั้งแรกออก
>> เจสัน Hirschhorn: LIFO ผมคิดว่า
สุดท้ายในครั้งแรกออก
ดังนั้นเราจึงได้เห็นตัวอย่างของสแต็ค ถาดในโรงอาหาร
สิ่งที่ถาดด้านบน ได้รับเลือกขึ้น
แล้วถ้าถาดใหม่มา ในพวกเขาได้รับการใส่ที่ด้านบน
และแล้วสิ่งที่อยู่บน ด้านบนได้รับเลือกขึ้น
ดังนั้นผู้ที่อยู่ในถาดด้านล่างอาจ อยู่ที่นั่นสักครู่
>> ในกรณีที่อีกครั้งเราจะ วาดออกมานี้
เราผลักดันหนึ่งเพื่อหนึ่ง เป็นครั้งแรกในสาย
และเราปรากฏสิ่งปิด
และมีเพียงสิ่งเดียวที่อยู่ในนั้น ดังนั้นเราจึงย้ายที่ 1 ลงที่นี่
แล้วเราใส่ในวันที่ 2 และ 3 และ เราปรากฏสิ่งปิด
>> แต่อีกครั้งตั้งแต่นี้เป็นคิว -
หรือนี้เป็นกองค่อนข้าง -
เรานำสิ่งที่ได้รับในช่วง
สิ่งที่อยู่ในสุดท้ายออกมาก่อน
และ 3 เป็นในช่วง
ดังนั้นเราใส่ 3 ลงที่นั่นแล้ว เราใส่ในอีก 3 และเรา
สิ่งที่ปรากฏอีกครั้ง
สุดท้ายเราใส่ใน 4, 5, 6 และ 7 และที่นี่เราปรากฏ
และเพราะมันเป็นสแต็คที่เราใช้ สิ่งที่ถูกขังอยู่ในที่ผ่านมาและเขียน
ที่ลงที่นี่
ดังนั้นเราจึงจบลงด้วย 1, 3, 3, 7
ไม่มีใครมีข้อสงสัยใด ๆ เกี่ยวกับ กองหรือรอคิวหรือตัวอย่างนี้?
>> ตกลง
ให้กลับไปที่รายการของหัวข้อ
ไม่ได้เป็นแบบนั้นแบบนี้
คำถามอื่น ๆ สิ่งที่คนมี
>> ผู้ชม: ผมไม่ทราบว่ามีความสำคัญ นี้ แต่ผมสับสนโดย
ความแตกต่างระหว่างประเภทที่แตกต่างกันของ ภาษาเช่นมาร์กอัปรวบรวม
ตีความ
>> เจสัน Hirschhorn: นั่น เป็นคำถามที่ดี
ผมคิดว่าเป็นสิ่งที่สำคัญบ้าง จึงขอไปกว่านั้นได้อย่างรวดเร็ว
ภาษาใหญ่ที่เราได้เห็นเพื่อให้ห่างไกลเป็น C, PHP, JavaScript และในแง่
ของการเขียนโปรแกรมภาษา
HTML ตามที่คุณกล่าวถึงไม่ได้ การเขียนโปรแกรมภาษา
มันเป็นภาษามาร์กอัป
และแล้วเราก็มี CSS ซึ่งเป็น ไม่ได้เขียนโปรแกรมภาษา
>> เราได้เห็นยัง SQL ซึ่งไม่ได้เป็น การเขียนโปรแกรมภาษาทั้ง
ดังนั้น SQL ช่วยให้คุณเขียน แบบสอบถามสำหรับฐานข้อมูล
HTML ที่เป็นภาษามาร์กอัป
มันกำหนดว่าสิ่งที่มีโครงสร้าง
และ CSS ช่วยให้คุณสามารถรูปแบบสิ่ง
นั่นอาจเป็นขอบเขตสำหรับสิ่งที่คุณ ต้องรู้เกี่ยวกับทั้งสาม
แต่ก็เป็นที่น่าสนใจมากขึ้นในการร่าง เห็นความแตกต่างระหว่าง C, PHP,
และ JavaScript
>> ดังนั้นหนึ่งในความแตกต่างที่ใหญ่ที่สุด ตามที่คุณกล่าวถึงเป็นวิธีการที่พวกเขากำลัง
รวบรวมหรืออะไรก็ตาม เทียบเท่าเป็น
ดังนั้น C จะรวบรวม
เรามักจะใช้คอมไพเลอร์
แล้วที่เป็นข้อผิดพลาดของคุณ เมื่อคุณเรียกใช้คอมไพเลอร์ C?
มันจะแสดงให้คุณเห็นที่ ข้อผิดพลาดในรหัสของคุณหรือไม่
คุณจะรู้ว่ามี ข้อผิดพลาดในรหัสของคุณใน C?
>> ผู้ชม: มันจะแสดง ใน terminal
>> เจสัน Hirschhorn: มันจะแสดงใน ขั้วขณะที่คุณกำลังรวบรวม
และหากมีข้อผิดพลาดก็ จะไม่จริงรวบรวมไว้
เพื่อให้คุณรู้ว่ามีข้อผิดพลาดที่เหมาะสม ห่างออกไปข้างหน้าของเวลาก่อนที่คุณจะ
แม้แต่เรียกใช้รหัสของคุณ
>> แน่นอนคุณอาจเรียกใช้รหัสของคุณและ ได้รับความผิดส่วน แต่ที่เป็น
อาจเป็นเพราะคุณไม่ได้ทำ บางสิ่งตรรกะโง่
แต่รหัสของคุณด้วยเทคนิค ทั้งหมดที่ถูกต้องและสามารถเรียกใช้
ดังนั้นรหัส C ได้รับการรวบรวมก่อนเวลา
สิ่งที่เกี่ยวกับโค้ด PHP?
ที่มีข้อผิดพลาดในรหัส PHP ของคุณหรือไม่
คุณไม่ได้รู้ว่าคุณมีข้อผิดพลาด ในโค้ด PHP ของคุณหรือไม่
>> ผู้ชม: เรียกใช้เวลาหรือไม่
>> เจสัน Hirschhorn: ใช่เมื่อคุณ จะใช้มันคุณจะวิ่ง
โค้ด PHP ในด้านหลัง
และแล้วคุณจะแสดงหน้าจอ
คุณอาจเห็นบางสิ่งบางอย่างที่ด้านบน แต่แล้วคุณจะเห็นเหมือนบาง
สีส้ม, ตารางน่าเกลียด
และมันจะทำให้คุณมีจำนวนเส้นและ พูด, blah, blah, blah, สิ่งนี้
ไม่ได้ทำงาน
>> ดังนั้น PHP จะถูกแปลทีละบรรทัด และดำเนินการบนเซิร์ฟเวอร์
แล้วผลที่ได้คือ ส่งผ่านไปยังคุณ
ยิ่งใหญ่
ดำเนินการในสายเซิร์ฟเวอร์โดยสาย แล้วส่งผ่านไปยังคุณ
และหากมีข้อผิดพลาดก็จะส่ง คุณมีข้อผิดพลาด แต่คุณอาจมี
อากาศสิ่งบางอย่างก่อนเวลา
ดังนั้นบางส่วนของมันอาจจะมีการทำงาน แต่ ภายหลังสิ่งบางอย่างไม่อาจมี
ไม่ได้ทำงาน
>> สิ่งที่เกี่ยวกับ JavaScript?
คุณไม่ได้เห็นข้อผิดพลาด JavaScript?
ในพีตั้ง 8 เมื่อคุณมี ข้อผิดพลาดวิธีการที่คุณรู้หรือไม่ว่า
ที่มันจะปรากฏขึ้นมา
>> ผู้ชม: ในคอนโซล ที่ด้านล่าง
>> เจสัน Hirschhorn: ใน คอนโซลด้านล่าง
นอกจากนี้ยังจะให้คุณ จำนวนเส้นและมันจะ
แสดงขึ้นที่ด้านล่าง
และ JavaScript ไม่ได้ดำเนินการ บนเซิร์ฟเวอร์
JavaScript ถูกส่งไปยังเครื่องคอมพิวเตอร์ของคุณ และจากนั้นเมื่อมันเป็นเวลาที่จะเรียกใช้
JavaScript, JavaScript เป็น ทำงานทีละบรรทัดบน
ของลูกค้าในด้านของคุณ
ไม่เซิร์ฟเวอร์ฝั่งไคลเอ็นต์
>> และเช่นเดียวกันก็คือ สายดำเนินการโดยสาย
และจากนั้นเมื่อคุณจะได้รับข้อผิดพลาด มันจะแสดงขึ้นที่ด้านล่าง
ในทำนองเดียวกันกับ PHP, บางส่วนของมันอาจจะ ดำเนินการและจากนั้นคุณอาจได้รับ
ข้อผิดพลาดในภายหลัง
>> นอกจากนี้ยังแตกต่างจาก PHP น้อยถ้า คุณได้รับข้อผิดพลาด JavaScript -
บอกว่าคุณไม่ได้ทำที่ถูกต้อง สำหรับกล่องเตือน -
คุณสามารถเก็บเรียกใช้โปรแกรมของคุณ
กล่องเตือนจะไม่ทำงาน แต่ โปรแกรมของคุณจะดี
เพียงแค่อาจจะฟังก์ชั่นที่จะล้มเหลว
>> จึงมีบางส่วนของที่ใหญ่ที่สุด ความแตกต่างในแง่ของวิธีการเหล่านี้
ภาษาหรือว่ารหัสโปรแกรม คุณเขียนได้รับการประเมินจริง
นอกจากนี้ยังมีความแตกต่างอื่น ๆ ใน แง่ของ - ความแตกต่างที่ยิ่งใหญ่ที่สุด
ที่เราได้เห็นในแง่ของตัวแปร ในภาษาที่แตกต่างกัน
ดังนั้นใครสามารถให้ฉันแตกต่าง ระหว่างตัวแปร
ในภาษาสาม
ใช่
>> ผู้ชม: ใน C ที่พวกเขากำลัง พิมพ์อย่างเคร่งครัด
ในอีกสองที่พวกเขากำลัง พิมพ์อย่างอิสระ
>> เจสัน Hirschhorn: และ สิ่งที่หมายความว่าอย่างไร
>> ผู้ชม: ว่าใน C คุณต้องประกาศ ชนิดของตัวแปรเมื่อ
คุณประกาศตัวแปร เช่น interbool หรือถ่าน
>> เจสัน Hirschhorn: ยอดเยี่ยม
ใน C เรามักจะมีการใส่ ชนิดของตัวแปร
และเราอาจจะไม่ได้จริงๆชนิดมาผสมกัน
คุณไม่สามารถทำอะไรได้เต็มที่ บวกสตริง
แต่ที่เราเคยเห็นในอื่น ๆ เหล่านี้ ภาษาคุณจริงสามารถผสมชนิด
และคุณไม่เคยจริงๆต้องให้ บางสิ่งบางอย่างชนิดที่เคย
>> ดังนั้นทำอย่างไรเรารู้ว่าสิ่งที่เป็นตัวแปร ใน PHP และ JavaScript?
>> ผู้ชม: ใน PHP, พวกเขาเริ่มต้น ด้วยเครื่องหมายดอลลาร์
ใน JavaScript เมื่อคุณประกาศ พวกคุณต้องมีแถบ
>> เจสัน Hirschhorn ขวา
ดังนั้นใน PHP, พวกเขาเริ่มต้น ด้วยเครื่องหมายดอลลาร์
ใน JavaScript พวกเขาจะต้องมีบาร์ แม้ว่าบางครั้งพวกเขาไม่ได้จริง
ต้องมีบาร์
แต่ที่ถูกต้อง
>> เพื่อให้เป็นความแตกต่างใหญ่ ระหว่างตัวแปร
ผมคิดว่าผู้ที่อาจจะออก ด้านบนของหัวของฉันทั้งสองที่ใหญ่ที่สุด
ความแตกต่างระหว่างเหล่านี้ สามภาษา
แต่ใช่
>> ผู้ชม: และขอบเขตของตัวแปร C ถูก จำกัด ให้วงเล็บปีกกา,
ที่คนอื่น ๆ ก็ต้องการเพียงแค่ มันตายถ้ามันในการทำงานเท่านั้น
แต่อย่างอื่น it's -
>> เจสัน Hirschhorn ขวา
ดังนั้นขอบเขตแตกต่างกันเล็กน้อยในขณะที่ C. คุณจำวงเล็บปีกกากำหนด
ขอบเขตของตัวแปร
ดังนั้นถ้ามันถูกกำหนดไว้ภายในถ้า สภาพที่อยู่ภายในการวน
ตัวแปรเดียวที่มีอยู่
>> ใน JavaScript ถ้าตัวแปรที่กำหนดไว้ ภายในถ้าเงื่อนไข -
ภายในสำหรับวง - มันจะมีอยู่สำหรับ ฟังก์ชั่นที่ แต่มันจะไม่อยู่
นอกที่ทำงาน
ดังนั้นขอบเขตเป็นเล็กน้อยความยืดหยุ่นมากขึ้น ใน JavaScript และ PHP
ที่ตอบคำถามได้หรือไม่
ตกลงคำถามอื่นใด
ที่เราสามารถทำได้อีกสี่นาที ของคำถามที่แล้ว
เราจะกระโดดลงไปในการเข้ารหัส
>> ผู้ชม: เราสามารถไปลงในอาแจ็กซ์ และพูดคุยเกี่ยวกับสิ่งที่ว่าคืออะไร
>> เจสัน Hirschhorn: พูดคุยกับ Avi หลังจาก
เขาถามคำถามว่าก่อนหน้านี้
>> ผู้ชม: ฉันไม่ดี
>> เจสัน Hirschhorn: ไม่ต้องกังวล
>> ผู้ชม: อะไรคือ JSON?
>> เจสัน Hirschhorn: เป็น JSON อะไร
สิ่งที่คำถามของคุณหรือไม่
>> ผู้ชม: เพ​​ียงแค่ได้อย่างรวดเร็วจริงๆ ความแตกต่างระหว่าง
การพิมพ์และการสะท้อนใน PHP
>> เจสัน Hirschhorn: คุณไม่ google ทำไม ความแตกต่างระหว่างการพิมพ์และสะท้อน?
แตกต่างกันเล็กน้อย
ไม่ว่าใหญ่ของการจัดการ
แต่คุณแน่นอนควรจะ google มัน และที่จะให้คำตอบที่ดี
>> JSON อาจจะมีขนาดใหญ่ของการจัดการ
ย่อมาจาก JavaScript Object สัญลักษณ์
และเราได้เห็นเมื่อ JSON ถูกใช้งานอย่างไร
เมื่อคุณได้เห็น -
ทำไมคุณได้รู้ว่าคำ JSON?
เมื่อคุณได้เห็นมันได้หรือไม่
>> ผู้ชม: เมื่อเราได้รับ ราคาหุ้นสำหรับการเงิน
>> เจสัน Hirschhorn: คุณเห็น เมื่อคุณได้รับ
ราคาหุ้นสำหรับการเงิน
และคุณไม่เห็นว่าทำไมมันได้หรือไม่
>> ผู้ชม: ตอนที่เราเรียก ข้อมูลทั้งหมดที่
มาในรูปแบบที่
>> เจสัน Hirschhorn: ดังนั้นคุณจะได้รับ -
ใช่
เอาเลย
>> ผู้ชม: [ไม่ได้ยิน] ข้อมูล ออกมาจากวัตถ​​ุหรือไม่
>> เจสัน Hirschhorn: ทั้งสองคน ใส่กันเป็นคำตอบ
เรากำลังมองหา
คุณต้องการข้อมูลจาก หน้าเว็บอื่น ๆ
และคุณจะหวังว่าเมื่อคุณ ได้รับข้อมูลที่มันจะเป็น
นำเสนอให้คุณในบางชนิด ของรูปแบบมาตรฐาน
>> ทุกคนน่าจะคุ้นเคย ด้วยค่าที่คั่นด้วยเครื่องหมายจุลภาค
คุณสามารถส่งออกกระดาษคำนวณ Excel หรือ ชนิดของกระดาษคำนวณเป็นรายการของ
ค่าที่คั่นด้วยจุลภาค
และจุลภาคแบ่งทั้งหมด สาขาที่แตกต่าง
Object สัญลักษณ์ JavaScript -
JSON -
เป็นชนิดของมาตรฐานอื่น รูปแบบของสิ่งที่
และนั่นคือวิธีการที่เรามักจะเรียก ข้อมูลจากแบบสอบถามที่อาแจ็กซ์ของเรา
>> ดังนั้นในกรณีนี้เราได้รับมัน จากเว็บไซต์ Yahoo
พวกเขากลับไปยังสิ่งที่ เราในวัตถุ JSON
แล้วเราจะรู้ว่าเพราะมันเป็น มาตรฐานสิ่งที่มันเป็น
จะมีลักษณะเหมือน
ดังนั้นเราจึงสามารถย้ำผ่านแถว ที่ส่งกลับมาให้เรามากมาย
วัตถุที่ถูกส่งกลับมาให้เรา
>> เราอาจจำเป็นต้องรู้กุญแจ แต่พวกเขามักจะให้คุณ
เอกสารในเว็บไซต์เมื่อ คุณกำลังเรียกบาง JSON
สัญกรณ์สำหรับพวกเขา
ในทำนองเดียวกันคุณสามารถ JSON เข้ารหัสวัตถุ
เพื่อให้มีฟังก์ชั่น JSON ขีดเข้ารหัส
และเพื่อให้คุณสามารถใช้วัตถุที่ คุณได้สร้าง JSON เข้ารหัสมันและ
ผ่านมันเพื่ออะไรบางอย่าง อื่นถ้าคุณต้องการ
และ JSON ถอดรหัสยังมีอยู่สำหรับ วัตถุประสงค์ที่คล้ายกันหรือ
วัตถุประสงค์ตรงข้าม
>> ผู้ชม: เราจำเป็นต้องรู้การเขียนโปรแกรม สำหรับตารางแฮชและพยายาม?
หรือไม่เราก็ต้องเข้าใจ ว่าพวกเขากำลังใช้แนวคิด?
>> เจสัน Hirschhorn: ดังนั้นยกมือของคุณ ถ้าคุณไม่ได้ทำตารางแฮชสำหรับ p ชุด 4
กับรายการการเชื่อมโยง
หรือพีตั้ง 5
เพื่อให้เป็นส่วนใหญ่ของคน
P ชุดที่ 5, 6, ผู้รู้
นานมาแล้ว
>> ดังนั้นส่วนใหญ่ของคุณได้ ตารางกัญชากับรายการการเชื่อมโยง
และเนื่องจากที่อาจมากขึ้น วิธีการทั่วไปและเนื่องจากเราใช้เวลา
จำนวนมากที่มีเวลาทำรายการการเชื่อมโยงและกัญชา ตารางคุณอาจจะต้อง
สวยคุ้นเคยกับวิธีการรหัส ตารางแฮชและรายการการเชื่อมโยง
>> และถ้าคุณคิดว่ากลับไปปัญหาที่ ตั้งมันไม่ได้จริงๆ
ยากอย่างที่คุณคาดหวัง
และมีจำนวนมากน้อย รหัสกว่าที่คุณคาดหวัง
ผมจะบอกว่าคุณควรรู้วิธีการ รหัสตารางแฮชหรือรายการการเชื่อมโยง
ไม่ว่าคุณต้องการจะถามว่า จำเป็นต้อง แต่คุณควร
แน่นอนรู้ว่า
>> นอกจากนี้ถ้าคุณมองผ่านผ่านมาจิปาถะ มีจำนวนมาก
คำถามเกี่ยวกับการเขียนฟังก์ชั่นที่ รายการการเชื่อมโยงหรือรายการทวีคูณเชื่อมโยง
ที่ดูเหมือนว่าจะเกิดขึ้น ทุกปีเดียว
แทรกขวาที่รายการเชื่อมโยงที่เหมาะสม ลบจากรายการเชื่อมโยงแทรกเหมาะสม
สำหรับรายการทวีคูณเชื่อมโยงและอื่น
ดังนั้นการที่ผมรู้สึกสะดวกสบายสวย บอกว่าคุณควรรู้ว่า
>> ลองผมจะบอกว่าคุณควร แน่นอนรู้วิธีการทำงานและอาจจะ
ให้ pseudocode บางส่วนสำหรับวิธีการ รหัสมันและตั้งขึ้น
แต่มันจะไม่ได้เป็นสิ่งที่เลวร้ายที่สุดใน โลกถ้าคุณไม่ทราบวิธีการ
รหัสใน C. มันจะดีถ้าคุณ รู้วิธีการรหัสมันใน C แต่ฉันคิดว่า
อาจ pseudocode ลองจะ เป็นที่สุดที่คุณจะต้อง
ที่จะทราบลอง
>> ผู้ชม: เครดิตพิเศษ?
>> เจสัน Hirschhorn: และเช่นเดียวกันกับถ้าเรา ไปลงในต้นไม้ค้นหาแบบไบนารีคุณอาจ
ต้อง - และคุณเคยเห็นในอดีตที่ผ่านมา เราได้ทำมาก - คุณรู้ว่า
ไบนารีงานต้นไม้ค้นหา
คุณอาจจะสามารถ ตั้งหนึ่งขึ้นในรหัสหลอก
แต่เนื่องจากส่วนใหญ่ของคน ไม่ได้ทำในการแก้ปัญหา
ชุดผมว่ามันอาจจะน้อยลง สิ่งสำคัญที่คุณรู้รหัส
และการตั้งค่าต้นไม้เช่นนั้น
>> คำถามใด ๆ อื่น ๆ
นอกจากนี้เรายังสามารถขอให้พวกเขาไปตลอด ในขณะที่เราผ่านปัญหาบางอย่าง
ตกลงเราจะย้ายไป
ข้ามภาพนิ่งที่สำหรับตอนนี้
>> การพูดของต้นไม้ที่เป็นครั้งแรกที่ ผมมีคำถามสำหรับคุณผู้ชาย
เพราะปัญหานี้เป็นปัญหา
ผมจะบอกว่ามันจะสูงที่คุณจะ ได้รับปัญหาเช่นนี้ในการตอบคำถามของคุณ
ขอให้คุณรหัสประเภทของการแทรกบาง ลบการค้นหาสำหรับประเภทหนึ่ง
ของโครงสร้างข้อมูลที่เราได้เห็น
>> ที่เกิดขึ้นทุกปีและเราใช้เวลา มากเวลาครึ่งปีที่สองนี้
ภาคการศึกษาไปกว่าชนิดข้อมูลเหล่านี้
ดังนั้นตอนนี้ผมได้กำหนดโหนด ในต้นไม้ค้นหาไบนารี
และสิ่งที่ผมอยากให้คุณทำจะได้รับ ต้นไม้ค้นหาไบนารีที่เริ่มต้น
ที่รากดาวโหนดนี้เสร็จสมบูรณ์ การดำเนินงานของฟังก์ชั่นด้านล่าง
ซึ่งเกิดขึ้นเป็นฟังก์ชั่นการค้นหา
และทำมันมีและไม่มี recursions
>> ดังนั้นผมจึงต้องการให้คุณเขียนสองฟังก์ชั่น
หนึ่งทำเช่นนี้กับการเรียกซ้ำอย่างใดอย่างหนึ่ง การทำเช่นนี้ได้โดยไม่ต้องเรียกซ้ำ
และไม่คิดว่า รากจะไม่ใช่ค่า
ดังนั้นเราจึงกำลังมองหาฉันในจำนวนเต็ม ต้นไม้เริ่มต้นที่รากและเราต้อง
ที่จะเขียนนี้ซ้ำ และซ้ำ
ใช่
>> ผู้ชม: ดังนั้นคุณต้องการให้เรากลับจริง ถ้าเราหาได้และเท็จถ้าเรา
พบว่ามันไม่
>> เจสัน Hirschhorn: คุณรู้ไหม?
วิธีการที่คุณไม่ทราบว่า?
>> ผู้ชม: ฉันถูกถามครั้งแรก แต่ฉันเป็น สมมติว่าเพราะมันบอกว่าบูลที่
จุดเริ่มต้นของการทำงาน
>> เจสัน Hirschhorn ขวา
มันบอกว่าบูลดังนั้นผมจึงไม่จำเป็นต้อง บอกคุณได้สิ่งที่ผมคาดหวังว่าคุณจะกลับมา
เพราะมันบอกว่าที่นั่น
แต่ที่เหมาะสม
กลับจริงหรือเท็จ
>> ดังนั้นก่อนที่คุณจะเริ่มต้นที่ฉันอยากจะแนะนำ ถ้าคุณไม่คุ้นเคยกับ
ต้นไม้ค้นหาแบบไบนารี, การวาดภาพได้อย่างรวดเร็ว ภาพของมันที่จะได้รับของคุณ
ความเข้าใจที่ถูกต้อง
ที่จะช่วยให้คุณเมื่อเขียน รหัสและการตรวจสอบของคุณ
อีกครั้งคุณยังไม่ได้มีที่มาก เวลาในการตอบคำถามที่จะทำทุกสิ่งที่
ที่เราขอให้คุณทำ
ดังนั้นการเขียนรหัสเทียม จะมีประโยชน์มาก
>> และเรามักจะให้เกี่ยวกับ -
ถ้า pseudocode เป็นอย่างดี ถูกต้องที่
ทั่วไป 50% คำถาม
ดังนั้นจึงไม่เป็นกฎอย่างหนักและรวดเร็ว แต่ถ้า คุณเพียงแค่เขียน pseudocode และเป็น
ที่ถูกต้องก็มัก 50%
ดังนั้นฉันมักจะอยากแนะนำ -
ถ้าคุณกำลังกดครั้งหรือแม้กระทั่งถ้า คุณเพียงแค่พยายามที่จะคิดออก -
ที่เริ่มต้นด้วย pseudocode
และสุดท้ายถ้าคุณสามารถเขียนนี้ ทั้งหมดใน C ที่จะเป็นที่ยอดเยี่ยม
>> ดังนั้นลองมาสามนาที ในการทำงานในโปรแกรมนี้
แล้วเราจะเขียน pseudocode สำหรับมันเพียงครั้งเดียวและจากนั้น
เรากำลังจะรหัสมันซ้ำ แล้วซ้ำ
>> หากคุณมีคำถามใด ๆ รู้สึก ฟรียกมือของคุณ
มีความสุขที่จะเดินไปรอบ ๆ และตอบพวกเขา ก่อนที่เราจะเริ่มต้นเป็นกลุ่ม
>> ให้เรากลับมาทำงานและเรากำลังจะ pseudocode รุ่นซ้ำของ
นี้และจากนั้นเราจะรหัสมัน
ดังนั้นฟังก์ชันเวียนเกิด ต้องสองสิ่ง
นี้อาจจะมีคำถามว่า คุณอาจจะถาม
ความต้องการสองสิ่ง
ที่สามารถยกมือและบอกฉัน สิ่งที่สองสิ่งที่ซ้ำ
ฟังก์ชั่นที่จำเป็น?
โดยมีความหมายมันมีสองสิ่ง
สิ่งที่ทั้งสองสิ่งที่มีอะไรบ้าง
มือใหม่
ใช่ Alden
>> ผู้ชม: ดังนั้นฉันไม่แน่ใจว่าถ้า นี้เป็นคำศัพท์ แต่ -
>> เจสัน Hirschhorn: ฉันดีใจที่ คุณกำลังยกมือของคุณ
>> ผู้ชม: มันต้องกรณีฐาน และจะต้องมีขั้นตอนซ้ำ
>> เจสัน Hirschhorn: Perfect
มันต้องกรณีฐานและ ขั้นตอนซ้ำ
ดังนั้นสิ่งที่เป็นกรณีฐานของเราที่นี่
>> ผู้ชม: ราก F เท่ากับเท่ากับโมฆะ
ขออภัยใน pseudocode, ถ้าเป็นโมฆะ
ถ้ารากเป็นโมฆะ
>> เจสัน Hirschhorn: ถ้ารากเป็นโมฆะ
ที่ยอดเยี่ยม
นั่นคือกรณีฐานของเรา
นั่นคือสิ่งที่เรากำลังจะ ในการตรวจสอบทุกครั้ง
และกรณีฐานเป็น สิ่งแรกที่คุณทำ
หากคุณตีกรณีฐานที่คุณกำลังทำ
>> ตอนนี้เราต้องโทรซ้ำของเราและฉันต้องการ จะยินดีที่จะเดิมพันเราต้องคู่
โทรซ้ำท​​ี่นี่
เพราะมันเป็นต้นไม้และเรา อาจจะไปหลายวิธี
ดังนั้นถ้ารากเป็นโมฆะเรากำลังดี
>> สิ่งที่คุณนำเสนอ?
และตอนนี้ฉันกำลังจะไปเริ่มต้นการโทรออก ที่พวกคุณเพราะฉันรู้ว่าพวกคุณ
ทุกคนรู้นี้
แต่แอนนี่สิ่งที่ควร บรรทัดถัดไปจะเป็นอย่างไร
สิ่งที่ถ้าเราพบมันได้หรือไม่
สิ่งใดที่เราจะทำอย่างไร
>> ผู้ชม: หากเราพบมันได้หรือไม่
>> เจสัน Hirschhorn: หรือสิ่งที่ ควรที่ -
ให้ฉัน pseudocode สำหรับ สายที่เราพบว่ามัน
>> ผู้ชม: ถ้าฉันเท่ากับรากฉัน?
>> เจสัน Hirschhorn: และ แล้วเราจะทำอย่างไร
>> ผู้ชม: กลับจริง
>> เจสัน Hirschhorn: Great
ดังนั้นถ้าฉันเป็นฉัน -
โอ้พวกเขากำลังทั้งสองเรียกว่าฉัน
ที่ได้รับความสับสน
แต่ถ้าฉันเป็นฉันกลับจริง
ที่อาจต่อไป สิ่งที่เราควรทำ
ทำให้รู้สึก
>> ตกลงตอนนี้เราไม่ได้ทำซ้ำของเรา ยังเรียก แต่เนื่องจากซ้ำ
สายจะเรียกฟังก์ชั่นนี้อีกครั้ง
ดังนั้นสิ่งที่ควรจะเป็นต่อไป สายของ pseudocode เป็นอย่างไร
แอนนา
>> ผู้ชม: ด้านซ้าย
>> เจสัน Hirschhorn: เป็นที่เฉพาะเจาะจงว่า
นี้เป็นต้นไม้ค้นหาไบนารีดังนั้นสิ่งที่ ไม่ตรวจสอบด้านซ้ายนำมาซึ่ง?
>> ผู้ชม: ดังนั้นโหนด -
ฉันขอโทษราก
แล้วลูกศรซ้าย
โหนดโหนดขอโทษ
ฉันไม่ได้อ่านมันอย่างถูกต้อง
มันเรียกว่าโหนดใช่ไหม
>> เจสัน Hirschhorn: มันจะถูกเรียกว่าราก ในฟังก์ชั่นที่ แต่อย่างใด
ด้านซ้าย - ใช่?
>> ผู้ชม: ถ้าไม่เท่ากัน ฉันแล้วเราจะเรียก
ฟังก์ชั่นอีกครั้งหรือไม่
>> เจสัน Hirschhorn: ที่เหมาะสม
ถ้าไม่ได้ผมเท่ากันที่เรากำลังจะ ที่จะเรียกฟังก์ชั่นอีกครั้ง
แต่สิ่งที่ด้านข้างของต้นไม้เราจะ ที่จะเรียกฟังก์ชั่นอีกครั้งหรือไม่
>> ผู้ชม: ด้านซ้าย
>> เจสัน Hirschhorn: เราไม่ได้เสมอ จะเรียกว่าด้านซ้ายถ้ามัน
ไม่เท่ากับมัน
>> ผู้ชม: โอ้ขอโทษ
โทรทางด้านขวา
>> เจสัน Hirschhorn: เราต้องการที่จะรู้ว่า โดยเฉพาะแม้ว่า - จำไว้ใน
ต้นไม้ค้นหาไบนารีทุกอย่างเพื่อ ด้านซ้ายมือมีขนาดเล็ก
ทุกอย่างไปทางขวา ด้านมากขึ้น
ดังนั้นมันจึงเป็นเพียงไม่ - ใช่ไปข้างหน้า
>> ผู้ชม: ถ้าเป็นน้อยกว่าฉันแล้ว -
ถ้าเป็นด้านซ้าย -
>> เจสัน Hirschhorn: ดังนั้นหาก ri น้อยกว่า -
ดังนั้นหากเราเป็นจำนวนน้อยกว่าฉัน สิ่งที่เราต้องการที่จะด้านไปหรือไม่
>> ผู้ชม: เราต้องการที่จะไป ไปทางด้านขวา
>> เจสัน Hirschhorn: เราต้องการที่จะไป -
ให้ฉันวาดต้นไม้อย่างรวดเร็ว
ถ้าเป็น 5 นี้จะเป็น 3
ดังนั้นหาก ri น้อยกว่าห้าสิ่งที่ ด้านที่เราต้องการจะไป?
>> ผู้ชม: ขออภัยอะไร
>> เจสัน Hirschhorn: จำนวนของเราคือ น้อยกว่าจำนวนที่เรากำลัง
กำลังมองหาที่ที่เหมาะสมในขณะนี้
>> ผู้ชม: โอ้แล้วเราต้องการ ที่จะไปไปทางด้านซ้าย
ใช่
ขอโทษ
>> เจสัน Hirschhorn: แน่นอน
ไม่ต้องกังวล
ในไบนารีต้นไม้ค้นหาทุกอย่าง ที่ลดลงเป็นไปทางซ้าย
มากขึ้นคือการที่ถูกต้อง
ดังนั้นถ้าจำนวนของเราน้อยกว่า i ที่เรากำลังตรวจสอบ -
เพราะคุณเห็นใน โหนดก็มี i -
แล้วคุณต้องการที่จะไปทางซ้าย
>> และนี่คือหนึ่งง่าย
มันเป็นสิ่งที่สายอื่น ๆ ของ pseudocode เราต้องเขียน
คาร์ลอ?
>> ผู้ชม: สิ่งเดียวกันคุณก็สลับ ให้เครื่องหมายมากกว่า
และไปทางขวา
>> เจสัน Hirschhorn: คุณสามารถ บอกว่ามันอีกครั้งหนึ่ง
>> ผู้ชม: ถ้าจำนวนของเรามากขึ้น กว่าฉันไปทางขวา
>> เจสัน Hirschhorn: ยอดเยี่ยม งานใน pseudocode
ขอให้เราทำเช่นนี้ในรหัสจริง
และอีกครั้ง pseudocode นี้จะ อาจได้รับคุณเพราะมัน
ถูกต้อง 50% สำหรับคำถามนี้
แต่ pseudocode นี้ยังแปลหนึ่ง หนึ่งเป็นหลักเป็นรหัส
>> เพื่อให้เราทำเช่นนี้ใน C. ใครสามารถให้ ฉันบรรทัดแรกของรหัส?
ที่จริงแล้วก่อนที่ฉันทำ ที่ให้ฉันดึงไป -
>> ผู้ชม: ผมมีคำถาม
ทำไมคุณไม่เยื้อง สายผมให้คุณ
>> เจสัน Hirschhorn: เพราะ ฉันไม่สามารถเขียน
ฉันไม่รู้
คุณขวา
เส้นที่ควรจะอยู่ที่นั่น
>> ตกลงที่นี่เป็นหน้าที่ของเรา
และแจ้งให้เราดึงไปยัง ความละเอียดของโหนด
จะเกิดอะไรขึ้นถ้าเราทำไม่ได้ เขียน typedef?
ไม่มีใครรู้
>> ผู้ชม: มันจะไม่รวบรวม
>> เจสัน Hirschhorn: มันจะ รวบรวมใช่
>> ผู้ชม: มันจะเพียงแค่ประกาศอย่างใดอย่างหนึ่ง เช่นแทนที่จะทำให้ใหม่
ประเภทที่คุณสามารถประกาศหลาย กรณีของ?
>> เจสัน Hirschhorn: ดังนั้นมันจะไม่ได้ รู้ - มันจะไม่
เพียงแค่กำหนดชนิดหนึ่ง
คุณยังสามารถทำให้จำนวนมากของโหนด
>> ผู้ชม: แต่เราจะไม่ต้อง เขียนโหนด struct ทุกเวลาหรือไม่
>> เจสัน Hirschhorn: ที่เหมาะสม
คุณจะต้องมีการเขียนโหนด struct ทุกครั้งที่แทนโหนดเพียง
แต่ด้วย typedef คุณสามารถเพียงแค่ เขียนโหนดทุกครั้งเดียว
ตกลงที่ยังไม่ได้รับ - ใช่ Avica
>> ผู้ชม: ถ้ารากเท่ากับเท่ากับ โมฆะกลับเท็จ
>> เจสัน Hirschhorn: Great และ เป็นกรณีฐานของเรา
บรรทัดถัดไปของรหัส
ใครสักคนที่ไม่ได้ให้ ฉันบรรทัดของรหัสหรือยัง
ใช่
>> ผู้ชม: ลูกศรรากผม เท่ากับเท่ากับฉัน
แล้วกลับจริง
>> เจสัน Hirschhorn: Great
สายต่อไปหรือไม่
ใช่
คนอื่น
แล้วคุณสามารถไปต่อไป
>> ผู้ชม: เพ​​ราะว่าถ้าลูกศรราก i น้อยกว่าฉันกลับ
ฟังก์ชั่นที่เรียกว่าหาราก -
>> เจสัน Hirschhorn: ขออภัย
>> ผู้ชม: ย้อนกลับหาราก จุดไปทางซ้ายจุลภาคฉัน
>> เจสัน Hirschhorn: ดังนั้นถ้า ri สูง กว่าสิ่งที่อยู่บนต้นไม้ที่เราต้องการ
ไปทางซ้ายหรือไม่
>> ผู้ชม: ไม่มีผมว่าเปลี่ยน
>> เจสัน Hirschhorn: คนไหน?
>> ผู้ชม: ไม่มีใช่
ฉันมีน้อยกว่าลงมี
>> เจสัน Hirschhorn: ใช่ถ้าเป็น ri น้อยกว่าสิ่งที่อยู่ในราก -
รากของเราในปัจจุบัน - แล้วเรา ต้องการที่จะไปทางซ้าย
และสิ่งที่บรรทัดสุดท้ายที่คุณ
>> ผู้ชม: โดยทั่วไปสิ่งเดียวกัน ยกเว้นสลับมากกว่าหรือ
เท่ากับน้อยกว่าและจากซ้ายไปขวา
>> เจสัน Hirschhorn: ยอดเยี่ยม
ไม่มีใครมีคำถามใด ๆ เกี่ยวกับเรื่องนี้
ดังนั้นบางสิ่งอื่น ๆ ที่จะ ได้รับที่ถูกต้องคือ
อาจจะ-ltiff
เดาทางเทคนิคไม่มีเหล่านี้ จริงๆยังต้อง-ltiff
>> นอกจากนี้อาจมีเพียง กรณีหนึ่งลงที่นี่
เพื่อที่ว่าอาจเป็นกรณีสุดท้ายของคุณ
คุณไม่จำเป็นต้องที่-ltiff
แต่มันอาจจะดีที่จะเขียน มันต้องมีความชัดเจน
ใช่
>> ผู้ชม: ดังนั้นคุณจึงไม่คิดว่าการตอบคำถาม - ถ้าเราทำผิดพลาดเช่น
ในไวยากรณ์ -
ผิดพลาดทางไวยากรณ์น้อย -
อย่างไรที่ได้รับการดำเนินการในการทดสอบหรือไม่
>> เจสัน Hirschhorn: โดยทั่วไปเกี่ยวกับการตอบคำถาม ขนาดเล็กผิดพลาดทางไวยากรณ์หรือเล็ก
ข้อผิดพลาดแบบไม่สูญเสียคุณจุด
ดังนั้นหากคุณลืมอัฒภาค ที่นี่ก็จะตกลง
หากคุณลืมที่จะปิดวงเล็บนี้ ที่จะตกลง
>> ผิดพลาดทางไวยากรณ์ใหญ่ที่เปลี่ยนแปลง ความหมายของการทำงานของรหัสของคุณ
อย่างมากคุณอาจได้รับ จุดที่ถ่ายออกมา
หรือโดยทั่วไปเพียงแค่การจัดลำดับคุณ หรือไม่ว่าคุณ
ฟังก์ชั่นรหัสแม้ -
การออกแบบที่ไม่มาก และไม่ได้รูปแบบของ
>> ตอนนี้ขอรหัสซ้ำ รุ่นของการค้นพบ
ดังนั้นจึงเป็นไปได้สวยเหมือนกัน แต่ มีแน่นอนจะเป็น
บางส่วนแตกต่างที่สำคัญ
แต่ pseudocode ของเรา อาจจะสามารถไป -
เรายังสามารถใช้เวลาหนึ่งบรรทัดของ pseudocode และตัวเลขที่ออกว่า
สายที่อยู่ในกรณีนี้
>> ดังนั้นในรุ่นย้ำสิ่งที่ ที่คุณคิดว่าจูเลียควร
เป็นบรรทัดแรกหรือไม่
>> ผู้ชม: อีกครั้งในแบบบูลซ้ำ คุณต้องตั้งค่าสำหรับวงใช่ไหม
>> เจสัน Hirschhorn: OK
>> ผู้ชม: ดังนั้นสำหรับเช่น k สำหรับ x เท่ากับ 0 x น้อยกว่าฉัน
หรือไม่มีเลย x น้อยกว่า ขนาดของต้นไม้
>> เจสัน Hirschhorn: ต้นไม้
ดังนั้นเราจึงไม่ทราบจริงๆขนาดของ ต้นไม้และเราไม่ได้จริงๆทราบ
กี่ครั้งที่เราสามารถไปดังนั้นสิ่งที่เป็น ประเภทที่แตกต่างกันของวงที่อาจจะมี
ที่ดีขึ้นในกรณีนี้
>> ผู้ชม: ถ้าอื่น
>> เจสัน Hirschhorn: ถ้าอื่น ไม่สามารถเป็นห่วง
ดังนั้นสิ่งที่ประเภทของวงที่เราสามารถทำได้เพียงแค่ ไปจนถึงบางกรณีจะพบ?
สิ่งที่เป็นเพียงชนิดอื่น ๆ ของวง ใน C นอกจากนี้สำหรับวง?
>> ผู้ชม: ในขณะที่
>> เจสัน Hirschhorn: ในขณะที่ตรง
ในวงในขณะที่ทำไม่ได้ จำเป็นต้องรู้ว่า -
วงในขณะที่และสำหรับวงที่สามารถทำ สิ่งเดียวที่แน่นอน แต่สิ่งที่ดี
เกี่ยวกับวงในขณะที่เราไม่จำเป็นต้อง ที่จะรู้ว่าต้นไม้ขนาดใหญ่ของเรา
ดังนั้นเรากำลังจะไปจนกว่าจะมีอะไร
>> ผู้ชม: จนกว่าจะเท่ากับ ขนาดของ -
>> เจสัน Hirschhorn: ดีก็มาก คล้ายกับกรณีของเราซ้ำ
ดังนั้น -
>> ผู้ชม: ในขณะที่ราก ฉันไม่ฉันไม่เท่ากัน
>> เจสัน Hirschhorn: นั่นอย่างใกล้ชิดจริงๆ
ในขณะที่รากผม -
ลองมัน
ฉันไม่คิดว่า [ไม่ได้ยิน]
ที่ฉันไม่รากผมไม่เท่ากัน
เราอาจจะต้องเปลี่ยนน้อย bit แต่ที่เสียงเหมือนก็สวย
ที่ดีสำหรับตอนนี้
ดังนั้นเราจะทำอย่างนั้น
>> ยังจำได้เราไม่สามารถคิด ต่อคำถาม
คุณไม่คิดว่า รากจะไม่ใช่ค่า
ดังนั้นสิ่งที่คุณคิดว่ามาก สิ่งแรกที่เราควรจะทำคืออะไร
>> ผู้ชม: เพ​​ียงแค่ทำเช่นเดียวกัน สิ่งที่เป็นก่อน
ถ้ารากเท่ากับเท่ากับ โมฆะกลับเท็จ
>> เจสัน Hirschhorn: Great
ดังนั้นมันอาจจะเป็นโมฆะ
ดังนั้นเราจึงต้องการที่จะได้รับการกำจัด ของได้ทันที
และจากนั้นเราจะตรวจสอบถ้า รากผมไม่ได้ผมเท่ากับ
ดังนั้นบอกว่าเรากำลังค้นหาในต้นไม้ต้นนี้ 3 รากผมไม่ได้เท่ากับที่ฉันตอนนี้
เราอยู่ในวงในขณะที่ของเรา
สิ่งที่เราต้องการจะทำอย่างไร
และอีกครั้งก็เป็นไปได้สวย คล้ายกับรุ่นของเราซ้ำ
ใช่
>> ผู้ชม: ดังนั้นคุณจึงต้องการที่จะย้ำหรือ ให้ไปลงต้นไม้ตราบใดที่
รากไม่เท่ากับโมฆะ
>> เจสัน Hirschhorn: ตราบเท่าที่ รากไม่เท่ากับโมฆะ?
>> ผู้ชม: รีบรากผม ไม่เท่ากับโมฆะ
เพียงรากใช่
ในฐานะที่เป็นเวลานานเป็นราก ไม่เท่ากับโมฆะ
>> เจสัน Hirschhorn: ดังนั้นคุณจึงต้องการ การเปลี่ยนแปลงนี้เป็นราก
ไม่ว่างไม่เท่ากัน
>> ผู้ชม: ใช่
>> ผู้ชม: เราสามารถรวม เหล่านี้ใช่มั้ย
เราไม่จำเป็นต้องถ้าต้น
>> เจสัน Hirschhorn: ตกลงดังนั้นหากเราห้าม -
ถ้าเรารวมพวกเขาดังนั้นเรากำลังจะทำ ในขณะที่รากไม่ null ไม่เท่ากันและ
ถ้ารากที่เกิดขึ้นกับที่เป็นโมฆะ การเริ่มต้นทำในสิ่งที่เราทำลงที่นี่?
>> ผู้ชม: กลับเท็จ
>> เจสัน Hirschhorn: Great
ดังนั้นทั้งสองวิธีอาจ จะได้ทำงาน
นี้เป็นวิธีที่แตกต่างกัน และรวมมัน
แต่อีกครั้งถ้าคุณไม่ได้ทำอย่างใดเรา ไม่ได้จะใช้เวลาปิดการออกแบบ
จุดบนทดสอบ
แต่นี้ดูดี
>> ดังนั้นในขณะที่รากไม่เท่ากับ null สิ่งที่เป็นครั้งแรกที่
สิ่งที่เราต้องการที่จะตรวจสอบ
คนอื่น?
Null สิ่งที่เป็นสิ่งแรกที่?
>> ผู้ชม: ถ้า ri น้อยกว่า -
โอ้ผมคิดว่าถ้าเราอยู่แล้ว พบว่าในราก
ดังนั้นหากลูกศรรากผมเท่ากับ i -
>> เจสัน Hirschhorn: ขอโทษ?
>> ผู้ชม: ถ้าลูกศรราก i เท่ากับเท่ากับ i -
>> เจสัน Hirschhorn: สิ่งใดที่เราจะทำอย่างไร
>> ผู้ชม: กลับจริง
>> เจสัน Hirschhorn: Great
และสิ่งที่ต่อไปหรือไม่
เจฟฟ์สิ่งที่บรรทัดถัดไปของรหัส?
>> ผู้ชม: ถ้าฉันมีค่าน้อยกว่าลูกศรราก i แล้วรากเท่ากับลูกศรซ้ายราก
>> เจสัน Hirschhorn: รากเท่ากับ ลูกศรซ้ายราก
เพื่อที่อาจจะใหญ่ที่สุด ความแตกต่างที่นี่ในการทบทวนนี้
รุ่นตรงข้ามกับ รุ่นซ้ำ
รุ่น recursive เรา เรียกใช้ฟังก์ชันอีกครั้ง
เราจะปรับปรุงรากเมื่อ ที่เราเรียกว่าฟังก์ชั่นใหม่
ที่นี่เราไม่ได้เรียกฟังก์ชั่นใหม่
เราเพียงแค่การปรับปรุง รากในการทำงานนี้
ที่ยอดเยี่ยม
และสิ่งที่เป็นบรรทัดสุดท้ายของรหัส?
ใช่มาริโอ?
>> ผู้ชม: เท่ากับรากอื่น ลูกศรขวาราก
>> เจสัน Hirschhorn: ขอโทษ?
>> เท่ากับราก: AUDIENCE ลูกศรขวาราก
>> เจสัน Hirschhorn: คุณสามารถยัง เขียนอะไรเช่นนี้
>> ผู้ชม: ฉันมีความคิด
>> เจสัน Hirschhorn: คุณไม่สามารถ
คุณไม่สามารถทำเท่ากับบวก
ตกลงดังนั้นนี้ดูดี
ทำไมเราไม่ทำเพียงแค่ว่า ในการทำความสะอาดขึ้น
นี้มีลักษณะที่ดีและนี้จะทำงาน
และเราจะแบ่งออก
>> ถ้าซ้ายรากเป็นโมฆะหรือรากที่เหมาะสม เป็นโมฆะเราจะมาที่นี่
รากจะเท่ากับ null
เราต้องการแยกออกจากวงของเรา และเราต้องการกลับเท็จ
ดังนั้นเมื่อเราแยกออกจาก ห่วงเรากลับเท็จ
>> และอีกครั้งในขณะที่วงเป็นที่สมบูรณ์แบบ ที่นี่เพราะเราไม่ทราบว่า
ต้นไม้ใหญ่คือ
เราพยายามที่จะเขียนสำหรับวง แต่เรา ตระหนักถึงคุณได้มีการคิดออกว่า
ใหญ่มันเป็นก่อนเวลา
ใช่
>> ผู้ชม: หากครั้งนี้มีไม่ไบนารี ต้นไม้ค้นหาก็จะเป็นจริงคณิตศาสตร์-y
จะเขียนซ้ำใช่ไหม
เช่นถ้ามันเป็นต้นไม้ แต่ไม่จำเป็นต้อง -
ดังนั้นจึงไม่ได้ทั้งหมดที่มีขนาดเล็กทางด้านซ้าย และใหญ่กว่าด้านขวา
มันจะเป็นเรื่องยากจริงๆ เพื่อย้ำมากกว่านั้นใช่มั้ย
เราจะมีการบันทึกสิ่งที่เป็นก่อนหน้านี้ ในต้นไม้และกลับไป
และสิ่งที่ต้องการที่
>> เจสัน Hirschhorn: ถ้ามันไม่ได้ไบนารี ต้นไม้ค้นหาถ้ามันเป็นเพียงแค่
ต้นไม้และสิ่งที่ไม่ เรียงลำดับเช่นนี้ -
และเรารู้ว่าก่อนหน้านี้เมื่อแอนนา ก็ช่วยให้เราที่ทำให้
เรียงลำดับช่วยให้เราได้มาก -
เราจะต้องใช่เสมอบันทึก ที่เราก่อนหน้านี้
แต่อาจมีจำนวนมาก ที่เรา previouslys
อาจจะมีจำนวนมากของโหนดแม่
>> น่าจะเป็นวิธีที่ดีที่สุดที่จะทำที่จะ จะมีการผลักดันให้เข้าสู่สิ่งบางอย่าง
ชนิดของสแต็คหรือคิว
คุณจะไม่ต้องรหัสนี้ เพราะมันเป็นปัญหาที่ยาก
แต่คุณผลักดันบางสิ่งบางอย่างลงบนสแต็ค หรือคิวแล้ว pop พวกเขาออกและ
แล้วประเมินพวกเขา
>> แล้วมีบางสิ่งอื่น ๆ ที่ คุณใส่จริงโหนดและ
แล้วสร้างที่แล้ว ค้นหาผ่านที่
ที่อาจจะมีวิธีที่ดีที่สุดที่จะทำมัน
ตกลงคำถามใด ๆ เกี่ยวกับปัญหานี้หรือไม่
>> ผู้ชม: นี้อยู่ในบันทึกที่เกี่ยวข้อง
เราจะต้องเปรียบเทียบเวลาการทำงาน สำหรับตารางกัญชาไบนารี
ต้นไม้การค้นหาและอื่น ๆ ?
>> เจสัน Hirschhorn: น่าจะเป็น
ดังนั้นลองทำอย่างรวดเร็วจริงๆ
ใช้เวลาสำหรับตารางแฮช -
สิ่งที่คนอื่นมีอะไรบ้าง
Binary ต้นไม้
>> ผู้ชม: รายการลิงค์
>> เจสัน Hirschhorn: ตกลงให้ทำแทรก
เป็นโอใหญ่ของการแทรกสิ่งที่ ในตารางแฮช?
สิ่งที่เป็นสมมติฐาน คุณกำลังทำ?
>> ผู้ชม: คุณใส่ที่ จุดเริ่มต้นของรายการการเชื่อมโยง
>> เจสัน Hirschhorn: อาจเป็นครั้งแรก สมมติฐานที่จะไม่มีการชนกัน
ถ้าไม่มีการชนกันแล้ว เวลาแทรกเป็นหนึ่งใน
หากมีการชนกันและคุณ ทำผูกมัดที่แยกต่างหากและใส่
ที่จุดเริ่มต้นของรายการการเชื่อมโยง แล้วแทรกยังเป็นค่าคงที่
>> หากคุณทำตารางแฮช แต่คุณ มีวิธีที่แตกต่างของการจัดการ
ด้วยการชนสิ่งที่ วิธีการที่แตกต่างกัน
อะไรเป็นวิธีที่แตกต่างกัน ในการจัดการกับ
การปะทะกันในตารางแฮช?
>> ผู้ชม: โปรแกรมเชิงเส้น
>> เจสัน Hirschhorn: โปรแกรมเชิงเส้น
ดังนั้นเราจะให้มอง สำหรับจุดที่เปิดถัดไป
ที่ไม่ได้แทรกเวลาคงที่
คุณอาจจะต้องไปผ่าน ทั้งตารางเพื่อให้
อาจจะโอใหญ่ของ n
ใช่
>> ผู้ชม: มิฉะนั้นเพียงแค่ผูกมัด?
>> เจสัน Hirschhorn: เราได้ ผูกมัดแยก
ที่เป็นคนแรก
นั่นคือสิ่งที่รายการเชื่อมโยง
ชื่อแฟนซีเป็นผูกมัดแยก
มันอาจจะเป็นประเภทของโครงสร้างรายการใด ๆ เราเกิดขึ้นจะทำอย่างไรในรายการการเชื่อมโยง
>> ดังนั้นอีกครั้งแทรกในตารางแฮช อาจจะเป็นเวลาคงที่
สิ่งที่เกี่ยวกับการแทรก ในคิวทับซ้อนหรือไม่
>> ผู้ชม: ไม่ว่าคง
>> เจสัน Hirschhorn: มันถึงเวลาที่คงที่
คุณเพียงแค่ผลักดันมันใน
ตกลง
แทรกสิ่งที่คนอื่น ๆ ได้หรือไม่
ลอง?
O ใหญ่ของการแทรกลองคืออะไร
>> ผู้ชม: ความยาวเป็นค่าคงที่
ความยาวของที่ยาวที่สุด -
ความยาวของคำ คุณกำลังใส่
>> เจสัน Hirschhorn: ขอโทษ?
รอดังนั้นสิ่งที่ฉันไม่ได้ยินหรือ
คุณบอกว่า - สิ่งที่คุณพูด
สิ่งที่เป็นคำตอบมาร์คัสของคุณหรือไม่
>> ผู้ชม: ความยาวของคำ คุณใส่ในตัวละคร
สมมติว่ามันเป็นความพยายามของตัวละคร
>> เจสัน Hirschhorn: OK ดังนั้น ความยาวของคำ
เราจะทำให้สมมติฐานที่ เป็นสายอักขระ
คุณพูดอะไรบางอย่างที่แตกต่างกัน แต่
คุณกล่าวว่าความยาวของคำที่ยาวที่สุด
>> ผู้ชม: นั่นคงเป็นเพียงขวา
>> เจสัน Hirschhorn: ทำไม มันเป็นค่าคงที่?
>> ผู้ชม: เช่นถ้าคุณใช้ O ใหญ่ สัญกรณ์แล้วก็ไม่ได้แตกต่างกันตาม
กับจำนวนของสิ่งที่ มีอยู่แล้วในความพยายาม
>> เจสัน Hirschhorn: ดังนั้นเราจะ บอกว่ามันถึงเวลาที่คงที่
มันเป็นแทรกคงที่และ ว่าเป็นเพราะความคิดนี้ -
บอกว่าเรามีคำที่ 45, หรือคำที่ 60, ว่า
มีจำนวนคงที่
และมันก็จะถูกแทรก ในเวลาคงที่
>> ในทางปฏิบัติ แต่ก็ไม่ได้จะเป็น เห็นได้ชัดว่าเกิดขึ้นในหนึ่งมิลลิวินาที,
เช่น
แต่เราจะบอกว่าโอใหญ่คือ คงที่สำหรับลอง
และนั่นคือหนึ่งใน ประโยชน์ที่ใหญ่ที่สุด
>> สิ่งที่เกี่ยวกับการแทรกลงในรายการการเชื่อมโยงหรือไม่
เพียงทั่วไปเรียงลำดับรายการลิงก์
ใช่
>> ผู้ชม: ผมมีคำถาม
ในการทดสอบจะที่พวกเขาเคยขอให้เรา เวลาแทรกที่สี่ขั้นตอน
หรืออะไร?
หรือจะเป็นเพียง -
เมื่อคุณพูดแทรกเป็นระยะเวลาหนึ่ง ที่เพียงแค่หมายความว่าเวลาคงที่?
>> เจสัน Hirschhorn: ใช่พวกเขาจะ มักจะถามมันเป็นเรื่องใหญ่ของ O n?
O ใหญ่ของบันทึก n?
ยังไม่มียกกำลังอย่างต่อเนื่อง
เหล่านี้จริงๆเท่านั้น คนที่คุณจำเป็นต้องรู้
สิ่งที่เกี่ยวกับการแทรกลงใน รายชื่อเรียงลำดับการเชื่อมโยง?
>> ผู้ชม: ผมมีคำถาม -
คำถาม -
>> เจสัน Hirschhorn: คำตอบคืออะไร สำหรับคำถามที่ว่า?
>> ผู้ชม: รอสิ่งที่คุณถาม
>> เจสัน Hirschhorn: เป็นโอขนาดใหญ่ของสิ่งที่ แทรกลงในรายการการเชื่อมโยงเรียงลำดับ?
>> ผู้ชม: หนึ่ง?
ไม่รอไม่รอ n
>> เจสัน Hirschhorn: N. นอกจากนี้ รายการการเชื่อมโยง
และสิ่งที่เป็นคำถามของคุณหรือไม่
>> ผู้ชม: ดังนั้นคุณจะเขียน o ของ k หรือ o ของ 1 -
>> เจสัน Hirschhorn: โอ้
ผมจะเขียน o 1, อาจ
มีโครงสร้างข้อมูลที่คนอื่น ๆ เป็น ที่จะได้รับที่ดี
ต้นไม้ต้นไม้ค้นหาแบบไบนารี
แทรกอะไรเกี่ยวกับ ต้นไม้ค้นหา binary?
>> ผู้ชม: เข้าสู่ระบบ
>> เจสัน Hirschhorn: ดังนั้นสิ่งที่เป็นที่เลวร้ายที่สุด ในกรณีที่ต้นไม้ค้นหาไบนารี?
ดังนั้นถ้าเราเกิดขึ้นในการเริ่มต้นที่ 5, และทุก จำนวนมากกว่า 5 แล้ว
เรามี 5, 7, 9, 11, และอื่น ๆ
ในกรณีนี้ก็เพียงพื้นลิงค์ รายการและเราต้องใส่ทั้งหมด
วิธีที่สิ้นสุด
ดังนั้นจึงเป็นโอใหญ่ของ n
>> นั่นอาจจะเป็นกรณีที่เลวร้ายที่สุดของเรา บนต้นไม้ค้นหาไบนารี
เห็นได้ชัดว่าคุณจะไม่สร้าง ต้นไม้ค้นหาไบนารี 5 ใน
กลาง 5 จะรู้ เป็นตัวเลขที่ต่ำที่สุด
แต่มันอาจจะถ้าคุณ เริ่มต้นจากรอยขีดข่วน
คำถามใด ๆ เกี่ยวกับเรื่องนี้ก่อนที่ผมจะ ย้ายไปยังคำถามอื่นได้หรือไม่
นั่นเป็นคำถามที่ดี
ผมจะได้รู้ว่าโอใหญ่ -
>> ผู้ชม: สิ่งที่เกี่ยวกับการค้นหา สำหรับผู้ที่สี่
>> เจสัน Hirschhorn: แน่นอนเรา ไม่ค้นหาและการเรียงลำดับ
เราทำขั้นตอนวิธีการทั้งหมดที่ถูกต้อง
รอเป็นแบบทดสอบที่ 1?
ที่ถูกปกคลุมไปด้วย -
ไม่คุณมีอยู่แล้วว่า คำถามในแบบทดสอบ 1?
O runtime ใหญ่ของการค้นหาแบบไบนารี จัดเรียงแทรกเรียงลำดับฟอง
>> ผู้ชม: ใช่
>> เจสัน Hirschhorn: ถ้าคุณมีที่ คำถามในแบบทดสอบ 0 ราคาที่คุณจะไม่
ได้รับคำถามที่แน่นอนเดียวกันในแบบทดสอบ 1
อาจจะยังคงดีที่จะรู้เหล่านั้น
หวังว่าคุณควรจะรู้ว่า GH แล้ว
>> แต่ runtimes ลอการิทึมอื่น ๆ อาจจะดีที่จะรู้
สิ่งที่ไม่ได้ครอบคลุมในแบบทดสอบ 0
เช่นเดียวกับผู้ประกอบการเหล่านี้ทั้งหมด ชนิดข้อมูลนามธรรมเหล่านี้
>> ตกลงขอย้ายไป
หนึ่งนี้ควรจะเป็นอย่างรวดเร็วสวย
และนี้เป็นภาษาใหม่ที่เรายังไม่ได้ เขียนจริงก่อน
นี่คือการถามคำถาม รหัสใน PHP
เพื่อพิจารณาอาร์เรย์ PHP ด้านล่าง
เขียน PHP และ / หรือ HTML รหัสดังกล่าวว่า ผลตารางแบบสองคอลัมน์ที่มี TFs
ชื่อและที่บ้าน
>> คุณไม่เคยทำเช่นนี้มาก่อน ปัญหานี้เท่านั้น
แต่นี้ควรจะคุ้นเคยกับ สิ่งที่คุณได้ในปัญหาการตั้งค่า 7
ดังนั้นผมจะยินดีที่จะเดิมพันคุณจะ ขอให้รหัสอะไรใน PHP ที่
จะคล้ายกับสิ่งที่คุณ ไม่ปัญหาในการตั้งค่า 7
>> ประการแรกอาร์เรย์ที่ไม่เฉพาะเจาะจง
ชนิดของอาร์เรย์นี้คืออะไร
>> ผู้ชม: อยู่ร่วม
>> เจสัน Hirschhorn: มันเป็น อาเรย์
และสิ่งที่แตกต่างระหว่าง อาเรย์และวัตถุ?
>> ผู้ชม: อาร์เรย์วัตถุมีดัชนี ของจำนวนเต็มและอาเรย์
เป็นดัชนีของสตริง, หรือสิ่งที่ต้องการ
>> เจสัน Hirschhorn: ดังนั้นอาร์เรย์ของ วัตถุจะมีดัชนีของ
จำนวนเต็ม แต่วัตถุที่มีเขตข้อมูล
แต่ก็มีผู้ที่ชื่อเขตข้อมูลเช่น ชื่อบ้านนักเรียน
คุณมีความคิดหรือไม่
>> ผู้ชม: ดีเชื่อมโยง อาร์เรย์ใน PHP ใช่ไหม
และวัตถุใน JavaScript?
>> เจสัน Hirschhorn: สุจริตไม่มี ความแตกต่างที่แท้จริงระหว่างคนทั้งสอง
ทั้งสองมีสายเป็นคีย์และสามารถ มีอะไรที่เป็นค่าโดยทั่วไป
ภาษาที่แตกต่างกันอย่างใดอย่างหนึ่งเรียก สิ่งที่อาเรย์,
สิ่งหนึ่งที่วัตถุ
ดังนั้นตรงไปตรงมาไม่มีจริง แตกต่างกัน แต่มีบางอย่างแน่นอน
ความแตกต่างกับการสร้างประโยค ระหว่างคนทั้งสอง
ใช่
>> ผู้ชม: ดังนั้นวัตถุที่ยังอยู่ภายใต้รหัส เครื่องดูดควันเป็นตารางแฮชแล้ว?
>> เจสัน Hirschhorn: สิ่งที่คุณ หมายถึงรหัสภายใต้ประทุนหรือไม่
>> ผู้ชม: เราบอกว่าเชื่อมโยง อาร์เรย์เป็นเทคนิค
ตารางแฮช
ดังนั้นยังเป็นวัตถุในทางเทคนิค ตารางแฮช?
>> เจสัน Hirschhorn: ฉันจะไม่ ที่จะตอบคำถามว่า
ฉันจะได้รับกลับมาให้คุณกับที่
แต่ผมจะไม่คิดว่าของอย่างใดอย่างหนึ่ง ของผู้ที่ต้องการที่
แต่ในทางใดทางหนึ่งและอาเรย์ วัตถุโดยทั่วไปคนใช้เหล่านั้น
เงื่อนไขการใช้สลับกัน
ในกรณีนี้ส่วนหนึ่งเย็น คือคุณสามารถใช้ปุ่ม
สตริงเป็นคีย์มากกว่า ตัวเลขง่ายๆเพียง
>> ดังนั้นผมจึงได้รับการพูดถึง นี้สำหรับสักครู่
หวังว่าบางคนมี อากาศเริ่มต้นเกี่ยวกับเรื่องนี้
เรากำลังจะเขียน PHP และ HTML บาง รหัสดังกล่าวที่เราได้รับสองคอลัมน์
ตารางที่มีชื่อ TFs และบ้าน
>> ตกลงฉันยังต้องการส่วนหัว แถวบนโต๊ะนี้
ดังนั้นฉันจะได้รับตรง ในนี้
เรากำลังจะไปยื่นใหม่ และเรากำลังจะไป -
>> ตกลง
ฉันจะเริ่มต้นตารางได้อย่างไร
สิ่งที่แท็ก, ไมเคิล ที่จะเริ่มต้นตารางได้หรือไม่
>> ผู้ชม: ตารางที่
>> เจสัน Hirschhorn ตาราง
และถ้าผมเปิดแท็กเป็นสิ่งที่ อื่นฉันจะต้อง
>> ผู้ชม: หัว?
หรือผมคิดว่าชั้น
>> เจสัน Hirschhorn: ดังนั้นขอโทษ
สมมติว่าเราได้เขียนแล้ว doctab, HTML, ทุกสิ่งที่
แต่ถ้าฉันเปิดแท็กตารางนี้สิ่งที่ อื่นฉันจะต้องเขียน
เพื่อตรวจสอบ HTML ได้ไหม?
>> ผู้ชม: ปิดมัน
>> เจสัน Hirschhorn: ปิดแท็ก
ฉันจะเขียนแท็กปิดตารางได้อย่างไร
>> ผู้ชม: Dot ตารางเฉือน
>> เจสัน Hirschhorn: ตาราง Slash ดี
อาจจะทำให้ความรู้สึกที่จะเขียนทั้ง ของผู้ที่ร่วมกันเพราะ
คุณได้มีการทำมัน
ตกลงถ้าผมต้องการที่แถวส่วนหัวอย่างไร ฉันเขียนแถวส่วนหัวที่มีชื่อ?
>> ผู้ชม: มันน้อย กว่า 10 ชั่วโมงใกล้ -
TR ใช่
>> เจสัน Hirschhorn: TR?
>> ผู้ชม: แล้วสิ่งเดียวกัน เฉือนใช่
>> เจสัน Hirschhorn: ตกลง ให้ฉันสองคอลัมน์
>> ผู้ชม: T D?
>> เจสัน Hirschhorn: OK
ฉันต้องการสองคอลัมน์
นี้จะให้ฉันสองคอลัมน์?
จำนวนคอลัมน์นี้คืออะไร
หนึ่ง
จึงขอคัดลอกและวางนี้
>> ดังนั้นจริงในการทดสอบโค้ดทั้งหมดนี้ ที่เราได้เขียนเพื่อให้ห่างไกลเป็น
ได้รับจริงกับคุณ
แต่คุณควรอาจจะยัง รู้วิธีการเขียนมัน
ใช่
>> ผู้ชม: บ้านของคุณ อยู่ระหว่างทั้งสอง
>> เจสัน Hirschhorn: Boom
มันควรจะไปอยู่ที่นั่นใช่ไหม
โทรดี
ดังนั้นอีกครั้งรหัสทั้งหมดนี้เป็นจริง ให้กับคุณในการทดสอบที่เกิดขึ้นจริง
แต่ก็สนุกที่จะเขียนมันและคุณ ควรรู้วิธีการเขียน
ดังนั้นนี่คือที่ที่คุณต้องการ ที่จะเริ่มต้นรหัสของคุณ
เราทำในสิ่งที่จำเป็นต้องเขียนที่นี่?
>> ขอโทษนะฉันต้องเปลี่ยน ชื่อของไฟล์นี้
ดังนั้นเราบันทึกไว้ในไฟล์ HTML. ไม่ได้อยู่ในไฟล์ PHP.
สิ่งเหล่านี้จะไม่มีความหมายอะไร ในไฟล์ PHP.
ดังนั้นเราจึงอยู่ในไฟล์ HTML.
เป็นสิ่งแรกที่สิ่งที่ ฉันต้องการที่จะเขียน
ผมต้องการที่จะนำบางส่วน PHP รหัสใน HTML
>> ผู้ชม: PHP, เช่นแครอทอื่น และเครื่องหมายคำถาม PHP ใช่ไหม
>> เจสัน Hirschhorn: Great
และฉันไม่จบวิธีที่
>> ผู้ชม: ด้วยเครื่องหมายคำถาม
>> เจสัน Hirschhorn: ที่ดี
นั่นคือสิ่งแรกที่ฉันต้องการหากฉันต้องการ จะนำบางโค้ด PHP ในที่นี่
>> ผู้ชม:. ผมคิดว่า PHP ไฟล์อาจจะใช้ HTML
>> เจสัน Hirschhorn: ใช่
. ไฟล์ PHP สามารถใช้ HTML และจะแสดง
ที่ดีของฉัน
ผมเพียงแค่พยายามที่จะเลียนแบบ สิ่งที่มันเป็นในการตอบคำถาม
>> ตกลงเสียใจที่สับสนคุณ
ใช่ practice.HTML
ตอนนี้เรากำลังจะใส่ บางโค้ด PHP ค่ะ
คือสิ่งที่บรรทัดแรกของ โค้ด PHP ฉันควรเขียน
ฉันจะไปผ่านแถวนี้ และทำให้มันกลายเป็นตาราง
ใช่
>> ผู้ชม: คุณสามารถใช้อย่างใดอย่างหนึ่ง สำหรับ H ห่วงหรือสำหรับวง
>> เจสัน Hirschhorn: ตกลงสิ่งที่ คุณต้องการที่จะใช้งานหรือไม่
>> ผู้ชม: ฉันจะใช้สำหรับวง
สำหรับและจากนั้นคุณทำเครื่องหมายดอลลาร์ i เท่ากับ 0 อัฒภาคดอลลาร์
ฉันลงน้อยกว่า 2
แล้วอัฒภาคดอลลาร์ฉัน ลงฉันบวกบวก
>> เจสัน Hirschhorn: วิธีทำ คุณรู้ว่าจะใช้ 2?
>> ผู้ชม: เพ​​ราะมีอยู่สอง อาร์เรย์เชื่อมโยงภายในที่ใหญ่กว่า
อาเรย์
>> เจสัน Hirschhorn: ดังนั้นสิ่งที่ยิ่งใหญ่ของ ไม่เชื่อมโยงอาร์เรย์
สิ่งที่ใหญ่เป็นเพียงอาร์เรย์ปกติ
แต่คุณต้องมี สอง arrays สมาคม
ภายในอาร์เรย์ขนาดใหญ่ของเรา
นั่นเป็นเหตุผลที่คุณใช้สอง
ผมรู้สึกอึดอัดสมมติว่า พวกเขากำลัง 2 ดังนั้นสิ่งที่เป็นวิธีที่จะเขียน
นี้โดยสมมติว่าพวกเขากำลัง 2?
>> ผู้ชม: [ไม่ได้ยิน]?
>> เจสัน Hirschhorn: ตกลงว่า คุณเขียนว่า?
>> ผู้ชม: Foreach เครื่องหมายดอลลาร์ TFS หรือชอบเครื่องหมายดอลลาร์ tf
>> เจสัน Hirschhorn: OK ดังนั้นสำหรับแต่ละ TFS เป็น TFS ฉันต้องการตอนนี้
อีกครั้งมีตารางของฉัน
ดังนั้นผู้ที่สามารถให้ฉัน บรรทัดถัดไปของรหัส?
>> ผู้ชม: พิมพ์แล้วใน ใบเสนอราคาสิ้นสุดวงเล็บ tr
ยึดปลายใบเสนอราคา
วงเล็บท้ายอัฒภาค
>> เจสัน Hirschhorn: ตกลง สิ่งที่ว่าจะทำอย่างไร
>> ผู้ชม: มันจะบอกว่าแถวใหม่
มันจะใส่ แท็กเป็นแถวใหม่
>> เจสัน Hirschhorn ขวา, PHP นี้เช่น เราได้พูดคุยเกี่ยวกับก่อนหน้านี้ - นี้
PHP จะได้รับการประเมินแล้ว ก็จะพิมพ์ลงในแฟ้มนี้
พ่วงตารางแล้วว่า HTML จะมีการประเมิน
เราเพียงแค่การคัดลอกนี้ HTML เรามีที่นี่
ใช่
>> ผู้ชม: [ไม่ได้ยิน]?
>> เจสัน Hirschhorn: ขอโทษ?
มันเป็นที่นี่
ตก 2012
ไม่ได้ดูที่คำตอบ ขอแก้มันด้วยกัน
ดังนั้นเราพิมพ์แถวของตาราง
ดังนั้นคุณอาจจะอยู่ใน แกว่งในสิ่งที่
สิ่งที่บรรทัดถัดไปของ รหัสที่เราต้องเขียน
อัสสัมให้ฉันบรรทัดถัดไปของรหัส
>> ผู้ชม: คุณจำเป็นต้องมีชื่อของ tf
เปิดเครื่องหมายคำพูด tf วงเล็บ ชื่อวงเล็บปิด
>> เจสัน Hirschhorn ให้ฉันชื่อของพวกเขา
>> ผู้ชม: คุณต้องพิมพ์ว่า
>> [VOICES interposing]
>> เจสัน Hirschhorn: ตกลง ฉันจะพิมพ์หรือไม่
>> [VOICES interposing]
>> เจสัน Hirschhorn: ฉันหายไป บางสิ่งบางอย่างในขณะนี้
สิ่งที่ฉันหายไป?
>> ผู้ชม: คุณจำเป็นต้องมีเครื่องหมายดอลลาร์
>> เจสัน Hirschhorn: อะไร อื่นฉันหายไป?
ทั้งหมดที่เราได้พิมพ์จนถึงเป็น tr
>> ผู้ชม: ปิด tr หลังจากที่มัน
>> เจสัน Hirschhorn: ดังนั้นเราจึงจำเป็น เพื่อปิด tr หลังจาก
คนที่เห็นสิ่งที่เรากำลังขาดหายไป ในบรรทัดที่ 16?
ใช่แอนนา
>> ผู้ชม: คุณจำเป็นต้องเปิด TD และวงเล็บปีกกา
>> เจสัน Hirschhorn: และสถานที่ที่ เราจะใส่วงเล็บปีกกา?
>> ผู้ชม: รอบชื่อ tf
>> เจสัน Hirschhorn: แบบนี้?
>> ผู้ชม: ใช่
และจากนั้นปิด TD
>> เจสัน Hirschhorn: เช่นเดียวกับที่
>> ผู้ชม: คุณต้องการอัญประกาศคู่ ถัดจากเครื่องหมายวงเล็บปีกกา?
>> เจสัน Hirschhorn: ที่นี่?
ไม่มีคุณไม่ได้
เพื่อให้ตรงขวา
ใช่
>> ผู้ชม: ดังนั้นความแตกต่างระหว่างที่ และ encatenating มีจุดคือถ้า
คุณใช้จุดที่คุณจะต้องมี เครื่องหมายอัญประกาศคู่แล้วจุด,
แล้วจุด -
>> เจสัน Hirschhorn: ที่ถูกต้อง
ดังนั้นคุณกำลังจะบอกว่ามีสูงสุด วิธีการเขียนเช่นนี้ว่า
สิ่งที่ผู้ประกอบการ concatenation ใน JavaScript?
>> ผู้ชม: เครื่องหมายบวก
คุณลืมที่จะใส่ หยิกกลับรั้ง
>> เจสัน Hirschhorn: Great
และมีหนึ่งบรรทัดมากขึ้น ของที่หายไปรหัส
ที่สามารถให้ฉันบรรทัดสุดท้าย ของรหัสที่เรากำลังขาดหายไป
>> ผู้ชม: เพ​​ียงแค่สิ่งเดียวที่แน่นอน เพียงกับบ้านแทนชื่อ
ยิ่งใหญ่
>> เจสัน Hirschhorn: Great
และไวยากรณ์ของคุณเป็นสิ่งที่เหมาะสมสำหรับ ได้รับสิ่งที่ในอาร์เรย์ร่วม
ดังนั้นในการทดสอบที่เกิดขึ้นจริงคุณจะ รับจริงจนถึงที่นี่
ดังนั้นรหัสนี้ถูกมอบให้กับคุณ
สิ่งที่คุณต้องเขียนเหล่านี้ได้ สี่สายและอย่าลืม
ปิดแท็กตาราง
พวกคุณไม่จริง ทุกที่และมากขึ้น
ใช่
>> ผู้ชม: ดังนั้นมันจะทำงาน เดียวกันถ้าคุณเพียงแค่มีที่ทั้งหมดใน
หนึ่งสายพิมพ์ใหญ่ใช่ไหม
แล้วตัดแบ่งเพียง มัน, และอื่น ๆ ?
>> เจสัน Hirschhorn: เช่นเดียวกับที่
>> ผู้ชม: ใช่
มันก็จะดูไม่ดีถ้าคุณมี มองมันเมื่อคุณกำลังตรวจสอบ
องค์ประกอบในเว็บไซต์ของคุณใช่ไหม
>> เจสัน Hirschhorn: ผมเห็นด้วย
ถ้าผมโหลดหน้าเว็บนี้ผมจะเป็น สามารถดูโค้ด PHP นี้เคย
>> ผู้ชม: เลขที่
>> เจสัน Hirschhorn: เลขที่
และที่จริงผมจะไม่ได้
>> ผู้ชม: นี้ไม่ได้ HTML ใช่ไหม
ดังนั้นคุณอาจจะสามารถ -
>> เจสัน Hirschhorn: ดังนั้น PHP นี้จะ ได้รับการประเมินด้านเซิร์ฟเวอร์
PHP ได้รับการประเมินด้านเซิร์ฟเวอร์เสมอดังนั้น คุณไม่สามารถที่จะเห็นโค้ด PHP
>> ผู้ชม: แต่คุณจะสามารถ เห็นผลของการพิมพ์
>> เจสัน Hirschhorn ขวา
และมันอาจจะไม่ตรงไปตรงมา วางไว้บนเส้น
มันอาจจะจัดรูปแบบเป็นอย่างดีสำหรับคุณ หรืออาจใส่ไว้ในหนึ่งบรรทัด
ยากที่จะเข้าใจ
แต่ใช่จุดที่ดี
>> ผู้ชม: มามีวิธีที่ ไม่มีการเน้นข้อความสำหรับ
คำสั่งใด ๆ PHP?
เพราะผมจำได้ว่าเห็นว่า
>> เจสัน Hirschhorn: เพราะมันเป็น . ไฟล์ HTML ได้ที่นี่ที่ด้านบน
มีคุณไป
>> ผู้ชม: ถ้าเราทำวิธีการเริ่มต้น ด้วยสำหรับลูปด้านขวาถ้าเรา
ต้องการที่จะเข้าถึง TFS ก็จะเรา ทำวงเล็บ TFS 0 วงเล็บแล้ว
[ไม่ได้ยิน]?
>> เจสัน Hirschhorn: คุณจะ -
เพื่อให้คุณกำลังจะบอกว่าสำหรับการห่วงคุณ จะทำอย่างไรในเครื่องหมายดอลลาร์ TFS วงเล็บ 1
หรือฉันขวา
หรือเครื่องหมายดอลลาร์ฉันปิดวงเล็บ แล้ววงเล็บเหลี่ยม
ราคาคู่ใช่
>> ตกลงที่ยอดเยี่ยม
เรามีอีกหนึ่งอย่างใดอย่างหนึ่งอย่างรวดเร็ว
เจ็ดนาทีดังนั้นฉันต้องการ ที่จะไปมากกว่านี้
นี้เป็นอีกตัวอย่างหนึ่ง
เราตอนนี้ภาษาอื่น ๆ โดยสิ้นเชิง
>> เรามีโค้ดบางส่วน
เป็นชนิดของเล็ก ๆ บนหน้าจอ แต่ ฉันต้องการให้คุณมองผ่านมันจริงๆ
ได้อย่างรวดเร็วและใครสักคนที่สามารถบอกฉัน ถ้าผมจะโหลดหน้าเว็บนี้
สิ่งที่ฉันเห็น
อธิบายทุกอย่างเกี่ยวกับ เวปไซด์นี้
โนอาห์?
สิ่งที่ฉันเห็น
>> ผู้ชม: รหัสที่ปลายด้านหน้าของ ของ Google ที่มีความรู้สึกสำหรับข้อความและ
ปุ่มส่ง
>> เจสัน Hirschhorn: และสิ่งที่ ปุ่มจะว่าอย่างไร
>> ผู้ชม: ส่ง
โอ้ค้นหา
ฉันขอโทษ
>> เจสัน Hirschhorn: มันจะบอกว่าการค้นหา
โปรดจำไว้ว่าชื่อ
สิ่งใดที่เราจะใช้ชื่ออะไร
ชื่อแอตทริบิวต์นี้สิ่งที่เป็น ที่ใช้สำหรับทำอะไร
>> [VOICES interposing]
>> ผู้ชม: นั่นเป็นชื่อของมัน เมื่อมันคลิก?
>> เจสัน Hirschhorn: นั่นอาจจะเป็น
แต่สิ่งที่เรามักเห็น - ทำไม เราให้คิวชื่อนี้
ทำไมเราจึงเห็นว่า
ใช่
>> ผู้ชม: ไม่ว่าจะเป็นดัชนี ของตัวแปรซุปเปอร์ทั่วโลกหรือไม่
>> เจสัน Hirschhorn: ใช่โดยทั่วไปเมื่อ รูปแบบนี้จะส่งแล้วที่
นี้จะส่งไปยัง?
สิ่งที่หน้า?
โนอาห์ว่าหน้าจะนี้ส่งไปยัง?
>> ผู้ชม: ผมไม่แน่ใจว่า
>> เจสัน Hirschhorn: ที่ไหน อาจจะเราสามารถหามันได้หรือไม่
คุณจะพบสิ่งที่ หน้ามันส่งไปยัง?
สิ่งที่บรรทัดของรหัส?
>> ผู้ชม: การกระทำแบบฟอร์ม
>> เจสัน Hirschhorn: แน่นอน
การกระทำ
ดังนั้นจึงส่งไปยังหน้าการค้นหา
ค้นหาเครื่องหมาย
เพื่อให้ตรงขวา
วิธีการอะไร
>> ผู้ชม: รับ
>> เจสัน Hirschhorn: รับ
อย่างแน่นอน
ดังนั้นเราจึงอ่านนี้
นี้จะเป็นรูปแบบ
คุณตรงขวา
สองสิ่งที่เกี่ยวกับรูปแบบที่ชื่อของ หน้าและด้านบนจะเป็น Google
>> ดังนั้นนี่คือสองคำถามที่คุณควร จะสามารถที่จะตอบเกี่ยวกับหน้านี้
หาก HTML นี้มีชีวิตอยู่ได้ที่เว็บไซต์นี้และ ผู้ใช้ปัจจัยการผลิตลงในข้อความข้อผิดพลาดนี้
ด้านขวาที่นี่สิ่งที่ URL ที่จะ ผู้ใช้พบว่าตัวเองกับ
ส่งแบบฟอร์มหรือไม่
>> ดังนั้นเราจึงมีนี้ที่นี่
ฉันจะกลับไปที่ หน้านี้แม้ว่า
ฉันจะเขียนขึ้นส่วนแรกนี้
ทุกคนสามารถดูที่นี่?
ตกลงมาริโอ, คุณคิดว่าคุณรู้หรือไม่ว่า
สิ่งที่หน้า?
>> ผู้ชม: ค้นหาเครื่องหมายทับขวา
>> เจสัน Hirschhorn: ฉันจะ ที่จะย้ายไปลงที่นี่
ตกลงเครื่องหมายคำถามค้นหา เครื่องหมาย q เท่ากับข้อผิดพลาด
ใครมีข้อเสนอแนะที่แตกต่างกันอย่างไร
ใช่
>> ดังนั้นทำอย่างไรเราได้รับนี้
ดีที่เราเคยเห็นแบบนี้มาก่อน
และคุณมากับก่อนหน้านี้
คุณมีสิทธิ, โนอาห์ที่ การกระทำที่จะบอกเราว่า
หน้าเรากำลังจะ
>> นอกจากนี้เรายังทราบว่าวิธีการ
เรากำลังทำอยู่ได้รับ
และความแตกต่างระหว่างการรับและการโพสต์ เป็นที่ได้รับการแสดงใน URL
และโพสต์ไม่ได้
ดังนั้นถ้าผมโพสต์มีสิทธิใน วิธีการสิ่งที่จะแตกต่างกันอย่างไร
>> ผู้ชม: มันจะเพียงแค่ เป็นค้นหาเฉือน
>> เจสัน Hirschhorn: มันจะ เพียง แต่จะค้นหาเฉือน
ไม่มีอะไรที่นี่ที่จะเกิดขึ้น
แต่เพราะได้รับ URL ที่ จะแสดงดังต่อไปนี้
ครั้งแรกที่เราเห็นเครื่องหมายคำถามและ เราจะเห็นชื่อและค่า
บอกว่ามีช่องข้อความอื่น ๆ และ ฉันให้มันชื่อของ r และใส่ฉัน
ค่าด้วง
สิ่งที่จะตอนนี้มีลักษณะอย่างไร
ฉันได้ฟิลด์ข้อความอย่างใดอย่างหนึ่งมากขึ้นผมให้ ชื่อของ r และมูลค่าของหนอน
>> ผู้ชม: หลังจากที่บาร์ที่คุณจะต้อง ด้วงเครื่องหมาย
>> เจสัน Hirschhorn: นั่น ไม่ได้เครื่องหมาย
>> ผู้ชม: หรือเพียงแค่สิ่งที่ และสัญลักษณ์
>> เจสัน Hirschhorn: ใช่ไม่
คุณมีสิทธิผมผิด
นั่นคือเช่นกรัม
>> ผู้ชม: Caterpillar
r เท่ากับหนอนขอโทษ
>> เจสัน Hirschhorn: มี r ในการมี?
>> ผู้ชม: ไม่มีมี
>> เจสัน Hirschhorn: เราจะพูดคุย เกี่ยวกับที่หลังเลิกเรียน
นั่นคือสิ่งที่ถูกต้อง
และเพื่อให้เป็นที่ถูกต้อง
แล้วคุณอาจมีจำนวนมากของเหล่านี้ และพวกเขาทุกคนจะได้ตัดแบ่ง
ร่วมกับที่และ
เพื่อให้ตรงขวา
>> มีหนึ่งคำถามมากขึ้น
วาด DOM HTML นี้เริ่มต้น ด้วยเอกสาร
เราสามารถดำเนินการได้ในสองนาที
เราจะทำมันมากกว่าที่นี่
ผมจะกลับไปที่หน้าเว็บนี้
ตกลงเราเริ่มต้นด้วยเอกสาร
>> ถัดไปคืออะไร
ดังนั้นเมื่อคุณกำลังอ่านผ่าน -
>> ผู้ชม: HTML
>> เจสัน Hirschhorn: HTML ที่เป็นต่อไป
เรากำลังจะไปแท็กด้วยแท็ก
อะไรหลังจาก HTML ได้ไหม?
>> ผู้ชม: หัวหน้า
>> เจสัน Hirschhorn หัวหน้า
อะไรหลังจากหัว?
>> ผู้ชม: ชื่อเรื่อง
>> เจสัน Hirschhorn: ชื่อ
และชื่อมีค่าของ Google, แต่ผมไม่ได้ไป
เขียนว่าในตอนนี้
ตกลงที่ไม่ร่างกายไป
>> ผู้ชม: นอกจากนี้ยังออกมาของภาษา
>> เจสัน Hirschhorn: แน่นอน
ร่างกายออกมาจากที่นี่
ทุกคนไม่เห็นว่าทำไม เป็นกรณีที่?
คุณอาจจะสามารถที่จะคิด ออกนี้ด้วยแม้ว่าฉันไม่ได้มี
เยื้องนี้ดี
>> เยื้องการจัดเรียงของให้มันออกไป แต่คุณจะเห็นว่าแท็กศีรษะมี
ถูกปิดซึ่งหมายความว่าเราอาจจะ ลงไปไม่ได้ที่นี่
เราต้องการที่จะกลับไปถึงสิ่งที่ ถูกต้องก่อนที่จะหัว
แท็กหรือภายใต้ว่า
เราแม้จะมีแท็กหัว
>> และอยู่ภายใต้ร่างกายไปในรูปแบบ
ภายใต้รูปแบบมีสองปัจจัยการผลิตเป็น
ตกลง
นั่นคือทั้งหมดที่ผมได้รับ
คำถามที่ 1 เป็นวันพรุ่งนี้
ฉันตื่นเต้นมากสำหรับคุณผู้ชาย
มันจะเป็นระเบิด
>> หากคุณมี -
>> ผู้ชม: [APPLAUSE]
>> เจสัน Hirschhorn: โอ้หยุดหยุด
แต่ไม่มีผมล้อเล่น
หากคุณมีคำถามใด ๆ ที่เหมาะสม หลังจากส่วนฉันจะออกไปข้างนอก
หากคุณมีคำถามใด ๆ คืนนี้ รู้สึกฟรีเพื่อโทร, อีเมล gchat,
นกพิราบผู้ให้บริการผม
ขอให้โชคดีในวันพรุ่งนี้
มีการแบ่งวันขอบคุณพระเจ้าที่ยอดเยี่ยม ถ้าฉันไม่เห็นคุณมาก่อนแล้ว
และเราจะเห็นท่านหลังจากวันขอบคุณพระเจ้า ในวันอังคารสุดท้ายของเรา
ส่วนบุคคลที่เคย
>> ผู้ชม: [ไม่ได้ยิน]
>> เจสัน Hirschhorn: Great
ตกลงฉันจะเห็นพวกคุณต่อไป สัปดาห์หรือในอีกสองสัปดาห์
และโชคดีในวันพรุ่งนี้