1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> ANDI เป็ง: เราเกือบจะ ผ่านทุก psets 3 00:00:08,770 --> 00:00:12,080 ในความเป็นจริงเราผ่านส่วนใหญ่ ของ psets ที่ยากที่สุด 4 00:00:12,080 --> 00:00:14,350 ดังนั้นเราจริงเพียง ไปชนิดของสายลม 5 00:00:14,350 --> 00:00:16,050 ผ่านคู่ต่อไปของสัปดาห์ที่ผ่านมา 6 00:00:16,050 --> 00:00:19,520 >> เรากำลังจะเริ่มต้นพูดคุยเกี่ยวกับเรา โครงการสุดท้ายเหตุการณ์ที่เกิดขึ้นมา 7 00:00:19,520 --> 00:00:21,320 ในอีกไม่กี่สัปดาห์ข้างหน้า 8 00:00:21,320 --> 00:00:23,825 และชีวิตจะเป็นเรื่องง่าย 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 ดังนั้นวันนี้ไม่มากเกินไป 11 00:00:27,680 --> 00:00:30,280 >> หวังว่าจะจริงสายลม ผ่านวาระการประชุมในวันนี้ 12 00:00:30,280 --> 00:00:33,400 แล้วจะออกจากที่นี่ ที่มีเวลาว่างบาง 13 00:00:33,400 --> 00:00:36,210 นอกจากนี้ผมอยากจะขอโทษ การขาดของขนมในวันนี้ 14 00:00:36,210 --> 00:00:37,030 ผมไม่ทราบว่าทำไม 15 00:00:37,030 --> 00:00:40,520 แต่ในสัปดาห์ที่นำไป ฮัลโลวีผมจะลืมลูกอม 16 00:00:40,520 --> 00:00:43,290 >> ดังนั้นฉันจริงเพียงกว้างใหญ่ ความผิดหวังให้กับคุณในขณะนี้ 17 00:00:43,290 --> 00:00:47,050 เพราะผมจำได้ว่าแท้จริงลูกอม ทุกระดับเดียว แต่วันฮาโลวีน 18 00:00:47,050 --> 00:00:49,345 แต่ในสัปดาห์หน้าเราจะนำ สองเท่าของปริมาณของขนม 19 00:00:49,345 --> 00:00:50,720 ที่จะทำขึ้นสำหรับการที่ทุกอย่างให้คุณ 20 00:00:50,720 --> 00:00:53,260 มันจะดี 21 00:00:53,260 --> 00:00:56,690 >> ดังนั้นผมจึงมีคู่ของประกาศ เกี่ยวกับการตั้งเวลาบางส่วน 22 00:00:56,690 --> 00:00:59,520 ผมมีปัญหาการตั้งเวลาบางส่วน 23 00:00:59,520 --> 00:01:02,150 จากนั้นเรากำลังจะย้ายไป พูดคุยเกี่ยวกับสิ่งที่เรียกว่า chmod 24 00:01:02,150 --> 00:01:05,980 เรากำลังจะพูดคุยเกี่ยวกับ ได้อย่างรวดเร็ว TCP / IP HTTP 25 00:01:05,980 --> 00:01:09,770 >> และจากนั้นเรากำลังจะได้รหัสของเรา เว็บไซต์ของตัวเองโดยใช้ HTML และ CSS 26 00:01:09,770 --> 00:01:13,030 และจากนั้นที่จริงผมอาจจะออกจาก เช่น 20 นาทีในการพูดคุยเกี่ยวกับ pset6 27 00:01:13,030 --> 00:01:16,550 เพราะ pset6 เป็นจริงจำนวนมาก สิ่งที่เราได้เห็นแล้วก่อน 28 00:01:16,550 --> 00:01:19,090 แต่ฉันต้องการที่จะฟื้นฟู บางส่วนของแนวคิดเหล่านี้ 29 00:01:19,090 --> 00:01:22,140 เช่นเดียวกับการสอนฟังก์ชั่นใหม่ทั้งคู่ 30 00:01:22,140 --> 00:01:23,110 >> เย็น 31 00:01:23,110 --> 00:01:25,440 ดังนั้นแรกของทุกคน ต้อนรับการกลับมาจากพัก 32 00:01:25,440 --> 00:01:27,410 ฉันหวังว่าคุณแบ่งกำลังเป็นที่สนุกสนาน 33 00:01:27,410 --> 00:01:29,695 คุณไม่จะทำสำหรับการพักผ่อน? 34 00:01:29,695 --> 00:01:30,820 ผู้ชม: ไปนิวยอร์ก 35 00:01:30,820 --> 00:01:32,030 ANDI PENG: คุณไปนิวยอร์ก? 36 00:01:32,030 --> 00:01:33,738 ผมคิดว่าครึ่งหนึ่งของโรงเรียนของเรา ไปนิวยอร์ก 37 00:01:33,738 --> 00:01:34,740 ไม่เป็นไร. 38 00:01:34,740 --> 00:01:38,250 ผมใช้เวลาส่วนใหญ่ของการแบ่งของฉัน อยู่ประจำที่ในเตียง Netflixing 39 00:01:38,250 --> 00:01:39,760 และมันก็เป็นช่วงเวลาที่ดี 40 00:01:39,760 --> 00:01:43,450 >> แต่เราอยู่ในขณะนี้กลับมากลับมาอยู่ใน เซสชั่นกลับมาอยู่ในวงสวิงของสิ่งที่ 41 00:01:43,450 --> 00:01:47,900 เรามี pset เนื่องจากวันศุกร์นี้ตอนเที่ยง 42 00:01:47,900 --> 00:01:50,240 >> ฉันคิดว่าคุณได้อยู่แล้ว หยิบขึ้นมาตอบคำถามของคุณใช่? 43 00:01:50,240 --> 00:01:52,140 ดังนั้นคนอื่น ๆ ที่มี ไม่ได้มีแบบทดสอบของพวกเขา 44 00:01:52,140 --> 00:01:55,416 โปรดมาและได้รับการทดสอบของคุณ จากฉันในตอนท้ายของส่วน 45 00:01:55,416 --> 00:01:56,540 หรือติดตามฉันลงในมหาวิทยาลัย 46 00:01:56,540 --> 00:01:59,310 ฉันจะมีมันกับฉันอยู่ที่ไหนสักแห่ง 47 00:01:59,310 --> 00:02:02,120 >> โครงการสุดท้ายของเราก่อนข้อเสนอยัง 48 00:02:02,120 --> 00:02:06,380 ดังนั้นสำหรับพวกเราที่ไม่เคยนำ ระดับก่อนหน้านี้จุดสูงสุดของ CS50 49 00:02:06,380 --> 00:02:11,150 เป็น culminated อย่างมากในเรื่องนี้ โครงการแกรนด์ว่านักเรียนนำเสนอ 50 00:02:11,150 --> 00:02:14,300 และข้อเสนอก่อน เพียงแค่ความคิดทั่วไป 51 00:02:14,300 --> 00:02:18,500 ของสิ่งที่หนึ่งอาจต้องการที่จะทำเพื่อพวกเขา โครงการความคิดที่ว่าเป็นเพราะวันจันทร์ 52 00:02:18,500 --> 00:02:20,780 วันจันทร์ถัดไปตอนเที่ยง 53 00:02:20,780 --> 00:02:23,800 >> ดังนั้นสวยมากผมคิดว่าเดวิดจะ พูดคุยเกี่ยวกับเรื่องนี้ในการบรรยาย 54 00:02:23,800 --> 00:02:25,390 ถ้าเขาไม่ได้อยู่แล้ว 55 00:02:25,390 --> 00:02:28,710 และมีหน้าที่เป็นของแข็ง บนเว็บไซต์ของเราอธิบาย 56 00:02:28,710 --> 00:02:31,610 ความต้องการทั้งหมดของโครงการ 57 00:02:31,610 --> 00:02:34,082 แต่เป็นหลักให้เลือก หัวข้อใด ๆ ที่คุณได้ 58 00:02:34,082 --> 00:02:35,915 รับการสนใจในการ ตลอดระยะเวลาของคุณที่นี่ 59 00:02:35,915 --> 00:02:41,760 ที่ลูกค้าไม่ว่าจะเป็นการเล่นเกมหรือ การออกแบบหรือวิดีโอหรืออะไร 60 00:02:41,760 --> 00:02:44,920 >> และคุณสามารถจริงๆชนิดของ ตอนนี้ใช้บางส่วนของบทเรียน 61 00:02:44,920 --> 00:02:52,470 ที่เราได้เรียนรู้ที่นี่ใน CS50-- สวัสดี welcome-- จะสวยมากการดำเนินการ 62 00:02:52,470 --> 00:02:56,320 โครงการสุดท้ายที่คุณเลือก 63 00:02:56,320 --> 00:02:59,570 ทั้งหมดที่ว่าเนื่องจากวันจันทร์เป็น เพียงสั้น ๆ ประกาศแจ้งผ่านทางอีเมล์ 64 00:02:59,570 --> 00:03:02,010 ให้ฉันเป็นประโยคที่รวดเร็ว เหมือนเดี๋ยวก่อน Andi, 65 00:03:02,010 --> 00:03:06,490 ฉันสนใจจริงๆในการออกแบบ เกมที่ไม่นี้สำหรับ iOS 66 00:03:06,490 --> 00:03:07,420 เย็น 67 00:03:07,420 --> 00:03:10,767 เพียงแจ้งให้เราเริ่มต้นโดยย่อของ ความคิดสำหรับโครงการสุดท้ายของคุณ 68 00:03:10,767 --> 00:03:13,850 และเราจะพูดคุยผ่านหรือไม่ ที่เป็นจริงเป็นความคิดที่ดีหรือไม่ 69 00:03:13,850 --> 00:03:15,590 ถ้ามันเป็นความคิดที่เป็นไปได้หรือไม่ 70 00:03:15,590 --> 00:03:20,760 แต่ข้อเสนอก่อน เป็นเพราะวันจันทร์ถัดไป 71 00:03:20,760 --> 00:03:24,190 pset6, web-- ที่น่ารักของเราที่ไม่ถูกต้อง 72 00:03:24,190 --> 00:03:25,060 Pset7? 73 00:03:25,060 --> 00:03:25,560 pset6? 74 00:03:25,560 --> 00:03:26,680 มัน pset6 ใช่มั้ย? 75 00:03:26,680 --> 00:03:32,690 >> pset6 เว็บเซิร์ฟเวอร์ของเราเป็นเพราะ วันศุกร์เวลาเที่ยงกับวันปลาย 76 00:03:32,690 --> 00:03:37,660 เวลาทำการดำเนินการได้ตามปกติตั้งแต่วันจันทร์ ถึงวันพฤหัสบดีที่ 8:00-11:00 สัปดาห์นี้ 77 00:03:37,660 --> 00:03:39,710 ผมคิดว่าสำหรับคอมมอนส์ สามคืนต่อไป 78 00:03:39,710 --> 00:03:40,310 เย็น 79 00:03:40,310 --> 00:03:44,260 ก่อนที่เราจะได้ลงในวัสดุไม่ทุกคน มีคำถามใด ๆ , ตลก, เรื่อง? 80 00:03:44,260 --> 00:03:46,662 คุณทำอะไรสำหรับการพักผ่อนในฤดูใบไม้ร่วง? 81 00:03:46,662 --> 00:03:48,640 >> ผู้ชม: สิ่งที่ฉันจะทำอย่างไร 82 00:03:48,640 --> 00:03:52,834 >> ANDI PENG: แล้ว มันเป็นวัยที่ผ่านมาจริง 83 00:03:52,834 --> 00:03:54,000 คริสไปนิวยอร์ก 84 00:03:54,000 --> 00:03:55,614 ฉันอยู่ที่นี่และ Netflixed 85 00:03:55,614 --> 00:03:56,864 ผู้ชม: โอ้ใช่ฉันอยู่ที่นี่ 86 00:03:56,864 --> 00:03:57,614 ANDI PENG: โอ้, OK 87 00:03:57,614 --> 00:03:59,792 ผู้ชม: ผมจำไม่ได้ โดยเฉพาะสิ่งที่ 88 00:03:59,792 --> 00:04:00,710 ANDI PENG: ที่ตกลง 89 00:04:00,710 --> 00:04:01,960 ผู้ชม: Netflixing อาจ 90 00:04:01,960 --> 00:04:02,990 ANDI PENG: Netflixing 91 00:04:02,990 --> 00:04:04,710 ใช่มันเป็นเวลาที่ดี 92 00:04:04,710 --> 00:04:05,780 ตกลง. 93 00:04:05,780 --> 00:04:06,340 ทั้งหมดขวา 94 00:04:06,340 --> 00:04:08,877 คำถามใด ๆ ก่อน เรากระโดดลงไปในวัสดุ? 95 00:04:08,877 --> 00:04:11,210 นอกจากนี้เรากำลังจะพยายามที่จะ เพิ่มความเร็วในการผ่านส่วนในวันนี้ 96 00:04:11,210 --> 00:04:12,504 ไม่มากเกินไปเพื่อให้ครอบคลุม 97 00:04:12,504 --> 00:04:14,420 และหวังว่าเราจะได้รับ ออกจากที่นี่ในช่วงต้นบิต 98 00:04:14,420 --> 00:04:15,580 ขออภัยในความไม่ลูกอมยัง 99 00:04:15,580 --> 00:04:20,310 ฉันผิดหวัง โดยเฉพาะในช่วงวันฮาโลวีน 100 00:04:20,310 --> 00:04:21,110 >> ทั้งหมดขวา 101 00:04:21,110 --> 00:04:21,810 เย็น 102 00:04:21,810 --> 00:04:28,370 ดังนั้นเรากำลังจะเริ่มต้นพูดคุยเกี่ยวกับ อาร์กิวเมนต์บรรทัดคำสั่งที่เรียกว่า chmod 103 00:04:28,370 --> 00:04:32,850 chmod ทั้งหมดก็เป็นเพียงระบบปฏิบัติการยูนิกซ์ ดำเนินการเรียกจากบรรทัดคำสั่ง 104 00:04:32,850 --> 00:04:34,700 การเปลี่ยนแปลงสิทธิ์ของแฟ้ม 105 00:04:34,700 --> 00:04:37,790 ดังนั้นสำหรับตัวอย่างเช่นเราได้ ทั้งหมดที่พบหน้า 106 00:04:37,790 --> 00:04:40,550 เช่นนี้อาจจะเป็นบางครั้งใน ช่วงชีวิตของการเป็นอินเทอร์เน็ต 107 00:04:40,550 --> 00:04:45,110 ผู้ใช้ที่เว็บเซิร์ฟเวอร์ของเรามี ให้เรามีข้อผิดพลาดของต้องห้าม 108 00:04:45,110 --> 00:04:49,086 คุณไม่ได้รับอนุญาตให้เข้าถึง yadda, yadda, yadda, บนเซิร์ฟเวอร์นี้ 109 00:04:49,086 --> 00:04:50,960 สิ่งที่จริงๆหมายถึง คือการอนุญาต 110 00:04:50,960 --> 00:04:53,920 ที่ติดอยู่กับสิ่งที่ หน้าเว็บที่คุณกำลังพยายามที่จะเข้าถึง 111 00:04:53,920 --> 00:04:55,840 ไม่ได้เปิดให้คุณ 112 00:04:55,840 --> 00:04:57,870 ดังนั้นสวยมาก chmod เป็นวิธีการที่ 113 00:04:57,870 --> 00:05:02,140 เราสามารถปรับเปลี่ยนสิทธิ์ของระบบเหล่านั้น ที่จะให้ทุกคนผู้ใช้กลุ่ม 114 00:05:02,140 --> 00:05:04,975 หรือโลกหรือใด ๆ การรวมกันของการเข้าถึงผู้ 115 00:05:04,975 --> 00:05:07,900 ไปยังไฟล์บางอย่าง ไดเรกทอรีอะไรจริงๆ 116 00:05:07,900 --> 00:05:11,720 การเรียงลำดับของระบบใด ๆ ระบบปฏิบัติการ 117 00:05:11,720 --> 00:05:14,039 ดังนั้นถ้ามีคนมี คอมพิวเตอร์ถ้าคุณรู้สึกว่า 118 00:05:14,039 --> 00:05:17,080 เช่นต่อไปพร้อมกับฉันในวันนี้ ทั้งหมดอย่าลังเลที่จะเพียงแค่พิมพ์สิ่งที่ 119 00:05:17,080 --> 00:05:17,580 ใน 120 00:05:17,580 --> 00:05:19,790 ถ้าไม่ได้คุณก็สามารถออกไปเที่ยว 121 00:05:19,790 --> 00:05:23,170 ดังนั้นฉันจะดึงจริง ขึ้นขั้วของฉันตอนนี้ 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> ดังนั้นคำสั่งในการทำงาน chmod หรืออย่างน้อยเพียงแค่ 124 00:05:32,310 --> 00:05:37,840 ในรายการสิทธิ์ของคุณ ไดเรกทอรีของแฟ้มเป็นเพียง LS-ลิตร 125 00:05:37,840 --> 00:05:42,270 ในขณะที่คุณสามารถเห็นพวงของ สิ่งที่ปรากฏขึ้นซึ่งส่วนใหญ่ 126 00:05:42,270 --> 00:05:45,390 เป็นสิ่งสำคัญที่เราได้ที่ ด้านซ้ายมือที่นี่ 127 00:05:45,390 --> 00:05:48,710 พวกคุณเห็นพวงของอาร์เอสที่ WS 1 / 128 00:05:48,710 --> 00:05:49,210 ใช่ 129 00:05:49,210 --> 00:05:51,400 >> เหล่านี้เป็นหลักเพียง ทุกสิทธิ์ของแฟ้ม 130 00:05:51,400 --> 00:05:55,960 เพื่ออธิบายสิ่งที่ไดเรกทอรีบางอย่าง และไฟล์ที่อยู่ในระบบของคุณได้ 131 00:05:55,960 --> 00:05:58,150 ดังนั้นขอให้กลับไปที่ จุดอำนาจที่นี่ 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 ดังนั้นนอกเหนือไปจากชื่อไฟล์ เป็นคนที่คุณสามารถดูด้านขวา 134 00:06:06,500 --> 00:06:10,312 เรากำลังมองหาที่จะเห็นเป็นหลัก เพียงคอลัมน์ด้านซ้าย 135 00:06:10,312 --> 00:06:12,020 ดังนั้นนอกเหนือไปจากเพียง ชื่อไฟล์ที่เรา 136 00:06:12,020 --> 00:06:16,240 สามารถดูสิทธิ์ของไฟล์ของพวกเขา กลุ่มเจ้าของชื่อกลุ่มวันที่ 137 00:06:16,240 --> 00:06:18,460 ว่าไฟล์ล่าสุด แก้ไข ฯลฯ 138 00:06:18,460 --> 00:06:20,640 คุณสามารถเห็นสิ่งต่างๆมากมายโดยใช้ chmod 139 00:06:20,640 --> 00:06:26,037 ดังนั้นวิธีการที่เราอ่าน chmod คือ ตัวอักษรตัวแรกเราไม่สนใจสวยมาก 140 00:06:26,037 --> 00:06:27,370 ในแง่ของสิทธิ์การอ่าน 141 00:06:27,370 --> 00:06:31,460 >> ตัวอักษรตัวแรกเพียงแค่บอกเราว่า ประเภทของระบบที่เรากำลังเข้าถึง 142 00:06:31,460 --> 00:06:34,240 d ในกรณีนี้คือ โฟลเดอร์หรือไดเรกทอรี 143 00:06:34,240 --> 00:06:38,430 ดังนั้นเราจึงรู้ว่าขณะนี้พื้นที่ทำงานของฉัน ส่วนเจ็ดเป็นไดเรกทอรี 144 00:06:38,430 --> 00:06:41,530 แล้วคุณจะเห็นสาม triads เป็นหลักเพียง 145 00:06:41,530 --> 00:06:43,490 สามชุดของตัวละครทั้งสาม 146 00:06:43,490 --> 00:06:45,680 และคุณสามารถคิดของแต่ละบิต 147 00:06:45,680 --> 00:06:49,260 >> ดังนั้นคุณก็ต้องสามชุด สามบิตเก้าบิตทั้งหมด 148 00:06:49,260 --> 00:06:51,420 คุณปฏิบัติต่อพวกเขาในกลุ่มของสาม 149 00:06:51,420 --> 00:06:56,230 ดังนั้นกลุ่มแรกของสามคือ เสมอสิทธิ์ของผู้ใช้ของคุณ 150 00:06:56,230 --> 00:07:00,557 >> กลุ่มที่สองของคุณสามคือ เสมอสิทธิ์ของกลุ่มของคุณ 151 00:07:00,557 --> 00:07:02,765 และชุดที่สามของคุณสาม อยู่เสมอเช่นโลก 152 00:07:02,765 --> 00:07:04,380 สิทธิ์ทุกที่ 153 00:07:04,380 --> 00:07:06,320 ดังนั้นผมคิดว่าง่าย คำถามที่จะถามคือสิ่งที่เป็น 154 00:07:06,320 --> 00:07:08,051 ความแตกต่างระหว่างผู้ใช้และกลุ่ม 155 00:07:08,051 --> 00:07:09,800 แตกต่างที่สำคัญ ระหว่างผู้ใช้และกลุ่ม 156 00:07:09,800 --> 00:07:13,180 คือการที่ผู้ใช้เป็นเพียงคนที่คุณ การเข้าถึงสิ่งที่เป็นอยู่ในขณะนี้ 157 00:07:13,180 --> 00:07:18,070 กลุ่มสามารถหากคุณมีหลาย ผู้ใช้บนคอมพิวเตอร์เครื่องหนึ่งตัวอย่างเช่น 158 00:07:18,070 --> 00:07:20,280 ทั้งหมดของพวกเขาสามารถรักษาได้เป็นกลุ่ม 159 00:07:20,280 --> 00:07:23,220 >> และแล้วโลกคือ เพียงแค่โลกทุกคน 160 00:07:23,220 --> 00:07:31,010 ดังนั้นเราจึงสามารถเห็นต่อไปเกี่ยวกับวิธีการที่เราสามารถทำได้ ปรับเปลี่ยนเหล่านั้นเป็นสิทธิ์ที่แตกต่าง 161 00:07:31,010 --> 00:07:33,080 ดังนั้นสวยมากเรา จะยังคงมุ่งเน้น 162 00:07:33,080 --> 00:07:38,450 ในส่วนทางด้านซ้ายที่ สำหรับ CS50 ไดเรกทอรีที่เราเห็น drwx, 163 00:07:38,450 --> 00:07:40,970 ที่อาร์ก็หมายความว่ามันสามารถอ่านได้ 164 00:07:40,970 --> 00:07:42,620 >> w คือเพียงแค่หมายความว่ามันสามารถเขียนได้ 165 00:07:42,620 --> 00:07:45,470 แล้ว x เพียง หมายความว่ามันเป็นที่ปฏิบัติการ 166 00:07:45,470 --> 00:07:47,220 คุณจะคิดว่ามันชนิด ของไม่ได้ทำให้รู้สึก 167 00:07:47,220 --> 00:07:47,993 มันควรจะเป็นอี 168 00:07:47,993 --> 00:07:50,150 แต่ x จริงชนิดของ ทำงานได้ดีขึ้นเล็กน้อย 169 00:07:50,150 --> 00:07:51,690 เพราะคุณสามารถจำได้ดี 170 00:07:51,690 --> 00:07:56,406 >> ดังนั้นสามประเภทของสิ่งที่คุณ สามารถทำอย่างใดอย่างหนึ่งที่คุณสามารถอ่านไฟล์ 171 00:07:56,406 --> 00:07:59,280 คุณสามารถได้รับอนุญาตให้เขียน ยื่นหรือคุณอาจจะได้รับอนุญาต 172 00:07:59,280 --> 00:08:00,780 ในการดำเนินการไฟล์ 173 00:08:00,780 --> 00:08:04,580 ดังนั้นวิธีการที่เราจริง เป็นตัวแทนของผู้ที่อยู่ในบิต 174 00:08:04,580 --> 00:08:06,940 เป็นตัวเลขที่ 4, 2 และ 1 175 00:08:06,940 --> 00:08:12,870 อะไรที่สามารถอ่านได้ดังนั้น ตัวแทนจากจำนวน 4 176 00:08:12,870 --> 00:08:15,150 >> สิ่งใดที่สามารถเขียนได้ เป็นตัวแทนจาก 2 177 00:08:15,150 --> 00:08:18,880 และสิ่งที่เป็นที่ปฏิบัติการ เป็นตัวแทนจาก 1 178 00:08:18,880 --> 00:08:22,860 ดังนั้นในแง่นี้เรายังสามารถ เหล่านี้เป็นตัวแทนของเบอร์ 179 00:08:22,860 --> 00:08:25,281 สวัสดียินดีต้อนรับในทางที่แตกต่างกัน 180 00:08:25,281 --> 00:08:25,780 ขอโทษ 181 00:08:25,780 --> 00:08:28,510 ก่อนที่ทุกคนฉันจะ ขอโทษในนามของทุกคน 182 00:08:28,510 --> 00:08:29,468 เข้าชั้นเรียนในขณะนี้ 183 00:08:29,468 --> 00:08:30,810 ฉันลืมขนมในวันนี้ 184 00:08:30,810 --> 00:08:33,640 ฉันขอโทษที่ฉันล้มเหลว สัปดาห์ของว​​ันฮาโลวีนนี้ 185 00:08:33,640 --> 00:08:37,070 เราจะนำสองจำนวนของ ลูกอมในครั้งต่อไปที่จะทำขึ้นสำหรับมัน 186 00:08:37,070 --> 00:08:42,360 แต่ anyways ขอโทษ เกี่ยวกับคนที่เสียใจ 187 00:08:42,360 --> 00:08:46,640 >> ดังนั้นวิธีการที่เราสามารถใส่ได้จริง ในคำสั่งของเราโต้แย้งก็คือเรา 188 00:08:46,640 --> 00:08:51,760 สามารถทำ chmod สิทธิ์เฉือนกลุ่ม กลุ่มที่เป็นเพียงสิ่งที่ 189 00:08:51,760 --> 00:08:54,130 กลุ่มที่เรากำลังพยายามที่จะเปลี่ยนแปลง 190 00:08:54,130 --> 00:08:56,600 และสิทธิ์ที่มี สิ่งที่เราต้องการที่จะเพิ่มไป 191 00:08:56,600 --> 00:08:58,860 ดังนั้นสำหรับตัวอย่างเช่น บวกเพิ่มสิทธิ์ 192 00:08:58,860 --> 00:09:01,590 และลบจะอยู่ห่างสิทธิ์ 193 00:09:01,590 --> 00:09:07,060 >> และประเภทของกลุ่มเรามีของเรา สำหรับทุกท่านสำหรับผู้ใช้กรัมสำหรับกลุ่ม 194 00:09:07,060 --> 00:09:09,050 หรือ o สำหรับคนอื่น ๆ 195 00:09:09,050 --> 00:09:10,300 มันเป็นนามธรรมบิตในขณะนี้ 196 00:09:10,300 --> 00:09:13,550 แต่เราจะไปกว่าตัวอย่างคู่ เพียงเพื่อแสดงให้เห็นถึงนี้อย่างรวดเร็วจริง 197 00:09:13,550 --> 00:09:16,960 ทุกคนที่ดีเกี่ยวกับเรื่องนี้ สไลด์เพื่อให้สามารถเดินหน้าต่อไป? 198 00:09:16,960 --> 00:09:18,280 เย็น 199 00:09:18,280 --> 00:09:21,290 >> ดังนั้นตัวอย่างเช่น rwx 200 00:09:21,290 --> 00:09:26,720 ก่อนที่เราจะพูดคุยเกี่ยวกับสิ่งที่มันหมายถึง ครั้งแรกของทุกสิ่งที่ไม่ rwx หมายความว่าอย่างไร 201 00:09:26,720 --> 00:09:31,450 หากคุณเห็นว่าบางนี้ ไฟล์ที่มีสิทธิ์ของ rwx, 202 00:09:31,450 --> 00:09:34,270 สิ่งที่ไม่ที่มีความหมาย คนอาจจะสามารถที่จะทำอย่างไร? 203 00:09:34,270 --> 00:09:35,740 >> ผู้ชม: อ่านเขียนและดำเนินการ 204 00:09:35,740 --> 00:09:36,420 >> ANDI เป็ง: ใช่ว่า 205 00:09:36,420 --> 00:09:37,840 คุณสามารถอ่านเขียนและดำเนินการ 206 00:09:37,840 --> 00:09:40,790 เพราะทั้งสามของคนเหล่านั้น ตัวละครที่มีอยู่ 207 00:09:40,790 --> 00:09:44,370 ดังนั้นหากเราไปข้างหน้าและพูดคุย เกี่ยวกับเรื่องนี้ในแง่ของบิต 208 00:09:44,370 --> 00:09:48,490 rwx นอกจากนี้ยังสามารถแสดงเป็น 700 209 00:09:48,490 --> 00:09:53,370 เพราะอย่างที่คุณเห็นในที่ใด ๆ การเรียงลำดับของรับอนุญาตไดเรกทอรีไฟล์ 210 00:09:53,370 --> 00:09:54,320 มีสาม triads 211 00:09:54,320 --> 00:09:58,060 >> ในกรณีนี้เพียงครั้งแรก สามมีอะไรที่มี 212 00:09:58,060 --> 00:10:04,050 ดังนั้นในกรณีนี้อาร์คือ 4, น้ำหนักคือ 2 และ x เป็น 1 213 00:10:04,050 --> 00:10:05,860 ถ้าคุณเพิ่มผู้ร่วมกันก็ 7 214 00:10:05,860 --> 00:10:08,730 >> ดังนั้นถ้าคุณแปลง มัน binary ก็ 700 215 00:10:08,730 --> 00:10:10,310 เพราะ 7 เป็นครั้งแรกที่สาม 216 00:10:10,310 --> 00:10:12,760 0 มีอะไรในปัจจุบัน ในสองสาม 217 00:10:12,760 --> 00:10:15,850 แล้วมีอะไรที่อยู่ใน แก๊งสามเพื่อให้เป็นอีก 0 218 00:10:15,850 --> 00:10:22,520 >> ดังนั้นในความรู้สึกเดียวกันพวงของ triads สามารถแสดงในบิตเพียง 219 00:10:22,520 --> 00:10:23,600 ในไบนารีเช่นกัน 220 00:10:23,600 --> 00:10:29,920 ดังนั้น 700 หมายความว่าสิ่งเดียวที่แน่นอนเป็น rwx ------ ในแง่ของการใช้สิทธิ์ 221 00:10:29,920 --> 00:10:32,590 ทุกคนที่ชัดเจนเกี่ยวกับที่? 222 00:10:32,590 --> 00:10:33,090 เย็น 223 00:10:33,090 --> 00:10:40,290 และเพื่อให้ chmod 111 จะให้ ซึ่งสิทธิ์ในการไฟล์? 224 00:10:40,290 --> 00:10:42,600 ให้พวกคุณสอง วินาทีที่จะแปลงนี้ 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 โปรดจำไว้ว่าครั้งแรก สามคือสำหรับผู้ใช้ 227 00:10:53,250 --> 00:10:56,320 แก๊งที่สองคือกลุ่ม 228 00:10:56,320 --> 00:10:59,450 และสามที่สามสำหรับทุกคน 229 00:10:59,450 --> 00:11:03,680 >> และเพื่อให้ chmod 111 ซึ่งจะให้ ประเภทของสิทธิ์และเพื่อใคร? 230 00:11:03,680 --> 00:11:06,520 231 00:11:06,520 --> 00:11:09,020 ใช้เวลาสองสามวินาทีเพื่อ คิดเกี่ยวกับมันและกลับมา 232 00:11:09,020 --> 00:11:19,790 233 00:11:19,790 --> 00:11:20,910 ใช่ 234 00:11:20,910 --> 00:11:22,920 >> ผู้ชม: เพ​​ื่อให้ทุกคนสามารถดำเนินการได้ 235 00:11:22,920 --> 00:11:23,920 ANDI PENG: Yup ว่า 236 00:11:23,920 --> 00:11:25,544 ผู้ชม: แต่ไม่มีใครสามารถอ่านหรือเขียน 237 00:11:25,544 --> 00:11:27,910 ANDI PENG: และรู้สึกฟรี ที่จะอธิบายให้ทุกคน 238 00:11:27,910 --> 00:11:29,860 วิธีการที่คุณมาสรุปว่า 239 00:11:29,860 --> 00:11:34,290 >> ผู้ชม: ดีสำหรับผู้ใช้ที่ กลุ่มและโลกก็คือทั้งหมดที่ 1, 240 00:11:34,290 --> 00:11:35,700 ซึ่งเป็นรหัสสำหรับปฏิบัติการ 241 00:11:35,700 --> 00:11:37,070 >> ANDI เป็ง: ใช่ว่า 242 00:11:37,070 --> 00:11:42,320 ดังนั้น 1 ในกรณีนี้ทั้งหมดที่เรารู้คือ ที่เป็นรหัสปฏิบัติการ 243 00:11:42,320 --> 00:11:45,280 เพราะการอ่านคือ 4 244 00:11:45,280 --> 00:11:45,990 การเขียนเป็น 2 245 00:11:45,990 --> 00:11:47,230 และปฏิบัติการเป็น 1 246 00:11:47,230 --> 00:11:51,580 เพื่อให้เป็นทั้งสาม triads 1 ที่ หมายความว่าไปทั่วโลกให้กับผู้ใช้ 247 00:11:51,580 --> 00:11:54,680 และกลุ่มที่พวกเขา ทุกคนที่ปฏิบัติการ 248 00:11:54,680 --> 00:11:56,170 >> ทุกคนที่ดีกับที่? 249 00:11:56,170 --> 00:11:56,940 ตกลง. 250 00:11:56,940 --> 00:11:59,180 ดังนั้นวิธีที่สอง ที่เราสามารถทำได้จริง 251 00:11:59,180 --> 00:12:01,220 คุณเขียนเรื่องนี้ก็เป็น ก็สามารถทำ chmod 252 00:12:01,220 --> 00:12:05,050 บวก x วิธีหรือทั้งหมดทุกคน 253 00:12:05,050 --> 00:12:07,060 บวกหมายถึงการให้สิทธิ์ในการ 254 00:12:07,060 --> 00:12:09,112 แล้ว x หมายถึงการปฏิบัติการ 255 00:12:09,112 --> 00:12:11,070 จึงมีคำสั่งที่สอง เหมือนจริง 256 00:12:11,070 --> 00:12:12,903 ดังนั้นหากคุณต้องการที่จะเรียกใช้ นี้ใน terminal ของคุณ 257 00:12:12,903 --> 00:12:15,830 คุณทำ chmod 111 ชื่อของ ไดเรกทอรีหรือแฟ้มของคุณ 258 00:12:15,830 --> 00:12:18,520 หรือคุณสามารถทำ chmod บวก x, ชื่อของไฟล์ไดเรกทอรีของคุณ 259 00:12:18,520 --> 00:12:22,150 สิ่งที่เหมือนกันเพียงวิธีที่ง่ายขึ้น บางทีสำหรับบางคนที่จะเป็นตัวแทนหรือการเปลี่ยนแปลง 260 00:12:22,150 --> 00:12:24,280 สิทธิ์ของแฟ้ม 261 00:12:24,280 --> 00:12:28,806 >> ทุกคนตกลงกับ chmod ก่อนที่เราจะเดินหน้าต่อไป? 262 00:12:28,806 --> 00:12:31,700 เย็น 263 00:12:31,700 --> 00:12:35,336 ดังนั้นตอนนี้เรากำลังจะมุ่งหน้าเข้าสู่ ไม่กี่ภาพนิ่งของแนวคิดที่เป็นนามธรรมมาก 264 00:12:35,336 --> 00:12:37,210 ว่าฉันสวยมาก จะสายลมผ่าน 265 00:12:37,210 --> 00:12:39,530 และก็ตกลงกันโดยสิ้นเชิงถ้าคุณ ไม่เข้าใจทุกอย่าง 266 00:12:39,530 --> 00:12:42,330 >> แม้ตอนนี้ผมก็ยังทำไม่ได้จริงๆ เข้าใจทุกอย่างสมบูรณ์ 267 00:12:42,330 --> 00:12:44,640 แต่ก็มากขึ้นในการได้รับ ความเข้าใจระดับบนสุด 268 00:12:44,640 --> 00:12:47,280 ของวิธีการบางส่วนของสิ่งเหล่านี้ทำงาน 269 00:12:47,280 --> 00:12:50,490 ดังนั้นเราจะไปพูดคุย ได้อย่างรวดเร็วเกี่ยวกับ TCP / IP 270 00:12:50,490 --> 00:12:54,880 ซึ่งเป็นเพียงควบคุมการรับส่ง พิธีสารเฉือนอินเทอร์เน็ตโปรโตคอล 271 00:12:54,880 --> 00:12:57,135 >> จำจากการบรรยาย เดวิดเขาไม่สอนคุณ 272 00:12:57,135 --> 00:13:00,700 ตัวอย่างที่เขาต้องการผ่าน บันทึกในซองจดหมาย 273 00:13:00,700 --> 00:13:02,790 ถึงชอบด้านบนของห้องบรรยายหรือไม่ 274 00:13:02,790 --> 00:13:06,990 ดังนั้นในหอประชุมโรงเรียนกฎหมาย เดวิดแสดงให้เห็นเป็นหลัก 275 00:13:06,990 --> 00:13:10,370 วิธี TCP / IP ทำงานใน ความรู้สึกที่มันทั้งหมด 276 00:13:10,370 --> 00:13:14,300 คือเป็นวิธีการสร้างความมั่นใจว่าข้อมูล ได้รับการจัดส่งทั่วเซิร์ฟเวอร์ 277 00:13:14,300 --> 00:13:15,870 หรือบนอินเทอร์เน็ต 278 00:13:15,870 --> 00:13:22,270 ดังนั้นในตัวอย่างของซองจดหมาย และข้อความที่ผู้ใช้ที่สิ้นสุด 279 00:13:22,270 --> 00:13:26,410 จะได้เห็นว่าโอ้ฉันต้องการที่จะ ได้รับสี่แพ็คเก็ตข้อมูล 280 00:13:26,410 --> 00:13:28,096 >> แต่ที่จริงผมได้รับเพียงสาม 281 00:13:28,096 --> 00:13:29,470 นั่นหมายความว่าฉันจะต้องหายไปอย่างใดอย่างหนึ่ง 282 00:13:29,470 --> 00:13:30,760 และอีกคนหนึ่งไม่ได้ส่งมอบ 283 00:13:30,760 --> 00:13:33,990 และเพื่อให้ TCP / IP บนอินเทอร์เน็ต ผ่านเครื่องคอมพิวเตอร์ของคุณและเซิร์ฟเวอร์ 284 00:13:33,990 --> 00:13:35,500 ไม่สิ่งเดียวที่แน่นอน 285 00:13:35,500 --> 00:13:38,900 ทั้งหมดก็ไม่สามารถระบุ กรอบในการที่ข้อมูลสูญหาย 286 00:13:38,900 --> 00:13:41,100 แพ็คเก็ตสามารถไม่พอใจและได้รับ 287 00:13:41,100 --> 00:13:44,760 >> เช่นเดียวกับบนอินเทอร์เน็ตเมื่อคุณกำลังพยายาม ในการเข้าถึงไฟล์ออนไลน์หรือส่งไฟล์ 288 00:13:44,760 --> 00:13:48,210 ให้เพื่อนของคุณหรือดูที่เว็บ เบราว์เซอร์พันและนับพัน 289 00:13:48,210 --> 00:13:50,440 พันล้านและพันล้าน ไบต์ของข้อมูล 290 00:13:50,440 --> 00:13:52,840 จะถูกโอนต่อมิลลิวินาที 291 00:13:52,840 --> 00:13:54,560 และมันก็เป็นจริงๆสับสน 292 00:13:54,560 --> 00:13:57,110 และมันก็เป็นเรื่องยากที่จะ จริงรู้ว่าสิ่งที่ถูกส่งไป 293 00:13:57,110 --> 00:13:58,270 และสิ่งที่ไม่ได้รับการส่ง 294 00:13:58,270 --> 00:14:02,210 >> และเพื่อให้ TCP / IP เพียงระบุ กรอบเหนียว 295 00:14:02,210 --> 00:14:04,115 ที่เว็บของคุณ เบราว์เซอร์และเซิร์ฟเวอร์ของคุณ 296 00:14:04,115 --> 00:14:05,990 ชนิดของสามารถสื่อสาร กับแต่ละอื่น ๆ เพียงแค่ 297 00:14:05,990 --> 00:14:08,550 ให้แน่ใจว่ามีแพ็คเก็ต ทุกคนที่นี่และไม่มีอะไรที่หายไป 298 00:14:08,550 --> 00:14:12,700 และข้อมูลทั้งหมดที่คุณร้องขอ เป็นจริงแสดงอย่างถูกต้อง 299 00:14:12,700 --> 00:14:16,350 ทุกคนตกลงบนเพียงแค่นั้นมาก ระดับสูงสั้น ๆ เข้าใจไหม? 300 00:14:16,350 --> 00:14:18,510 เย็น 301 00:14:18,510 --> 00:14:21,550 >> ดังนั้นแล้วเรากำลังจะย้าย เข้ามาพูดคุยเกี่ยวกับ HTTP ซึ่ง 302 00:14:21,550 --> 00:14:24,610 เป็นเพียง Hypertext Transfer Protocol 303 00:14:24,610 --> 00:14:32,550 HTTP, ทั้งหมดมันเป็นสิ่งที่เป็นหน้าเว็บใด ๆ หรือไฟล์ที่มีการเข้าถึงในเว็บไซต์ของคุณ 304 00:14:32,550 --> 00:14:35,810 เซิร์ฟเวอร์จะส่งกลับแบบ HTTP รหัสสถานะในการตอบสนอง 305 00:14:35,810 --> 00:14:39,869 เพื่อร้องขอให้แน่ใจว่า ทั้งโอ้คำขอนี้ผ่านไป 306 00:14:39,869 --> 00:14:41,410 และทุกอย่างของการแสดงได้อย่างถูกต้อง 307 00:14:41,410 --> 00:14:43,500 หรือโอ้ไม่มี 404 308 00:14:43,500 --> 00:14:44,730 บางอย่างผิดปกติ. 309 00:14:44,730 --> 00:14:45,940 โอ้ฉันไม่สามารถแสดง 310 00:14:45,940 --> 00:14:50,370 >> ทั้งหมดก็คือว่าสิ่งที่เป็น คุณกำลังพยายามที่จะเข้าถึง 311 00:14:50,370 --> 00:14:55,160 ใช้เป็นผู้ใช้พยายามที่จะเข้าถึง ใน internet-- เพียงแค่การทำให้แน่ใจว่า 312 00:14:55,160 --> 00:15:00,080 ที่คุณทั้งสองได้ประสบความสำเร็จ เข้าถึงสิ่งที่มันเป็นหรือไม่ 313 00:15:00,080 --> 00:15:02,080 เข้าถึงได้ประสบความสำเร็จในสิ่งที่มันเป็น 314 00:15:02,080 --> 00:15:05,120 และเพื่อให้สถานะของ HTTP รหัสเพียงให้คุณ 315 00:15:05,120 --> 00:15:09,910 ความหมายของความสามารถที่จะทราบว่า หรือไม่ก็ประสบความสำเร็จหรือไม่ 316 00:15:09,910 --> 00:15:13,440 ดังนั้นตัวอย่างเช่นการร้องขอตัวอย่าง 317 00:15:13,440 --> 00:15:16,050 >> คุณสามารถดูที่นี่มันเป็น โดยทั่วไปมักจะมีสี่สาย 318 00:15:16,050 --> 00:15:22,530 เรามี HTTP GET 1.1 ซึ่งเป็นเพียง URL คำขอวิธีการโปรโตคอล 319 00:15:22,530 --> 00:15:24,490 รุ่นชื่อสนาม และค่าของฟิลด์ 320 00:15:24,490 --> 00:15:26,810 จึงไม่จำเป็นต้องสมบูรณ์ จดจำอะไรที่นี่ 321 00:15:26,810 --> 00:15:29,960 เพียงแค่ชนิดของความคุ้นเคย ตัวเองด้วยวิธีเหล่านี้ดู 322 00:15:29,960 --> 00:15:34,060 >> ในตัวอย่างนี้ขอวิธีการ URL ที่เป็นเพียงสิ่งที่มีการร้องขอ 323 00:15:34,060 --> 00:15:35,620 คุณกำลังจะส่งเซิร์ฟเวอร์ 324 00:15:35,620 --> 00:15:40,710 ชอบเดี๋ยวก่อนเซิร์ฟเวอร์ผมต้องการ เข้าถึง yadda, yadda, yadda, หน้า HTTP 325 00:15:40,710 --> 00:15:43,785 โปรโตคอลรุ่นที่เป็นเพียงสิ่งที่ รุ่นโฮสต์ของคุณหรือเซิร์ฟเวอร์ของคุณ 326 00:15:43,785 --> 00:15:45,490 จะใช้ในการเข้าถึงข้อมูล 327 00:15:45,490 --> 00:15:49,510 >> ชื่อเขตเป็นเว็บไซต์หรือที่ URL ที่คุณกำลังพยายามที่จะเข้าถึง 328 00:15:49,510 --> 00:15:52,610 ในกรณีนี้ www.apple.com 329 00:15:52,610 --> 00:15:56,110 และความคุ้มค่าสนาม เพียงแค่ชื่อโดยทั่วไปค่า 330 00:15:56,110 --> 00:15:59,540 และจะสามารถเรียงลำดับของการรวมกันใด ๆ ของตัวอักษรหรือตัวเลขหรืออะไรก็ตาม 331 00:15:59,540 --> 00:16:02,890 >> ดังนั้นการร้องขอโดยทั่วไปดังนั้น สิ่งที่เครื่องคอมพิวเตอร์ของคุณจริง 332 00:16:02,890 --> 00:16:08,400 ส่งไปยังเซิร์ฟเวอร์ที่บอกว่าเดี๋ยวก่อน คุณรู้ว่าสิ่งที่ฉันต้องการแสดง 333 00:16:08,400 --> 00:16:13,000 ที่ชนิดของการร้องขอ ที่พวกเขาได้รับจริง 334 00:16:13,000 --> 00:16:16,760 ตัวอย่างเช่นการตอบสนองของสิ่งที่ เซิร์ฟเวอร์จะส่งกลับมาให้คุณ 335 00:16:16,760 --> 00:16:20,320 จะสวยมากในสิ่งเดียวกัน ยกเว้นที่มีรหัสสถานะที่ด้านบน 336 00:16:20,320 --> 00:16:24,550 ดังนั้น 200 2 0 0 อยู่เสมอ รหัสสถานะตกลง 337 00:16:24,550 --> 00:16:26,050 ชอบตกลงคำขอนี้ผ่านไป 338 00:16:26,050 --> 00:16:27,980 คุณก็สามารถที่จะเข้าถึง ทุกอย่างถูกต้อง 339 00:16:27,980 --> 00:16:28,810 ชีวิตเป็นสิ่งที่ดี. 340 00:16:28,810 --> 00:16:29,990 ชีวิตเป็นสิ่งที่ดี 341 00:16:29,990 --> 00:16:32,150 ทุกอย่างเป็นสิ่งที่ดีทั้งหมด 342 00:16:32,150 --> 00:16:36,050 >> และอื่น ๆ เพียงแค่นี้บอกเบราว์เซอร์ของคุณและ เซิร์ฟเวอร์ของคุณเดี๋ยวก่อนดีทุกอย่าง 343 00:16:36,050 --> 00:16:37,470 ผมได้รับข้อมูลทั้งหมดที่ฉันต้องการ 344 00:16:37,470 --> 00:16:39,160 เย็น 345 00:16:39,160 --> 00:16:41,790 แต่ปัญหาก็คือ บางครั้งปัญหาที่เกิดขึ้น 346 00:16:41,790 --> 00:16:46,850 เมื่อคุณ have-- สุดท้ายผมคิดว่า ฉันพูดคุยเกี่ยวกับรายการที่ซ้ำกัน 347 00:16:46,850 --> 00:16:48,870 คุณมีการตอบสนองที่ดีน้อย 348 00:16:48,870 --> 00:16:52,660 >> ดังนั้นตัวอย่างเช่น 404 เป็นหน้าไม่พบ 349 00:16:52,660 --> 00:16:54,897 บางครั้งคุณมีการเข้าถึงพระราชวังต้องห้าม 350 00:16:54,897 --> 00:16:56,730 คุณมีอื่น ๆ อีกมากมาย รหัสสถานะว่าฉัน 351 00:16:56,730 --> 00:16:59,688 แน่ใจว่าคุณได้เห็นเมื่อคุณ พยายามที่จะทำวิจัยเกี่ยวกับอินเทอร์เน็ต 352 00:16:59,688 --> 00:17:02,300 และเบราว์เซอร์ของคุณให้ ไม่มีไม่สามารถเข้าถึง 353 00:17:02,300 --> 00:17:04,190 และคุณต้องการดีอึ 354 00:17:04,190 --> 00:17:09,260 >> ดังนั้นเพียงแค่สวยมากมี บางรหัสสถานะรักกัน 355 00:17:09,260 --> 00:17:14,109 อาจจะทำความคุ้นเคย ซึ่งคนเหล่านั้น 356 00:17:14,109 --> 00:17:16,000 หนึ่งที่สนุกที่สุด ฉันคิดว่าฉันเคยได้ยิน 357 00:17:16,000 --> 00:17:18,040 of-- ถ้าคุณเกิดขึ้น มองขึ้นทั้งหมดของพวกเขา 358 00:17:18,040 --> 00:17:21,490 ออนไลน์ด้วยเหตุผลบางอย่างมี จริงรหัสสถานะที่แท้จริง 359 00:17:21,490 --> 00:17:26,619 ที่เรียกว่า 418 ผมกาน้ำชา 360 00:17:26,619 --> 00:17:29,610 >> ฉัน googled ที่ ที่มาของเรื่องนี้มาจาก 361 00:17:29,610 --> 00:17:33,150 และเห็นได้ชัดหนึ่ง Fools เมษายน วันทศวรรษที่ผ่านมาสองสามที่ผ่านมา 362 00:17:33,150 --> 00:17:36,415 คนที่คิดว่ามันจะเฮฮา เพื่อสร้างรหัสสถานะใหม่ที่เรียกว่า 418 363 00:17:36,415 --> 00:17:37,380 ฉันกาน้ำชา 364 00:17:37,380 --> 00:17:40,760 ถูกต้องตามกฎหมายชื่อนี้ รหัสเรียกว่าฉันกาน้ำชา 365 00:17:40,760 --> 00:17:43,670 >> ลืมสิ่งที่หน้าคุณจะต้อง ไปที่จริงทำให้การแสดงผลนี้ 366 00:17:43,670 --> 00:17:47,955 แต่เห็นได้ชัดคุณสามารถจริง ได้รับรหัสสถานะของฉัน 367 00:17:47,955 --> 00:17:51,400 กาน้ำชาอย่างใด ผ่านการทำอะไรบางอย่าง 368 00:17:51,400 --> 00:17:54,480 ดังนั้นจึงมีนับร้อย หลายร้อยรหัสสถานะ 369 00:17:54,480 --> 00:17:56,730 >> บางส่วนของพวกเขาให้มากขึ้น ความรู้สึกกว่าคนอื่น ๆ 370 00:17:56,730 --> 00:18:01,430 แต่สวยมากคุ้นเคย ตัวเองกับคนที่พบมากที่สุด 371 00:18:01,430 --> 00:18:04,090 ร่างกายนิติบุคคลที่ร้องขอ ในระยะสั้นและอ้วนเห็นได้ชัด 372 00:18:04,090 --> 00:18:07,990 >> ดังนั้นบางครั้งมีมากขึ้น ข้อผิดพลาดที่น่ากลัวกว่าฉันกาน้ำชา 373 00:18:07,990 --> 00:18:11,210 แต่นี้เป็นสิ่งหนึ่งที่ผมคิดว่า ชนิดที่คุณหวังที่จะตี 374 00:18:11,210 --> 00:18:14,130 แต่ผมไม่คิดว่าคุณจะ 375 00:18:14,130 --> 00:18:17,260 ทุกคนที่ดีกับสถานะเพียง รหัสร้องขอกระบวนการทำ 376 00:18:17,260 --> 00:18:19,155 ข้อมูลจะถูกส่งแน่ใจว่าถูกต้องหรือไม่ 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> ดังนั้นตอนนี้เรากำลังจะเปลี่ยนผ่าน เข้ามาเป็นส่วนหนึ่งของความสนุกของส่วนในวันนี้ 379 00:18:26,120 --> 00:18:28,500 ที่เราพูดเล็กน้อยเกี่ยวกับ HTML 380 00:18:28,500 --> 00:18:32,580 HTML ทั้งหมดมันเป็น HyperText ภาษามาร์กอัป 381 00:18:32,580 --> 00:18:35,160 มันเป็นเพียงภาษามาตรฐาน ที่คุณใช้ในการสร้างเว็บ 382 00:18:35,160 --> 00:18:36,690 หน้าบนอินเทอร์เน็ต 383 00:18:36,690 --> 00:18:39,560 >> ดังนั้นหน้าเว็บใด ๆ สิ่งที่ หน้าเว็บที่คุณชื่นชอบ? 384 00:18:39,560 --> 00:18:40,855 หน้าเว็บที่คุณชื่นชอบคืออะไร? 385 00:18:40,855 --> 00:18:41,771 >> ผู้ชม: [ไม่ได้ยิน] 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI PENG: ขออภัย? 388 00:18:43,090 --> 00:18:43,980 >> ผู้ชม: Tumblr 389 00:18:43,980 --> 00:18:44,730 >> ANDI PENG: Tumblr 390 00:18:44,730 --> 00:18:46,800 ดังนั้น Tumblr ถูกเขียนในรูปแบบ HTML 391 00:18:46,800 --> 00:18:50,700 และเพื่อให้เราจริงจะผ่านไปและ เล่นรอบกับบางสิ่งเหล่านี้ 392 00:18:50,700 --> 00:18:51,980 หลังจากนั้น. 393 00:18:51,980 --> 00:18:54,980 ทุกอย่างสวยมากคุณ จำเป็นที่จะต้องเรียนรู้ที่จะรู้ว่า 394 00:18:54,980 --> 00:18:58,540 ในการเขียน HTML คุณอาจจะสามารถ เพียง Google บนอินเทอร์เน็ต 395 00:18:58,540 --> 00:19:04,490 >> HTML ก็ไม่ได้โปรแกรมเช่นซี ที่คุณสามารถสร้างตัวแปรและทำ 396 00:19:04,490 --> 00:19:05,600 สิ่งดีๆกับมัน 397 00:19:05,600 --> 00:19:08,747 มันขึ้นเพียงโอ้นี้เป็นวิธีที่ผม ต้องการสิ่งที่จะปรากฏบนเว็บไซต์ของฉัน 398 00:19:08,747 --> 00:19:10,080 และฉันก็จะใส่ไว้ใน 399 00:19:10,080 --> 00:19:12,160 และก็จะสไตล์มัน 400 00:19:12,160 --> 00:19:15,650 >> ดังนั้น HTML, ในความรู้สึกก็เช่นเดียวกับ ภาษาการจัดรูปแบบหรือแม่แบบ 401 00:19:15,650 --> 00:19:16,680 มันเป็นเรื่องง่ายมาก 402 00:19:16,680 --> 00:19:19,030 มันง่ายมากที่จะเรียนรู้ ง่ายมากที่จะเขียนใน 403 00:19:19,030 --> 00:19:21,450 กว่าการเขียนโปรแกรมของคุณโดยทั่วไป ภาษาที่ง่ายมาก 404 00:19:21,450 --> 00:19:24,310 ผู้ใช้สามารถเข้าถึงได้มากและเป็นมิตร 405 00:19:24,310 --> 00:19:29,040 >> ดังนั้นเราจริงที่เกิดขึ้นในการเล่น รอบเขียนหน้าของเราเองในวันนี้ 406 00:19:29,040 --> 00:19:32,900 แต่ก่อนที่เราจะเริ่มต้นผมแค่อยากจะ ไปกว่าวิธีที่ดีที่สุดสั้น ๆ 407 00:19:32,900 --> 00:19:35,660 เพราะเป็นเช่น HTML ง่าย ภาษาและเพราะแม้แต่ 408 00:19:35,660 --> 00:19:39,012 ถ้าคุณทำสิ่งที่สองที่ไม่ถูกต้อง บางครั้งมันก็อาจจะไม่แจ้งให้ทราบล่วงหน้า 409 00:19:39,012 --> 00:19:41,970 เราต้องการที่จะให้แน่ใจว่าเรา จริงการยึดมั่นในการปฏิบัติที่ดีที่สุดของเรา 410 00:19:41,970 --> 00:19:44,490 เพื่อให้แน่ใจว่าสิ่งที่ อาจจะไปรอบ ๆ แต่ 411 00:19:44,490 --> 00:19:49,660 จะไม่เสมอไปที่จะได้ไปทางด้านขวา ตรวจสอบให้แน่ใจว่าพวกเขากำลังลดลง 412 00:19:49,660 --> 00:19:53,570 >> ดังนั้นสวยมากให้แน่ใจว่า ปิดของคุณแท็กของคุณทั้งหมด 413 00:19:53,570 --> 00:19:54,737 เมื่อคุณเขียนในรูปแบบ HTML 414 00:19:54,737 --> 00:19:56,486 หากคุณกำลังเปิด ร่างกายให้แน่ใจว่าคุณ 415 00:19:56,486 --> 00:19:58,015 ปิดกับร่างกายบาง 416 00:19:58,015 --> 00:20:00,720 คุณต้องการที่จะให้แน่ใจว่าคุณ หน้าเว็บจะตรวจสอบโดยใช้ 417 00:20:00,720 --> 00:20:02,070 สิ่งที่เรียกว่า Validator W3 418 00:20:02,070 --> 00:20:05,460 คุณสามารถเพียงแค่ Google ที่ออนไลน์ และมีการเชื่อมโยงกับมัน 419 00:20:05,460 --> 00:20:07,820 >> แล้วคุณต้องการที่จะ แยกต่างหาก HTML ซึ่ง 420 00:20:07,820 --> 00:20:13,060 ภาษามาร์กอัปของคุณจากสไตล์ของคุณ ซึ่งเป็นภาษา CSS ซึ่งดาวิด 421 00:20:13,060 --> 00:20:17,510 แสดงให้เห็นว่าเรายัง จะไปเล่นบิตพร้อมบรรยาย 422 00:20:17,510 --> 00:20:19,120 เย็น 423 00:20:19,120 --> 00:20:23,500 ดังนั้นตลอดเวลาที่คุณต้องการเรียกใช้ HTML ในเครื่อง CS50 ที่ 424 00:20:23,500 --> 00:20:26,240 เรากำลังจะไปทำงาน โปรแกรมที่เรียกว่าอาปาเช่ 425 00:20:26,240 --> 00:20:29,810 ซึ่งทั้งหมดก็เป็นเพียงการสร้างขึ้นใน เว็บเซิร์ฟเวอร์ที่ทุกคนใน CS50 426 00:20:29,810 --> 00:20:31,410 มีการเข้าถึง 427 00:20:31,410 --> 00:20:35,700 เราเรียกมันว่า apache50 เพียงเพราะเรา ชอบที่จะเรียกทุกอย่าง 50 CS50 428 00:20:35,700 --> 00:20:39,610 >> ดังนั้นวิธีการที่คุณเริ่มต้นเว็บ CS50 ที่ เซิร์ฟเวอร์โดยการพิมพ์ในคำสั่งของคุณ 429 00:20:39,610 --> 00:20:42,860 สาย apache50 จุดเริ่มต้น 430 00:20:42,860 --> 00:20:46,665 และถ้าคุณต้องการจะให้มันสิ้นสุดที่ใด ๆ เวลาที่คุณทำ apache50 ไม่มีจุดสิ้นสุด 431 00:20:46,665 --> 00:20:47,910 และคุณเพียงแค่กด Enter 432 00:20:47,910 --> 00:20:50,810 และมันควรจะมุ่งหน้าไปที่นี่เร็ว ๆ 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 ได้. 435 00:20:54,130 --> 00:20:58,110 ดังนั้นฉันแค่ไปอย่างรวดเร็วไปกว่า ตัวอย่างของหน้าเว็บสั้น ๆ จริงๆ 436 00:20:58,110 --> 00:21:00,280 และเรากำลังจะไปใช้จ่าย เช่น 10, 15 นาทีเล่น 437 00:21:00,280 --> 00:21:04,008 รอบการเขียนหน้าเว็บของเราเอง 438 00:21:04,008 --> 00:21:05,320 ตกลง. 439 00:21:05,320 --> 00:21:07,841 ดังนั้นที่นี่ใน IDE-- ทุกคนจะเห็นว่า? 440 00:21:07,841 --> 00:21:08,340 ไม่ได้จริงๆ 441 00:21:08,340 --> 00:21:11,400 ที่นี่ผมจะซูมเข้า 442 00:21:11,400 --> 00:21:15,850 >> ฉันมีเพียงแม่แบบสั้น ๆ นี้ ที่นี่มีอะไรอยู่ในนั้นจริง 443 00:21:15,850 --> 00:21:20,660 เรากำลังจะเขียนได้อย่างรวดเร็ว โปรแกรม HTML ที่เราเพียง 444 00:21:20,660 --> 00:21:22,050 ทักทายกับโลก 445 00:21:22,050 --> 00:21:24,970 สิ่งเดียวกันดังนั้นในขณะที่ใน C ตอนนี้เรากำลัง เพียงแค่จะทำมันในรูปแบบ HTML 446 00:21:24,970 --> 00:21:28,250 ไม่มีใครต้องการจริงเพียง ลองให้ฉันสิ่งแรกที่คุณ 447 00:21:28,250 --> 00:21:31,870 จะต้องใส่ในเอกสาร HTML? 448 00:21:31,870 --> 00:21:32,850 ใช่ 449 00:21:32,850 --> 00:21:35,965 >> ผู้ชม: วงเล็บที่ [ไม่ได้ยิน] 450 00:21:35,965 --> 00:21:36,590 ANDI PENG: อ๋อ 451 00:21:36,590 --> 00:21:47,200 452 00:21:47,200 --> 00:21:50,930 ดังนั้นสิ่งที่ไม่ซ้ำกันมากที่จะ HTML ที่เรามักจะแบบดั้งเดิม 453 00:21:50,930 --> 00:21:56,080 ไม่พบคำสั่งอื่น ๆ ระดับสายการเขียนโปรแกรมภาษา 454 00:21:56,080 --> 00:21:59,890 คือการที่เราจริง ระบุชนิดของไฟล์ 455 00:21:59,890 --> 00:22:01,987 ว่าเรื่องนี้เป็นไปได้ ที่ด้านบนของรหัสของเรา 456 00:22:01,987 --> 00:22:04,570 ดังนั้นใน instance-- นี้ผมคิดว่า นั่นคือคำสั่งที่ถูกต้องใช่มั้ย? 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 ได้. 459 00:22:10,550 --> 00:22:14,860 ที่ด้านบนคุณเพียงต้องการที่จะรวม ปัง DOCTYPE html ที่ในวงเล็บเพียง 460 00:22:14,860 --> 00:22:17,670 ที่จะบอกเครื่องคอมพิวเตอร์ของคุณเฮ้มองออก 461 00:22:17,670 --> 00:22:20,050 และเอกสาร HTML จะมา 462 00:22:20,050 --> 00:22:22,250 และจากนั้นจะทำอย่างไรที่เราต้องการ ที่จะเริ่มออกไฟล์ของเราหรือไม่ 463 00:22:22,250 --> 00:22:25,540 ถ้าเราเพียงต้องการที่จะกล่าวทักทายมี หน้าเว็บที่กล่าวสวัสดีกับโลก 464 00:22:25,540 --> 00:22:26,915 วิธีการที่เราทำไปเกี่ยวกับการสร้างนี้หรือไม่? 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> อันที่จริงให้หันไปยัง Google 467 00:22:35,300 --> 00:22:36,910 และเราจะสามารถทำเช่นนี้ 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 ได้. 470 00:22:43,670 --> 00:22:44,840 เราจะไปที่นั่น. 471 00:22:44,840 --> 00:22:47,630 ดังนั้น HTML 472 00:22:47,630 --> 00:22:52,390 ที่คุณสามารถดู, เบราว์เซอร์ของฉันเป็นจริง จัดแต่งทรงผมโดยอัตโนมัตินี้สำหรับฉัน 473 00:22:52,390 --> 00:22:56,010 >> สิ่งเดียวใน C เมื่อคุณ สร้างวงเล็บปีกกาเปิด 474 00:22:56,010 --> 00:22:59,020 เบราว์เซอร์ของคุณโดยอัตโนมัติ เพิ่มในวงเล็บปีกกาใกล้ 475 00:22:59,020 --> 00:23:02,210 โชคดีที่ IDE เรารักที่จะ ทำเช่นนี้สำหรับเราเป็นอย่างดี 476 00:23:02,210 --> 00:23:05,490 ดังนั้นตอนนี้เราสามารถชนิดของการพิมพ์ จุดเริ่มต้นของแท็กที่ 477 00:23:05,490 --> 00:23:09,139 และมันจะบอกเราเสมอไป อย่าลืมที่จะพิมพ์ในตอนท้ายของแท็ก 478 00:23:09,139 --> 00:23:10,680 ผมคิดว่านี้จะต้องพิมพ์ใหญ่ 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 แล้วเราต้องการเพิ่มเสมอ หัวที่เป็นชื่อเรื่อง 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 เราเพียงแค่ต้องการอาจจะเรียก สวัสดีนี้แล้วร่างกาย 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> และมีคุณไป 485 00:23:36,310 --> 00:23:39,650 ที่เป็นจริงเอกสาร HTML ของเรา 486 00:23:39,650 --> 00:23:45,030 ดังนั้นวิธีการที่ใด ๆ เอกสาร HTML สไตล์เสมอ in-- สิ่งเดียวกัน 487 00:23:45,030 --> 00:23:46,720 กับเป็นโมฆะหลัก int 488 00:23:46,720 --> 00:23:49,600 คุณต้องการที่จะมี HTML แท็กเปิดและปิด 489 00:23:49,600 --> 00:23:52,100 ที่ด้านบนและด้านล่างของรหัสของคุณ 490 00:23:52,100 --> 00:23:56,900 >> คุณต้องการที่จะมีหัวด้านในของ ที่มีชื่อเป็นเพียงสิ่งที่ 491 00:23:56,900 --> 00:24:01,430 เป็นไปเพื่อแสดงแท็บของเว็บของคุณ หน้าและร่างกายแล้วภายในที่ 492 00:24:01,430 --> 00:24:04,120 จริงจะแสดงเนื้อหา ของสิ่งที่คุณต้องการจะทำ 493 00:24:04,120 --> 00:24:08,220 ดังนั้นหากคุณต้องการที่จะทำงานจริง นี้ฉันจะซูมกลับออกมา 494 00:24:08,220 --> 00:24:12,740 จริงๆคุณสามารถเริ่มต้น จุดเริ่มต้น apache50 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 เย็น 497 00:24:16,150 --> 00:24:18,980 และอื่น ๆ ที่คุณสามารถดูตอนนี้ การเชื่อมโยงนี้ได้โผล่ขึ้นมา 498 00:24:18,980 --> 00:24:21,940 มันบอกว่าเว็บไซต์ของคุณอยู่ในขณะนี้ สามารถดูได้ที่ลิงค์ด้านล่าง 499 00:24:21,940 --> 00:24:25,910 ดังนั้นสิ่งที่เรามี IDE done-- ไม่ IDE, sorry-- ใช่ 500 00:24:25,910 --> 00:24:33,280 IDE ของเราได้ทำคือการสร้างเว็บ ซึ่งการเชื่อมโยงทั้งหมดของหน้าเว็บของเรา 501 00:24:33,280 --> 00:24:35,407 สามารถเข้าถึงได้บนเซิร์ฟเวอร์ 502 00:24:35,407 --> 00:24:36,490 ดังนั้นลองมาดูที่นี่ 503 00:24:36,490 --> 00:24:40,240 >> ลองคลิกที่นี้ให้ไปที่ hello.html 504 00:24:40,240 --> 00:24:42,895 และคุณจะเห็นที่ง่ายมาก หน้าเว็บของโลกสวัสดี 505 00:24:42,895 --> 00:24:46,477 506 00:24:46,477 --> 00:24:47,420 ตกลง. 507 00:24:47,420 --> 00:24:50,513 เราจริงไปเพียง มี everyone-- ใช่อะไรขึ้น? 508 00:24:50,513 --> 00:24:52,353 >> ผู้ชม: ฉันมีคำถามพื้นฐาน 509 00:24:52,353 --> 00:24:52,978 ANDI PENG: Yup 510 00:24:52,978 --> 00:24:58,064 ผู้ชม: คุณบันทึกวิธี ไฟล์ของคุณเป็น HTML อยู่แล้ว? 511 00:24:58,064 --> 00:24:58,730 ANDI เป็ง: ใช่ 512 00:24:58,730 --> 00:25:02,960 513 00:25:02,960 --> 00:25:10,820 ดังนั้นถ้าผมจะสร้างไฟล์ใหม่ ถ้าฉันทำแฟ้มใหม่ Untittle ถ้าผมทำ 514 00:25:10,820 --> 00:25:14,390 section.html บูม นั่นคือทั้งหมดที่ฉันต้องทำ 515 00:25:14,390 --> 00:25:15,363 >> ผู้ชม: [ไม่ได้ยิน] 516 00:25:15,363 --> 00:25:15,946 ANDI PENG: เลขที่ 517 00:25:15,946 --> 00:25:16,660 ผู้ชม: [ไม่ได้ยิน] 518 00:25:16,660 --> 00:25:17,240 ANDI PENG: เลขที่ 519 00:25:17,240 --> 00:25:18,156 ผู้ชม: [ไม่ได้ยิน] 520 00:25:18,156 --> 00:25:19,110 ANDI เป็ง: ใช่ 521 00:25:19,110 --> 00:25:24,300 สวยมากขยายบน ไฟล์ที่อยู่ภายใน IDE ของคุณ 522 00:25:24,300 --> 00:25:27,840 ที่บอกคอมพิวเตอร์ว่า บอกเบราว์เซอร์, hey มองออก 523 00:25:27,840 --> 00:25:30,480 นี้จะเป็นรหัส เขียนในภาษานี้ 524 00:25:30,480 --> 00:25:34,240 ดังนั้นสำหรับตัวอย่างเช่นในไมโครซอฟท์ Word, สิ่งที่ทำเอกสาร Word ทั้งหมด 525 00:25:34,240 --> 00:25:37,070 จบลงด้วยสิ่งที่ขยาย? 526 00:25:37,070 --> 00:25:39,830 .doc หรือ .docx ใช่มั้ย? 527 00:25:39,830 --> 00:25:42,299 >> สิ่งที่จะเป็นการที่จะระบุ ระบบปฏิบัติการของคุณเดี๋ยวก่อน 528 00:25:42,299 --> 00:25:43,840 คุณมีเอกสาร Word ขึ้นมา 529 00:25:43,840 --> 00:25:44,940 เปิดด้วย Word 530 00:25:44,940 --> 00:25:46,955 สิ่งเดียวกันกับไฟล์ PDF 531 00:25:46,955 --> 00:25:49,650 มันรู้โอ้ฉันต้องการ ที่จะเปิดไฟล์นี้ 532 00:25:49,650 --> 00:25:52,020 ด้วย Adob​​e Reader หรือ Adob​​e Acrobat 533 00:25:52,020 --> 00:25:56,130 >> และเพื่อให้การดำเนินงานส่วนขยาย เช่นเดียวกับในคอมพิวเตอร์ของคุณ 534 00:25:56,130 --> 00:26:00,750 ถ้าคุณระบุหน้ารหัสของคุณ จะตั้งชื่อ HTML แล้วมันจะรู้ 535 00:26:00,750 --> 00:26:01,880 โอ้คุณได้มีโค้ด HTML 536 00:26:01,880 --> 00:26:04,890 ฉันจะรักษามันเป็นโค้ด html 537 00:26:04,890 --> 00:26:06,600 ดังนั้นจึงเป็นซุปเปอร์สมาร์ทในแง่ที่ว่า 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> เพื่อให้ทุกคนลองมาเช่น 10 นาที และเพียงแค่การสร้างเว็บไซต์ของเราเอง 540 00:26:18,730 --> 00:26:21,020 ให้เพิ่มในสิ่งที่น่ารัก 541 00:26:21,020 --> 00:26:23,440 รู้สึกอิสระที่จะพูดสิ่งที่คุณต้องการ 542 00:26:23,440 --> 00:26:27,890 ผมแค่อยากจะให้แน่ใจว่า เซิร์ฟเวอร์ของทุกคนกำลังทำงานอย่างถูกต้อง 543 00:26:27,890 --> 00:26:31,220 ก่อนที่เราจะปลดปล่อยคุณเข้าสู่ pset 544 00:26:31,220 --> 00:26:33,490 เพราะถ้าเซิร์ฟเวอร์ของคุณ ไม่ได้ทำงานสำหรับ pset ที่ 545 00:26:33,490 --> 00:26:34,847 ที่จะเป็นจริงที่เลวร้ายจริงๆ 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> ฉันแค่จะไปลอยไปรอบ ๆ และ ดูสิ่งที่ทุกคนที่ทำงานเกี่ยวกับ 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 เป็นยังไงบ้าง? 550 00:27:27,590 --> 00:27:29,048 >> ผู้ชม: ผมเพิ่งเปิดในคอมพิวเตอร์ของฉัน 551 00:27:29,048 --> 00:27:29,923 >> ANDI PENG: ที่ตกลง 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> ผู้ชม: [ไม่ได้ยิน] 554 00:27:42,390 --> 00:27:44,284 >> ANDI PENG: เพียงแค่คุณ IDE 555 00:27:44,284 --> 00:27:44,784 ใช่ 556 00:27:44,784 --> 00:27:54,040 557 00:27:54,040 --> 00:27:55,910 >> ผู้ชม: [ไม่ได้ยิน] 558 00:27:55,910 --> 00:27:57,590 >> ANDI เป็ง: มันตกลง 559 00:27:57,590 --> 00:27:59,491 >> ผู้ชม: [ไม่ได้ยิน] 560 00:27:59,491 --> 00:28:00,490 ANDI PENG: ดีทั้งหมด 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 ทุกคนเข้าถึง เว็บเซิร์ฟเวอร์ของพวกเขา OK? 563 00:28:51,530 --> 00:28:52,970 apache50 กำลังทำงาน OK? 564 00:28:52,970 --> 00:28:54,700 ผมคิดว่าในบางส่วนของ ส่วนอื่น ๆ ที่เรา 565 00:28:54,700 --> 00:28:58,790 มีปัญหากับคนที่ไม่ได้ ความสามารถในการเข้าถึงเซิร์ฟเวอร์ 566 00:28:58,790 --> 00:28:59,290 ใช่ 567 00:28:59,290 --> 00:29:05,764 ดังนั้นคุณเพียงแค่ใช้ apache50 พื้นที่เริ่มต้นช่วงเวลาที่ว่าง 568 00:29:05,764 --> 00:29:06,680 ผู้ชม: [ไม่ได้ยิน] 569 00:29:06,680 --> 00:29:07,610 ANDI PENG: Yup 570 00:29:07,610 --> 00:29:08,294 ดี? 571 00:29:08,294 --> 00:29:09,210 >> ผู้ชม: [ไม่ได้ยิน] 572 00:29:09,210 --> 00:29:12,530 573 00:29:12,530 --> 00:29:13,350 >> ANDI PENG: โอ้, OK 574 00:29:13,350 --> 00:29:14,808 ดังนั้นคุณควรจะมีพื้นที่ 575 00:29:14,808 --> 00:29:15,425 apache50-- ดังนั้น 576 00:29:15,425 --> 00:29:16,115 >> ผู้ชม: ฉันไม่ 577 00:29:16,115 --> 00:29:17,661 >> ANDI PENG: พื้นที่ --start 578 00:29:17,661 --> 00:29:18,660 ผู้ชม: โอ้จุดพื้นที่ 579 00:29:18,660 --> 00:29:20,110 ANDI PENG: Yup จุดพื้นที่ 580 00:29:20,110 --> 00:29:23,230 มีคุณไป 581 00:29:23,230 --> 00:29:25,490 ดังนั้นแล้วถ้าคุณมี เพจ HTML สร้างขึ้น 582 00:29:25,490 --> 00:29:28,560 แล้วคุณก็สามารถไปที่ เพื่อการเชื่อมโยงที่จะระบุ 583 00:29:28,560 --> 00:29:30,539 และคุณควรจะสามารถเข้าถึงได้ 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> ทุกคนสามารถที่จะ เข้าถึงหน้าเว็บของพวกเขา OK? 586 00:29:37,876 --> 00:29:39,339 >> ผู้ชม: [ไม่ได้ยิน] 587 00:29:39,339 --> 00:29:40,380 ANDI PENG: โอ้ที่ตกลง 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> ผู้ชม: [ไม่ได้ยิน] 590 00:29:44,964 --> 00:29:45,630 ANDI เป็ง: ใช่ 591 00:29:45,630 --> 00:29:48,171 ฉันคิดว่าคุณจริงสามารถเปิด ภายในเบราว์เซอร์เบราว์เซอร์ 592 00:29:48,171 --> 00:29:49,955 และไม่เพียง แต่เบราว์เซอร์ของคุณ IDE 593 00:29:49,955 --> 00:29:51,580 ใช่ครับผมคิดว่าถ้าคุณคัดลอกและวาง 594 00:29:51,580 --> 00:29:53,920 >> ผู้ชม: และแล้ว เราจะปิดอย่างไร 595 00:29:53,920 --> 00:29:54,590 [ไม่ได้ยิน] 596 00:29:54,590 --> 00:29:58,720 >> ANDI เป็ง: ใช่คุณทำ apache50 หยุดที่มีระยะเวลาไม่ 597 00:29:58,720 --> 00:29:59,220 ได้. 598 00:29:59,220 --> 00:30:01,180 >> ผู้ชม: [ไม่ได้ยิน] 599 00:30:01,180 --> 00:30:02,768 >> ANDI PENG: ด้วยระยะเวลาไม่ 600 00:30:02,768 --> 00:30:04,051 ใช่ 601 00:30:04,051 --> 00:30:04,550 เราจะไปที่นั่น. 602 00:30:04,550 --> 00:30:05,050 ได้. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 เรากำลังสร้างหน้าเว็บของเราเอง 605 00:30:09,855 --> 00:30:10,646 >> ผู้ชม: โอ้เย็น 606 00:30:10,646 --> 00:30:13,396 607 00:30:13,396 --> 00:30:14,062 ANDI เป็ง: ใช่ 608 00:30:14,062 --> 00:30:20,484 609 00:30:20,484 --> 00:30:22,420 >> ผู้ชม: ฉันมีคำถาม 610 00:30:22,420 --> 00:30:25,294 Apache ดังนั้น 50-- 611 00:30:25,294 --> 00:30:26,731 >> ANDI PENG: 50 ใช่ 612 00:30:26,731 --> 00:30:28,168 >> ผู้ชม: [ไม่ได้ยิน] 613 00:30:28,168 --> 00:30:29,130 >> ANDI PENG: อะไรนะ? 614 00:30:29,130 --> 00:30:29,750 ที่แปลก. 615 00:30:29,750 --> 00:30:32,244 ดูว่าเป็นชนิดของปัญหา ที่เกิดขึ้นก่อนที่จะได้รับ 616 00:30:32,244 --> 00:30:37,820 617 00:30:37,820 --> 00:30:38,730 ตกลง. 618 00:30:38,730 --> 00:30:39,800 ดูฉันหลังจากที่ส่วน 619 00:30:39,800 --> 00:30:42,320 เพราะเราจะมีบางส่วน ปัญหาเกี่ยวกับเซิร์ฟเวอร์ 620 00:30:42,320 --> 00:30:44,325 >> และคุณต้องการที่จะทำให้ แน่ใจว่าเซิร์ฟเวอร์ของคุณ 621 00:30:44,325 --> 00:30:45,700 ก่อนที่จะเริ่มทำงาน pset 622 00:30:45,700 --> 00:30:47,800 เพราะคุณกำลังจะจำเป็นต้องใช้มัน 623 00:30:47,800 --> 00:30:48,300 ใช่ 624 00:30:48,300 --> 00:30:51,299 มีคนอื่นที่ไม่ได้รับ สามารถที่จะได้รับเซิร์ฟเวอร์ของตนจะเริ่มต้นอย่างไร 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> สำหรับบรรดาของคุณที่ต้องการเพิ่ม รูปแบบเพิ่มเติมเพื่อให้หน้าเว็บของคุณ 627 00:31:17,840 --> 00:31:20,450 เราจริงสามารถทำสิ่งที่ ดาวิดได้กระทำในการบรรยายเป็นอย่างดี 628 00:31:20,450 --> 00:31:24,070 ซึ่งคือการสร้างรูปแบบเพิ่มเติม แผ่นซึ่งเป็นจุด CSS, Cascading 629 00:31:24,070 --> 00:31:30,080 แผ่นสไตล์และก็จริงเพิ่มใน 630 00:31:30,080 --> 00:31:33,550 ดังนั้นตัวอย่างเช่นเราได้สร้างเพียง สวยมากเกือบหนึ่งเดียวกันแน่นอน 631 00:31:33,550 --> 00:31:37,180 ดาวิดได้กระทำในการบรรยาย 632 00:31:37,180 --> 00:31:39,220 คุณสามารถสวยมากเพียงแค่ทำร่างกาย 633 00:31:39,220 --> 00:31:45,980 >> คุณมีสิ่งที่เรียกว่าแท็กที่ คุณสามารถนำไปใช้กับ IDE ส่วนสิ่งที่ 634 00:31:45,980 --> 00:31:48,650 ที่คุณต้องการภายในของคุณ ที่เกิดขึ้นจริงที่หน้า HTML 635 00:31:48,650 --> 00:31:54,890 เพื่อให้ร่างกายของหน้าคุณ สามารถทำข้อความศูนย์จัด 636 00:31:54,890 --> 00:31:58,110 แล้วฉันจะมีความคิดสร้างสรรค์ แท็กที่เรียกว่าภายในด้านบน 637 00:31:58,110 --> 00:32:01,860 ที่ฉันต้องการสิ่งเหล่านี้ เกิดขึ้นกำหนดขนาดพิกเซลที่มีขนาดใหญ่ 638 00:32:01,860 --> 00:32:03,104 สำหรับตัวอักษร 639 00:32:03,104 --> 00:32:04,520 ฉันต้องการน้ำหนักตัวอักษรจะเป็นตัวหนา 640 00:32:04,520 --> 00:32:06,478 และฉันต้องการสีไป เป็นสีฟ้า, พลเพียง 641 00:32:06,478 --> 00:32:08,570 ค่าที่ฉันตัดสินใจที่จะเลือก 642 00:32:08,570 --> 00:32:10,870 ฉันสามารถสร้างแท็กอื่นที่เรียกว่ากลาง 643 00:32:10,870 --> 00:32:12,640 ขนาดตัวอักษรทำให้มันเป็นบิตขนาดเล็ก 644 00:32:12,640 --> 00:32:17,730 แล้วผมสามารถสร้างแท็กอีก เรียกว่าด้านล่างที่ฉันต้องการขนาดตัวอักษร 645 00:32:17,730 --> 00:32:20,900 จะเป็นยังแม้มีขนาดเล็ก 646 00:32:20,900 --> 00:32:25,630 >> และเพื่อให้สวยมากนี้เป็นเพียงตัวอย่าง รหัสแหล่งที่มาหรือแหล่งที่มาของแผ่นสไตล์ 647 00:32:25,630 --> 00:32:27,400 ว่ามันเป็นเรื่องง่ายมากที่จะเพียงแค่ Google 648 00:32:27,400 --> 00:32:31,560 ถ้าคุณบอกว่าโอ้ฉันต้องการตัวอักษรของฉัน ที่จะเอียงและสีเขียวเข้ม 649 00:32:31,560 --> 00:32:33,980 คุณอาจจะสามารถของ Google และจากนั้นก็จะบอกคุณ 650 00:32:33,980 --> 00:32:37,590 แท็กที่เหมาะสมหรือรหัสในการสร้าง 651 00:32:37,590 --> 00:32:41,670 ดังนั้นวิธีการที่คุณจะจริง ชนิดของการมีนี้ในเอกสาร HTML 652 00:32:41,670 --> 00:32:45,660 หรือใช้เป็นสิ่งที่คุณมี ที่จะทำนี่คือที่หัว 653 00:32:45,660 --> 00:32:48,560 เพิ่มลิงค์ไปยังสไตล์ชีต 654 00:32:48,560 --> 00:32:53,600 >> ดังนั้นคุณก็สามารถเชื่อมโยงเท่ากับ href สิ่งที่ชื่อของแผ่นสไตล์ของคุณ 655 00:32:53,600 --> 00:32:54,590 คือ. 656 00:32:54,590 --> 00:32:56,740 และแล้วความสัมพันธ์ เป็นสไตล์ชีท 657 00:32:56,740 --> 00:33:00,700 ดังนั้นภายในเอกสาร HTML ใด ๆ ตราบเท่า ในขณะที่คุณรวมถึงแผ่น CSS จุดนี้ 658 00:33:00,700 --> 00:33:07,140 คุณควรจะสามารถที่จะเข้าถึง และมีคุณสมบัติที่มี 659 00:33:07,140 --> 00:33:10,370 >> ดังนั้นตัวอย่างเช่นที่นี่ฉันได้เพียงแค่ สร้างหน้าเว็บอีกตัวอย่างหนึ่ง 660 00:33:10,370 --> 00:33:15,680 นี้คือการต้อนรับการส่วน CS50 วันอังคาร 2:00-03:30 กับฉัน 661 00:33:15,680 --> 00:33:20,300 และจากนั้นผมได้เพิ่มภาพน่ารักที่ เราอาจจะสามารถที่จะเห็น 662 00:33:20,300 --> 00:33:24,620 >> ดังนั้นถ้าคุณลองดูที่นี่ ถ้าคุณไปที่ style.html, 663 00:33:24,620 --> 00:33:26,310 เราได้สร้างหน้าเว็บที่มีลูกแมว 664 00:33:26,310 --> 00:33:29,420 เพราะลูกแมวที่น่ากลัว 665 00:33:29,420 --> 00:33:33,570 ดังนั้นการเพิ่มภาพเป็นเพียงการเชื่อมโยง img SRC 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> สวยมากถ้ามี การเรียงลำดับของคุณลักษณะใด ๆ 668 00:33:38,310 --> 00:33:40,268 คุณต้องการที่จะเพิ่มให้กับคุณ website-- จึงขอบอกว่า 669 00:33:40,268 --> 00:33:43,290 คุณต้องการเพิ่มเมนู หรือแถบค้นหาหรือชอบ 670 00:33:43,290 --> 00:33:46,450 image-- Google เพียงว่าจะทำอย่างไร 671 00:33:46,450 --> 00:33:48,277 และคุณก็ป๋อมในรูปแบบที่ 672 00:33:48,277 --> 00:33:50,110 และคุณก็สามารถสวย มากเพียงเพิ่มใน 673 00:33:50,110 --> 00:33:52,670 มันจริงๆง่ายจริงๆ 674 00:33:52,670 --> 00:33:55,014 >> เรากำลังสร้างของเราเอง หน้าเว็บได้ในขณะนี้ 675 00:33:55,014 --> 00:33:55,680 ถ้าคุณต้องการ-- 676 00:33:55,680 --> 00:33:56,580 >> ผู้ชม: [ไม่ได้ยิน] 677 00:33:56,580 --> 00:33:57,470 >> ANDI PENG: ขออภัย? 678 00:33:57,470 --> 00:33:59,310 >> ผู้ชม: [ไม่ได้ยิน] 679 00:33:59,310 --> 00:34:01,340 >> ANDI PENG: โอ้ div เป็นเพียงส่วนหนึ่ง 680 00:34:01,340 --> 00:34:04,370 บอกฉันว่าโอ้ฉันมี บางส่วนที่เรียกว่า 681 00:34:04,370 --> 00:34:07,480 กลางในการที่ผมใช้ แท็ก CSS ของฉันแล้ว 682 00:34:07,480 --> 00:34:09,619 ส่วนอื่น ๆ ของฉันกับด้านล่าง 683 00:34:09,619 --> 00:34:10,785 นั่นคือทั้งหมดที่มันบอกคุณ 684 00:34:10,785 --> 00:34:12,743 เพราะมันเป็นเรื่องดีที่จะทำให้ สิ่งที่เรียบร้อยในการสั่งซื้อ 685 00:34:12,743 --> 00:34:16,304 ดังนั้นโปรแกรมรู้ว่าวิธีการทำงาน 686 00:34:16,304 --> 00:34:18,929 และคิดว่าฉันสามารถคัดลอกวางนี้ ในเบราเซอร์ที่เกิดขึ้นจริงของฉันเช่นกัน 687 00:34:18,929 --> 00:34:21,110 มันควรจะปรับ 688 00:34:21,110 --> 00:34:21,610 ใช่ 689 00:34:21,610 --> 00:34:24,330 690 00:34:24,330 --> 00:34:25,989 เย้. 691 00:34:25,989 --> 00:34:29,380 ดังนั้นหากทุกคนต้องการที่จะเพียงแค่ ลองสร้างหน้าเว็บ 692 00:34:29,380 --> 00:34:32,169 เราจะใช้เวลาอีก 2-3 นาที 693 00:34:32,169 --> 00:34:34,460 ผมแค่อยากจะให้แน่ใจว่า เซิร์ฟเวอร์ของทุกคนกำลังทำงานอยู่ 694 00:34:34,460 --> 00:34:36,941 และทุกคนมี ความคิดของวิธีการทำที่ 695 00:34:36,941 --> 00:34:38,774 ถ้าพวกคุณต้องการ จะออกจากคอมพิวเตอร์ของคุณ 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 ยังคงไม่ทำงาน? 698 00:34:45,635 --> 00:34:47,420 >> ผู้ชม: ฉันแค่ [ไม่ได้ยิน] 699 00:34:47,420 --> 00:34:49,838 >> ANDI PENG: อาจจะลองปรับปรุง 50 เช่นกัน 700 00:34:49,838 --> 00:34:51,392 ใช่ 701 00:34:51,392 --> 00:34:52,308 ผู้ชม: [ไม่ได้ยิน] 702 00:34:52,308 --> 00:35:17,502 703 00:35:17,502 --> 00:35:18,990 >> ANDI เป็ง: ใช่ 704 00:35:18,990 --> 00:35:23,750 ดังนั้นวิธีการที่คุณจะเริ่มต้นใหม่ เว็บเซิร์ฟเวอร์ใน IDE เป็นเพียง 705 00:35:23,750 --> 00:35:27,889 ทำ apache50 พื้นที่เริ่มต้นพื้นที่จุด 706 00:35:27,889 --> 00:35:30,430 ฉันแค่อยากจะให้แน่ใจว่า เซิร์ฟเวอร์ของทุกคนกำลังทำงานตกลง 707 00:35:30,430 --> 00:35:31,763 >> ผู้ชม: ที่นี่ใน terminal หรือไม่ 708 00:35:31,763 --> 00:35:33,334 ANDI เป็ง: ใช่ 709 00:35:33,334 --> 00:35:34,250 ผู้ชม: [ไม่ได้ยิน] 710 00:35:34,250 --> 00:35:38,000 711 00:35:38,000 --> 00:35:38,985 >> ANDI PENG: อาปาเช่ 712 00:35:38,985 --> 00:35:42,010 ที่จริงผมคิดว่าคุณ บางสิ่งบางอย่างที่ทำงานอยู่แล้ว 713 00:35:42,010 --> 00:35:43,145 ใช่คุณจริง ทำงานเซิร์ฟเวอร์ที่แตกต่างกัน 714 00:35:43,145 --> 00:35:43,830 ใช่คุณดี 715 00:35:43,830 --> 00:35:45,085 ตราบใดที่การทำงานคุณตกลง 716 00:35:45,085 --> 00:35:45,626 >> ผู้ชม: ตกลง 717 00:35:45,626 --> 00:35:47,615 ANDI PENG: มีสองเป็น วิธีการที่จะใช้เซิร์ฟเวอร์ 718 00:35:47,615 --> 00:35:49,990 ดังนั้นตราบใดที่หนึ่งในวิธีการ เป็นคนที่ทำงานก็ต้องทั้งหมด 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 เราจะใช้เวลาอีกนาที เพียงแค่ชนิดของการเสร็จสิ้น 721 00:36:21,680 --> 00:36:25,280 สัมผัสการตกแต่งของสิ่งที่ หน้าเว็บของพวกคุณอยากจะทำ 722 00:36:25,280 --> 00:36:26,830 >> ทุกคนจะทำงานตามทางนั้น 723 00:36:26,830 --> 00:36:30,910 เซิร์ฟเวอร์ของทุกคนมี นอกเหนือจากการทำงานสำหรับคุณ? 724 00:36:30,910 --> 00:36:32,210 เราจะคิดออกว่า 725 00:36:32,210 --> 00:36:34,137 และ HTML ของที่ค่อนข้างง่าย 726 00:36:34,137 --> 00:36:35,220 ดังนั้นผมจึงคิดว่าเราดี 727 00:36:35,220 --> 00:36:38,260 728 00:36:38,260 --> 00:36:38,760 ใช่ 729 00:36:38,760 --> 00:36:41,070 ฉันจะกลับมา. 730 00:36:41,070 --> 00:36:42,797 >> ผู้ชม: [ไม่ได้ยิน] 731 00:36:42,797 --> 00:36:43,380 ANDI PENG: OK 732 00:36:43,380 --> 00:36:44,770 ผู้ชม: ดังนั้นมันจึงเป็นเพียง เริ่มที่จะโหลดขึ้น 733 00:36:44,770 --> 00:36:45,686 ANDI PENG: ไม่ต้องกังวล 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 ดังนั้น HTML มีรหัสแหล่งที่มา จะออนไลน์หลังจากที่ส่วน 736 00:36:52,680 --> 00:36:54,810 นอกจากนี้เดวิดมีทั้งหมด พวงออนไลน์เช่นกัน 737 00:36:54,810 --> 00:36:58,190 เพียงแค่ชนิดของมันได้อย่างรวดเร็วเพื่อ ดูว่าหน้าเว็บ HTML จะเขียน 738 00:36:58,190 --> 00:36:59,920 มันเป็นเรื่องง่ายอย่างเป็นธรรม 739 00:36:59,920 --> 00:37:03,979 สิ่งที่คุณไม่ทราบว่าคุณสวย มากเพียง Google และคุณดี 740 00:37:03,979 --> 00:37:06,270 ผมแค่อยากจะให้แน่ใจว่า เซิร์ฟเวอร์ของคุณกำลังทำงานอยู่ 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> ผู้ชม: มันมักจะทำเช่นนี้? 743 00:37:14,880 --> 00:37:16,421 >> ANDI เป็ง: มันไม่เคยเกิดขึ้นกับผม 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 ผมไม่ทราบว่ามันยังสามารถจำศีล 746 00:37:20,782 --> 00:37:22,516 >> ผู้ชม: [ไม่ได้ยิน] 747 00:37:22,516 --> 00:37:25,140 ANDI เป็ง: ผมคิดว่า everyone-- เหมืองไม่เคยจำศีลก่อน 748 00:37:25,140 --> 00:37:26,860 และผมก็ไม่ทราบว่าทำไม 749 00:37:26,860 --> 00:37:27,566 มันเป็นเรื่องแปลก. 750 00:37:27,566 --> 00:37:29,310 >> ผู้ชม: [ไม่ได้ยิน] 751 00:37:29,310 --> 00:37:30,643 >> ANDI PENG: คุณจะจำศีล? 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> ผู้ชม: [ไม่ได้ยิน] 754 00:37:33,669 --> 00:37:34,335 ANDI เป็ง: ใช่ 755 00:37:34,335 --> 00:37:39,122 756 00:37:39,122 --> 00:37:39,872 ผู้ชม: มันตกลง 757 00:37:39,872 --> 00:37:40,622 ดังนั้นเมื่อมีการเปิด 758 00:37:40,622 --> 00:37:41,760 ANDI PENG: OK 759 00:37:41,760 --> 00:37:43,940 เราจะจัดการกับเซิร์ฟเวอร์บาง หลังจากที่ปัญหาส่วน 760 00:37:43,940 --> 00:37:44,860 คุณควรจะปรับ 761 00:37:44,860 --> 00:37:47,950 แม้ว่าคุณต้องการที่จะให้แน่ใจว่าคุณ พวกเขาได้รับการแก้ไขก่อนที่จะออก 762 00:37:47,950 --> 00:37:49,380 เพราะถ้าเซิร์ฟเวอร์ของคุณ ไม่ได้ทำงานแล้วคุณ 763 00:37:49,380 --> 00:37:52,004 จะไม่สามารถที่จะทำ pset เหมือนเป็นส่วนหนึ่งของ pset ใด ๆ 764 00:37:52,004 --> 00:37:54,200 ดังนั้นคุณจึงต้องการให้แน่ใจว่า ที่ทำงาน 765 00:37:54,200 --> 00:37:54,831 เย็น 766 00:37:54,831 --> 00:37:55,330 ทั้งหมดขวา 767 00:37:55,330 --> 00:37:56,490 บอกว่าลูกแมวลา 768 00:37:56,490 --> 00:37:59,670 ฉันใช้เวลานานมองหา ภาพลูกแมวที่จะนำมา 769 00:37:59,670 --> 00:38:02,272 ดังนั้น anyways 770 00:38:02,272 --> 00:38:04,950 >> ผู้ชม: [ไม่ได้ยิน] 771 00:38:04,950 --> 00:38:05,770 >> ANDI PENG: ขออภัย? 772 00:38:05,770 --> 00:38:07,345 >> ผู้ชม: [ไม่ได้ยิน] 773 00:38:07,345 --> 00:38:08,970 ANDI เป็ง: ผมคิดว่ามันอยู่ในเว็บไซต์ 774 00:38:08,970 --> 00:38:11,064 เช่นเดียวกับสเป็คหรือไม่ 775 00:38:11,064 --> 00:38:12,020 >> ผู้ชม: [ไม่ได้ยิน] 776 00:38:12,020 --> 00:38:16,080 ผมคิดว่าสเป็คเป็นเพียง ออนไลน์ในสัปดาห์ที่เจ็ด 777 00:38:16,080 --> 00:38:18,850 ฉันคิดว่ามันเรียกว่า pset6 แม้ แม้ว่าเราจะอยู่ในสัปดาห์ที่เจ็ดซึ่ง 778 00:38:18,850 --> 00:38:19,641 เป็นคอมพิวเตอร์เล็กน้อย 779 00:38:19,641 --> 00:38:23,130 ผู้ชม: แต่ผมหมายถึงถ้าคุณ ต้องการที่จะดู at-- ถ้าคุณ 780 00:38:23,130 --> 00:38:28,666 ต้องการที่จะดึงรุ่นของเรา เว็บไซต์จากเซิร์ฟเวอร์ของเราหรือไม่ 781 00:38:28,666 --> 00:38:31,820 ดังนั้นเหมือน server.c เป็น pset ใช่มั้ย? 782 00:38:31,820 --> 00:38:36,514 ถ้าคุณต้องการที่จะดูที่นี้ เช่นวิธีการตรวจสอบออกมา? 783 00:38:36,514 --> 00:38:38,680 ANDI PENG: โอ้จริง pset ทั้งหมดที่เรากำลังทำ 784 00:38:38,680 --> 00:38:41,405 ที่นี่จะ implementing-- ที่นี่ ฉันจะไปกว่านี้ในเวลาสั้น ๆ 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 ดังนั้นสำหรับทุกคนที่มีอากาศเพียง ไปยังส่วนพวกคุณอยู่ในโชค 787 00:38:47,020 --> 00:38:49,340 มีวัสดุที่น้อยมากคือ ที่จริงวันนี้ครอบคลุม 788 00:38:49,340 --> 00:38:52,585 >> ฉันแค่จะใช้ต่อไป 20 นาทีไปกว่าความช่วยเหลือ pset 789 00:38:52,585 --> 00:38:55,210 เพราะมีประโยชน์บางอย่าง ฟังก์ชั่นที่จะช่วยให้ชีวิตของคุณ 790 00:38:55,210 --> 00:38:57,501 และหวังว่าเราจะออก จากที่นี่เช่นใน 20 นาที 791 00:38:57,501 --> 00:38:58,360 ตกลง. 792 00:38:58,360 --> 00:39:00,252 >> pset7 ดังนั้นเป็นสิ่งที่ผิด 793 00:39:00,252 --> 00:39:02,460 แม้ว่าเราจะอยู่ในสัปดาห์ เจ็ดก็จริง pset6 794 00:39:02,460 --> 00:39:04,220 ฉันจะเปลี่ยนที่ 795 00:39:04,220 --> 00:39:07,550 ทั้งหมดที่เรากำลังทำใน pset6 คือการสร้างเว็บเซิร์ฟเวอร์ 796 00:39:07,550 --> 00:39:09,010 ที่เสียงที่น่ากลัวสุด 797 00:39:09,010 --> 00:39:11,010 >> และโดยเฉพาะอย่างยิ่งสำหรับผู้ที่ ท่านที่มีอยู่แล้ว 798 00:39:11,010 --> 00:39:14,530 มองไปที่รหัสกระจาย มีจำนวนมากของรหัสมากรหัส 799 00:39:14,530 --> 00:39:15,570 แต่มีการตกลงกันโดยสิ้นเชิง 800 00:39:15,570 --> 00:39:17,750 เพราะ nitty ทราย เป็นส่วนหนึ่งของการสร้างจริง 801 00:39:17,750 --> 00:39:20,140 เซิร์ฟเวอร์จะกระทำโดยเรา 802 00:39:20,140 --> 00:39:22,090 สิ่งที่คุณจะถามจริงๆ จะทำอย่างไรใน pset นี้ 803 00:39:22,090 --> 00:39:25,350 เป็นเพียงการที่จะทำจัดการสตริงบาง ในแฟ้ม I / O ก็จริง 804 00:39:25,350 --> 00:39:27,570 เหมือนที่ค่อนข้างง่าย 805 00:39:27,570 --> 00:39:30,830 >> ดังนั้นเมื่อคุณดาวน์โหลด that-- ที่ ที่นี่ได้จริงดาวน์โหลดแล้ว 806 00:39:30,830 --> 00:39:32,540 pset และนำดู? 807 00:39:32,540 --> 00:39:33,040 ทั้งหมดขวา 808 00:39:33,040 --> 00:39:33,540 ใช่ 809 00:39:33,540 --> 00:39:36,042 มีเหมือน 500 บรรทัดของรหัส ที่คุณกำลังจะได้รับเช่น 810 00:39:36,042 --> 00:39:36,750 เกิดอะไรขึ้น? 811 00:39:36,750 --> 00:39:38,177 และที่ดีทั้งหมด 812 00:39:38,177 --> 00:39:39,760 ให้แน่ใจว่าคุณดูเดิน throughs 813 00:39:39,760 --> 00:39:41,610 เพราะว่าดาวิด and-- ผมไม่ทราบว่า 814 00:39:41,610 --> 00:39:43,870 ฉันไม่คิดว่ามันเป็นของ Zamyla หนึ่งนี้ 815 00:39:43,870 --> 00:39:47,040 แต่ผมคิดว่าบางส่วนอื่น ๆ เดิน throughs เป็นธรรม 816 00:39:47,040 --> 00:39:49,510 ที่เป็นประโยชน์ในแง่ของการ เพียงแค่แจ้งให้คุณทราบ 817 00:39:49,510 --> 00:39:51,780 สิ่งที่เกิดขึ้นภายในของรหัสของคุณ 818 00:39:51,780 --> 00:39:53,330 >> และก็ตกลงกันโดยสิ้นเชิง 819 00:39:53,330 --> 00:39:57,860 เพราะสี่ฟังก์ชั่นที่คุณ ขอให้มีการดำเนินการจริง 820 00:39:57,860 --> 00:39:59,720 ศูนย์จะทำอย่างไรกับเซิร์ฟเวอร์ที่เกิดขึ้นจริง 821 00:39:59,720 --> 00:40:02,590 ทั้งหมดที่พวกเขาต้องทำคือเพียงแค่ แยกสายที่แตกต่างกัน 822 00:40:02,590 --> 00:40:05,780 การค้นหาผ่านสตริง เพื่อให้แน่ใจว่าสิ่งที่กำลังทำ 823 00:40:05,780 --> 00:40:07,750 สิ่งที่พวกเขาควรจะทำ 824 00:40:07,750 --> 00:40:11,200 >> ดังนั้นเพื่อให้ผลที่มี บางฟังก์ชั่นที่มีประโยชน์มาก 825 00:40:11,200 --> 00:40:13,630 โดยเฉพาะอย่างยิ่งสำหรับสตริง การจัดการที่เราควรทั้งหมด 826 00:40:13,630 --> 00:40:15,879 ไปกว่าที่ฉันคิดว่าฉันต้องการ จะมีประโยชน์มากสำหรับคุณผู้ชาย 827 00:40:15,879 --> 00:40:19,130 ที่จะเรียนรู้ก่อนที่จะพยายาม pset 828 00:40:19,130 --> 00:40:23,350 และพวกเขากำลังทั้งหมดที่มีอยู่ ภายในห้องสมุดสตริงของคุณ 829 00:40:23,350 --> 00:40:25,980 อาจมีประโยชน์มากขึ้น ฟังก์ชั่นผมยังไม่ได้รวมอยู่ที่นี่ 830 00:40:25,980 --> 00:40:30,740 เพราะผมไม่เคยใช้อย่างใดอย่างหนึ่งหรือ บางทีฉันก็ไม่ได้รู้ว่าพวกเขาอยู่ 831 00:40:30,740 --> 00:40:32,440 >> รู้สึกอิสระที่จะได้อย่างรวดเร็วผ่าน student.h 832 00:40:32,440 --> 00:40:36,460 เพราะมีเป็นไปได้มาก ฟังก์ชั่นที่มีประโยชน์มาก 833 00:40:36,460 --> 00:40:43,050 ดังนั้นหกที่ผมใช้มากที่สุดในของฉัน pset เมื่อฉันทำมันสัปดาห์ที่ผ่านมา 834 00:40:43,050 --> 00:40:49,620 เป็น strtok, strchr, strrcher, strstr, strcasecmp และ strcpy 835 00:40:49,620 --> 00:40:53,060 และอื่น ๆ ที่ผ่านมาสองอาจจะดูเหมือน สวยคุ้นเคยกับส่วนใหญ่ของคุณ 836 00:40:53,060 --> 00:40:56,910 กรณี Str เปรียบเทียบทั้งหมดก็ไม่สามารถเปรียบเทียบ สายที่จะตรวจสอบพวกเขาสำหรับความเสมอภาค 837 00:40:56,910 --> 00:40:58,110 รวมทั้งกรณีที่ 838 00:40:58,110 --> 00:41:01,430 และ strcpy เพียงสำเนา หนึ่งสตริงเป็นกันชน 839 00:41:01,430 --> 00:41:04,430 >> และเพื่อให้ทั้งสองควรจะดูเหมือนมาก ที่คุ้นเคยกับพวกคุณที่จุดนี้ 840 00:41:04,430 --> 00:41:07,100 เพราะเราได้ใช้พวกเขามาก โดยเฉพาะอย่างยิ่งสำหรับ psets ที่ผ่านมา 841 00:41:07,100 --> 00:41:10,734 แต่บางทีอาจจะเป็นครั้งแรกที่สี่ คุณยังไม่เห็นจนถึงขณะนี้ 842 00:41:10,734 --> 00:41:12,400 แต่ฉันจะเพียงแค่เดินผ่านพวกเขา 843 00:41:12,400 --> 00:41:15,620 เพราะพวกเขากำลังจะทำให้ชีวิตของคุณ จริงๆเรื่องง่าย for-- ไม่ใช่เรื่องง่าย 844 00:41:15,620 --> 00:41:19,830 แต่ง่ายมากสำหรับ pset จะเกิดขึ้นนี้ 845 00:41:19,830 --> 00:41:20,420 >> ตกลง. 846 00:41:20,420 --> 00:41:27,720 ดังนั้นถ่าน * strtok นี้เป็นฟังก์ชั่น คำนิยามสำหรับฟังก์ชั่นที่มีอยู่นี้ 847 00:41:27,720 --> 00:41:31,050 ภายในสตริงห้องสมุดชั่วโมง 848 00:41:31,050 --> 00:41:34,340 หากคุณจะได้รับการป้อนข้อมูลของ char * สตริงซึ่งเป็นเพียงสตริง 849 00:41:34,340 --> 00:41:38,220 หรือถ่านคง * deliminator, delim สำหรับระยะสั้น 850 00:41:38,220 --> 00:41:42,410 ทุกที่มันทำจะทำลายที่มีขนาดใหญ่ สตริงเป็นชุดของสิ่งที่เราเรียก 851 00:41:42,410 --> 00:41:45,730 สัญญาณแยกจากกันโดยค่าบางอย่าง 852 00:41:45,730 --> 00:42:03,340 ดังนั้นในแง่หนึ่งถ้าผมจะให้ คุณ section.7.php นี้เป็นสตริง 853 00:42:03,340 --> 00:42:09,520 >> เพื่อที่จะเป็นถ้าผมจะผ่าน ในครั้งนี้เป็น STR ของฉันของฉันถ่าน * Str, 854 00:42:09,520 --> 00:42:18,870 ถ้า deliminator ของฉันคือจุดทั้งหมดนี้ จะทำคือการค้นหาผ่านสตริง 855 00:42:18,870 --> 00:42:22,790 และเป็นครั้งแรกที่เห็นจุด, มันก็จะกลับไปที่ตัวชี้ 856 00:42:22,790 --> 00:42:25,830 โทเค็นที่ผ่านมาพบว่า ในสตริงก่อนนี้ 857 00:42:25,830 --> 00:42:27,230 ดังนั้นมันจะไปที่นี่ 858 00:42:27,230 --> 00:42:30,580 >> และมันก็จะให้ฉัน 7.php 859 00:42:30,580 --> 00:42:34,070 และถ้าผมจะเรียก หนึ่งทำงานเวลามากขึ้น 860 00:42:34,070 --> 00:42:37,580 มันจะทำให้ฉันเป็นเพียงแค่ .php 861 00:42:37,580 --> 00:42:41,540 และเพื่อให้ทุกฟังก์ชั่นนี้จะทำ ถูกทำลายลงสตริงที่มีขนาดใหญ่ 862 00:42:41,540 --> 00:42:44,620 เข้าไปในสายที่มีขนาดเล็กขึ้นอยู่กับ ในสิ่งที่คุณกำลังมองหา 863 00:42:44,620 --> 00:42:46,670 >> และอื่น ๆ ตัวอย่างเช่นใน ฟังก์ชั่นขึ้นรูปลักษณ์ของคุณ 864 00:42:46,670 --> 00:42:49,895 ถ้าคุณต้องการที่จะมองสิ่งที่ ตัวอักษรบางอย่างมาเกี่ยวกับ 865 00:42:49,895 --> 00:42:54,280 หรือถ้าเกิดขึ้นจุดหรือส่วนขยายเกิดขึ้น ฟังก์ชั่นนี้จะเป็นประโยชน์อย่างเป็นธรรม 866 00:42:54,280 --> 00:42:57,260 867 00:42:57,260 --> 00:42:59,010 ใช่ 868 00:42:59,010 --> 00:42:59,510 ไม่ต้องห่วง. 869 00:42:59,510 --> 00:43:01,339 นี้จะ be-- ทั้งหมดใช่อะไรขึ้น? 870 00:43:01,339 --> 00:43:07,087 >> ผู้ชม: ดังนั้นในบรรทัดแรก ถ้าเราใช้ตัวอย่างนี้ 871 00:43:07,087 --> 00:43:09,504 สิ่งที่เราจะใส่ลงในนั้น? 872 00:43:09,504 --> 00:43:10,170 ANDI เป็ง: ใช่ 873 00:43:10,170 --> 00:43:13,000 874 00:43:13,000 --> 00:43:25,640 คุณเพียงแค่จะเรียก สตริง strtok จุลภาค delim 875 00:43:25,640 --> 00:43:30,260 และสตริงเท่ากับ section.7.php 876 00:43:30,260 --> 00:43:35,244 และแล้วคุณ delim อาจจะเท่ากับเพียงจุด 877 00:43:35,244 --> 00:43:36,654 >> ผู้ชม: ตกลง 878 00:43:36,654 --> 00:43:39,010 >> ANDI เป็ง: ใช่ 879 00:43:39,010 --> 00:43:41,266 เป็นแบบนั้น. 880 00:43:41,266 --> 00:43:43,890 ฟังก์ชั่นทั้งหมดเหล่านี้เป็นธรรม ที่คล้ายกันเมื่อเราไปถึงพวกเขา 881 00:43:43,890 --> 00:43:45,514 พวกเขาเพียงแค่ทำในสิ่งที่แตกต่างกันเล็กน้อย 882 00:43:45,514 --> 00:43:49,530 แต่พวกเขากำลังทั้งหมดไป ทำให้ชีวิตของคุณง่ายขึ้นมาก 883 00:43:49,530 --> 00:43:53,940 ฟังก์ชั่นที่สองของคนเช่นนี้ ซุปเปอร์ซุปเปอร์สำคัญสุด 884 00:43:53,940 --> 00:43:58,254 เป็น the-- ถือขึ้น 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> โอ๊ะ 887 00:44:08,730 --> 00:44:13,810 ค้นหา strchr เป็นครั้งแรก occurrence-- จริงใช่ 888 00:44:13,810 --> 00:44:16,385 strchr เป็นฟังก์ชั่นที่ แน่นอนฉันเพียงแค่เดินไป 889 00:44:16,385 --> 00:44:18,260 ดังนั้นจะไม่สนใจสิ่งที่ผมพูด สำหรับฟังก์ชั่นเป็นครั้งแรก 890 00:44:18,260 --> 00:44:20,980 มันเรียกว่าจริง strchr 891 00:44:20,980 --> 00:44:24,840 >> ดังนั้นสิ่งที่จะเกิดขึ้นที่นี่คือถ้า คุณได้รับสตริงในถ่านคหนึ่ง 892 00:44:24,840 --> 00:44:28,660 มันก็จะให้ คุณสิ่งที่เป็น 893 00:44:28,660 --> 00:44:29,230 ใช่ 894 00:44:29,230 --> 00:44:33,700 ดังนั้นคิดว่ามันเป็น STR ซึ่ง เป็นสตริงและ chr เป็นถ่าน 895 00:44:33,700 --> 00:44:38,621 ดังนั้นสิ่งที่คุณกำลังพยายามที่จะทำคือการค้นหา สำหรับถ่านที่อยู่ในสตริง 896 00:44:38,621 --> 00:44:41,120 และดังนั้นจึงค้นหาแรก การเกิดขึ้นของตัวละคร 897 00:44:41,120 --> 00:44:43,601 คใน STR สตริง 898 00:44:43,601 --> 00:44:46,463 >> ผู้ชม: [ไม่ได้ยิน] 899 00:44:46,463 --> 00:44:48,380 >> ANDI PENG: Yup 900 00:44:48,380 --> 00:44:51,230 และแล้วถ้ามันไม่พบ มันก็จะกลับมาเป็นโมฆะ 901 00:44:51,230 --> 00:44:54,313 ดังนั้นสิ่งที่เป็นไปได้มาก ที่มีประโยชน์สำหรับคุณผู้ชายในการทำ pset 902 00:44:54,313 --> 00:44:59,030 ถ้าบอกว่าคุณกำลังมองหา ส่วนขยายเช่น .docx สำหรับ Word ได้ 903 00:44:59,030 --> 00:45:04,740 เอกสารหรือ .pdf สำหรับเอกสาร PDF, ชนิดที่คุณสามารถใช้เพื่อดู 904 00:45:04,740 --> 00:45:08,720 สำหรับสิ่งที่อยู่นั้น ทุกครั้งที่คุณเห็นจุดใช่มั้ย? 905 00:45:08,720 --> 00:45:11,880 และเพื่อให้สวยมากถ้าคุณ เรียกว่าผ่านฟังก์ชั่น 906 00:45:11,880 --> 00:45:13,610 ถ้ามันกลับโมฆะ แล้วคุณจะรู้ว่ามัน 907 00:45:13,610 --> 00:45:17,292 ไม่พบมันจุดซึ่งหมายความว่านี้ อย่างเห็นได้ชัดไม่ได้เป็นไฟล์นามสกุลที่ถูกต้อง 908 00:45:17,292 --> 00:45:19,000 หรือถ้ามันกลับ บางสิ่งบางอย่างแล้วคุณจะรู้ 909 00:45:19,000 --> 00:45:21,940 มันจะกลับมาของสิ่งที่ จริงหลังจากที่ขยาย 910 00:45:21,940 --> 00:45:24,190 ดังนั้นบรรดาผู้ที่มี เริ่มมองผ่านการค้นหา 911 00:45:24,190 --> 00:45:28,640 และแยกของฟังก์ชั่นนี้ จะเป็นประโยชน์สุด 912 00:45:28,640 --> 00:45:32,010 ดังนั้นเรากำลังจะเป็นจริง แสดงให้เห็นถึงการใช้นี้ 913 00:45:32,010 --> 00:45:36,670 >> ทำไมคุณไม่ลองคนเขียน ฟังก์ชั่นบูลประโยค char * s ที่ 914 00:45:36,670 --> 00:45:39,610 เพียงแค่ผลตอบแทนจริงถ้า s เป็น ประโยคและเท็จอย่างอื่น 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 ดังนั้นคำแนะนำที่คุณกำลังจะ อาจจะใช้ strchr 917 00:45:46,830 --> 00:45:50,420 หรือคุณเพียงค้นหาใน สตริงสำหรับตัวอักษรบาง 918 00:45:50,420 --> 00:45:54,950 และในประโยค สิ่งที่แยกประโยค 919 00:45:54,950 --> 00:45:57,510 จากที่ไม่ใช่ประโยค สิ่งที่ตัวละครที่เฉพาะเจาะจง 920 00:45:57,510 --> 00:45:58,260 ผู้ชม: อวกาศ 921 00:45:58,260 --> 00:45:59,343 ANDI PENG: พื้นที่ A, ใช่มั้ย? 922 00:45:59,343 --> 00:46:03,354 ดังนั้นสิ่งที่เราไม่อาจจะ ต้องการที่จะทำภายในฟังก์ชั่นนี้ได้ที่นี่? 923 00:46:03,354 --> 00:46:04,290 >> ผู้ชม: [ไม่ได้ยิน] 924 00:46:04,290 --> 00:46:07,623 >> ANDI เป็ง: เรากำลังจะต้องการ strchr สตริงสำหรับการปรากฏตัวของพื้นที่ 925 00:46:07,623 --> 00:46:11,330 เพราะถ้ามันกลับบางสิ่งบางอย่างแล้ว เรารู้ว่านี้จะต้องเป็นประโยค 926 00:46:11,330 --> 00:46:14,510 นั่นหมายความว่าเราจะต้อง มีพื้นที่ว่างในสายนี้ 927 00:46:14,510 --> 00:46:17,660 >> หากมีพื้นที่ไม่มีแล้วเรารู้ว่า ว่าเดี๋ยวก่อนคิดว่ามันไม่ได้เป็นสตริง 928 00:46:17,660 --> 00:46:20,060 มันอาจเป็นเพียงคำนานจริงๆ 929 00:46:20,060 --> 00:46:23,242 ดังนั้นฉันจะให้พวกคุณสอง นาทีที่จะเขียนฟังก์ชั่นนี้ 930 00:46:23,242 --> 00:46:44,398 931 00:46:44,398 --> 00:46:45,874 ใช่ 932 00:46:45,874 --> 00:46:47,970 >> ผู้ชม: คุณได้รับ สายนี้จากผู้ใช้? 933 00:46:47,970 --> 00:46:48,440 >> ANDI เป็ง: ใช่ 934 00:46:48,440 --> 00:46:49,565 ดังนั้นนี้เป็นเพียงฟังก์ชั่น 935 00:46:49,565 --> 00:46:54,586 ดังนั้นจินตนาการภายในฟังก์ชั่นหลักของคุณ คุณ have-- ขอไปที่นี่ 936 00:46:54,586 --> 00:47:00,040 937 00:47:00,040 --> 00:47:00,540 ตกลง. 938 00:47:00,540 --> 00:47:05,270 ดังนั้นผมจึงได้เขียนโปรแกรมที่นี้ ฉันมีฟังก์ชั่นหลักของฉันที่ 939 00:47:05,270 --> 00:47:07,432 เราได้สร้างเพียงสองสาย 940 00:47:07,432 --> 00:47:09,890 คนแรกคือสวัสดีครับผมชื่อ เป็น Andi-- ชัดเจนประโยค 941 00:47:09,890 --> 00:47:13,240 คนที่สองของฉันเป็นเพียง Andi อย่างเห็นได้ชัดไม่ได้ประโยค 942 00:47:13,240 --> 00:47:18,390 >> และเพื่อให้ฉันทำงานทั้งของคนเหล่านั้น สายผ่านฟังก์ชั่นนี้ 943 00:47:18,390 --> 00:47:20,540 ฉันต้องการพวกคุณจะเขียนประโยคเย็น 944 00:47:20,540 --> 00:47:23,380 และฉันเก็บค่าเหล่านั้น แล้วเพียงแค่พิมพ์พวกเขาออก 945 00:47:23,380 --> 00:47:26,549 ดังนั้นคิดว่าผู้ใช้เป็น จะผ่านในสตริง 946 00:47:26,549 --> 00:47:29,590 แล้วคุณจะเป็นหลัก คิดว่ามันเป็นประโยคหรือไม่ 947 00:47:29,590 --> 00:47:31,131 และกลับจริงหรือเท็จตาม 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> ถ้าพวกคุณต้องการที่จะให้ นิ้วหัวแม่มือขึ้นหรือหัวขึ้นพยักหน้าหัว 950 00:48:45,200 --> 00:48:49,080 ทุกคนพร้อมที่จะเริ่มต้น นี้ที่ต้องการจะดี 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 บางทีเหมือน 30 วินาทีมากขึ้น? 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 ทั้งหมดขวา 955 00:50:50,070 --> 00:50:52,870 ลองมาดูว่าคุณสามารถลอง เขียนฟังก์ชั่นนี้ 956 00:50:52,870 --> 00:50:57,480 >> ดังนั้น coding-- หลอกฉันแค่จะไป ชนิดของการเดินผ่านนี้ในขณะนี้ 957 00:50:57,480 --> 00:51:00,570 สวยมากเรารู้ว่า ฟังก์ชั่นที่เราจำเป็นต้องใช้ 958 00:51:00,570 --> 00:51:04,390 เรากำลังจะไปเรียกใช้ฟังก์ชันที่เกี่ยวกับ สตริงและการค้นหาของเราสำหรับพื้นที่ 959 00:51:04,390 --> 00:51:08,682 ถ้ามันกลับบางสิ่งบางอย่างเราก็ต้อง รู้ว่าอย่างเห็นได้ชัดนี้เป็นประโยค 960 00:51:08,682 --> 00:51:09,640 เพราะมีช่องว่าง 961 00:51:09,640 --> 00:51:10,930 จากนั้นเรากำลังจะกลับจริง 962 00:51:10,930 --> 00:51:12,310 อื่นที่เรากำลังจะกลับเท็จ 963 00:51:12,310 --> 00:51:14,393 ไม่มีใครต้องการที่จะให้ ฉันบรรทัดแรกของรหัส 964 00:51:14,393 --> 00:51:16,890 ที่เรากำลังจะเป็นจริง เพื่อใช้ในการเขียนนี้หรือไม่? 965 00:51:16,890 --> 00:51:19,680 ก็จริงที่ยากที่สุด บรรทัดของรหัสเป็นอย่างดี 966 00:51:19,680 --> 00:51:21,026 ใช่ 967 00:51:21,026 --> 00:51:28,942 >> ผู้ชม: ถ้า strtok s-- 968 00:51:28,942 --> 00:51:29,900 ANDI PENG: เพียงแค่ strchr 969 00:51:29,900 --> 00:51:35,354 ผู้ชม: [interposing VOICES] มีพื้นที่ไม่เท่ากันให้เป็นโมฆะ 970 00:51:35,354 --> 00:51:38,270 971 00:51:38,270 --> 00:51:40,710 >> ANDI PENG: เย็น 972 00:51:40,710 --> 00:51:41,470 ตรงขวา 973 00:51:41,470 --> 00:51:43,200 ทุกคนเข้าใจว่าบรรทัดแรก? 974 00:51:43,200 --> 00:51:46,110 เรากำลังจะไปเรียก strstr, ซึ่งเป็นฟังก์ชั่นการค้นหาที่ 975 00:51:46,110 --> 00:51:51,830 ดัชนี S สตริงสำหรับถ่านของพื้นที่ 976 00:51:51,830 --> 00:51:56,010 และถ้ามันพบว่ามันก็จะไป กลับชี้ไปที่นั่นคือ 977 00:51:56,010 --> 00:51:58,500 >> ถ้ามันไม่ได้หามัน ก็จะกลับมาเป็นโมฆะ 978 00:51:58,500 --> 00:52:02,530 ดังนั้นถ้ามันกลับสิ่งอื่นที่ไม่ใช่ โมฆะแล้วเรารู้ว่ามันพบพื้นที่ 979 00:52:02,530 --> 00:52:03,553 ที่ทำให้รู้สึก? 980 00:52:03,553 --> 00:52:04,090 เย็น 981 00:52:04,090 --> 00:52:04,590 ทั้งหมดขวา 982 00:52:04,590 --> 00:52:08,246 ดังนั้นหากเรารู้ว่ามันพบ พื้นที่ทำในสิ่งที่เราต้องการจะทำอย่างไร? 983 00:52:08,246 --> 00:52:09,162 ผู้ชม: กลับจริง 984 00:52:09,162 --> 00:52:09,787 ANDI PENG: Yup 985 00:52:09,787 --> 00:52:11,940 กลับจริง 986 00:52:11,940 --> 00:52:15,034 แล้วใครบางคนต้องการที่จะ เสร็จสิ้นการทำงานสำหรับฉันหรือไม่ 987 00:52:15,034 --> 00:52:16,300 ใช่ 988 00:52:16,300 --> 00:52:19,720 อื่น ๆ เช่นเดียวกับที่ 989 00:52:19,720 --> 00:52:20,780 และพยายามรวบรวมนี้ 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> ได้. 992 00:52:28,000 --> 00:52:33,099 ดังนั้นในขณะที่พวกคุณสามารถดูได้จาก เอาท์พุทจำ Booleans ใน C 993 00:52:33,099 --> 00:52:34,390 จะแสดงเสมอในไบนารี 994 00:52:34,390 --> 00:52:35,100 1 เป็นความจริง 995 00:52:35,100 --> 00:52:36,350 0 เป็นเท็จ 996 00:52:36,350 --> 00:52:39,720 >> ถ้าเราจะทำงานนี้ ฟังก์ชั่นในหนึ่งสายที่ 997 00:52:39,720 --> 00:52:42,900 เป็นสวัสดีชื่อของฉัน Andi-- เห็นได้ชัดว่าเป็น sentence-- ผล 998 00:52:42,900 --> 00:52:45,700 พิมพ์ออกมาเป็น 1 ซึ่งเป็นความจริง 999 00:52:45,700 --> 00:52:48,420 คนที่สองซึ่งเป็นเพียง คำที่พิมพ์ออกผล 1000 00:52:48,420 --> 00:52:50,630 0 ซึ่งเป็นเท็จ 1001 00:52:50,630 --> 00:52:54,820 ทุกคนชนิดที่ชัดเจนของการเกี่ยวกับวิธีการ ฟังก์ชั่นนี้ถูกเขียน? 1002 00:52:54,820 --> 00:52:55,800 ใช่ 1003 00:52:55,800 --> 00:52:59,770 >> ผู้ชม: เราสามารถทำแทน ไม่เท่ากับไม่เท่ากับเท่ากับ 0, 1004 00:52:59,770 --> 00:53:03,677 เพื่อที่จะเท่ากับ? 1005 00:53:03,677 --> 00:53:04,260 ANDI PENG: เลขที่ 1006 00:53:04,260 --> 00:53:07,480 เพราะ strchr เป็นฟังก์ชั่น 1007 00:53:07,480 --> 00:53:09,940 ฉันจะกลับไปนี้ 1008 00:53:09,940 --> 00:53:14,624 ดังนั้นสิ่งที่พิมพ์กลับ ฟังก์ชั่น strchr ของเราหรือไม่ 1009 00:53:14,624 --> 00:53:15,332 ผู้ชม: โอ้, OK 1010 00:53:15,332 --> 00:53:15,800 หรือเป็นโมฆะ 1011 00:53:15,800 --> 00:53:16,466 >> ANDI เป็ง: ใช่ 1012 00:53:16,466 --> 00:53:20,890 มันเป็น * ถ่านที่บอกฉันว่าสิ่งที่ ฟังก์ชั่นนี้จะกลับมา 1013 00:53:20,890 --> 00:53:22,090 มันจะเป็นตัวชี้ 1014 00:53:22,090 --> 00:53:24,860 ทั้งสองตัวชี้เป็นไปได้ ชี้ไปที่มันพบมัน 1015 00:53:24,860 --> 00:53:27,550 หรือว่ามันจะกลับมา ตัวชี้ไปยังโมฆะ 1016 00:53:27,550 --> 00:53:30,930 ในกรณีอย่างใดอย่างหนึ่งก็จะ ที่จะกลับตัวชี้ไปยังบางสิ่งบางอย่าง 1017 00:53:30,930 --> 00:53:34,354 >> ดังนั้นถ้าคุณจะถือเอา เท่ากับเท่ากับ 0, 1018 00:53:34,354 --> 00:53:36,020 คุณกำลังจะได้รับข้อผิดพลาดสะสม 1019 00:53:36,020 --> 00:53:37,645 เพราะมันจะกลับมาเป็นตัวชี้ 1020 00:53:37,645 --> 00:53:40,240 และคุณจะพยายามที่จะ เปรียบเทียบตัวชี้ไปยังจำนวนเต็ม 1021 00:53:40,240 --> 00:53:42,515 และคอมพิวเตอร์ไม่ จะชอบว่า 1022 00:53:42,515 --> 00:53:45,630 ใช่ว่า 1023 00:53:45,630 --> 00:53:46,540 เย็น 1024 00:53:46,540 --> 00:53:47,525 ทุกคนดีหรือไม่? 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> และประการที่สองที่เรากำลังจะไป มากกว่าฟังก์ชั่นที่เรียกว่า strstr 1027 00:53:59,770 --> 00:54:02,020 ไม่ต้องกังวลว่าคนเหล่านี้ ฟังก์ชั่นที่คุณมีความสับสน 1028 00:54:02,020 --> 00:54:03,750 พวกเขากำลังสับสนฉัน 1029 00:54:03,750 --> 00:54:07,250 เป็นเช่นนี้พวกคุณจะได้เห็น พวกเขาเสียงทั้งหมดสวยมากเหมือนกัน 1030 00:54:07,250 --> 00:54:10,400 เพียงแค่เมื่อใดก็ตามที่คุณกำลังสับสน ดึงห้องสมุดสตริง 1031 00:54:10,400 --> 00:54:13,290 และพวกคุณสามารถเรียงลำดับ ผ่านที่หนึ่งซึ่ง 1032 00:54:13,290 --> 00:54:18,910 >> strstr ดังนั้นทุกสิ่งที่ทำก็คือการค้นหา สตริงสำหรับสตริงอื่น ๆ ทั้งหมด 1033 00:54:18,910 --> 00:54:21,980 เพื่อที่ strchr ค้นหาเพียง สำหรับตัวเดียว 1034 00:54:21,980 --> 00:54:24,090 ค้นหา strstr สำหรับสตริงทั้งหมด 1035 00:54:24,090 --> 00:54:30,440 ดังนั้นผมจึงอยากจะมองในที่ฉันทำไม่ได้ รู้ว่าสวัสดีชื่อของฉันคือ Andi 1036 00:54:30,440 --> 00:54:32,490 และชื่อเพื่อนที่ดีที่สุดของฉันยังเป็น Andi 1037 00:54:32,490 --> 00:54:37,180 >> ถ้าผมต้องการที่จะมองหาในเรื่องนี้ ประโยคคำทั้งหมดของ Andi, 1038 00:54:37,180 --> 00:54:39,930 เข็มของฉันจะได้รับ สิ่งที่คุณกำลังมองหา 1039 00:54:39,930 --> 00:54:43,440 และกองหญ้าของคุณเป็นสิ่งที่ คุณกำลังมองหาใน 1040 00:54:43,440 --> 00:54:47,050 ดังนั้นหากคุณกำลังมองหา คำเฉพาะในประโยค 1041 00:54:47,050 --> 00:54:48,800 คำว่าเป็นไปได้ที่เข็มของคุณ 1042 00:54:48,800 --> 00:54:51,397 และแล้วประโยคของตัวเอง เป็นไปได้ที่กองหญ้าของคุณ 1043 00:54:51,397 --> 00:54:53,230 และดังนั้นจึงเพียงแค่ค้นหา เกิดขึ้นครั้งแรก 1044 00:54:53,230 --> 00:54:55,063 เข็มสตริง ในกองหญ้าสตริง 1045 00:54:55,063 --> 00:54:57,140 ก็จะส่งกลับตัวชี้ ที่จะเกิดขึ้นครั้งแรก 1046 00:54:57,140 --> 00:55:00,510 ยกเว้นจำในกรณีนี้มันเป็น เกิดขึ้นครั้งแรกของสตริงทั้งหมด 1047 00:55:00,510 --> 00:55:02,510 ที่คุณกำลังค้นหา หาไม่ได้เป็นเพียงตัวละคร 1048 00:55:02,510 --> 00:55:04,676 >> และเพื่อให้เป็นเกือบ สิ่งเดียวกับฟังก์ชั่น 1049 00:55:04,676 --> 00:55:09,100 เราก็ไม่ได้เพียงกับ เฉพาะเจาะจงมากขึ้นอีกนิด 1050 00:55:09,100 --> 00:55:12,730 เพราะคุณกำลังมองหา มากกว่าเพียงแค่ตัวละครตัวหนึ่ง 1051 00:55:12,730 --> 00:55:16,310 และการใช้งานเป็นที่แน่นอนเดียวกัน เป็นหนึ่งที่เราก็ทำ 1052 00:55:16,310 --> 00:55:18,070 ทุกคนตกลงกับเรื่องนี้? 1053 00:55:18,070 --> 00:55:20,250 ตกลง. 1054 00:55:20,250 --> 00:55:23,560 >> หนึ่งที่เรากำลังจะไป มากกว่าเป็น strrchr ซึ่งไม่ได้เป็น 1055 00:55:23,560 --> 00:55:26,320 สับสนกับ strstr หรือ strchr 1056 00:55:26,320 --> 00:55:27,890 strrchr มีอาพิเศษในการมี 1057 00:55:27,890 --> 00:55:29,140 ระวังเมื่อคุณกำลังพิมพ์ 1058 00:55:29,140 --> 00:55:33,851 คุณอาจพบว่าตัวเองรวมทั้ง อาพิเศษหรือไม่รวมถึงอาร์ที่ 1059 00:55:33,851 --> 00:55:35,850 แล้วการทำงานของคุณ จะได้ไม่ไปทำงาน 1060 00:55:35,850 --> 00:55:37,183 และคุณกำลังจะได้รับสับสน 1061 00:55:37,183 --> 00:55:40,150 ระวังว่าคุณกำลังสะกด ฟังก์ชั่นเหล่านี้ได้ 1062 00:55:40,150 --> 00:55:43,770 >> ดังนั้น strrchr เป็นที่แน่นอน สิ่งเดียวกับ strchr 1063 00:55:43,770 --> 00:55:47,480 ยกเว้นจะค้นหาไม่ใช่คนแรก การเกิดขึ้นของตัวละครที่เฉพาะเจาะจง 1064 00:55:47,480 --> 00:55:49,350 แต่เกิดขึ้นครั้งล่าสุด 1065 00:55:49,350 --> 00:55:52,800 ดังนั้นในแง่ที่ว่า มันเกือบจะเหมือนกัน 1066 00:55:52,800 --> 00:55:54,620 แต่แทนที่จะย้าย ส่งต่อในสตริง 1067 00:55:54,620 --> 00:55:57,230 คุณกำลังจะได้รับการเคลื่อนย้าย ย้อนกลับไปในสตริง 1068 00:55:57,230 --> 00:56:00,510 สิ่งเดียวที่แน่นอน, คุณเพียงแค่ ค้นหาในลำดับที่แตกต่าง 1069 00:56:00,510 --> 00:56:04,690 >> และอื่น ๆ นี้อาจจะมีซุปเปอร์ ซุปเปอร์ที่มีประโยชน์สำหรับการค้นหาของคุณ 1070 00:56:04,690 --> 00:56:07,490 ฟังก์ชั่นเป็นครั้งแรก ฟังก์ชั่นใน pset ของคุณ 1071 00:56:07,490 --> 00:56:12,710 ลองทำเป็นว่าเราต้องการที่จะเขียน ฟังก์ชั่นของการขยายช่องว่างที่เรา 1072 00:56:12,710 --> 00:56:17,850 ผ่านถ่านคง * ชื่อไฟล์ เพียงสตริงชื่อไฟล์ 1073 00:56:17,850 --> 00:56:21,370 ที่ใช้เวลาในชื่อและภาพพิมพ์ ออกนามสกุลของไฟล์ว่า 1074 00:56:21,370 --> 00:56:26,520 ดังนั้นตัวอย่างเช่นถ้าผมจะ ผ่านในสายของ pset7.zip ที่ 1075 00:56:26,520 --> 00:56:30,004 ก็จะพิมพ์ออกมาเพียง ขยายซึ่งเป็นซิป 1076 00:56:30,004 --> 00:56:31,920 และนี่จะทำงานให้ เรียงลำดับใด ๆ ของส่วนขยาย, 1077 00:56:31,920 --> 00:56:38,290 .docx สำหรับ Word หรือ .pdf สำหรับรูปแบบไฟล์ PDF หรือยื่น .html สำหรับไฟล์ HTML 1078 00:56:38,290 --> 00:56:40,425 สวยมากเขียน ฟังก์ชั่นที่สามารถทำเช่นนั้น 1079 00:56:40,425 --> 00:56:42,300 ฉันจริงไป สลับไปยังการ IDE 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 มันไม่ได้มี load-- ที่เราจะไป 1082 00:56:56,740 --> 00:57:00,990 >> ดังนั้นสิ่งที่ผมเคยทำที่นี่ก็คือ สร้าง * ถ่าน, สตริงแรก 1083 00:57:00,990 --> 00:57:01,930 เรียกว่า pset7.zip 1084 00:57:01,930 --> 00:57:04,530 ฉันจะซูมเข้า 1085 00:57:04,530 --> 00:57:08,520 ฉันได้สร้างสายที่สอง เรียกว่า finalpaper.docx 1086 00:57:08,520 --> 00:57:12,649 และเขียนฉันฟังก์ชั่นที่ว่าเมื่อ เรียกว่าเป็นไปได้เพียงแค่พิมพ์ออกมา 1087 00:57:12,649 --> 00:57:13,690 นามสกุลของชื่อไฟล์ 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 อาจจะใช้เวลาไม่กี่นาทีในการคิด เกี่ยวกับวิธีการที่คุณกำลังจะทำเช่นนี้ 1090 00:57:19,660 --> 00:57:22,510 เล็กน้อยที่ท้าทายมากขึ้น มากกว่าหนึ่งที่ผ่านมา 1091 00:57:22,510 --> 00:57:24,770 แต่การใช้งานที่เกือบจะ เหมือนเดิมทุกประการ. 1092 00:57:24,770 --> 00:57:29,670 1093 00:57:29,670 --> 00:57:30,170 ใช่ 1094 00:57:30,170 --> 00:57:37,540 เพื่อเขียนฟังก์ชั่นที่เรียกว่าขยาย ว่าถ้าผมให้ชื่อของไฟล์ที่ 1095 00:57:37,540 --> 00:57:41,340 ถ้าผมจะให้คุณ pset7.zip-- ฉัน ต้องการให้คุณพิมพ์ออกมาเพียงแค่ซิป 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 ถ้าฉันให้คุณชอบ finalpaper.docx, เพียงแค่พิมพ์ออก .docx ที่ 1098 00:57:49,890 --> 00:57:51,538 เพียงแค่นามสกุลของไฟล์ใด 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> นี้ที่จริงเท่านั้น ใช้เวลาสองบรรทัดของรหัส 1101 00:59:07,790 --> 00:59:10,692 เพื่อพยายามที่จะดูว่าคุณ อาจจะสามารถทำมันได้ในการที่ 1102 00:59:10,692 --> 00:59:12,400 ที่จริงมันเท่านั้น ใช้เวลาหนึ่งบรรทัดของรหัส 1103 00:59:12,400 --> 00:59:14,074 แต่ทั้งสองสายน่าจะเป็นมาตรฐานมากขึ้น 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 เราเป็นสิ่งที่อาจจะฟังก์ชั่น จะต้องการที่จะโทรได้หรือไม่ 1106 00:59:22,574 --> 00:59:25,286 1107 00:59:25,286 --> 00:59:26,260 >> ผู้ชม: strrchr 1108 00:59:26,260 --> 00:59:27,343 >> ANDI PENG: strrchr ขวา 1109 00:59:27,343 --> 00:59:29,570 เพราะเรากำลังมองหา จากซ้ายด้านขวา 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 ผมไม่ได้ให้พวกคุณ ตัวอย่างเช่นนี้, 1112 00:59:33,940 --> 00:59:38,870 แต่ถ้าฉันให้คุณตัวอย่างเช่น www.apple.com และฉันแค่อยาก 1113 00:59:38,870 --> 00:59:43,005 .com ที่มันจะเป็นตัวอย่างของการที่ คุณต้องการที่จะเรียกเช่นที่ผ่านมา 1114 00:59:43,005 --> 00:59:44,630 ของระยะเวลาและไม่ใช่ครั้งแรกใช่มั้ย? 1115 00:59:44,630 --> 00:59:47,470 ถ้าคุณโทร strchr มัน จะได้รับคุณ apple.com 1116 00:59:47,470 --> 00:59:49,966 >> ถ้าคุณเรียกว่า strrchr มัน จะได้ให้คุณ .com 1117 00:59:49,966 --> 00:59:53,062 และเพื่อให้ระมัดระวังเกี่ยวกับการที่ ways-- ในตัวอย่างของฉัน 1118 00:59:53,062 --> 00:59:55,520 คุณอาจจะอาจจะมี เพียงเขียนโดยใช้ strchr, 1119 00:59:55,520 --> 00:59:57,130 เนื่องจากมีเพียงหนึ่งจุด 1120 00:59:57,130 --> 00:59:59,790 แต่ในกรณีอื่น ๆ ที่ไม่อาจเป็นกรณีที่ 1121 00:59:59,790 --> 01:00:04,960 และเพื่อพยายามที่จะออกแบบ รหัสของคุณดีดังนั้น that-- ใช่? 1122 01:00:04,960 --> 01:00:07,365 >> ผู้ชม: ดังนั้นใน ตัวอย่างเช่นคุณเพียงแค่กล่าวว่า 1123 01:00:07,365 --> 01:00:11,760 เมื่อคุณไม่ strrchr มันจะ ให้คุณ .com หรือเพียงแค่มา? 1124 01:00:11,760 --> 01:00:13,960 >> ANDI เป็ง: มันจะให้คุณ .com 1125 01:00:13,960 --> 01:00:14,794 >> ผู้ชม: ตกลง 1126 01:00:14,794 --> 01:00:15,460 ANDI เป็ง: ใช่ 1127 01:00:15,460 --> 01:00:18,090 1128 01:00:18,090 --> 01:00:19,744 มันชี้ไปที่ที่มันพบว่ามัน 1129 01:00:19,744 --> 01:00:20,244 ใช่ 1130 01:00:20,244 --> 01:00:24,120 1131 01:00:24,120 --> 01:00:25,188 30 วินาทีอาจจะ? 1132 01:00:25,188 --> 01:00:25,688 ใช่ 1133 01:00:25,688 --> 01:00:56,640 1134 01:00:56,640 --> 01:00:58,500 ทุกคนที่ดีหรืออาจจะเป็นเวลาที่น้อยมากขึ้น? 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 แสดงของมือ? 1137 01:01:01,640 --> 01:01:02,320 แสดงหัว? 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 เย็น 1140 01:01:05,300 --> 01:01:07,924 ทุกคนต้องการที่จะให้ฉันแรก บรรทัดของรหัสสำหรับโปรแกรมนี้? 1141 01:01:07,924 --> 01:01:11,861 1142 01:01:11,861 --> 01:01:12,777 ผู้ชม: [ไม่ได้ยิน] 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI PENG: ดังนั้นแรกของทุกคน ขออาจจะทำลายลง 1145 01:01:20,160 --> 01:01:24,370 ดังนั้นสิ่งที่เป็นประเภทการกลับมาของ strrchr หรือไม่ 1146 01:01:24,370 --> 01:01:26,150 กลับกันเถอะ. 1147 01:01:26,150 --> 01:01:29,015 strrchr สิ่งที่เป็นชนิดกลับหรือไม่ 1148 01:01:29,015 --> 01:01:29,640 ผู้ชม: Char * 1149 01:01:29,640 --> 01:01:31,270 ANDI เป็ง: มัน * ถ่านใช่มั้ย? 1150 01:01:31,270 --> 01:01:35,760 ซึ่งหมายความว่าคุณอาจจะ เพื่อต้องการที่จะสร้าง * ถ่านชนิดอื่น 1151 01:01:35,760 --> 01:01:40,400 ของการจัดเก็บเมื่อใดก็ตามที่มันเป็น กลับไปใช่มั้ย? 1152 01:01:40,400 --> 01:01:43,200 เพราะถ้าคุณเรียก strrchr ฟังก์ชั่น 1153 01:01:43,200 --> 01:01:47,030 มันจะทำให้คุณชี้ไปยัง ที่ใดก็ตามที่พบว่าช่วงเวลาที่ผ่านมา 1154 01:01:47,030 --> 01:01:47,580 ขวา? 1155 01:01:47,580 --> 01:01:49,913 >> แต่คุณจะต้องการที่จะ การจัดเก็บที่ใดที่หนึ่งใช่มั้ย? 1156 01:01:49,913 --> 01:01:52,612 ดังนั้นทำอย่างไรเรารหัส นี้ลงในโปรแกรมของเราหรือไม่ 1157 01:01:52,612 --> 01:01:54,320 ผู้ชม: คุณทำให้ * ถ่าน [ไม่ได้ยิน] 1158 01:01:54,320 --> 01:01:55,240 ANDI PENG: อ๋อ 1159 01:01:55,240 --> 01:01:57,120 ผู้ชม: [ไม่ได้ยิน] 1160 01:01:57,120 --> 01:01:58,000 ANDI PENG: strrchr 1161 01:01:58,000 --> 01:01:58,390 ใช่ 1162 01:01:58,390 --> 01:01:59,306 โอ้พลาดอามี 1163 01:01:59,306 --> 01:02:02,877 ผู้ชม: ชื่อแฟ้ม [ไม่ได้ยิน] 1164 01:02:02,877 --> 01:02:03,376 มันคืออะไร? 1165 01:02:03,376 --> 01:02:04,420 โอ้มันเป็นเพียงแค่ s 1166 01:02:04,420 --> 01:02:04,940 >> ANDI PENG: โอ้ก็แค่ s 1167 01:02:04,940 --> 01:02:05,610 Yup ขอโทษ 1168 01:02:05,610 --> 01:02:06,330 ความผิดฉันเอง. 1169 01:02:06,330 --> 01:02:08,370 ตัวอย่างไม่ตรงกับ 1170 01:02:08,370 --> 01:02:12,130 >> ผู้ชม: และแล้วจุด 1171 01:02:12,130 --> 01:02:13,970 >> ANDI PENG: Yup 1172 01:02:13,970 --> 01:02:16,570 โปรดใช้ความระมัดระวังเมื่อพวกคุณ are-- ที่นี่ให้ฉันซูมเข้า 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 เราจะไปที่นั่น. 1175 01:02:24,400 --> 01:02:26,770 โปรดใช้ความระมัดระวังเมื่อพวกคุณ กำลังพิมพ์โดยเฉพาะอย่างยิ่งเมื่อ 1176 01:02:26,770 --> 01:02:27,920 คุณกำลังทำเพียงถ่าน 1177 01:02:27,920 --> 01:02:32,480 มันเป็นเรื่องง่ายที่จะเพียงแค่บังเอิญ ทำราคาคู่เดียวมากกว่า 1178 01:02:32,480 --> 01:02:35,212 >> ที่จะไม่ทำงาน 1179 01:02:35,212 --> 01:02:36,670 คอมไพเลอร์ของคุณจะบ่น 1180 01:02:36,670 --> 01:02:38,790 และฟังก์ชั่นของคุณคือ เพียงแค่ไม่ได้ไปทำงาน 1181 01:02:38,790 --> 01:02:40,540 และเพื่อให้ระมัดระวังในการ คุณกำลังทำสิ่งที่ 1182 01:02:40,540 --> 01:02:42,622 ที่มีตัวอักษรว่ามันเป็นราคาเดียว 1183 01:02:42,622 --> 01:02:44,830 และเพื่อไม่สายนี้ รหัสทำให้ความรู้สึกที่ทุกคนหรือไม่ 1184 01:02:44,830 --> 01:02:46,810 เรากำลังสร้างตัวชี้ * ถ่าน 1185 01:02:46,810 --> 01:02:50,310 เพราะผลตอบแทนที่ strrchr บางสิ่งบางอย่างของตัวชี้ประเภท 1186 01:02:50,310 --> 01:02:53,440 >> และเพื่อที่เรากำลังจะเรียก strchr ใน s ซึ่งเป็นสตริงไฟล์ 1187 01:02:53,440 --> 01:02:55,140 ชื่อที่เรากำลังผ่านใน 1188 01:02:55,140 --> 01:02:59,750 และเรากำลังมองหาที่ผ่านมา ตัวอย่างของระยะเวลาซึ่งเป็น 1189 01:02:59,750 --> 01:03:02,200 เพียงจุดเดียวอ้างคำพูดเดียว 1190 01:03:02,200 --> 01:03:02,700 ใช่ 1191 01:03:02,700 --> 01:03:05,180 >> ผู้ชม: เมื่อเราจะใช้คำพูดสอง และเมื่อเราจะใช้คำพูดเดียว? 1192 01:03:05,180 --> 01:03:05,320 >> ANDI เป็ง: ใช่ 1193 01:03:05,320 --> 01:03:07,180 คำพูดคู่ดังนั้น ใช้เสมอเมื่อคุณ 1194 01:03:07,180 --> 01:03:10,120 มีสตริงมากกว่าเพียงแค่หนึ่ง 1195 01:03:10,120 --> 01:03:13,070 ดังนั้นถ้าคุณกำลังทำ strstr, ซึ่งเป็นหนึ่งในที่คุณ 1196 01:03:13,070 --> 01:03:16,320 ค้นหาสตริงสตริงคุณ จะผ่านมันในราคาคู่ 1197 01:03:16,320 --> 01:03:18,070 แต่เวลาใด ๆ มันเป็นเพียงแค่ ตัวเดียว 1198 01:03:18,070 --> 01:03:19,870 คุณต้องการจะทำราคาเดียว 1199 01:03:19,870 --> 01:03:22,880 >> มันเป็นสิ่งที่ดีที่จะเก็บไว้ในใจ 1200 01:03:22,880 --> 01:03:25,864 ดังนั้นตอนนี้ที่เรามีของเรา ชี้ทำในสิ่งที่เราทำกับมันได้หรือไม่ 1201 01:03:25,864 --> 01:03:27,780 ผมขอให้พวกคุณไป พิมพ์มันออกมาใช่มั้ย? 1202 01:03:27,780 --> 01:03:30,940 ดังนั้น [ไม่ได้ยิน] คุณต้องการ ให้ฉันบรรทัดของรหัส? 1203 01:03:30,940 --> 01:03:31,780 >> ผู้ชม: printf-- 1204 01:03:31,780 --> 01:03:32,446 >> ANDI เป็ง: ใช่ 1205 01:03:32,446 --> 01:03:35,344 1206 01:03:35,344 --> 01:03:36,843 ผู้ชม: --you ต้องถือเป็นสถานที่ 1207 01:03:36,843 --> 01:03:37,340 ANDI PENG: Yup 1208 01:03:37,340 --> 01:03:38,334 ผู้ชม: พิมพ์ผู้ถือสถานที่ 1209 01:03:38,334 --> 01:03:40,322 ผมไม่ทราบว่าสถานที่ ถือเป็น แต่จุดไป 1210 01:03:40,322 --> 01:03:40,819 >> ตกลง. 1211 01:03:40,819 --> 01:03:42,027 ขอข้ามสำหรับตอนนี้แล้ว 1212 01:03:42,027 --> 01:03:44,556 ผู้ชม: และแล้ว comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI PENG: ตัวชี้ใช่มั้ย? 1214 01:03:45,720 --> 01:03:47,970 >> ผู้ชม: ตัวชี้ยุบ 1215 01:03:47,970 --> 01:03:51,140 >> ANDI PENG: ดังนั้นชนิดของคำถามเคล็ดลับ จะทำอย่างไรกับตัวชี้และสตริง 1216 01:03:51,140 --> 01:03:53,130 ที่เราได้ชนิดของการพูดคุยเกี่ยวกับแล้ว 1217 01:03:53,130 --> 01:03:57,766 ชนิดของผู้ถือสถานที่ที่เราทำ ต้องการสำหรับตัวชี้ * สำหรับถ่านหรือไม่? 1218 01:03:57,766 --> 01:03:59,574 >> ผู้ชม: [ไม่ได้ยิน] 1219 01:03:59,574 --> 01:04:00,240 ANDI เป็ง: ใช่ 1220 01:04:00,240 --> 01:04:02,522 มันง่ายกว่าที่พวกคุณคิดว่ามันเป็น 1221 01:04:02,522 --> 01:04:03,230 ผู้ชม: String? 1222 01:04:03,230 --> 01:04:04,730 ANDI เป็ง: มันเป็นเพียงสตริงว่า 1223 01:04:04,730 --> 01:04:06,595 เพราะจำได้ว่าสตริง ไม่ได้จริงๆอยู่ 1224 01:04:06,595 --> 01:04:09,430 A * ถ่านเป็นที่แน่นอน สิ่งเดียวกันเป็นสตริง 1225 01:04:09,430 --> 01:04:14,461 และเพื่อให้จริงๆ s นี้คือสิ่งที่ ควรจะถูกนำมาใช้ตลอด 1226 01:04:14,461 --> 01:04:14,960 ตกลง. 1227 01:04:14,960 --> 01:04:17,810 >> ลองมาดูว่าเราสามารถลองใช้นี้ 1228 01:04:17,810 --> 01:04:19,450 ลองทำให้ขยาย 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 เย็น 1231 01:04:23,396 --> 01:04:28,830 พวกคุณดูว่าฉันผ่านใน psset7.zip และ finalpaper.docx ที่ 1232 01:04:28,830 --> 01:04:32,500 และมันก็พิมพ์ออก ซิปและ .docx หรือไม่ 1233 01:04:32,500 --> 01:04:34,150 ความรู้สึกให้? 1234 01:04:34,150 --> 01:04:36,660 >> ตกลงดังนั้นผมจึงคิดว่าในรูปลักษณ์ของคุณ ฟังก์ชั่นใน pset ของคุณ 1235 01:04:36,660 --> 01:04:41,050 จะถูกถามว่า สตริงมีตอนจบบางอย่าง 1236 01:04:41,050 --> 01:04:42,800 คุณจะต้องให้รหัสข้อผิดพลาดบางอย่าง 1237 01:04:42,800 --> 01:04:44,820 ดังนั้นนี้จะเป็นที่น่ากลัวสวย 1238 01:04:44,820 --> 01:04:47,350 เพราะถ้าคุณสามารถคิด สิ่งที่ขยายคือ 1239 01:04:47,350 --> 01:04:49,810 แล้วคุณสามารถเปรียบเทียบว่า ขยายเพื่อดูว่ามันตรง 1240 01:04:49,810 --> 01:04:51,251 ที่มีนามสกุลบางอย่าง 1241 01:04:51,251 --> 01:04:53,250 และจากนั้นคุณสามารถกลับ ข้อผิดพลาดใช่มั้ย? 1242 01:04:53,250 --> 01:04:53,860 ใช่ 1243 01:04:53,860 --> 01:04:55,370 >> ผู้ชม: ดังนั้นเราทำไม่ได้ ต้องเพิ่ม 1 หรืออะไร? 1244 01:04:55,370 --> 01:04:56,530 ตัวชี้จะไป the-- 1245 01:04:56,530 --> 01:04:56,660 >> ANDI PENG: Nope 1246 01:04:56,660 --> 01:04:57,530 >> ผู้ชม: --point หลังจากที่มัน 1247 01:04:57,530 --> 01:04:58,196 >> ANDI เป็ง: ใช่ 1248 01:04:58,196 --> 01:05:00,650 มันชี้ให้ตรงกับ ที่เกิดขึ้นได้ 1249 01:05:00,650 --> 01:05:04,010 ดังนั้นตัวอย่างเช่นที่นี่เรากำลัง ค้นหาสำหรับรอบระยะเวลา 1250 01:05:04,010 --> 01:05:06,597 ดังนั้นมันจะกลับมา ตัวชี้กับช่วงเวลา 1251 01:05:06,597 --> 01:05:08,930 และจากนั้นก็จะพิมพ์ จากเริ่มต้นที่ระยะเวลา 1252 01:05:08,930 --> 01:05:10,260 >> ดังนั้นคุณจึงไม่จำเป็นที่จะต้องเพิ่ม 1 1253 01:05:10,260 --> 01:05:15,000 แม้ว่าจะเป็นทั้งหมดปรับให้ถ้า คุณไม่แน่ใจเคยไปเพียงแค่ชนิด 1254 01:05:15,000 --> 01:05:16,070 การทดสอบด้วยตัวคุณเอง 1255 01:05:16,070 --> 01:05:17,590 สร้างโปรแกรมตัวอย่าง 1256 01:05:17,590 --> 01:05:20,240 ทดสอบออกตัวเองและ ดูว่ามันจะเป็นเรื่องการพิมพ์ 1257 01:05:20,240 --> 01:05:23,380 ที่ยังไม่ได้เป็นวิธีที่ดีที่จะทำมัน 1258 01:05:23,380 --> 01:05:26,040 >> เย็น 1259 01:05:26,040 --> 01:05:28,880 และที่สวยมากทุก ฉันมีสำหรับผู้ชายคุณในวันนี้ 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 เราไม่มากของสิ่ง pset วันนี้ 1262 01:05:33,300 --> 01:05:35,720 ดังนั้นเมื่อมีข้อสงสัยเช่น ผมบอกว่ามักจะมองขึ้น 1263 01:05:35,720 --> 01:05:37,620 ห้องสมุดสตริงสำหรับ pset นี้ 1264 01:05:37,620 --> 01:05:40,370 มีเป็นไปได้มาก ฟังก์ชั่นในการมีที่อาจเป็นประโยชน์ 1265 01:05:40,370 --> 01:05:41,300 บางคนอาจจะไม่เป็นประโยชน์ 1266 01:05:41,300 --> 01:05:42,133 ผมไม่ทราบจริงๆ 1267 01:05:42,133 --> 01:05:44,370 เวดผ่านมันมี ทั้งกลุ่มของพวกเขา 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr, strrchr มี สุดสุดที่เป็นประโยชน์เช่นเดียวกับ 1269 01:05:49,100 --> 01:05:52,080 strcpys และ strcasecmps ที่เราได้ใช้อยู่แล้ว 1270 01:05:52,080 --> 01:05:56,510 >> มันมากเพียง messing รอบด้วย เงื่อนไขการกำหนดว่าพวกเขากำลังเท่ากัน 1271 01:05:56,510 --> 01:05:59,960 สิ่งที่ได้รับจากสายและ ความสามารถในการเปิดไฟล์ได้อย่างถูกต้อง 1272 01:05:59,960 --> 01:06:02,252 มันมากของไฟล์ I / O pset จริงๆไม่เลว 1273 01:06:02,252 --> 01:06:04,210 คุณกำลังจะใช้ มองไปที่มันดาวน์โหลดได้ 1274 01:06:04,210 --> 01:06:05,590 และดูทั้งกลุ่มของรหัส 1275 01:06:05,590 --> 01:06:09,220 ไม่ต้องกังวลรหัสคุณ จริงเขียนไม่เลวเลย 1276 01:06:09,220 --> 01:06:12,870 ถ้าใครมีปัญหาเกี่ยวกับพวกเขา เซิร์ฟเวอร์มาเห็นฉันหลังจากที่ส่วน 1277 01:06:12,870 --> 01:06:16,040 >> ขอโทษอีกครั้งไม่ได้ นำลูกอมฮาโลวีน 1278 01:06:16,040 --> 01:06:18,790 ผมไม่ทราบว่าสิ่งที่ผิดกับฉัน 1279 01:06:18,790 --> 01:06:20,800 แต่เราจะมีคู่ ลูกอมในครั้งต่อไป 1280 01:06:20,800 --> 01:06:25,620 และโชคดีใน pset ของคุณในสัปดาห์นี้ 1281 01:06:25,620 --> 01:06:27,170 ได้. 1282 01:06:27,170 --> 01:06:28,722