1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN შმიდი: Hello everybody. 3 00:00:09,710 --> 00:00:12,640 მოგესალმებით CS50 სემინარი on Node.js. 4 00:00:12,640 --> 00:00:13,955 ჩემი სახელია კევინ. 5 00:00:13,955 --> 00:00:15,580 მე CS50 TF. 6 00:00:15,580 --> 00:00:17,650 და მე ერთგვარი მოსწონს ნამდვილად აღფრთოვანებული ამ სემინარს. 7 00:00:17,650 --> 00:00:20,430 ვფიქრობ Node.js არის ძალიან მაგარი. 8 00:00:20,430 --> 00:00:24,200 მე იმედი მაქვს, რომ ეს სემინარი შეიძლება გამოყენებულ იქნას როგორც კარგი, ვფიქრობ, პლაცდარმი 9 00:00:24,200 --> 00:00:26,380 ზოგიერთი თქვენი საბოლოო პროექტების, თუ თქვენ დაინტერესებული გამოყენებით 10 00:00:26,380 --> 00:00:27,630 რაღაც Node.js. 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> ჩვენ ერთგვარი დაიწყოს სემინარი off მიერ უბრალოდ ვსაუბრობთ ცოტა 13 00:00:33,320 --> 00:00:36,970 სახის ფონზე scalability პერსპექტივები Node.js, და შემდეგ 14 00:00:36,970 --> 00:00:39,240 ჩვენ გადაადგილება ზოგიერთ კოდი მაგალითები. 15 00:00:39,240 --> 00:00:42,340 და მე კოდი ნახვა, და თქვენ შეგიძლიათ შეხედოთ კოდი. 16 00:00:42,340 --> 00:00:45,475 და შემდეგ სემინარზე მე დასალაგებლად განხილვა შესახებ, თუ როგორ შეიძლება შეიქმნას Node.js 17 00:00:45,475 --> 00:00:48,220 თქვენს კომპიუტერში. 18 00:00:48,220 --> 00:00:48,710 >> OK. 19 00:00:48,710 --> 00:00:49,760 მოდით დავიწყოთ. 20 00:00:49,760 --> 00:00:53,700 ასე ვფიქრობ მე, უბრალოდ, მინდა ვისაუბრო ვებ სერვერები, მართლაც, პირველი. 21 00:00:53,700 --> 00:00:59,730 და დაიწყოს ამ დისკუსიის, I ძირითადად აქვს სქემა, რომელიც არის 22 00:00:59,730 --> 00:01:04,269 სახელმძღვანელოს გამოიყენება CS61, რომელიც ძირითადად გვიჩვენებს ურთიერთქმედების 23 00:01:04,269 --> 00:01:08,510 შორის კლიენტი პროცესი, ისევე როგორც თქვენი ვებ ბრაუზერის ან როგორც თქვენი მიზანია კლიენტი ან 24 00:01:08,510 --> 00:01:11,340 ასე რომ, და სერვერზე. 25 00:01:11,340 --> 00:01:15,150 ასე რომ, ეს სახის გამოიყურება მსგავსი სურათზე რომ თქვენ ვნახე ლექცია 26 00:01:15,150 --> 00:01:19,270 ოთხშაბათი, სადაც, ძირითადად, ჩვენ გვაქვს კლიენტის პროცესი, როგორიცაა Google Chrome. 27 00:01:19,270 --> 00:01:22,980 >> და შემდეგ ნაბიჯი ერთი კლიენტი აგზავნის მოთხოვნას. 28 00:01:22,980 --> 00:01:27,510 ასე რომ, შეიძლება იყოს რაღაც კარგად მოდით ეწვევა, მე არ ვიცი, CS50.net. 29 00:01:27,510 --> 00:01:29,320 ასე რომ, ჩვენ გასცეს, რომ მოთხოვნა. 30 00:01:29,320 --> 00:01:34,280 და ახსოვს ვინმეს სახელი ოქმი, რომელიც განსაზღვრავს, როგორ 31 00:01:34,280 --> 00:01:35,610 მოთხოვნა უნდა იყოს სტრუქტურა? 32 00:01:35,610 --> 00:01:36,382 Yep. 33 00:01:36,382 --> 00:01:37,650 >> აუდიტორია: [INAUDIBLE]. 34 00:01:37,650 --> 00:01:38,150 >> KEVIN შმიდი: ზუსტად. 35 00:01:38,150 --> 00:01:40,100 ასე რომ, როგორიცაა HTTP, არა? 36 00:01:40,100 --> 00:01:44,720 ასე რომ, ძირითადად დაზუსტება, თუ როგორ მოთხოვნა რეალურად უნდა იყოს ასახული 37 00:01:44,720 --> 00:01:47,450 out, იმიტომ, რომ, დღის ბოლომდე, რომ მოთხოვნა ნამდვილად მომწონს 38 00:01:47,450 --> 00:01:50,240 string რომ ძირითადად ამბობს, მინდა ეს. 39 00:01:50,240 --> 00:01:53,580 და დაზუსტება რომ არის HTTP. 40 00:01:53,580 --> 00:01:55,270 ასე რომ, როგორც ოქმს. 41 00:01:55,270 --> 00:01:57,920 >> ასე შემდეგ სერვერზე იღებს რომ მოთხოვნა. 42 00:01:57,920 --> 00:02:01,610 ასე, რომ თქვენ ბიჭები გვყავს სერვერზე დაყენებული წელს CS50 ელექტრო მოწყობილობების. 43 00:02:01,610 --> 00:02:02,460 ეს Apache. 44 00:02:02,460 --> 00:02:06,230 და ამ კვირას, როდესაც თქვენ მუშაობა პრობლემა მითითებული შვიდი, თქვენ რეალურად უნდა მუშაობა 45 00:02:06,230 --> 00:02:08,160 რომ სერვერზე. 46 00:02:08,160 --> 00:02:12,380 ასე რომ სერვერზე იღებს, რომ მოთხოვნა და მაშინ მას აქვს სახის გადასაფხეკი მის 47 00:02:12,380 --> 00:02:15,090 თავი და ამბობენ, როგორიცაა, რა გავაკეთო ეს? 48 00:02:15,090 --> 00:02:20,060 >> ასე რომ, რის საფუძველზე იგი გადაწყვეტს, მაშინ მას შეუძლია დაუკავშირდეს რაღაც 49 00:02:20,060 --> 00:02:20,730 რესურს. 50 00:02:20,730 --> 00:02:23,700 და რომ რესურსი შეიძლება იყოს ბევრი სხვადასხვა რამ. 51 00:02:23,700 --> 00:02:26,810 ერთი, ეს შეიძლება იყოს მხოლოდ მოსწონს სტატიკური HTML ფაილი. 52 00:02:26,810 --> 00:02:29,820 ასე რომ, ეს შეიძლება იყოს მხოლოდ, ისევე როგორც ზოგიერთი HTML, რომ ჰგავს 53 00:02:29,820 --> 00:02:31,100 თქვენი პირადი ნახვა. 54 00:02:31,100 --> 00:02:35,360 ეს შეიძლება იყოს სტატიკური ფაილი, როგორიცაა იმიჯი ან, როგორც ფილმის, რომ თქვენ გაქვთ. 55 00:02:35,360 --> 00:02:37,660 ეს შეიძლება კი უნდა გაიგო გარკვეული მონაცემთა ბაზა 56 00:02:37,660 --> 00:02:39,530 როგორიცაა MySQL მონაცემთა ბაზაში. 57 00:02:39,530 --> 00:02:43,910 ასე რომ, ეს ყოველთვის არ უნდა დაუკავშირდეს ერთად რესურსი, მაგრამ 58 00:02:43,910 --> 00:02:45,700 ზოგიერთ შემთხვევაში, ეს შესაძლებელი იქნებოდა. 59 00:02:45,700 --> 00:02:47,800 >> ასე რომ, თუ რას აპირებს მას შემდეგ, რაც ის არის, რომ ის აპირებს 60 00:02:47,800 --> 00:02:49,430 უკან გამოაგზავნოს პასუხი. 61 00:02:49,430 --> 00:02:53,130 და პასუხი არის ის, ასევე განსაზღვრული HTTP. 62 00:02:53,130 --> 00:02:54,830 ასე რომ, კლიენტს შეუძლია მიიღოს იგი. 63 00:02:54,830 --> 00:02:56,740 ეს შეიძლება გაანადგურეს ის გარდა და გადაამუშავებს მას. 64 00:02:56,740 --> 00:03:00,900 და შემდეგ თქვენ მიიღებთ ვებ გვერდი როგორიცაა Google ან CS50.net ან 65 00:03:00,900 --> 00:03:02,240 რასაც თქვენ წავიდა. 66 00:03:02,240 --> 00:03:03,100 OK? 67 00:03:03,100 --> 00:03:06,080 >> ასე რომ, ეს არის ძირითადი ურთიერთქმედების, რომ ჩვენ ვაპირებთ, რომ იყოს საქმე. 68 00:03:06,080 --> 00:03:08,770 და ჩვენ საკმაოდ ბევრი იქნება აქცენტი ამ ნაწილში 69 00:03:08,770 --> 00:03:10,640 ურთიერთქმედების, სერვერზე. 70 00:03:10,640 --> 00:03:10,990 OK. 71 00:03:10,990 --> 00:03:12,210 ზემოთ. 72 00:03:12,210 --> 00:03:15,500 ვინმეს გაქვთ რაიმე შეკითხვები აქამდე? 73 00:03:15,500 --> 00:03:17,720 OK. 74 00:03:17,720 --> 00:03:22,430 >> ასე რომ, როგორც ვთქვით, სერვერზე იღებს ამ HTTP მოთხოვნის და შემდეგ გასცემს ამ 75 00:03:22,430 --> 00:03:24,760 HTTP პასუხი. 76 00:03:24,760 --> 00:03:29,100 და როგორც ჩვენ ვისაუბრეთ ადრე, CS50 ელექტრო სერვერზე არის Apache. 77 00:03:29,100 --> 00:03:32,490 ასე რომ, როდესაც თქვენ ბიჭები მუშაობენ P მითითებული შვიდი, თქვენ ვაპირებთ იყოს მუშაობა 78 00:03:32,490 --> 00:03:34,120 Apache სერვერზე. 79 00:03:34,120 --> 00:03:37,890 თქვენ არასდროს ნამდვილად მუშაობა ერთად Apache უშუალოდ ძალიან ბევრი. 80 00:03:37,890 --> 00:03:41,920 თქვენ ერთგვარი კონფიგურაციის Apache პატარა როდესაც თქვენს მიერ მითითებული ვირტუალური მასპინძლებს ან 81 00:03:41,920 --> 00:03:44,970 v მასპინძლებს, და მივიღებთ რომ ცოტა. 82 00:03:44,970 --> 00:03:50,620 >> მაგრამ, ძირითადად, Apache სერვერზე შეიქმნა მუშაობა PHP სახის 83 00:03:50,620 --> 00:03:51,730 გარეთ ყუთში. 84 00:03:51,730 --> 00:03:56,170 ასე რომ, რა ხდება, როდესაც მიდიხარ ერთი თქვენი საიტებზე, როგორიცაა, ვთქვათ, 85 00:03:56,170 --> 00:04:00,360 ადგილობრივი მასპინძელი slash index.php ან რამე, თქვენი ბრაუზერი უგზავნის, რომ 86 00:04:00,360 --> 00:04:04,330 მოთხოვნა, ხოლო შემდეგ Apache ზის და გათვლით out გავაკეთოთ ეს. 87 00:04:04,330 --> 00:04:08,840 და მოქმედება უნდა შესრულდეს რომ კოდის index.php და 88 00:04:08,840 --> 00:04:11,330 შემდეგ ეს off უკან. 89 00:04:11,330 --> 00:04:15,640 ასე რომ იქ რომ. 90 00:04:15,640 --> 00:04:16,980 ასე რომ, ჩვენ ერთგვარი ესაუბრა. 91 00:04:16,980 --> 00:04:21,990 ასე რომ, ეს შეიძლება მხოლოდ ემსახურება სტატიკური ფაილი ან აწარმოებს ზოგიერთი PHP კოდი და მერე საკითხი 92 00:04:21,990 --> 00:04:23,510 პასუხი. 93 00:04:23,510 --> 00:04:27,670 >> ასე რომ საერთო კითხვა, რომელიც შეიძლება მოვიდეს up კარგად, როგორ უნდა ნამდვილად საქმე 94 00:04:27,670 --> 00:04:31,750 მქონე მრავალჯერადი მომხმარებლებს ამავე დროს? 95 00:04:31,750 --> 00:04:36,930 ასე რომ წარმოიდგინეთ, თუ თქვენ წერა ვებგვერდი სერვერზე, თუ თქვენ სერვერზე რომ 96 00:04:36,930 --> 00:04:39,900 თქვენ ცდილობდა შეექმნა რაღაც როგორიცაა C ან რამე მაგდაგვარს, 97 00:04:39,900 --> 00:04:45,150 ძირითადად შეგიძლიათ ვიფიქროთ, თუ როგორ არის შეიძლება იყოს გარკვეული სახის კოდი, რომელიც 98 00:04:45,150 --> 00:04:49,330 მიიღებს მოთხოვნით, მაგრამ შემდეგ ეს უნდა გააკეთოს ეს ყველაფერი მუშაობა. 99 00:04:49,330 --> 00:04:53,060 ეს შეიძლება, მაგალითად, დაუკავშირდეთ მონაცემთა ბაზის ან რამე მაგდაგვარს. 100 00:04:53,060 --> 00:04:53,300 უფლება? 101 00:04:53,300 --> 00:04:56,010 და მაშინ იგი ყველაფერს გააკეთებს, რომ ასეთი დამუშავება და შემდეგ 102 00:04:56,010 --> 00:04:57,060 დააბრუნეს პასუხი. 103 00:04:57,060 --> 00:04:58,950 ასე რომ, როგორც მაღალი დონე მიმოხილვა. 104 00:04:58,950 --> 00:05:04,210 >> მაგრამ ეს არ არის დაუყოვნებლივ აშკარაა, თუ როგორ შეგვიძლია გავაკეთოთ, რომ ისე, რომ ორი ადამიანი ან 105 00:05:04,210 --> 00:05:09,040 კი 1000 ადამიანი ვერ იმუშავებს თქვენი სერვერზე ამავე დროს. 106 00:05:09,040 --> 00:05:14,880 ასე რომ, გამოსავალი, რომ Apache იყენებს ეწოდება თემა ან პროცესები. 107 00:05:14,880 --> 00:05:16,770 ასე რომ თქვენ შეიძლება არ მსმენია ამ თვალსაზრისით ადრე. 108 00:05:16,770 --> 00:05:22,190 ეს OK, თუ თქვენ გაქვთ არ არის, მაგრამ ვფიქრობ შესახებ თემა ან პროცესები, გზები 109 00:05:22,190 --> 00:05:26,290 ოპერაციული სისტემის ან მომხმარებლის პროგრამის ან ასე რომ თუ სერვერზე 110 00:05:26,290 --> 00:05:28,810 სახის შეასრულოს სხვადასხვა რამ ერთდროულად. 111 00:05:28,810 --> 00:05:31,760 ასე, რომ თქვენ შეიძლება მოვისმინეთ ტერმინი ისევე როგორც თემა აღსრულება. 112 00:05:31,760 --> 00:05:34,140 ასე რომ, ეს სახის მოსწონს თქვენ სახის multitasking. 113 00:05:34,140 --> 00:05:37,710 >> და თუ ვნახე ყუთი თქვენი ლეპტოპი, ან რამე მაგდაგვარს, 114 00:05:37,710 --> 00:05:43,040 multicore, რა შეგიძლიათ გააკეთოთ თქვენ შეგიძლიათ აწარმოებს ორი განსხვავებული თემა სხვადასხვა 115 00:05:43,040 --> 00:05:46,700 ნაწილები CPU, რომ მათ რეალურად მოხდეს ამავე დროს. 116 00:05:46,700 --> 00:05:48,100 ასე რომ, ეს მართლაც ძლიერი. 117 00:05:48,100 --> 00:05:52,270 და ეს არის ერთგვარი Apache-ს ამ პრობლემის გადაჭრის. 118 00:05:52,270 --> 00:05:57,900 >> ასე რომ, არსებობს სახის მოსწონს ნებისმიერ საკითხებზე ეს მიდგომა თუმცა? 119 00:05:57,900 --> 00:05:59,870 ასე ვფიქრობ მე სახის წერდა მათ. 120 00:05:59,870 --> 00:06:03,440 მაგრამ ორივე სახის გამოყენება მეხსიერების დიდ ნაწილს. 121 00:06:03,440 --> 00:06:07,490 ეს ძალიან ძვირი შექმნა თემა ან პროცესში. 122 00:06:07,490 --> 00:06:11,750 >> და ნაწილი აზროვნება ის არის, რომ მხოლოდ მაგალითად, როდესაც თქვენ გაშვებული C პროგრამა 123 00:06:11,750 --> 00:06:15,090 როგორც თქვენი ძირითადი და მაშინ, რომ ზარი სხვა ფუნქცია, რომელიც აქვს 124 00:06:15,090 --> 00:06:16,520 გარკვეული სახის Stack. 125 00:06:16,520 --> 00:06:19,910 ასე რომ, თემა ასევე მოითხოვს სრულიად ცალკე დასტის რომელიც 126 00:06:19,910 --> 00:06:21,220 შეიძლება იყოს საკმაოდ დიდი. 127 00:06:21,220 --> 00:06:25,170 და, თუ თქვენ წარმოიდგინეთ მქონე ტონა მომხმარებლის თქვენს საიტზე, თქვენ უნდა 128 00:06:25,170 --> 00:06:26,280 ბევრი სხვადასხვა თემა. 129 00:06:26,280 --> 00:06:28,230 რომ ბევრი stacks მდე მართვა და შენარჩუნება. 130 00:06:28,230 --> 00:06:31,280 ასე რომ, ეს დიდი მეხსიერების მოხმარება. 131 00:06:31,280 --> 00:06:35,650 >> და შემდეგ, ასევე, ვთქვათ, თქვენ მხოლოდ ერთი CPU, ან ვთქვათ თქვენ გაქვთ 132 00:06:35,650 --> 00:06:38,460 მეტი თემა ვიდრე თქვენ გაქვთ იმ multicores. 133 00:06:38,460 --> 00:06:38,730 უფლება? 134 00:06:38,730 --> 00:06:43,280 ასე ვთქვათ გქონდათ 10 თემა და თქვენ მხოლოდ ხუთი პროცესორები. 135 00:06:43,280 --> 00:06:46,260 თქვენ სახის უნდა გავაკეთოთ ეს რამ სადაც თქვენ გადაერთოთ მიმდინარე 136 00:06:46,260 --> 00:06:49,090 ერთი, რომ გაშვებული, რადგან თქვენ ვერ აწარმოებს ყველა 10 ერთდროულად. 137 00:06:49,090 --> 00:06:50,980 და რომ ე.წ. კონტექსტში შეცვლა. 138 00:06:50,980 --> 00:06:54,260 და რომ ტერმინი რეალურად აქვს რამდენიმე სხვადასხვა კონტექსტში, მაგრამ მოდით უბრალოდ 139 00:06:54,260 --> 00:06:56,620 ვფიქრობ, რომ ეს გადართვის ორ თემა. 140 00:06:56,620 --> 00:06:59,730 ეს შეიძლება იყოს საკმაოდ ძვირი, რადგან ძირითადად ის, რაც თქვენ უნდა გააკეთოთ თქვენ 141 00:06:59,730 --> 00:07:03,340 უნდა შეწყვიტოს თუ რას აკეთებს, შენახვა სახელმწიფოს, რომ გაშვებული თემა, და 142 00:07:03,340 --> 00:07:05,440 მერე გადახვიდეთ სხვაგან. 143 00:07:05,440 --> 00:07:09,420 >> ასე რომ ყველას სახის ვხედავ მოტივაცია, რატომ თემა და 144 00:07:09,420 --> 00:07:12,030 პროცესები შეიძლება ცოტა bulky? 145 00:07:12,030 --> 00:07:13,840 და არც თქვენ გაქვთ შეკითხვა? 146 00:07:13,840 --> 00:07:14,376 OK. 147 00:07:14,376 --> 00:07:15,070 ზემოთ. 148 00:07:15,070 --> 00:07:18,090 ვინმეს გაქვთ რაიმე შეკითხვა? 149 00:07:18,090 --> 00:07:19,620 OK. 150 00:07:19,620 --> 00:07:26,720 >> ასე რომ, თუ ჩვენ უკან გადადგმული ნაბიჯია მეორე, არსებობს სახის მოსწონს 151 00:07:26,720 --> 00:07:30,350 დაკვირვება, რომ ჩვენ შეგვიძლია შესახებ ბევრი ვებ პროგრამა. 152 00:07:30,350 --> 00:07:34,810 და ეს მართლაც რომ ბევრი მათგანი რეალურად არ გავაკეთოთ, რომ ბევრი სასარგებლო 153 00:07:34,810 --> 00:07:37,140 მუშაობა შიგნით ძაფი. 154 00:07:37,140 --> 00:07:41,170 ასე რომ ვინმეს დაიწყო P მითითებული შვიდი ყველა? 155 00:07:41,170 --> 00:07:45,650 ასე რომ გსურთ იქნებ აღწეროთ ზოგიერთი ნაწილები? 156 00:07:45,650 --> 00:07:47,850 გიმუშავიათ შესვლისას ან რამე მაგდაგვარს? 157 00:07:47,850 --> 00:07:49,330 >> აუდიტორია: არა 158 00:07:49,330 --> 00:07:49,780 >> KEVIN შმიდი: OK. 159 00:07:49,780 --> 00:07:50,150 არასოდეს გათვალისწინებით. 160 00:07:50,150 --> 00:07:50,900 უკაცრავად. 161 00:07:50,900 --> 00:07:55,790 მაგრამ ძირითადად, იმ P კომპლექტი, თქვენ იქნება მიღების ბევრი სახის 162 00:07:55,790 --> 00:07:59,760 queries მონაცემთა ბაზის მივიღოთ ინფორმაცია, რომ მონაცემთა ბაზაში. 163 00:07:59,760 --> 00:08:03,330 და რა თქვენი კოდი უნდა აკეთებს, რა, რომ Apache პროცესის ან 164 00:08:03,330 --> 00:08:06,030 რომ Apache თემა იქნება აკეთებს მიუხედავად იმისა, რომ აქვს დაუკავშირდეს 165 00:08:06,030 --> 00:08:08,990 მონაცემთა ბაზის არის ის სახის იქნება იჯდა იქ და ის იქნება 166 00:08:08,990 --> 00:08:12,130 ელოდება მონაცემთა ბაზის უპასუხა. 167 00:08:12,130 --> 00:08:16,290 >> ახლა, რომ შეიძლება არ გავს, რომ დიდი საქმე იმიტომ, რომ მონაცემთა ბაზაში არის თქვენი 168 00:08:16,290 --> 00:08:18,240 CS50 ელექტრო მოწყობილობების, არა? 169 00:08:18,240 --> 00:08:22,930 თუმცა, არსებობს გარკვეული სახის ქსელი შეყოვნება არ არსებობს, ვინაიდან, ახლა ინტერნეტში 170 00:08:22,930 --> 00:08:26,830 სერვერზე არ გასცეს საკუთარი მოთხოვნით მონაცემთა ბაზის ურთიერთობა 171 00:08:26,830 --> 00:08:29,520 მონაცემთა ბაზაში და მერე კიდევ რომ ინფორმაცია უკან. 172 00:08:29,520 --> 00:08:33,190 ახლა ის მსგავსად კარგად დაველოდოთ, მე ვარ აპირებს წავიდეს მიიღოს რაიმე 173 00:08:33,190 --> 00:08:35,770 მონაცემთა ბაზაში და შემდეგ იქ ბევრი ელოდება მიმდინარეობს. 174 00:08:35,770 --> 00:08:36,870 ამჯამად რომ აზრი? 175 00:08:36,870 --> 00:08:38,580 >> და ზოგიერთი რამ, ეს არ არის, რომ ცუდი. 176 00:08:38,580 --> 00:08:41,950 იმ შემთხვევაში, თუ ეს უბრალოდ, მაგალითად, შესვლა მეხსიერება, რომ არ მომწონს 177 00:08:41,950 --> 00:08:44,100 საშინელი I / O შეყოვნება. 178 00:08:44,100 --> 00:08:47,110 და როდესაც ვამბობ, I / O შეყოვნება, რა ვარ მხედველობაში არის როგორც ნებისმიერი სახის მოსწონს 179 00:08:47,110 --> 00:08:48,290 input output. 180 00:08:48,290 --> 00:08:52,950 მაგრამ წვდომისათვის ფაილი დისკზე, ისევე როგორც თუ მინდოდა ემსახურება სტატიკური HTML 181 00:08:52,950 --> 00:08:57,850 ფაილი, რომელიც იყო ჩემს ვებ გვერდზე ან ასე რომ, მე სახის უნდა 182 00:08:57,850 --> 00:09:02,310 შეჩერება ცოტა წავიკითხე, რომ ფაილი ამ დისკზე, ხოლო შემდეგ 183 00:09:02,310 --> 00:09:04,400 ეს პროცესი მე ელოდება. 184 00:09:04,400 --> 00:09:06,700 მე არ აკეთებს სასარგებლო შრომა. 185 00:09:06,700 --> 00:09:11,270 >> ეს ასე არ არის ყველაფერი, მაგრამ ეს საერთო განაცხადების მოსწონს P კომპლექტი 186 00:09:11,270 --> 00:09:13,960 შვიდი და ბევრი განცხადება რომ თქვენ არ 187 00:09:13,960 --> 00:09:15,440 რეალურად აკეთებს ბევრი აზროვნება. 188 00:09:15,440 --> 00:09:19,090 და როდესაც ვამბობ, რომ აზროვნება, ვგულისხმობ როგორიცაა კომპიუტერული მუშაობა. 189 00:09:19,090 --> 00:09:23,270 ასე რომ, გამოთვლითი მუშაობა შეიძლება იყოს რაღაც ისევე, როგორც, ვთქვათ, თქვენ სურდა 190 00:09:23,270 --> 00:09:26,590 დაწერეთ სერვერზე, რომ მხოლოდ გამოთვლილია nth Fibonacci ნომერი. 191 00:09:26,590 --> 00:09:29,300 ეს არ გავს განსაკუთრებით fun სერვერზე. 192 00:09:29,300 --> 00:09:34,220 მომწონს არ მოველით, რომ საიტი იყოს მომავალი Facebook, მაგრამ ეს არის გარკვეული 193 00:09:34,220 --> 00:09:35,610 სახის კომპიუტერული მუშაობა. 194 00:09:35,610 --> 00:09:39,570 >> და თქვენ წარმოიდგინეთ, შეცვლის, რომ რამდენიმე სხვა სახის საინტერესო 195 00:09:39,570 --> 00:09:43,070 კომპიუტერული მუშაობა. 196 00:09:43,070 --> 00:09:46,050 ვთქვათ თქვენ წერდნენ რაღაც რომ გამოითვლება ხარისხი 197 00:09:46,050 --> 00:09:49,170 გამიჯვნა ორი ადამიანი ან რამე მაგდაგვარს. 198 00:09:49,170 --> 00:09:51,860 ასე რომ არ გულისხმობს რაიმე სახის გაანგარიშება, არა? 199 00:09:51,860 --> 00:09:56,630 და მაშინაც, გავაკეთოთ, რომ თქვენ ჯერ კიდევ აქვს ბევრი ელოდება იქნებ 200 00:09:56,630 --> 00:09:59,550 თქვენ უნდა მოვითხოვოთ მონაცემთა ბაზა გამოიყურება up, რომელიც მეგობრებთან ერთად, რომლებიც ან 201 00:09:59,550 --> 00:10:00,600 რამე მაგდაგვარს. 202 00:10:00,600 --> 00:10:03,510 ასე არ არის, რომ ასეთი ცნება კომპიუტერული მუშაობა. 203 00:10:03,510 --> 00:10:05,260 ამჯამად რომ აზრი? 204 00:10:05,260 --> 00:10:08,258 ვინმეს გაქვთ რაიმე შეკითხვა? 205 00:10:08,258 --> 00:10:11,960 >> Oh და ვფიქრობ დააყენა სტატისტიკა სერვერები არსებობს რადგან ჩატში სერვერები სახის 206 00:10:11,960 --> 00:10:13,240 კიდევ ერთი კარგი მაგალითია. 207 00:10:13,240 --> 00:10:15,250 სტატისტიკა სერვერზე არ აქვს ბევრი რამ ფიქრი. 208 00:10:15,250 --> 00:10:18,350 ეს უბრალოდ უნდა დაველოდოთ ხალხს შეტყობინებები და მაშინ, როდესაც 209 00:10:18,350 --> 00:10:19,800 ისინი, გადაუგზავნის. 210 00:10:19,800 --> 00:10:21,050 OK? 211 00:10:21,050 --> 00:10:23,410 212 00:10:23,410 --> 00:10:28,180 >> ასე რომ მხოლოდ recap ერთხელ, Apache და მსგავსი ვებ სერვერები, როგორიცაა, რომ ჩანგალი 213 00:10:28,180 --> 00:10:31,470 ბევრი თემა და პროცესები, რომლებიც შეიძლება სახის wasteful. 214 00:10:31,470 --> 00:10:37,530 ამიტომ ვფიქრობ, საკითხი, რომ შეიძლება მოვიდეს რომ არის, ჩვენ უნდა 215 00:10:37,530 --> 00:10:39,610 მრავალი თემა და პროცესები? 216 00:10:39,610 --> 00:10:41,890 რა მოხდება, თუ ჩვენ მხოლოდ ერთი? 217 00:10:41,890 --> 00:10:45,710 >> მოდით სახის ხატავს სურათს რა ეს გამოიყურება ასე. 218 00:10:45,710 --> 00:10:47,810 მოდით მხოლოდ ერთი თემა. 219 00:10:47,810 --> 00:10:48,660 OK? 220 00:10:48,660 --> 00:10:52,790 ასე რომ, წარმოიდგინეთ, ამ ერთი თემა. 221 00:10:52,790 --> 00:10:56,600 >> დავუშვათ ჩვენ ნამდვილად არ აკეთებს რომ ბევრი სასარგებლო - და როდესაც ვამბობ 222 00:10:56,600 --> 00:10:59,450 სასარგებლო, ვგულისხმობ კომპიუტერული სამუშაო - 223 00:10:59,450 --> 00:11:01,130 იმ მრავალი თემა ადრე. 224 00:11:01,130 --> 00:11:04,180 მოდით სახის კონსოლიდაცია ყველაფერი ერთი თემა. 225 00:11:04,180 --> 00:11:07,780 მერე რა, რომ ჩვენ გვქონდა ერთი თემა, რომ სახის უბრალოდ მიდის გარშემო მარყუჟის და 226 00:11:07,780 --> 00:11:10,880 მუდმივად ამოწმებს რამე ახალი მოხდება. 227 00:11:10,880 --> 00:11:15,130 ასე მაგალითად, რაღაც ახალი მოხდა შეიძლება ნიშნავს, მე მივიღე რაღაც უკან 228 00:11:15,130 --> 00:11:19,310 მონაცემთა ბაზაში, ან ვინმე გაიგზავნა ჩემთვის ახალი HTTP მოთხოვნის. 229 00:11:19,310 --> 00:11:22,290 ასე რომ, ამ სახის ღონისძიებები რომ მოხდეს, არა? 230 00:11:22,290 --> 00:11:26,130 >> და მერე რა შემიძლია, როდესაც იმ new რამ არის ამ იგივე თემა 231 00:11:26,130 --> 00:11:30,120 აღსრულების, ამ ერთი თემა შესრულების, მე მოვუწოდებ რამდენიმე კოდი, რომელიც 232 00:11:30,120 --> 00:11:32,410 რომ გაუმკლავდეს, რომ განსაკუთრებული რამ. 233 00:11:32,410 --> 00:11:36,640 ასე მაგალითად, თუ მე მივიღე რაღაც უკან მონაცემთა ბაზიდან, მე ვერ აწარმოებს ჩემი 234 00:11:36,640 --> 00:11:40,960 მცირე კომპიუტერული ნაწილი, რომ რეალურად მხოლოდ ამზადებს, რაც უნდა 235 00:11:40,960 --> 00:11:42,620 გაუგზავნე თავში შესახებ. 236 00:11:42,620 --> 00:11:46,710 ასე აკეთებს, რომ სახის აზრი? 237 00:11:46,710 --> 00:11:49,940 >> მაგრამ რა მართლაც შედეგების ეს? 238 00:11:49,940 --> 00:11:50,660 უფლება? 239 00:11:50,660 --> 00:11:53,730 იმის გამო, რომ ჩვენ წერილობითი ბევრი კოდი, რომელიც - 240 00:11:53,730 --> 00:11:58,330 და მე უბრალოდ აპირებს ხტომა ადრე in სლაიდები, თუ ეს OK. 241 00:11:58,330 --> 00:12:00,930 ასე რომ, თუ არ იბადება, მე უბრალოდ აპირებს უკან გადადგმული ნაბიჯია. 242 00:12:00,930 --> 00:12:03,410 ასე რომ, ეს სახის რამ არის ე.წ. ღონისძიება loop. 243 00:12:03,410 --> 00:12:04,070 OK? 244 00:12:04,070 --> 00:12:07,240 და ეს სახის ძირითადი იდეა Node.js. 245 00:12:07,240 --> 00:12:11,240 >> ასე რომ, რა Node.js რომელიც აკეთებს მართლაც როგორც ვებ სერვერი არ არსებობს ერთი თემა 246 00:12:11,240 --> 00:12:14,850 რომ არის, ძირითადად, მიმდინარეობს გარშემო მარყუჟის ისევე როგორც მაშინ, როდესაც ერთი სახის ფარგლებში 247 00:12:14,850 --> 00:12:18,510 hood of Node.js, რომ მუდმივად შემოწმების, მივიღეთ ახალი რამ? 248 00:12:18,510 --> 00:12:22,720 და მაშინ იგი მიიღებს ელფოსტის რომ შეიქმნა. 249 00:12:22,720 --> 00:12:26,720 მაგრამ კარგი კითხვა ვთხოვო არის, როგორ შეგვიძლია, რომ ეს მოხდეს 250 00:12:26,720 --> 00:12:28,090 არსებული რამ? 251 00:12:28,090 --> 00:12:32,440 >> ამიტომ დააყენა ხაზი C კოდი რომ აქ ძირითადად ჰგავს ის გახსნის 252 00:12:32,440 --> 00:12:33,060 ფაილი, არა? 253 00:12:33,060 --> 00:12:36,090 მე მან უბრალოდ გამოვიდა ალბომი. 254 00:12:36,090 --> 00:12:39,600 ამიტომ მე უნდა გახსნას მისი ახალი ფაილი. 255 00:12:39,600 --> 00:12:43,810 ასე რომ გზა ჩვენი C კოდი მოქმედი - 256 00:12:43,810 --> 00:12:47,890 და ვფიქრობ, ამის მიზეზი მე აირჩია ფაილი იყო იმიტომ, რომ ეს არის ერთგვარი, თუ რამდენად 257 00:12:47,890 --> 00:12:52,000 საქართველოს I / O მუშაობა, რომ ჩვენ გავაკეთეთ C in გრძნობა, რომ იქ input output. 258 00:12:52,000 --> 00:12:55,070 ამიტომ, ჩვენ მოვუწოდებთ ამ კოდი, რომელიც ამას f ღია. 259 00:12:55,070 --> 00:12:59,370 და მერე მომდევნო ხაზი ჩვენი პროგრამა, ჩვენ შეგვიძლია ახლა მუშაობა ვ. 260 00:12:59,370 --> 00:13:02,710 >> ასე რომ, ეს იქნება მაგალითი რაღაც ასეთი სინქრონული ან 261 00:13:02,710 --> 00:13:06,850 დაბლოკვის იმიტომ, რომ პირველი ხაზი იქ ჩვენ ველოდებით სანამ ჩვენ 262 00:13:06,850 --> 00:13:08,110 მიიღეთ ფაილის გახსნა. 263 00:13:08,110 --> 00:13:12,260 ასე რომ მეორე ხაზი, ჩვენ ვიცით, რომ ჩვენ შეუძლია მუშაობა f, მაგრამ ეს ნიშნავს იმას, რომ 264 00:13:12,260 --> 00:13:16,240 რომ მეორე ხაზი ნამდვილად ვერ აწარმოებს სანამ პირველი ხაზი კეთდება. 265 00:13:16,240 --> 00:13:17,760 ამჯამად რომ აზრი? 266 00:13:17,760 --> 00:13:20,890 >> ასე რომ, ეს იქნებოდა ცუდი დააყენოს in ღონისძიება დამმუშავებლის. 267 00:13:20,890 --> 00:13:23,920 და ამის მიზეზი ის არის, რომ ამ სახის ელოდება, არა? 268 00:13:23,920 --> 00:13:26,500 ასე რომ, ეს იქნება აღადგინოთ უკან იგივე. 269 00:13:26,500 --> 00:13:29,470 და ახლა ჩვენ კი არ აქვს სასარგებლოდ მრავალი თემა ან 270 00:13:29,470 --> 00:13:32,390 პროცესები, რადგან მივიღეთ ერთი თემა Node.js. 271 00:13:32,390 --> 00:13:35,496 ამჯამად, რომ აზრი, ყველას? 272 00:13:35,496 --> 00:13:35,990 >> აუდიტორია: Wait. 273 00:13:35,990 --> 00:13:36,980 რა შეცვალა? 274 00:13:36,980 --> 00:13:37,840 >> KEVIN შმიდი: Oh, ასე რომ, დიახ. 275 00:13:37,840 --> 00:13:39,560 ამიტომ მე ვაპირებ მისაღებად შეცვალა. 276 00:13:39,560 --> 00:13:40,430 OK. 277 00:13:40,430 --> 00:13:42,960 მერე რა, რომ ჩვენ გვქონდა რაღაც რომ ჰგავდა ეს? 278 00:13:42,960 --> 00:13:45,730 მერე რა, რომ ახლა მე რედაქტირებული ვ გახსნა პატარა? 279 00:13:45,730 --> 00:13:48,370 ამიტომ მე გავლით იმავე ორი არგუმენტები, როგორც ადრე. 280 00:13:48,370 --> 00:13:52,610 მე მაინც მიყვარს, რომ ახალი სიმღერა რომ იგი გამოვიდა. 281 00:13:52,610 --> 00:13:57,260 მაგრამ მე გავლით მესამე, რაც ეს ცვლადში კოდი. 282 00:13:57,260 --> 00:14:02,280 >> მაგრამ რა არის რეალურად კოდი ამ კონტექსტში? 283 00:14:02,280 --> 00:14:05,360 ეს არის როგორც რეგულარული C ცვლადი? 284 00:14:05,360 --> 00:14:06,740 ეს ფუნქცია, უფლება? 285 00:14:06,740 --> 00:14:09,450 და რომ შეიძლება ცოტა უცნაურია, რადგან მე რეალურად, როგორც ახლა გავლის 286 00:14:09,450 --> 00:14:12,320 ფუნქციონირებს მეორეზე ფუნქცია. 287 00:14:12,320 --> 00:14:14,400 >> ასე რომ, რამდენიმე რამ აღვნიშნო შესახებ. 288 00:14:14,400 --> 00:14:17,145 ერთი, მე რეალურად არ მოუწოდებდა კოდი ფუნქცია. 289 00:14:17,145 --> 00:14:20,650 ასე, რომ თქვენ ვერ ვხედავ კოდექსი მარცხენა paren, მარჯვენა paren. 290 00:14:20,650 --> 00:14:23,010 მე მხოლოდ გავლის კოდი. 291 00:14:23,010 --> 00:14:26,990 და C, რა, რომ ეს რეალურად გავაკეთოთ არის მომეცი მომცეთ, რომ ფაქტობრივი 292 00:14:26,990 --> 00:14:29,740 კოდი და მაშინ ეს შეიძლება აწარმოებს. 293 00:14:29,740 --> 00:14:33,350 მაგრამ ვფიქრობ, რომ ამის შესახებ, როგორც თქვენ ახერხებდნენ კოდი, როცა 294 00:14:33,350 --> 00:14:35,150 რომ ფაილი გაიხსნა. 295 00:14:35,150 --> 00:14:41,430 >> მაგრამ რა ეს იმას ნიშნავს, რომ ახლა დანარჩენი ჩემი პროგრამა, რომელიც შეიძლება გავაკეთოთ 296 00:14:41,430 --> 00:14:47,050 სხვა პერსონალი, შეუძლია გააგრძელოს აკეთებს სხვა პერსონალი, ხოლო ჩვენ, ნამდვილად არ დაველოდებით, მაგრამ 297 00:14:47,050 --> 00:14:50,890 უბრალოდ უკან ჩვენი ხელმძღვანელები, რომ როდესაც რომ ფაილის გახსნა, გაშვება, რომ 298 00:14:50,890 --> 00:14:52,130 კოდი ზედა. 299 00:14:52,130 --> 00:14:53,390 ამჯამად რომ აზრი? 300 00:14:53,390 --> 00:14:58,060 >> და ახლა იდეა Node.js ის არის, რომ კოდი ამ do პერსონალის f 301 00:14:58,060 --> 00:15:04,590 ნაწილი უნდა იყოს საკმაოდ მოკლე და მარტივი და პირდაპირი და ნამდვილად არ იქნება 302 00:15:04,590 --> 00:15:06,160 ძალიან computationally ინტენსიური. 303 00:15:06,160 --> 00:15:09,390 ეს უნდა გახსნა სხვა ფაილი, მაგრამ რომ უნდა იყოს საკმაოდ სწრაფი 304 00:15:09,390 --> 00:15:14,710 იმიტომ, რომ ეს უნდა მხოლოდ ვთქვა, გავაკეთოთ კიდევ ერთი f გახსნა და შემდეგ მოვუწოდებთ ეს სხვა კოდი. 305 00:15:14,710 --> 00:15:19,100 >> ასე რომ, უბრალოდ უნდა იყოს სრულიად ნათელია, რომ f გახსნა, რომ არ ახალი Katy Perry სიმღერა 306 00:15:19,100 --> 00:15:23,060 გაკეთდა mp3, რომ აპირებს საკმაოდ ბევრი დაბრუნებას დაუყოვნებლივ. 307 00:15:23,060 --> 00:15:27,820 და მაშინ ჩვენ შეგვიძლია გავაგრძელოთ აკეთებს სხვა პერსონალი, რადგან ყველა რომ ახლა f 308 00:15:27,820 --> 00:15:33,410 ღია მოწოდება არ არის გითხრათ, ძირითადად, ძირითადი f ღია კოდი ამ ფაილის გახსნის 309 00:15:33,410 --> 00:15:36,020 და როდესაც თქვენ გაკეთდეს გახსნის ამ ფაილი ან როდესაც თქვენ უკან, 310 00:15:36,020 --> 00:15:37,480 მაშინ აწარმოებს, რომ კოდი. 311 00:15:37,480 --> 00:15:39,540 მაგრამ ის ფაქტობრივად არ აწარმოებს, რომ კოდი. 312 00:15:39,540 --> 00:15:41,815 და გქონდათ შეკითხვა? 313 00:15:41,815 --> 00:15:46,180 >> აუდიტორია: თქვენ, როგორც ჩანს, გულისხმობს, რამდენიმე ჯერ დასძინა computationally 314 00:15:46,180 --> 00:15:50,545 ინტენსიური კოდი ერთგვარი შესვენება [INAUDIBLE] ორიენტირებული სისტემა. 315 00:15:50,545 --> 00:15:51,795 [INAUDIBLE]? 316 00:15:51,795 --> 00:15:54,450 317 00:15:54,450 --> 00:15:55,290 >> KEVIN შმიდი: ეს არის დიდი კითხვა. 318 00:15:55,290 --> 00:15:59,280 ასე რომ, რეალურად მაგალითია, თუ როგორ თქვენ შეიძლება ინტეგრირება computationally 319 00:15:59,280 --> 00:16:01,090 ინტენსიური კოდი ცოტა. 320 00:16:01,090 --> 00:16:03,620 ასე რომ, როდესაც მივიღებთ კოდი მაგალითები, მე დარწმუნებული უნდა გაიყვანოს, რომ ერთი. 321 00:16:03,620 --> 00:16:04,700 ის არის, რომ OK? 322 00:16:04,700 --> 00:16:05,950 დიდი მადლობა. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> რა იყო თქვენი სახელი? 325 00:16:08,750 --> 00:16:10,620 >> აუდიტორია: Aaron. 326 00:16:10,620 --> 00:16:14,830 >> KEVIN შმიდი: Aaron გამოიტანს ძალიან კარგი წერტილი, რომელიც არის ის, რომ, თუ მქონდა 327 00:16:14,830 --> 00:16:18,560 ზოგიერთი computationally ინტენსიური კოდექსი გავაკეთოთ პერსონალის f ნაწილი, დანარჩენი 328 00:16:18,560 --> 00:16:22,880 ჩემი პროგრამა არ შეუძლია და არ შეუძლია მოუსმინოს ახალი მოთხოვნების ან არაფერი, სანამ ყველა 329 00:16:22,880 --> 00:16:24,270 რომ პერსონალის დასრულდა. 330 00:16:24,270 --> 00:16:27,390 ასე რომ, თუ მე წერა Node კოდი ზოგადად თუ ჩვენ რაღაც მე ვაპირებ 331 00:16:27,390 --> 00:16:33,060 ვარაუდობენ, მოგვიანებით, როცა შევხედავთ კოდი მაგალითები, უნდა იყოს დარწმუნებული, რომ 332 00:16:33,060 --> 00:16:36,060 ჩემი კოდი არ გვაკავშირებს ეს ღონისძიება loop. 333 00:16:36,060 --> 00:16:38,120 ამჯამად რომ აზრი? 334 00:16:38,120 --> 00:16:38,350 OK. 335 00:16:38,350 --> 00:16:40,040 ზემოთ. 336 00:16:40,040 --> 00:16:47,090 >> ასე Node.js გთავაზობთ ამ ფარგლებში, თქვენ შეძლოთ ამ ღონისძიების ორიენტირებული 337 00:16:47,090 --> 00:16:48,210 სერვერები. 338 00:16:48,210 --> 00:16:53,460 ასე რომ ამ ტიპის ასინქრონული არასამთავრობო დაბლოკვის I / O ბიბლიოთეკა, ხოლო 339 00:16:53,460 --> 00:16:56,800 სტანდარტული C ბიბლიოთეკების, რომ ჩვენ მუშაობს, როგორიცაა, თუ თქვენ უბრალოდ 340 00:16:56,800 --> 00:16:59,500 მათი გამოყენება იგივე გზა, რომ ჩვენ გამოყენებით მათ f ხსნის და 341 00:16:59,500 --> 00:17:03,000 პერსონალი, ვინც ბლოკავს რადგან თქვენ ნამდვილად უნდა ველოდოთ 342 00:17:03,000 --> 00:17:04,470 რომ ფაილის გახსნა. 343 00:17:04,470 --> 00:17:09,290 >> მაგრამ Node.js გაძლევთ, რომ და ეს ძირითადად კავშირები შევიდა Google-ის V8 344 00:17:09,290 --> 00:17:14,030 JavaScript ძრავა, რომელიც არის მიზეზი რომ Chrome იმდენად სწრაფი at დამუშავება 345 00:17:14,030 --> 00:17:17,040 JavaScript, რადგან იგი აქვს V8 ძრავით. 346 00:17:17,040 --> 00:17:22,460 ასე რომ, მე ვიცი, რომ ჟღერს ერთი იმ WWDC დეველოპერი კონფერენციები რამ 347 00:17:22,460 --> 00:17:25,390 , სადაც ისინი უბრალოდ სახიფათოა bunch of წერილი ნომერი რამ პროცესორები 348 00:17:25,390 --> 00:17:26,910 და აცხადებენ, რომ ეს ასე cool. 349 00:17:26,910 --> 00:17:34,200 მაგრამ ეს არის მაგარი, რომ მათ ეს იმიტომ, რომ JavaScript - 350 00:17:34,200 --> 00:17:37,010 ან იქნებ თუ თქვენ არ იცნობს JavaScript ჯერჯერობით იმიტომ, რომ ჩვენ არ გვქონდა 351 00:17:37,010 --> 00:17:38,180 ლექციებს ეს - 352 00:17:38,180 --> 00:17:40,770 მაგრამ JavaScript არის გაგებული ენაზე. 353 00:17:40,770 --> 00:17:41,970 >> და ეს არის მნიშვნელოვანი ძალიან. 354 00:17:41,970 --> 00:17:45,790 ამიტომ მნიშვნელოვანია, ჩვენი ვებგვერდი სერვერები უნდა იყოს სწრაფი, არა? 355 00:17:45,790 --> 00:17:49,970 და თუ ჩვენ უბრალოდ გაშვებული JavaScript კოდი, რომელიც ინტერპრეტაცია მხოლოდ 356 00:17:49,970 --> 00:17:52,130 ნებისმიერი წლის თარჯიმნის ეს შეიძლება იყოს ნელი. 357 00:17:52,130 --> 00:17:55,980 ასე Node სარგებელი, რომელსაც ამ სუპერ სწრაფი V8 თარჯიმანი. 358 00:17:55,980 --> 00:17:59,580 და მე არ ვიცი, თუ ისინი დაასახელა ის რადგან V8 slap შუბლის 359 00:17:59,580 --> 00:18:01,110 რამ, მაგრამ OK. 360 00:18:01,110 --> 00:18:07,070 >> ასე რომ მე მომზადდა რამდენიმე მაგალითი ამ URL. 361 00:18:07,070 --> 00:18:10,490 სემინარის შემდეგ, მე სახის აპირებს ვისაუბროთ, თუ როგორ შეგიძლიათ მიიღოთ Node კომპლექტი 362 00:18:10,490 --> 00:18:13,570 up, მაგრამ ახლა, უბრალოდ ერთგვარი მინდა გავლა ზოგიერთი კოდი მაგალითები. 363 00:18:13,570 --> 00:18:17,250 ასე რომ, თუ გვინდა, რომ დაიცვას გასწვრივ, ყველა კოდის ხელმისაწვდომია არსებობს. 364 00:18:17,250 --> 00:18:18,720 OK? 365 00:18:18,720 --> 00:18:22,280 >> ასე რომ, მე დავტოვებთ ამ URL up პატარა. 366 00:18:22,280 --> 00:18:24,440 და შემდეგ მე უბრალოდ აპირებს გადართოთ შევიდა ტერმინალში. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 ყველას კარგი ამ URL? 369 00:18:34,400 --> 00:18:37,990 ამიტომ მე ვაპირებ გადართოთ მეტი ჩემს ტერმინალის აქ. 370 00:18:37,990 --> 00:18:42,030 >> ასე რომ, აქ არის კოდი, რომელიც მაქვს დღეს. 371 00:18:42,030 --> 00:18:43,960 რატომ არ უნდა დაიწყოს simpler.js ფაილი? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 მეორე ის არის, რომ ყველა ამ კოდი იქნება დაწერილი 374 00:18:52,100 --> 00:18:56,660 JavaScript რომელიც თქვენ შეიძლება იყოს ან არ შეიძლება იყოს იცნობს. 375 00:18:56,660 --> 00:19:00,170 ვფიქრობ, რამდენიმე რამ არის, რომ ბევრი of JavaScript კოდი არის ერთგვარი 376 00:19:00,170 --> 00:19:04,000 სინტაქსი და სტრუქტურა ძალიან გავს C, ასე რომ თქვენ შეგიძლიათ სახის აირჩიოთ it up, როგორც 377 00:19:04,000 --> 00:19:05,020 თქვენ წავიდეთ ერთად. 378 00:19:05,020 --> 00:19:08,750 მე ვცდილობდი დაწერა ბევრი დაწყებული კოდი ეს ისე, რომ 379 00:19:08,750 --> 00:19:11,230 მსგავსი C ისე, რომ ეს ცოტა მეტი იკითხება. 380 00:19:11,230 --> 00:19:15,980 მაგრამ როგორც ჩვენ პროგრესის, მე ვიქნები დემონსტრირებას ზოგიერთი დამატებითი 381 00:19:15,980 --> 00:19:18,980 თვისებები JavaScript, რომ სახის cool. 382 00:19:18,980 --> 00:19:21,510 >> მაგრამ მოდით შევხედოთ ამ ნიმუში პროგრამა. 383 00:19:21,510 --> 00:19:24,820 ვფიქრობ, ყველაფერი შეწყვიტა არსებობს. 384 00:19:24,820 --> 00:19:28,500 მე უბრალოდ აპირებს დაფიქსირება, რომ რეალური სწრაფად თუ ეს OK თუ არა. 385 00:19:28,500 --> 00:19:31,400 მე არ ვიცი რა ამ აპირებს. 386 00:19:31,400 --> 00:19:34,660 ის არის, რომ ცოტა უკეთესი? 387 00:19:34,660 --> 00:19:36,510 შეგიძლიათ ნახოთ var და პერსონალი? 388 00:19:36,510 --> 00:19:39,320 OK. 389 00:19:39,320 --> 00:19:44,120 >> ასე რომ, პირველი ხაზი, როგორიცაა JavaScript მობილური ცვლადი 390 00:19:44,120 --> 00:19:44,800 დეკლარაცია. 391 00:19:44,800 --> 00:19:49,870 ასე რომ მხოლოდ ხაზს უსვამს რა ეს იქნებოდა გამოიყურებოდეს C. ასე რომ, ეს არის, ისევე, 392 00:19:49,870 --> 00:19:52,620 მითხრა ინდექსი უდრის სამ ან რამე მაგდაგვარს. 393 00:19:52,620 --> 00:19:55,740 ასე რომ მე არ მიუთითებს. 394 00:19:55,740 --> 00:20:00,780 JavaScript აქვს სახის, მაგრამ ეს ძალიან დინამიურად აკრეფილი ბუნებაში, ისე 395 00:20:00,780 --> 00:20:02,580 არ ითვალისწინებს რაიმე სახის type იგი. 396 00:20:02,580 --> 00:20:03,670 ასე რომ, ეს უბრალოდ var. 397 00:20:03,670 --> 00:20:05,320 ასეთი ცვლადი. 398 00:20:05,320 --> 00:20:05,920 OK? 399 00:20:05,920 --> 00:20:08,340 >> და მე მოუწოდებდა ამ ცვლადის HTTP. 400 00:20:08,340 --> 00:20:12,480 და ჩემს მარჯვნივ, მაქვს გამოხატვის, რომ მინდა დააყენა HTTP. 401 00:20:12,480 --> 00:20:14,960 და ეს ამბობს მოითხოვს HTTP. 402 00:20:14,960 --> 00:20:18,500 ასე რომ, ეს სახის ანალოგიური მოიცავს. 403 00:20:18,500 --> 00:20:22,940 ეს ცოტა უფრო ძლიერი ვიდრე არის იმ გაგებით, რომ მოიცავს 404 00:20:22,940 --> 00:20:26,100 უბრალოდ დააკოპირეთ და ჩასვით header ფაილი ფუნქცია პროტოტიპები ან 405 00:20:26,100 --> 00:20:27,930 რასაც ტიპის განმარტებები. 406 00:20:27,930 --> 00:20:30,590 მაგრამ მოითხოვს რეალურად აპირებს მიიღოს us კოდი. 407 00:20:30,590 --> 00:20:33,280 >> ასე რომ თქვენ შეგიძლიათ ვფიქრობ, რომ ეს იმპორტიორი რამდენიმე კოდი. 408 00:20:33,280 --> 00:20:37,960 ასე რომ სადღაც Node.js მოდული სისტემის ან რასაც, მათ აქვთ ყველა ამ 409 00:20:37,960 --> 00:20:40,790 HTTP სერვერის კოდი ისე, მე უბრალოდ მიღება, რომ ეს ჩემი საკუთარი 410 00:20:40,790 --> 00:20:43,130 პირადი მოხმარების ამ პროგრამაში. 411 00:20:43,130 --> 00:20:44,260 OK? 412 00:20:44,260 --> 00:20:46,930 >> ასე რომ მე არ მაქვს ეს ფუნქცია რომ მე დაწერილი. 413 00:20:46,930 --> 00:20:50,330 და შენიშნავს, მე არ უნდა მიუთითოთ დაბრუნების ტიპის და ტიპი 414 00:20:50,330 --> 00:20:51,140 არგუმენტები ერთხელ. 415 00:20:51,140 --> 00:20:54,440 ასე რომ, სახის ფხვიერი აკრეფილი ასეთი სახის აზრი. 416 00:20:54,440 --> 00:20:57,290 ორი არგუმენტები, რომ სჭირდება, მოთხოვნა და პასუხი. 417 00:20:57,290 --> 00:21:02,080 ასე რომ კონცეპტუალურად სახის მოსწონს ნაცნობი სურათი, რომ ჩვენ გვქონდა 418 00:21:02,080 --> 00:21:05,280 ეკრანზე ადრე, რადგან მივიღებთ ამ მოთხოვნას, რომ ჩვენ 419 00:21:05,280 --> 00:21:06,410 აქვს საწყისი მომხმარებელს. 420 00:21:06,410 --> 00:21:09,170 და მაშინ ჩვენ გვაქვს პასუხი, რომ ჩვენ შეგვიძლია დავწეროთ რამ. 421 00:21:09,170 --> 00:21:15,060 >> ასე რომ, პირველი ხაზი ეს იმას res.writeHead 200 და შემდეგ ამ 422 00:21:15,060 --> 00:21:17,070 content ტიპის ტექსტის დაბლობს. 423 00:21:17,070 --> 00:21:19,300 მოდით ცალი ამ გარდა პატარა. 424 00:21:19,300 --> 00:21:22,340 მოდით უბრალოდ ფოკუსირება res.write პატარა. 425 00:21:22,340 --> 00:21:28,420 ასე წერენ ძირითადად, და წერენ ხელმძღვანელი, უბრალოდ გზები სახის წერენ გარეთ 426 00:21:28,420 --> 00:21:29,960 რამ საპასუხოდ. 427 00:21:29,960 --> 00:21:30,770 OK? 428 00:21:30,770 --> 00:21:36,230 ასე წერენ თავი, თუ ვინმეს ახსოვს საწყისი HTTP ლექცია, თქვენ ბიჭები 429 00:21:36,230 --> 00:21:39,940 მახსოვს headers ზე ყველაზე HTTP რამ? 430 00:21:39,940 --> 00:21:43,580 რატომ არ მე უბრალოდ დემო headers რეალური სწრაფი. 431 00:21:43,580 --> 00:21:44,640 იქნებოდა, რომ იყოს გამოსადეგი? 432 00:21:44,640 --> 00:21:45,500 ან უნდა ჩვენ უბრალოდ სახის - 433 00:21:45,500 --> 00:21:46,070 OK. 434 00:21:46,070 --> 00:21:46,740 დარწმუნებული ვარ. 435 00:21:46,740 --> 00:21:52,340 >> ასე რომ, როდესაც თქვენი ბრაუზერის ღებულობენ google.com ან რამე მაგდაგვარს, 436 00:21:52,340 --> 00:21:54,250 არსებობს რეალურად ცოტა მეტი - 437 00:21:54,250 --> 00:21:55,380 ეს მოსწონს საიდუმლო - 438 00:21:55,380 --> 00:21:58,340 იქ, როგორც პატარა დამატებითი ინფორმაციისთვის რომ მოდის მეშვეობით მილის, ვიდრე უბრალოდ 439 00:21:58,340 --> 00:22:00,180 პატარა ძიება და ყველაფერი. 440 00:22:00,180 --> 00:22:03,550 ასე რომ გაჩვენოთ, მე ვაპირებ გამოყენება პროგრამის მოუწოდა Curl. 441 00:22:03,550 --> 00:22:04,260 OK? 442 00:22:04,260 --> 00:22:08,020 ასე რომ, ეს არის ის, რომ თქვენ შეგიძლიათ აწარმოებს at თქვენი Mac OSX ბრძანების ან 443 00:22:08,020 --> 00:22:09,830 ელექტრო ან რასაც. 444 00:22:09,830 --> 00:22:17,050 და თუ მე Curl HTTP google.com, მე ვაპირებ, რომ ნახოთ HTML. 445 00:22:17,050 --> 00:22:21,230 და ეს არის, სამართლიანობა, მხოლოდ HTML, რომ სახის გიჩვენებთ 446 00:22:21,230 --> 00:22:24,695 გადამისამართება www თუ თქვენი ბრაუზერი არ ავტომატურად ამუშავებს 447 00:22:24,695 --> 00:22:27,110 გადამისამართება. 448 00:22:27,110 --> 00:22:33,390 >> ასე რომ, ეს არის მხოლოდ HTML, მაგრამ მე ვაპირებ დაამატოთ Curl ეს დეფისი I დროშა. 449 00:22:33,390 --> 00:22:33,600 OK? 450 00:22:33,600 --> 00:22:35,600 და ეს აპირებს აჩვენებს მე headers. 451 00:22:35,600 --> 00:22:40,640 ასე რომ ეს არის ასევე ინფორმაცია, რომ მოდის მეშვეობით, როდესაც მივიღებ ამ პასუხს. 452 00:22:40,640 --> 00:22:41,260 OK? 453 00:22:41,260 --> 00:22:45,320 >> ასე რომ ზედა, ხედავთ ამ HTTP 301 გადაადგილება მუდმივად. 454 00:22:45,320 --> 00:22:49,470 და ეს არის ერთგვარი მნიშვნელოვანია, რადგან ეს ეხება სტატუსის კოდი. 455 00:22:49,470 --> 00:22:53,750 ასე რომ 301 აქ არის შემოწმება კოდი რომელიც, ძირითადად, მხოლოდ მთელი რიცხვი 456 00:22:53,750 --> 00:22:57,750 რომ ეუბნება ბრაუზერში ან ვინც არის კითხულობს, თუ ვიტყვი, რომ 457 00:22:57,750 --> 00:23:01,460 თქვენ ბრაუზერში და თქვენ ხედავს ამ, ძირითადად ახლა თუ გადავხედავთ 458 00:23:01,460 --> 00:23:04,960 რომ და ხედავთ 301, თქვენ იცით, მე არ მაქვს რაღაც განსაკუთრებული საფუძველზე 459 00:23:04,960 --> 00:23:08,810 301, ან რაღაც განსაკუთრებული მოხდა საფუძველზე 301. 460 00:23:08,810 --> 00:23:12,640 ასე რომ, ის ამბობს გადავიდა მუდმივად. 461 00:23:12,640 --> 00:23:17,700 >> და შემდეგ, პრაქტიკულად, ჩვენ რამოდენიმე გასაღები ღირებულება წყვილი. 462 00:23:17,700 --> 00:23:22,100 ამიტომ ჩვენ კიდევ მდებარეობა არის www.google.com. 463 00:23:22,100 --> 00:23:25,190 და შემდეგ სახის ყველა ამ სხვა პერსონალი, მაგრამ ძირითადად, რა ადგილმდებარეობა 464 00:23:25,190 --> 00:23:29,662 გამონათქვამი არის ახალი ადგილმდებარეობა არის www.google.com. 465 00:23:29,662 --> 00:23:33,800 ახლა თუ წასვლა google.com, თქვენ სახის იხ. ბრაუზერის სახის blink 466 00:23:33,800 --> 00:23:38,770 მეორე და შემდეგ გადამისამართება თქვენ უფლება დაბრუნება www.google.com. 467 00:23:38,770 --> 00:23:41,840 ასე რომ, პასუხი შეიძლება შეიცავდეს ამ სათაურებში. 468 00:23:41,840 --> 00:23:43,330 >> და რამდენიმე რამ აღვნიშნო. 469 00:23:43,330 --> 00:23:46,890 ასე ვთქვათ ჩვენ რეალურად წარმატებული გამოჩენის ვებ გვერდზე. 470 00:23:46,890 --> 00:23:49,040 ნება მომეცით წასვლა - 471 00:23:49,040 --> 00:23:51,080 რა კარგი საიტი? 472 00:23:51,080 --> 00:23:53,285 მე ვარ ცუდი აზროვნება კარგი საიტებზე ადგილზე. 473 00:23:53,285 --> 00:23:53,640 >> აუდიტორია: ვიკიპედია. 474 00:23:53,640 --> 00:23:54,160 >> KEVIN შმიდი: OK. 475 00:23:54,160 --> 00:23:56,040 მოდით Wikipedia. 476 00:23:56,040 --> 00:23:58,680 ასე რომ აქ მე გადავიდა. 477 00:23:58,680 --> 00:23:59,240 Oh დაველოდოთ. 478 00:23:59,240 --> 00:24:00,160 იყო მე? 479 00:24:00,160 --> 00:24:00,890 დიახ, მე ვიყავი. 480 00:24:00,890 --> 00:24:01,100 OK. 481 00:24:01,100 --> 00:24:03,005 ამიტომ მე მივიღე გავაკეთოთ www. 482 00:24:03,005 --> 00:24:06,006 ასე რომ, მე ვაპირებ ამის გაკეთებას www. 483 00:24:06,006 --> 00:24:09,680 და როგორც ხედავთ, აქ ყველა HTML რომ მისი ბრაუზერი რომ გადაამუშავებს 484 00:24:09,680 --> 00:24:10,910 განთავსების Wikipedia. 485 00:24:10,910 --> 00:24:14,055 >> მაგრამ თუ მე შენარჩუნება სენსორული აქ, რა მე ვხედავ ზედა - 486 00:24:14,055 --> 00:24:17,800 wow, არსებობს ბევრი HTML on Wikipedia - 487 00:24:17,800 --> 00:24:22,550 მაგრამ რა მე ვხედავ ზედა აქ არის ამ 200 სტატუსი კოდი, როგორც ეწინააღმდეგებოდა 488 00:24:22,550 --> 00:24:24,570 301 რომ ვნახე ადრე. 489 00:24:24,570 --> 00:24:27,100 და შეამჩნია, რომ მას აქვს ლამაზი მეგობრული OK შემდეგი მას. 490 00:24:27,100 --> 00:24:29,470 ასე რომ, ეს არის როგორც კარგი სტატუსის კოდი. 491 00:24:29,470 --> 00:24:31,160 >> ამჯამად რომ 200 ნომერი გამოიყურება ნაცნობი? 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 დიახ, რადგან, როდესაც მე simpler.js, მე დავწერე 200 არსებობს. 494 00:24:39,880 --> 00:24:43,290 ასე რომ ძირითადად ამბობდა ვუთხრა ბრაუზერის ან ვინც ცდილობს 495 00:24:43,290 --> 00:24:45,440 ეს, რომ ისინი წარმატებული. 496 00:24:45,440 --> 00:24:49,040 ან, რომ სახის როგორც ჩვენ წარმატებული იყო ძალიან. 497 00:24:49,040 --> 00:24:54,320 >> და არსებობს ამ სახის სპეციალური სინტაქსი in Javascript გამოცხადების 498 00:24:54,320 --> 00:24:59,870 რუკას ამ გასაღებები, როგორიცაა ინფორმაციის ტიპი და ამ ღირებულებებს, როგორიცაა ტექსტის დაბლობს. 499 00:24:59,870 --> 00:25:03,780 ასე რომ, თუ გადავხედავთ პასუხი, რომ ჩვენ მიიღო უკან Wikipedia ადრე, - 500 00:25:03,780 --> 00:25:06,200 მე ვაპირებ ცდილობენ გადახვევა პატარა სწრაფად - 501 00:25:06,200 --> 00:25:09,900 თქვენ გაქვთ ეს ღილაკები, როგორიცაა სერვერზე და ამ ფასეულობების Apache. 502 00:25:09,900 --> 00:25:12,120 ასე, რომ თქვენ მოხვდით გასაღებები და ღირებულებები. 503 00:25:12,120 --> 00:25:15,930 და თქვენ შეგიძლიათ მიუთითოთ ამ კვანძის რა გაგზავნის უკან. 504 00:25:15,930 --> 00:25:19,380 >> ასე რომ, ეს არის რეალურად სახის, ზოგიერთ გზები, და გარკვეულწილად ეს არ არის 505 00:25:19,380 --> 00:25:23,170 ნამდვილად, მაგრამ ეს ცოტა უფრო დაბალი დონის ვიდრე PHP კოდი, რომ თქვენ შეიძლება იყოს 506 00:25:23,170 --> 00:25:26,980 წერა P მითითებული შვიდი რადგან PHP და Apache სახის იზრუნოს ზოგიერთი 507 00:25:26,980 --> 00:25:28,150 ეს ყველაფერი თქვენთვის. 508 00:25:28,150 --> 00:25:32,520 PHP-ში, თქვენ შეგიძლიათ override ნაგულისხმევი ქცევის წერილობით საკუთარი headers. 509 00:25:32,520 --> 00:25:35,520 მაგრამ მიზნებისათვის, ჩვენ კიდევ წერენ ჩვენი საკუთარი თავით. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> ასე რომ, რომ ხაზი აზრი ყველას, წერენ ხელმძღვანელი ხაზი? 512 00:25:41,105 --> 00:25:41,380 OK. 513 00:25:41,380 --> 00:25:42,280 გასაოცარია. 514 00:25:42,280 --> 00:25:45,870 >> მაშ რა გავაკეთო არის მე დასრულდება პასუხი განაცხადა მიესალმები მსოფლიოში. 515 00:25:45,870 --> 00:25:47,040 OK. 516 00:25:47,040 --> 00:25:49,920 მაგრამ ეს მხოლოდ ფუნქცია ე.წ. მოთხოვნა დამმუშავებლის. 517 00:25:49,920 --> 00:25:53,510 ასე რომ, ახლა მე რეალურად სახის გაკეთება რაღაც ამ ფუნქციას, არა? 518 00:25:53,510 --> 00:25:59,170 >> ასე რომ, აქ რა გავაკეთო არის ეს ხაზი, რომელიც არ var სერვერზე შეადგენს 519 00:25:59,170 --> 00:26:03,530 HTTP.create სერვერზე, და მერე გაივლის მოთხოვნით დამმუშავებლის. 520 00:26:03,530 --> 00:26:06,080 ასე რომ, ეს სახის Node გზა შექმნაში სერვერზე. 521 00:26:06,080 --> 00:26:08,790 და შეამჩნია, რომ მე გავლით მოთხოვნაში დამმუშავებლის. 522 00:26:08,790 --> 00:26:12,290 ასე რომ, ეს ვეუბნებოდი createServer ფუნქცია, რომელიც მინდა, რომ ჩემთვის 523 00:26:12,290 --> 00:26:16,270 სერვერზე, და, როცა სერვერზე იღებს საპასუხოდ, მე თქვენ გვჭირდებით, რომ მოვუწოდო ამ 524 00:26:16,270 --> 00:26:18,680 მოითხოვოს კურატორმა ფუნქცია. 525 00:26:18,680 --> 00:26:18,990 OK? 526 00:26:18,990 --> 00:26:22,290 >> ასე რომ ხაზი საკმაოდ ბევრი სრულდება დაუყოვნებლივ. 527 00:26:22,290 --> 00:26:28,780 ასე რომ, var სერვერზე ხაზი გაკეთდეს უფლება მას შემდეგ, რაც თქვენ, რომ საკმაოდ ბევრი. 528 00:26:28,780 --> 00:26:31,770 ვგულისხმობ, რომ მას აქვს შექმნას გარკვეული შიდა სახელმწიფო ვიცი, რომ თქვენ უნდა 529 00:26:31,770 --> 00:26:35,400 მოვუწოდებთ, რომ მოთხოვნა კურატორმა ფუნქცია, მაგრამ ის არ აპირებს იჯდეს იქ და 530 00:26:35,400 --> 00:26:37,730 ვთქვათ აქვს შესახებ გაიგზავნა მე თხოვნით ჯერ არ გაქვთ? 531 00:26:37,730 --> 00:26:39,270 აქვს შესახებ გამომგზავნა მოთხოვნა ჯერ არ გაქვთ? 532 00:26:39,270 --> 00:26:40,780 ასე რომ არ დაბლოკოს. 533 00:26:40,780 --> 00:26:41,650 OK? 534 00:26:41,650 --> 00:26:46,120 >> ასე რომ, რა ამ ყველაფერს გააკეთებს არის ის, ძირითადად, ახლა ინახავს მომცეთ ამ კოდექსის 535 00:26:46,120 --> 00:26:49,670 ამ მოთხოვნით კურატორმა ფუნქცია, და შემდეგ მიიღებს, რომ კოდი როცა ვინმე 536 00:26:49,670 --> 00:26:52,170 რაც მოთხოვნით. 537 00:26:52,170 --> 00:26:54,120 და მაშინ ჩვენ გავაკეთოთ server.listen. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> 1337 არის საკმაოდ თვითნებური. 540 00:26:59,960 --> 00:27:02,285 არ მქონდა კონკრეტული მიზეზი კრეფა რომ ნომერი. 541 00:27:02,285 --> 00:27:03,860 ეს იყო სრულიად შემთხვევითი. 542 00:27:03,860 --> 00:27:07,010 მაგრამ ეს მხოლოდ განსაზღვრავს პორტი. 543 00:27:07,010 --> 00:27:10,640 ასე რომ ყველაზე ვებ სერვერები დაინახავთ, რომ ისინი გამოყენება პორტი 80 იმიტომ, რომ სახის 544 00:27:10,640 --> 00:27:11,810 მსგავსი კონვენციას. 545 00:27:11,810 --> 00:27:16,170 ასე რომ, თუ მე რაღაც, მე არ ვიცი, Wikipedia.org, 546 00:27:16,170 --> 00:27:17,700 და მე ზუსტად მსხვილი ნაწლავის 8 - 547 00:27:17,700 --> 00:27:18,610 oh wow, თქვენ ვერ ხედავთ, რომ. 548 00:27:18,610 --> 00:27:19,370 მე ბოდიში. 549 00:27:19,370 --> 00:27:21,820 უკუეთუ ვიქმ Wikipedia - 550 00:27:21,820 --> 00:27:24,810 დავწერ აქ მხოლოდ ისე, რომ ნათელია კამერა. 551 00:27:24,810 --> 00:27:29,150 მაგრამ თუ მე ამ შევიდა ბრაუზერი colon 80, რომელიც განსაზღვრავს წასვლა 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org at port 80. 553 00:27:31,430 --> 00:27:36,200 ასე რომ, როგორიცაა ამერიკის შეერთებული შტატები მრავალჯერადი პორტების მოსწონს, სადაც თქვენ შეგიძლიათ დაძრულიყო 554 00:27:36,200 --> 00:27:37,440 რამ სახის. 555 00:27:37,440 --> 00:27:40,730 ასე რომ, ეს როგორც წასვლა ამ კონკრეტულ განათავსეთ ამ სერვერზე. 556 00:27:40,730 --> 00:27:40,990 OK. 557 00:27:40,990 --> 00:27:45,730 >> ასე რომ მე უბრალოდ აირჩია 1337. 558 00:27:45,730 --> 00:27:47,910 არსებობს მთელი რიგი ნომერი რომ თქვენ შეგიძლიათ აირჩიოთ. 559 00:27:47,910 --> 00:27:50,390 რომ არ იყო სრულიად განსაკუთრებული. 560 00:27:50,390 --> 00:27:54,560 >> მაგრამ რა მე ვაპირებ ახლა არის მე ვაპირებ აწარმოებს Node. 561 00:27:54,560 --> 00:27:59,730 ნება მომეცით რეალურად შევა, რომ რამდენიმე ხაზების ქვემოთ ასე რომ თქვენ შეგიძლიათ ნახოთ იგი. 562 00:27:59,730 --> 00:28:03,130 მე ვაპირებ ამის გაკეთებას Node, და მე აპირებს simpler.js. 563 00:28:03,130 --> 00:28:06,880 და ჩვენ ვსაუბრობთ, თუ როგორ უნდა Node შეიქმნა ცოტა. 564 00:28:06,880 --> 00:28:09,350 მაგრამ ახლა ის მხოლოდ გაშვებული სერვერზე. 565 00:28:09,350 --> 00:28:14,360 >> ასე რომ, ერთი რამ, ჩვენ შეგვიძლია ვცდილობთ რომელიც არ შეიძლება იყოს, რომ საინტერესო ის არის, ჩვენ შეგვიძლია რეალურად 566 00:28:14,360 --> 00:28:16,300 ცდილობენ, რათა შეამოწმონ ის Curl. 567 00:28:16,300 --> 00:28:20,680 ასე რომ, შემიძლია Curl, და ჩემი მანქანა არის ადგილობრივი მასპინძელი. 568 00:28:20,680 --> 00:28:24,600 თქვენ ასევე ვხედავთ ამ წერილობითი მოსწონს ეს ხანდახან. 569 00:28:24,600 --> 00:28:29,810 ადგილობრივი მასპინძელი და 127.0.0.1 სახის მოსწონს თქვენს სახლში კომპიუტერი. 570 00:28:29,810 --> 00:28:33,180 ასე რომ, ეს როგორც საუბარი თქვენი კომპიუტერი. 571 00:28:33,180 --> 00:28:33,760 OK. 572 00:28:33,760 --> 00:28:36,030 >> და მაშინ შემიძლია ვთქვა, 1337. 573 00:28:36,030 --> 00:28:39,630 ასე რომ, თუ მე აწარმოებს ამ ხაზი კოდი, იგი აცხადებს, რომ Hello World. 574 00:28:39,630 --> 00:28:44,050 და თუ მინდოდა, რომ პერსონალი, ჰქონდა content ტიპის ტექსტის ჩვეულებრივი ან 575 00:28:44,050 --> 00:28:46,560 რაც არ უნდა, შემეძლო, რომ ეს აქ. 576 00:28:46,560 --> 00:28:48,810 და შეამჩნია, რომ არ ვთქვა, OK. 577 00:28:48,810 --> 00:28:50,810 და მე არ text დაბლობს. 578 00:28:50,810 --> 00:28:53,140 და შემდეგ იქ სახის ყველა ამ სხვა პერსონალი, Node დავუმატებთ in 579 00:28:53,140 --> 00:28:54,440 არ არსებობს ჩემთვის. 580 00:28:54,440 --> 00:28:55,700 ეს არ არის სუპერ მნიშვნელოვანია. 581 00:28:55,700 --> 00:28:58,230 >> ვგულისხმობ, არსებობს გარკვეული სახის ტექნიკური ასპექტები იმ სახის 582 00:28:58,230 --> 00:29:02,280 ზემოთ ლაპარაკი, მაგრამ რათა ნახოთ თქვენ, ასევე მაქვს ძალა 583 00:29:02,280 --> 00:29:03,070 შეცვალოთ ეს გარშემო. 584 00:29:03,070 --> 00:29:06,280 ასე, რომ შეიძლება უბრალოდ დაამატოთ bunch პერსონალის იგრძნობა. 585 00:29:06,280 --> 00:29:11,780 და მაშინ ახლა, თუ გავითვალისწინებთ ჩემს გამომავალი, ეს იქნება, რომ. 586 00:29:11,780 --> 00:29:19,740 ასე რომ, ამ სათაურებში ნიშნავს გარკვეული რამ to ბრაუზერები და რამ, როგორიცაა, რომ. 587 00:29:19,740 --> 00:29:23,040 >> და headers შეიძლება ძირითადად ვუთხრა ბრაუზერის როგორ უნდა უპასუხოს რაღაც. 588 00:29:23,040 --> 00:29:26,280 თუ თქვენ ოდესმე მსმენია cookies ადრე, თუ თქვენ ოდესმე ყოფილა აღიზიანებთ 589 00:29:26,280 --> 00:29:29,330 by ვებ გვერდზე შექმნის cookies, ან ჩართული ბმულების ბლოკი ან 590 00:29:29,330 --> 00:29:30,320 რამე მაგდაგვარს. 591 00:29:30,320 --> 00:29:33,040 თქვენ შეგიძლიათ რეალურად მითითებული cookies ამ სათაურებში. 592 00:29:33,040 --> 00:29:36,990 ასე რომ, ისინი ვუთხრა ბრაუზერის როგორ ქცევის რიგ შემთხვევებში. 593 00:29:36,990 --> 00:29:37,750 OK. 594 00:29:37,750 --> 00:29:40,310 >> ასე რომ იყო simpler.js. 595 00:29:40,310 --> 00:29:42,780 ვინმეს გაქვთ რაიმე შეკითხვები რომ კოდის ფაილი? 596 00:29:42,780 --> 00:29:45,420 597 00:29:45,420 --> 00:29:45,610 OK. 598 00:29:45,610 --> 00:29:46,490 ზემოთ. 599 00:29:46,490 --> 00:29:50,780 >> მოდით ამოიღონ r, რომ და შევხედოთ simple.js. 600 00:29:50,780 --> 00:29:53,010 ასე რომ, ეს არის საკმაოდ ბევრი იმავე პროგრამით. 601 00:29:53,010 --> 00:29:56,030 მე უბრალოდ დაწერა ეს ცოტა განსხვავებულად იმიტომ, რომ მინდოდა დასალაგებლად შედეგი 602 00:29:56,030 --> 00:29:57,850 ზოგიერთი თავისებურება JavaScript. 603 00:29:57,850 --> 00:30:03,880 >> ასე რომ შეამჩნია, რომ მოთხოვნა კურატორმა ფუნქცია მთლიანად გაქრა. 604 00:30:03,880 --> 00:30:05,800 Oh yep, არც თქვენ გაქვთ შეკითხვა? 605 00:30:05,800 --> 00:30:08,200 >> აუდიტორია: Yeah, არგუმენტები რომ გავიდა, რომ 606 00:30:08,200 --> 00:30:10,120 ფუნქცია, რა არიან ისინი? 607 00:30:10,120 --> 00:30:12,050 >> KEVIN შმიდი: ასე რომ, იმ JavaScript ობიექტები. 608 00:30:12,050 --> 00:30:15,230 ამ Node.js დოკუმენტაცია, ის ძირითადად ამბობს რა მეთოდები 609 00:30:15,230 --> 00:30:15,910 ხელმისაწვდომია მათთვის. 610 00:30:15,910 --> 00:30:19,602 ჩვენ უბრალოდ არ უნდა ჰქონდეს ხელმისაწვდომობა ეს მეთოდი ეწოდება წერენ ხელმძღვანელი და ბოლოს 611 00:30:19,602 --> 00:30:20,730 და პერსონალის იგრძნობა. 612 00:30:20,730 --> 00:30:22,590 მაგრამ არსებობს მთელი bunch მეტი მეთოდები. 613 00:30:22,590 --> 00:30:27,670 >> და მაგალითად, ისევე, როგორც ერთი მათგანი კერძოდ rec, შეგიძლიათ გააკეთოთ 614 00:30:27,670 --> 00:30:34,540 რაღაც rec.method რომელიც გეტყვით თუ არა ეს HTTP მისაღებად ან 615 00:30:34,540 --> 00:30:36,780 HTTP ჩანაწერის მოთხოვნა და რამ, როგორიცაა, რომ. 616 00:30:36,780 --> 00:30:39,100 ასე რომ იქ ყველა სახის სხვადასხვა თვისებები, მაგრამ ისინი ორივე 617 00:30:39,100 --> 00:30:42,560 JavaScript ობიექტების, და ისინი უბრალოდ უნდა ფუნქციები მათზე, რომ თქვენ 618 00:30:42,560 --> 00:30:43,850 შეგიძლიათ დაწეროთ რამ. 619 00:30:43,850 --> 00:30:45,520 OK? 620 00:30:45,520 --> 00:30:49,030 >> ასე რომ შეამჩნია, რომ მოთხოვნის კურატორმა მთლიანად გაქრა. 621 00:30:49,030 --> 00:30:52,650 მაგრამ კოდი, რომელიც მე მქონდა თხოვნა კურატორმა ჯერ კიდევ არსებობს. 622 00:30:52,650 --> 00:30:56,520 კიდევ მაქვს ამ res.writeHead და მე მაინც აქვს ამ res.end. 623 00:30:56,520 --> 00:31:00,270 და რა ეს არის მაგალითი in JavaScript არის ეს იდეა 624 00:31:00,270 --> 00:31:01,460 ანონიმური ფუნქცია. 625 00:31:01,460 --> 00:31:04,180 და ანონიმური ჰგავს fitting სახელი , რადგან ეს სიტყვასიტყვით არ 626 00:31:04,180 --> 00:31:05,180 აქვს სახელი. 627 00:31:05,180 --> 00:31:07,900 არ არსებობს ფუნქცია თხოვნა კურატორმა არსებობს. 628 00:31:07,900 --> 00:31:10,110 >> არ აქვს სახელი, მაგრამ მაინც მიმდინარეობს არგუმენტი. 629 00:31:10,110 --> 00:31:12,250 ასე რომ, მე მაინც rec და res. 630 00:31:12,250 --> 00:31:16,180 და მე მაინც აქვს კოდი. 631 00:31:16,180 --> 00:31:18,930 ეს არის შესანიშნავად ჯარიმა JavaScript კოდი. 632 00:31:18,930 --> 00:31:22,540 ასე რომ, შემიძლია განვაცხადო ფუნქცია გარეშე მკაფიოდ ვაძლევთ მას სახელი. 633 00:31:22,540 --> 00:31:24,250 ეს ცოტა გაუგებარია, პირველ რიგში. 634 00:31:24,250 --> 00:31:26,230 არსებობს, როგორიცაა სასარგებლო რამ რომ შეგიძლიათ გააკეთოთ 635 00:31:26,230 --> 00:31:28,450 ეს ანონიმური ფუნქციები. 636 00:31:28,450 --> 00:31:32,100 ვინმეს გაქვთ რაიმე შეკითხვები ამ, თუ OK უბრალოდ, ახლა, 637 00:31:32,100 --> 00:31:34,130 სახის უბრალოდ მიიღოს, რომ ეს ყველაფერს გავაკეთებთ იგივე? 638 00:31:34,130 --> 00:31:36,700 639 00:31:36,700 --> 00:31:37,125 Yep? 640 00:31:37,125 --> 00:31:38,680 >> აუდიტორია: ფუნქციები პირველი კლასი JavaScript? 641 00:31:38,680 --> 00:31:41,020 >> KEVIN შმიდი: ისინი პირველი კლასი JavaScript. 642 00:31:41,020 --> 00:31:45,490 და მხოლოდ ის ვიცი, რომ ეს ცნებები გავლის ანონიმური ფუნქცია, როგორიცაა 643 00:31:45,490 --> 00:31:49,600 ეს ვრცელდება JavaScript, რომ თქვენ შეიძლება დაწეროთ თქვენი საბოლოო პროექტი 644 00:31:49,600 --> 00:31:51,260 ბრაუზერში ძალიან. 645 00:31:51,260 --> 00:31:56,700 ასე მაგალითად, JavaScript in თქვენი ბრაუზერის, ასევე, გარკვეულწილად ღონისძიება 646 00:31:56,700 --> 00:32:00,680 ბიძგი იმ გაგებით, რომ ის, რაც თქვენ არ არის, როდესაც მომხმარებელი დააჭერს ამ 647 00:32:00,680 --> 00:32:02,640 button, მინდა აწარმოებს ამ კოდი. 648 00:32:02,640 --> 00:32:07,070 >> ასე რომ მსგავსი იდეები კლიენტის მხარეს, როდესაც მაუსის დაწკაპუნებით ან მათ 649 00:32:07,070 --> 00:32:09,870 მაუსის მეტი ზოგიერთი გამოსახულება თქვენს ვებ გვერდზე, აწარმოებს ამ კოდი. 650 00:32:09,870 --> 00:32:11,350 რომ შეუძლიათ სერვერები. 651 00:32:11,350 --> 00:32:16,380 ასე რომ სახის მოსწონს საინტერესო მიზეზი, რის გამოც JavaScript არის ნამდვილად 652 00:32:16,380 --> 00:32:19,810 შესაფერისი ან ზოგიერთი ადამიანი ფიქრობს, რომ ეს არის შესაფერისი ენაზე ამ სახის 653 00:32:19,810 --> 00:32:22,530 ღონისძიება მძღოლი სერვერზე რადგან თქვენ გაქვთ ეს ანონიმური ფუნქციები. 654 00:32:22,530 --> 00:32:26,150 თქვენ გაქვთ მთელი იდეა ამ ასინქრონული კოდი. 655 00:32:26,150 --> 00:32:27,060 OK. 656 00:32:27,060 --> 00:32:30,360 ვინმეს გაქვთ რაიმე შეკითხვა? 657 00:32:30,360 --> 00:32:30,470 >> OK. 658 00:32:30,470 --> 00:32:33,440 ასე რომ იყო simple.js. 659 00:32:33,440 --> 00:32:38,070 მოდით შევხედოთ კიდევ ერთი ან რამდენიმე. 660 00:32:38,070 --> 00:32:42,040 ასე რომ, ეს sleep.js. 661 00:32:42,040 --> 00:32:47,160 ამიტომ არის ვინმე იცნობს C ფუნქცია ძილის? 662 00:32:47,160 --> 00:32:50,936 ეხლა იქნებ ერთი ადრე ლექციები ან რამე მაგდაგვარს? 663 00:32:50,936 --> 00:32:54,650 >> ასე რომ, ძირითადად შეგიძლიათ გაივლის ვფიქრობ ნომერი წამი ან თუ თქვენ იყენებთ U 664 00:32:54,650 --> 00:32:57,080 ძილის ნომერი მილიწამებში ან nanoseconds. 665 00:32:57,080 --> 00:33:00,450 და ძირითადად პროგრამა უბრალოდ შეწყვიტოს გაშვებული რომ დროის. 666 00:33:00,450 --> 00:33:01,280 უფლება? 667 00:33:01,280 --> 00:33:06,970 და მაშინ ვიღვიძებ საბოლოოდ და მაშინ ეს უბრალოდ გააგრძელოს გაშვებული 668 00:33:06,970 --> 00:33:08,340 პროგრამა. 669 00:33:08,340 --> 00:33:12,740 >> ასე რომ, ამ სერვერზე სახის აძლევს შთაბეჭდილება საძილე. 670 00:33:12,740 --> 00:33:17,580 ასე რომ შეამჩნია, რომ ჩვენ გვაქვს ურთიერთობა res.writeHead 200 header როგორც 671 00:33:17,580 --> 00:33:22,130 ადრე, მაგრამ მაშინ ჩვენ მოუწოდებდა ამ ფუნქცია მოუწოდა კომპლექტი შეყოვნება. 672 00:33:22,130 --> 00:33:26,170 მითითებული შეყოვნება ასევე ხელმისაწვდომია თქვენს ბრაუზერში Google Chrome 673 00:33:26,170 --> 00:33:28,000 ან Safari ან რასაც. 674 00:33:28,000 --> 00:33:31,720 და ძირითადად, თუ რას აკეთებს აქ არის ის აღების ფუნქცია. 675 00:33:31,720 --> 00:33:33,360 განაცხადის, კიდევ ერთხელ, ის ანონიმური ფუნქცია. 676 00:33:33,360 --> 00:33:36,310 ასე რომ სახის cool რადგან ჩვენ გამოყენებით ანონიმური ფუნქციის ფარგლებში 677 00:33:36,310 --> 00:33:38,950 ანონიმური ფუნქცია, რომელიც შეიძლება ცოტა უცნაური. 678 00:33:38,950 --> 00:33:42,270 >> მაგრამ მიღების, რომ ფუნქცია, რომელიც ძირითადად ამბობდა - და გზა ამ 679 00:33:42,270 --> 00:33:47,430 სამუშაოების 5,000 მილიწამებში, მინდა თქვენ შეასრულოს ეს ფუნქცია, რომელიც 680 00:33:47,430 --> 00:33:50,830 უბრალოდ დამთავრდა პასუხი და წერს hey. 681 00:33:50,830 --> 00:33:56,730 ასე რომ, ეს ქმნის შთაბეჭდილებას, როგორიცაა საძილე, მაგრამ გზა ამ რეალურად 682 00:33:56,730 --> 00:33:59,780 მუშაობს ჩვენ აწარმოებს მეშვეობით ამ ხაზის ძალიან სწრაფად. 683 00:33:59,780 --> 00:34:01,190 ჩვენ უბრალოდ წერა რაღაც. 684 00:34:01,190 --> 00:34:03,780 და მაშინ ჩვენ ასევე აწარმოებს მეშვეობით ამ ხაზის ძალიან სწრაფად. 685 00:34:03,780 --> 00:34:08,620 ასე რომ ჩვენ რეალურად არ აპირებს დაველოდოთ ხუთ წამში. 686 00:34:08,620 --> 00:34:11,370 ჩვენ უბრალოდ აპირებს ეს კოდი მომენტალურად. 687 00:34:11,370 --> 00:34:14,219 >> და შემდეგ იქ, კიდევ ერთხელ, ამ პატარა ღონისძიება მარყუჟი, რომ ახლა ეს რამ 688 00:34:14,219 --> 00:34:17,570 რეესტრი, რომ ძირითადად მხოლოდ მუდმივად მიმდინარეობს გარშემო წრე 689 00:34:17,570 --> 00:34:21,620 და ეძებს საათი ერთი თემა და განაცხადა, ხუთ წამში 690 00:34:21,620 --> 00:34:22,360 გავიდა ჯერ არ გაქვთ? 691 00:34:22,360 --> 00:34:26,409 და მაშინ, როდესაც ის ხედავს, რომ მეორე ხელში გადავიდა, როგორიცაა ხუთ წამში ან 692 00:34:26,409 --> 00:34:29,190 რასაც, მაშინ იღვიძებს და ამბობს, oh, რა უნდა გავაკეთოთ? 693 00:34:29,190 --> 00:34:30,350 Oh მაქვს აწარმოებს ამ კოდი. 694 00:34:30,350 --> 00:34:33,110 და შემდეგ ის აპირებს აწარმოებს res.end hey. 695 00:34:33,110 --> 00:34:35,360 >> ასე რომ კიდევ ერთხელ, ჩვენ არასოდეს ელოდება აქ. 696 00:34:35,360 --> 00:34:38,590 ასე რომ, ეს არ არის, რომ ამ კოდექსის შიგნით ამ ფუნქციის აპირებს ხუთ 697 00:34:38,590 --> 00:34:39,900 წამში აწარმოებს. 698 00:34:39,900 --> 00:34:43,090 ეს კოდი აწარმოებს საკმაოდ ბევრი მომენტალურად, მინიმუმ შედარებით 699 00:34:43,090 --> 00:34:46,139 ხუთ წამში, რომ ჩვენ ვსაუბრობთ შესახებ ადრე. 700 00:34:46,139 --> 00:34:52,100 >> ასე რომ მხოლოდ ნახოთ ამ მოქმედებაში, შემიძლია Node.sleep.js. 701 00:34:52,100 --> 00:34:55,159 და გააკეთა მე mess up რაღაც? 702 00:34:55,159 --> 00:34:56,310 შესაძლოა. 703 00:34:56,310 --> 00:34:57,410 უკაცრავად. 704 00:34:57,410 --> 00:34:59,530 ვნახოთ რა შეგვიძლია გავაკეთოთ დაფიქსირება ამ. 705 00:34:59,530 --> 00:35:10,830 706 00:35:10,830 --> 00:35:12,080 OK. 707 00:35:12,080 --> 00:35:15,460 708 00:35:15,460 --> 00:35:17,464 ასე რომ, აუცილებლად გამოიყენებს Node.js. 709 00:35:17,464 --> 00:35:19,440 მე მხოლოდ kidding. 710 00:35:19,440 --> 00:35:19,570 OK. 711 00:35:19,570 --> 00:35:20,820 მხოლოდ ერთი წ. 712 00:35:20,820 --> 00:35:27,380 713 00:35:27,380 --> 00:35:27,900 OK. 714 00:35:27,900 --> 00:35:29,130 მე ვიცი, რა არის. 715 00:35:29,130 --> 00:35:34,440 >> ასე რომ, ის არის, რომ ჩემი მეორე tab აქ, მე გაშვებული Node უკვე 716 00:35:34,440 --> 00:35:36,590 იმავე მისამართზე, 1337. 717 00:35:36,590 --> 00:35:43,370 ასე რომ, შეცდომა რომ ეს ესროლა, თუ გადავხედავთ მას რეალური მჭიდროდ არის, მისამართი 718 00:35:43,370 --> 00:35:45,180 გამოყენება, EADDRINUSE. 719 00:35:45,180 --> 00:35:47,970 ასე რომ მე უკვე იყენებს 1337 აქ. 720 00:35:47,970 --> 00:35:52,210 ასე რომ, თუ მე დახურეს ეს off, და მერე ახლა სცადეთ ეს, იმედია, ყველაფერი 721 00:35:52,210 --> 00:35:53,210 კარგად იქნება. 722 00:35:53,210 --> 00:35:53,440 OK. 723 00:35:53,440 --> 00:35:57,020 ასე რომ თქვენ შეგიძლიათ მხოლოდ ერთი რამ სახის მოსმენის on პორტში ერთდროულად. 724 00:35:57,020 --> 00:35:59,660 სხვა გამოსავალი იქნებოდა ჩემთვის უბრალოდ შეცვალონ, რომ პროგრამა და 725 00:35:59,660 --> 00:36:02,370 ეს იყოს, როგორიც 1338 ან რამე იგრძნობა. 726 00:36:02,370 --> 00:36:04,100 >> მაგრამ ახლა ძილის მიმდინარეობს. 727 00:36:04,100 --> 00:36:06,400 მოდით რეალურად ცდილობენ გარეთ ბრაუზერის ამ დროს, რადგან ის 728 00:36:06,400 --> 00:36:09,080 პატარა unexciting ვხედავ ის ტერმინალში. 729 00:36:09,080 --> 00:36:13,560 ასე რომ მე უბრალოდ აპირებს მისვლას, რომ 127 მისამართი კიდევ ერთხელ 1337. 730 00:36:13,560 --> 00:36:14,850 და თუ ხედავთ, ეს - 731 00:36:14,850 --> 00:36:18,050 მე არ ვიცი, თუ შეიძლება - მაგრამ ჩემი ბრაუზერის აღების ძალიან, ძალიან დიდი 732 00:36:18,050 --> 00:36:20,600 დრო, რათა ჩატვირთოს ან მოსწონს ხუთ წამში. 733 00:36:20,600 --> 00:36:23,460 >> და შემდეგ, რომ საბოლოოდ დასრულდა საპასუხოდ. 734 00:36:23,460 --> 00:36:29,070 და ვერ ვხედავ, რადგან ის გადავიდა მეტი ცოტა, მაგრამ თუ მე 735 00:36:29,070 --> 00:36:32,500 ამ პატარა პატარა, თქვენ ხედავთ, იგი აცხადებს, hey. 736 00:36:32,500 --> 00:36:35,130 ამიტომ, მე მივიღე hey, მაგრამ მას შემდეგ, რაც ხუთ წამში. 737 00:36:35,130 --> 00:36:38,510 და ეს შეიძლება იყოს პატარა სუფთა ვხედავ ის აქ ტერმინალში, ასე ვარ 738 00:36:38,510 --> 00:36:40,980 აპირებს - 739 00:36:40,980 --> 00:36:43,540 მოდით აქ - 740 00:36:43,540 --> 00:36:48,370 მოდით Curl რომ მისამართი ისევ და ისევ 1337. 741 00:36:48,370 --> 00:36:50,820 და მე უბრალოდ სახის უნდა იჯდეს აქ ხუთ წამში. 742 00:36:50,820 --> 00:36:53,760 მაგრამ შეამჩნია, რომ სერვერზე შეგვიძლია new რეაგირება. 743 00:36:53,760 --> 00:36:54,940 ასე რომ ბეჭდავს hey. 744 00:36:54,940 --> 00:36:58,720 >> და დემო ეს, ძირითადად რა შემიძლია ამ მეორე tab - 745 00:36:58,720 --> 00:37:02,640 ასე ვთქვათ, მე ამის გაკეთება სხვა tab, მე ვაპირებ ამის გაკეთებას Curl და იგივე 746 00:37:02,640 --> 00:37:03,780 რამ ერთხელ. 747 00:37:03,780 --> 00:37:06,600 და მე ვაპირებ ცდილობენ გამოაგდონ ამ ბიჭები off ამავე დროს. 748 00:37:06,600 --> 00:37:08,260 ამიტომ მე ვაპირებ ამის გაკეთება, და მე აპირებს რასის აქ და მე 749 00:37:08,260 --> 00:37:09,650 აპირებს ამის გაკეთებას კიდევ ერთხელ. 750 00:37:09,650 --> 00:37:14,030 >> და მოდით ისე, რომ თქვენ ხედავთ, ორივე მათგანი. 751 00:37:14,030 --> 00:37:20,250 რომ ერთი ნაბეჭდი hey და რომ ერთი ნაბეჭდი hey ყველა გზა - 752 00:37:20,250 --> 00:37:22,550 მოდით, რომ ექსპერიმენტი ერთხელ. 753 00:37:22,550 --> 00:37:25,100 რეალურად, მოდით გამოვიყენოთ ეს შეასრულა, თუ ეს OK. 754 00:37:25,100 --> 00:37:30,520 >> ამიტომ მე ვაპირებ გამოიყენოთ shell, რაც საშუალებას იძლევა ჩემთვის ძირითადად აწარმოებს ორი ასლი 755 00:37:30,520 --> 00:37:32,630 ამ პროგრამის პარალელურად. 756 00:37:32,630 --> 00:37:36,070 ასე რომ ყველაფერს აწარმოებს პირველი პროგრამა და მეორე პროგრამის პარალელურად. 757 00:37:36,070 --> 00:37:39,060 ახლა თუ დააჭირეთ Enter, ის აპირებს რათა, რომ მოთხოვნა საკმაოდ ბევრი 758 00:37:39,060 --> 00:37:40,570 მომენტალურად ამავე დროს. 759 00:37:40,570 --> 00:37:42,620 მოდით მივცეთ ამ გასროლა. 760 00:37:42,620 --> 00:37:44,950 >> ასე რომ, ახლა შეამჩნია ის ამბობს, ორი პროცესებში. 761 00:37:44,950 --> 00:37:50,630 და თუ თქვენ საინტერესო, რომ 27,000 ნომერი ძირითადად პროცესში პირადობის მოწმობა. 762 00:37:50,630 --> 00:37:52,940 და შემდეგ შეამჩნია, რომ ნაბეჭდი hey ამავე დროს. 763 00:37:52,940 --> 00:37:56,820 ეს არ იყო, როგორიც ჩვენ უნდა დაველოდოთ ხუთ წამი ერთი და მერე ამის შემდეგ, 764 00:37:56,820 --> 00:37:59,640 ხუთი წამის შემდეგ კიდევ მეორე. 765 00:37:59,640 --> 00:38:03,300 ასე რომ სახის, გარკვეულწილად, ის ნამდვილად არ მტკიცებულება, მაგრამ ეს 766 00:38:03,300 --> 00:38:07,390 ინტუიციური მტკიცებულება, რომ ეს არ არის მხოლოდ მოსწონს ელოდება ხუთ წამში ახლოს და არ აძლევდა 767 00:38:07,390 --> 00:38:08,960 მთელი თემა. 768 00:38:08,960 --> 00:38:10,720 OK cool. 769 00:38:10,720 --> 00:38:17,850 >> ასე რომ, Aaron კითხვაზე ადრე, რომ იყო, თუ რა, თუ რამე - 770 00:38:17,850 --> 00:38:18,735 Yep? 771 00:38:18,735 --> 00:38:19,051 >> აუდიტორია: Wait. 772 00:38:19,051 --> 00:38:21,585 როგორ არის ის, რომ განსხვავებული printf ბუფერული, თუმცა? 773 00:38:21,585 --> 00:38:23,010 არ ეს ავტომატურად ამის გაკეთება? 774 00:38:23,010 --> 00:38:25,390 რატომ აღელვებს ეს? 775 00:38:25,390 --> 00:38:26,555 >> KEVIN შმიდი: Oh, შეიძლება თქვენც ამბობენ, რომ კიდევ ერთხელ? 776 00:38:26,555 --> 00:38:29,510 >> აუდიტორია: არ მოსწონს printf ბუფერული გააკეთოს ზუსტად იგივე რამ? 777 00:38:29,510 --> 00:38:31,280 >> KEVIN შმიდი: printf ბუფერული? 778 00:38:31,280 --> 00:38:32,753 >> აუდიტორია: Yeah. 779 00:38:32,753 --> 00:38:33,244 OK. 780 00:38:33,244 --> 00:38:40,609 არ იყო ერთი ტესტებში ისინი საუბარი იმაზე, თუ როგორ, თუ თქვენ უფლება printf 781 00:38:40,609 --> 00:38:42,899 რაღაც და შემდეგ ეს პაუზის ერთი მეორე, და მაშინ თქვენ გაქვთ ეს loop ათი 782 00:38:42,899 --> 00:38:46,530 ჯერ, ეს დაველოდებით ათი წამი და მაშინ printf ყველაფერი ერთად? 783 00:38:46,530 --> 00:38:47,460 >> KEVIN შმიდი: Oh, OK. 784 00:38:47,460 --> 00:38:49,170 >> აუდიტორია: ეს აკეთებს იგივე რაც მაშინ ამ შემთხვევაში? 785 00:38:49,170 --> 00:38:52,630 >> KEVIN შმიდი: ასე რომ კითხვა იყო, ძირითადად ერთი ყოფილი ტესტებში 786 00:38:52,630 --> 00:38:57,200 ან რამე, არ არსებობს საკითხი, რომ ძირითადად თუ ამბობენ ბეჭდვითი ვ 10 787 00:38:57,200 --> 00:39:01,490 რამ დროს და შემდეგ slept როგორც პროცესი ბეჭდვის იმ out, 788 00:39:01,490 --> 00:39:04,850 ბოლოს რატომღაც, ეს იქნებოდა უბრალოდ ნაგავსაყრელი იმ ყველა out ეკრანზე. 789 00:39:04,850 --> 00:39:06,740 ასე რომ, არსებობს სახის ორ სხვადასხვა ცნებები აქ. 790 00:39:06,740 --> 00:39:10,400 >> ასე ვფიქრობ ერთი რამ არის, რომ ამ შემთხვევაში, ჩვენ საქმე გვაქვს ორი სხვადასხვა 791 00:39:10,400 --> 00:39:13,510 სახის ადამიანი სვამს სერვერზე რამ ამავე დროს. 792 00:39:13,510 --> 00:39:17,455 და იმ მიზეზით, რომ printf სახის ელოდება, როგორიცაა, რომ და dumps ეს ყველაფერი გარეთ 793 00:39:17,455 --> 00:39:21,760 ერთდროულად უფრო დაკავშირებული როგორ printf სახის - 794 00:39:21,760 --> 00:39:25,100 ასე რომ გზა printf ფაქტიურად განხორციელებული ეს არის ძირითადად აქვს 795 00:39:25,100 --> 00:39:28,850 გაიგო, რომ ოპერაციული სისტემის დაწერა რომ პერსონალის კონსოლი. 796 00:39:28,850 --> 00:39:33,460 ასე რომ არ გვინდა, რომ გავაკეთოთ ყველაფერი, პერსონალის მაშინვე, როცა ამბობენ, printf 797 00:39:33,460 --> 00:39:36,260 ზოგიერთი სიმებიანი იმიტომ, რომ შეიძლება კიდევ ძვირი თუ მას აქვს 798 00:39:36,260 --> 00:39:37,340 გავაკეთოთ, რომ ყოველ ჯერზე. 799 00:39:37,340 --> 00:39:41,530 >> ასე რომ, თუ თქვენ აკეთებთ printf hey, თქვენი პროგრამა არ შეიძლება რეალურად ბეჭდვა რომ 800 00:39:41,530 --> 00:39:43,040 დაუყოვნებლივ კონსოლი. 801 00:39:43,040 --> 00:39:46,080 ეს შეიძლება ითქვას, OK, მე დავწერე ის. 802 00:39:46,080 --> 00:39:49,570 და შემდეგ სახის დაველოდოთ თქვენ მისცეს ეს ცოტა უფრო ადრე, ფაქტობრივად, 803 00:39:49,570 --> 00:39:51,380 წერდა ის კონსოლი. 804 00:39:51,380 --> 00:39:54,040 >> ასე რომ, იმ მიზეზით, რომ ეს იყო საქმე - 805 00:39:54,040 --> 00:39:56,450 და ეს სახის unrelated რომ ძილის - 806 00:39:56,450 --> 00:40:00,060 არის ის, რომ ძილის იყო ერთგვარი მხოლოდ გაუკეთეს იქ დემონსტრირება 807 00:40:00,060 --> 00:40:02,480 ის ფაქტი, რომ ის არ დაწეროთ ეს სინქრონულად. 808 00:40:02,480 --> 00:40:06,210 მაგრამ მიზეზი, რომ მხოლოდ შესრულება ისე, რომ თქვენ არ უნდა 809 00:40:06,210 --> 00:40:08,920 მიიღოს, რომ ბევრი კონტაქტები ოპერაციული სისტემა. 810 00:40:08,920 --> 00:40:12,300 >> მაგრამ აქ, რა ჩვენ ნამდვილად ცდილობს ამ ძილის რამ არის მხოლოდ შოუ 811 00:40:12,300 --> 00:40:17,730 რომ როდესაც ჩვენ გვაქვს ორი ადამიანი გამოჩენის ამ ნახვა, ის არ აპირებს დააყენოს 812 00:40:17,730 --> 00:40:22,310 მათ ხაზი, სადაც იგი აპირებს ამბობენ მე უნდა დაგეხმაროთ, და მაშინ, როდესაც მე 813 00:40:22,310 --> 00:40:25,350 მთლიანად დასრულდა ეხმარება თქვენ შემდეგ ამ ხუთ წამში, მაშინ მე ვაპირებ 814 00:40:25,350 --> 00:40:26,750 გადაადგილება გადატანა მომდევნო პირი. 815 00:40:26,750 --> 00:40:29,515 ასე რომ, პირველი პირის მოთხოვნა არ გვაკავშირებს, რომ ღონისძიება loop 816 00:40:29,515 --> 00:40:31,610 თუ ეს აზრი. 817 00:40:31,610 --> 00:40:34,980 >> მაგრამ აქ არის რეალურად მაგალითი რომ რაღაც იქნება უსიამოვნოა 818 00:40:34,980 --> 00:40:36,090 up ღონისძიება loop. 819 00:40:36,090 --> 00:40:39,130 ასე რომ აქ საშინელი ფუნქცია გამოთვლაც nth Fibonacci. 820 00:40:39,130 --> 00:40:43,510 ეს სიტყვასიტყვით უარესი გზით თქვენ შეგიძლიათ გამოთვლაც nth Fibonacci ნომერი. 821 00:40:43,510 --> 00:40:48,480 და ეს არის რეალურად მხოლოდ უნდა ვაღიაროთ სადაც ეს მოვიდა, 822 00:40:48,480 --> 00:40:49,330 არსებობს რეალურად - 823 00:40:49,330 --> 00:40:53,230 ვგულისხმობ, შეგიძლიათ ცდილობენ წავიდეთ პოულობთ მას - მაგრამ იქ, ძალიან ხანგრძლივი წაკითხვა 824 00:40:53,230 --> 00:40:54,130 პოსტი რომ ვიღაცამ დაწერა. 825 00:40:54,130 --> 00:40:55,660 ეს მოსწონს ერთ იმ Reddit რამ. 826 00:40:55,660 --> 00:40:59,650 მაგრამ ვიღაცამ გააკრიტიკა Node.js და ისინი გამოიყენება როგორც მაგალითი. 827 00:40:59,650 --> 00:41:03,700 ასე რომ, მე სახის სასურველი უბრალოდ გაჩვენებთ ორ სხვადასხვა პერსპექტივები მხოლოდ მისაღებად 828 00:41:03,700 --> 00:41:07,320 ზოგადად გაგება ცნებები უკან ამ ორი რამ. 829 00:41:07,320 --> 00:41:13,050 >> მაგრამ ეს არჩეული უბრალოდ საშინელებაა, horribly არაეფექტური computationally 830 00:41:13,050 --> 00:41:15,940 ინტენსიური გზა გამოთვლაც nth Fibonacci ნომერი. 831 00:41:15,940 --> 00:41:21,180 ასე რომ, ისევე, როგორც მინიშნება, თუ რატომ არის ეს საშინელებაა, როგორც ერთი გზა? 832 00:41:21,180 --> 00:41:23,210 Yep? 833 00:41:23,210 --> 00:41:25,130 >> აუდიტორია: Say თქვენ დაიწყოს ერთად 1000. 834 00:41:25,130 --> 00:41:27,050 1000 ყოფს შევიდა 999 და 998. 835 00:41:27,050 --> 00:41:28,970 თითოეული ეს ყოფს შევიდა ორი რამ. 836 00:41:28,970 --> 00:41:30,890 თითოეული ეს ყოფს შევიდა ორი რამ. 837 00:41:30,890 --> 00:41:31,355 >> KEVIN შმიდი: მარჯვენა. 838 00:41:31,355 --> 00:41:32,400 >> აუდიტორია: ყველა გზა down. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN შმიდი: ზუსტად. 840 00:41:32,840 --> 00:41:37,330 ასე რომ მხოლოდ გავიმეორო კამერა, თუ დარეკეთ FIB on როგორც 1000 ან რამე 841 00:41:37,330 --> 00:41:41,810 მოსწონს, რომ, ეს, ცხადია, არა ნაკლებ ან ტოლი ერთი ისე მე ვაპირებ 842 00:41:41,810 --> 00:41:46,040 გადადით ამ სხვა შემთხვევაში, და შემდეგ მე ვაპირებ მოვუწოდებთ FIB 999 plus FIB 998. 843 00:41:46,040 --> 00:41:50,290 და მაშინ საკმაოდ ბევრი ყველაფერი, მუშაობა, რომ FIB 999 არ არის 844 00:41:50,290 --> 00:41:52,950 სახის ამ დონის. 845 00:41:52,950 --> 00:41:55,620 თუ თქვენ დაცემას, ეს კიდევ უფრო გადაჭარბებული გარდა ამისა, მაგრამ თუ უბრალოდ 846 00:41:55,620 --> 00:42:01,390 ვფიქრობ, კომპიუტერული FIB 998 იღებს ჩვენთვის საკმაოდ ახლოს FIB 999. 847 00:42:01,390 --> 00:42:05,860 ამიტომ, ჩვენ უნდა იყოს ნამდვილად ცოტა მეტი ჭკვიანი, თუ როგორ ჩვენ სახის reuse 848 00:42:05,860 --> 00:42:07,580 ეს, მაგრამ ჩვენ არ reusing ეს ყველაფერი ყველა. 849 00:42:07,580 --> 00:42:11,860 ასე რომ, თქვენ წარმოიდგინეთ, ამ გიგანტური, გიგანტური ხე, რომელიც მხოლოდ საშინელებაა. 850 00:42:11,860 --> 00:42:12,940 >> მაგრამ მაინც, OK. 851 00:42:12,940 --> 00:42:14,040 ასე რომ იყო FIB. 852 00:42:14,040 --> 00:42:15,530 ეს უბრალოდ იღებს, ხოლო გასაშვებად. 853 00:42:15,530 --> 00:42:16,510 Yep? 854 00:42:16,510 --> 00:42:17,760 >> აუდიტორია: [INAUDIBLE]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> KEVIN შმიდი: Oh, შეიძლება თქვენც ვიმეორებ კითხვას? 857 00:42:22,481 --> 00:42:23,731 >> აუდიტორია: [INAUDIBLE]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> KEVIN შმიდი: Oh ასე რომ ეს არის უბრალოდ კოდი რომ იქნება ერთგვარი შესახებ 860 00:42:33,990 --> 00:42:34,850 სერვერის მხარეს. 861 00:42:34,850 --> 00:42:38,100 ასე რომ, ეს არ იქნება ნაპოვნი ბრაუზერის ან არაფერი. 862 00:42:38,100 --> 00:42:42,160 ეს ძირითადად რა გვაქვს, რომ როდესაც მომხმარებლის აქ საკმაოდ ბევრი მარკა 863 00:42:42,160 --> 00:42:45,300 მათი თხოვნით კიდევ ერთხელ, როდესაც ჩვენ ერთგვარი რომ მოთხოვნას, ჩვენ ვაპირებთ, რომ მოვუწოდო 864 00:42:45,300 --> 00:42:47,040 ამ ფუნქციის სერვერზე მხარეს. 865 00:42:47,040 --> 00:42:50,480 და მაშინ ჩვენ მიიღოს შედეგი უკან საწყისი მოუწოდებდა, რომ ფუნქცია. 866 00:42:50,480 --> 00:42:52,460 და მაშინ ჩვენ უბრალოდ ბეჭდვა ის შესახებ. 867 00:42:52,460 --> 00:42:54,580 ასე რომ, მომხმარებელს ნამდვილად არ მოგვარდეს ამ ფუნქციის ძალიან ბევრი. 868 00:42:54,580 --> 00:42:57,270 >> ის იყო, რომ კითხვა? 869 00:42:57,270 --> 00:42:58,470 ამჯამად რომ აზრი? 870 00:42:58,470 --> 00:42:58,810 OK. 871 00:42:58,810 --> 00:43:00,930 ზემოთ. 872 00:43:00,930 --> 00:43:04,240 >> ასე რომ კიდევ ერთხელ, ჩვენ ეს მთელი res.writeHead რამ, სადაც ჩვენ ამობეჭდოთ 873 00:43:04,240 --> 00:43:05,150 header. 874 00:43:05,150 --> 00:43:09,730 და მერე ბოლოში საპასუხოდ აკეთებს ჯადოსნური ნომერი FIB 45. 875 00:43:09,730 --> 00:43:12,100 მოდით უბრალოდ აწარმოებს ამ სერვერზე. 876 00:43:12,100 --> 00:43:15,190 ამიტომ მე ვაპირებ გავაკეთოთ Node fib.js. 877 00:43:15,190 --> 00:43:17,340 ასე რომ, ახლა ჩემი FIB სერვერზე გაშვებული. 878 00:43:17,340 --> 00:43:21,790 >> და მერე აქ, მე ვაპირებ გავაკეთოთ ერთი მათგანი. 879 00:43:21,790 --> 00:43:22,200 OK? 880 00:43:22,200 --> 00:43:24,960 ასე რომ მე უბრალოდ აპირებს ამბობენ, Curl. 881 00:43:24,960 --> 00:43:32,226 ასე რომ, ეს აპირებს ცოტა ხნით, მაგრამ იმედია მალე დასრულდება და 882 00:43:32,226 --> 00:43:35,660 ეს იქნება ამობეჭდოთ, რომ 45 Fibonacci ნომერი. 883 00:43:35,660 --> 00:43:36,910 >> აუდიტორია: [INAUDIBLE]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> KEVIN შმიდი: ეს უნდა გაკეთდეს საკმაოდ მალე. 886 00:43:42,050 --> 00:43:43,780 ასე რომ, ეს უნდა მიიღოს ხუთი ექვსი წამი. 887 00:43:43,780 --> 00:43:48,570 მე არ ვიცი, რომ უბრალოდ V8 მყოფი super სწრაფი, მაგრამ ნებისმიერ შემთხვევაში, ეს არის 888 00:43:48,570 --> 00:43:52,700 ძალიან მოკლე მაგალითი და მიზანმიმართულად inelegant არასამთავრობო ტრივიალური 889 00:43:52,700 --> 00:43:54,200 გამოთვლები. 890 00:43:54,200 --> 00:43:56,700 ასე რომ, რამდენიმე ხნის შემდეგ, იგი ამ. 891 00:43:56,700 --> 00:44:02,130 >> მაგრამ ახლა, რა მოხდება, თუ იმავე სახის ექსპერიმენტი, როგორც ადრე, სადაც მე 892 00:44:02,130 --> 00:44:04,010 ორი მოთხოვნა, ამავე დროს? 893 00:44:04,010 --> 00:44:06,990 ასე რომ აქ მე ვაპირებ Curl on რომ მისამართი, და მე ვაპირებ 894 00:44:06,990 --> 00:44:08,260 უნდა გავაკეთოთ კიდევ ერთი Curl. 895 00:44:08,260 --> 00:44:12,070 და მახსოვს, როცა ეს გავაკეთეთ, რომ ძილის სერვერზე, როდესაც ჩვენ, ძირითადად, იყო ის, 896 00:44:12,070 --> 00:44:15,320 მას შემდეგ, რაც ხუთ წამში, ისინი საკმაოდ ბევრი ორივე დაბრუნდა უფლება 897 00:44:15,320 --> 00:44:16,380 დაახლოებით ამავე დროს. 898 00:44:16,380 --> 00:44:18,650 ასე რომ, ეს არ იყო გაყინული. 899 00:44:18,650 --> 00:44:20,290 >> მაგრამ მოდით ცდილობენ ახლა. 900 00:44:20,290 --> 00:44:22,370 OK, ასე რომ მივიღეთ ჩვენი პროცესებში. 901 00:44:22,370 --> 00:44:24,210 დამახსოვრება ეს პროცესი პირადობის მოწმობა. 902 00:44:24,210 --> 00:44:25,900 ეს იქნება პატარა უხერხულია, ხოლო ჩვენ შეაფერხოს. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 მოდით უბრალოდ აქ დარჩენა და დაველოდოთ. 905 00:44:35,360 --> 00:44:37,090 >> ასე რომ, ერთი მათგანი უნდა მოვიდეს შემდეგ უკან, როგორიცაა - 906 00:44:37,090 --> 00:44:39,190 OK, ასე რომ, ერთი დაბრუნდა. 907 00:44:39,190 --> 00:44:43,570 მაგრამ მაშინ რატომ არა მეორე ერთი დავბრუნდებით უბრალოდ არ არის? 908 00:44:43,570 --> 00:44:44,389 Yep? 909 00:44:44,389 --> 00:44:49,280 >> აუდიტორია: სერვერის ვერაფერს ხოლო ის გამოთვლითი, რომ დიდი რაოდენობით. 910 00:44:49,280 --> 00:44:51,620 >> KEVIN შმიდი: მარჯვენა. 911 00:44:51,620 --> 00:44:55,395 ასე რომ, პასუხი იყო, რომ სერვერზე მართლაც არაფრის გაკეთება არ შეუძლია, ხოლო 912 00:44:55,395 --> 00:44:57,460 ის გამოთვლითი რომ Fibonacci ნომერი. 913 00:44:57,460 --> 00:44:59,360 ასე რომ, ახლა მე მივიღე ჩემი ორი რამ უკან. 914 00:44:59,360 --> 00:45:03,210 მაგრამ ვფიქრობ, უბრალოდ ვიფიქროთ კოდი ცოტა მეტი, თუ როგორ მუშაობს 915 00:45:03,210 --> 00:45:05,030 და ყველაფერი. 916 00:45:05,030 --> 00:45:11,750 >> ასე რომ, ეს ფუნქცია აქ არის კოდი, რომელიც მე ვუთხარი ამ სერვერის გასაშვებად, როდესაც ის 917 00:45:11,750 --> 00:45:14,100 იღებს ახალ შემომავალი მოთხოვნით. 918 00:45:14,100 --> 00:45:17,940 ასე რომ, ეს უბრალოდ აპირებს ამ გზით მთელი კოდი, და მაშინ იგი აპირებს 919 00:45:17,940 --> 00:45:21,120 უკან ღონისძიების loop და შემდეგ გააგრძელოს შემოწმების ახალი ღონისძიებები. 920 00:45:21,120 --> 00:45:23,670 ასე რომ, ძირითადად, რასაც ჩვენ ხდება არის სერვერი 921 00:45:23,670 --> 00:45:25,080 მოსმენის ახალი რამ. 922 00:45:25,080 --> 00:45:28,070 პირველი პირი ითხოვს რა 45. 923 00:45:28,070 --> 00:45:30,490 ჩვენ აწარმოებს ამ კოდი გამოთვლაც იგი. 924 00:45:30,490 --> 00:45:33,420 ეს კოდი იღებს დაახლოებით ხუთ ექვს წამში აწარმოებს. 925 00:45:33,420 --> 00:45:36,990 მაშინ ჩვენ დავუბრუნდებით იმ შემთხვევაში loop და შევამოწმოთ ახალი მოთხოვნები. 926 00:45:36,990 --> 00:45:42,700 >> ასე რომ, ეს არის მაგალითი იმისა, თუ როგორ, თუ აქვს რამ, რომ ე.წ. გამოთვლაც 927 00:45:42,700 --> 00:45:48,140 შეკრული, ან გამოიყენოთ უამრავი კომპიუტერული, არა ძალა, მაგრამ არის 928 00:45:48,140 --> 00:45:50,260 computationally ინტენსიური - 929 00:45:50,260 --> 00:45:54,080 ვფიქრობ, ერთი რამ ვთქვა, რომ ეს არის რომ ეს ფუნქცია აკეთებს მთლიანად, 930 00:45:54,080 --> 00:45:56,310 ყველაზე ნაწილი, საკმაოდ სასარგებლო შრომის უფლება. 931 00:45:56,310 --> 00:45:59,970 მთელი დრო, რომ უკუგამოძახება ფუნქცია ჩართულია, ეს იყო საკმაოდ 932 00:45:59,970 --> 00:46:03,670 ბევრი ხარჯავს თავისი დრო მხოლოდ კომპიუტერული, რომ nth Fibonacci ნომერი. 933 00:46:03,670 --> 00:46:05,930 >> მაგრამ ჩვენ მხოლოდ ერთი თემა გამკლავება. 934 00:46:05,930 --> 00:46:10,270 In Apache მოდელი, როდესაც ორი ადამიანი გააკეთა თხოვნით კიდევ FIB 45, ჩვენ 935 00:46:10,270 --> 00:46:11,610 ექნებოდა ორი სხვადასხვა თემა. 936 00:46:11,610 --> 00:46:15,060 და მერე ოპერაციული სისტემის სამუშაო იქნებოდა, ან მომხმარებლის დონეზე 937 00:46:15,060 --> 00:46:18,660 კოდი, რომელიც მართავს თემა, რომ მე იყო ნაჭერი, რომ წლის 938 00:46:18,660 --> 00:46:23,060 CPU, ან თუნდაც თუ ჰქონდა მრავალჯერადი პროცესორები, გავრცელება მათ თანაბრად მთელს CPUs 939 00:46:23,060 --> 00:46:26,130 ისე, რომ ისინი ორივე finish დაახლოებით ამავე დროს. 940 00:46:26,130 --> 00:46:31,120 >> ასე რომ მხოლოდ აჩვენებს, თუ როგორ შეგვიძლია სახის - და ეს არ არის საერთო სრულყოფილი 941 00:46:31,120 --> 00:46:34,280 გამოსავალი, მაგრამ ერთგვარი როგორ შეგვიძლია რათა ჩამოვსულიყავი აქ და გააკეთოს 942 00:46:34,280 --> 00:46:35,880 ცოტა უკეთესი. 943 00:46:35,880 --> 00:46:41,540 ასე რომ, რაც მე აქ არის პროგრამის მოუწოდა FIB C. და ეს ძირითადად იყენებს 944 00:46:41,540 --> 00:46:45,690 კიდევ ერთი კვანძის მოდულები მოუწოდა ბავშვის პროცესი მოდული. 945 00:46:45,690 --> 00:46:49,210 ასე რომ, მე შედის, რომ ზედა სახის მსგავსი მინდა ფუნტი მოიცავს 946 00:46:49,210 --> 00:46:51,230 ბავშვის process.h ან რამე. 947 00:46:51,230 --> 00:46:56,210 ახლა ხელი მიუწვდება ამ CP ცვლადი რომელსაც აქვს ყველა ჩემი ფუნქცია. 948 00:46:56,210 --> 00:47:01,810 >> ასე რომ, ახლა, რასაც მე ვაკეთებ ამ საპასუხოდ გამოტანის მე გაშვებული ამ პროგრამის 949 00:47:01,810 --> 00:47:04,100 dot slash FIB 45. 950 00:47:04,100 --> 00:47:06,820 ასე რომ, რასაც მე ვაკეთებ - და მე უბრალოდ აპირებს დაიხევს out ამ პროგრამის 951 00:47:06,820 --> 00:47:07,620 ცოტა - 952 00:47:07,620 --> 00:47:11,060 არის მე დაწერილი C პროგრამა, რომელიც ძირითადად computes 953 00:47:11,060 --> 00:47:12,630 nth Fibonacci ნომერი. 954 00:47:12,630 --> 00:47:15,960 ასე რომ აქ მხოლოდ პროგრამის მე დაწერილი C რომ computes ეს. 955 00:47:15,960 --> 00:47:19,040 შემიძლია კომპილირება და შემიძლია აწარმოებს ის ბრძანებათა სტრიქონიდან. 956 00:47:19,040 --> 00:47:22,150 და ის აპირებს გამოთვლაც 45 Fibonacci ნომერი. 957 00:47:22,150 --> 00:47:24,510 >> ასე რომ შეამჩნია ეს მხოლოდ იღებს საკმაოდ ბევრი გრძელი. 958 00:47:24,510 --> 00:47:28,240 მე ალბათ შეეძლო გამოიყენება dash 03 to ოპტიმიზაცია იგი ან რამე მაგდაგვარს, 959 00:47:28,240 --> 00:47:31,050 მაგრამ მე უბრალოდ, ისევე როგორც რეგულარული შემდგენელი პარამეტრები. 960 00:47:31,050 --> 00:47:33,260 და ეს ბეჭდავს მას. 961 00:47:33,260 --> 00:47:36,830 >> მაგრამ ახლა, რა ვარ მე სახის აკეთებს? 962 00:47:36,830 --> 00:47:39,800 Oh უკაცრავად, არასწორი ფაილი. 963 00:47:39,800 --> 00:47:42,800 ასე რომ, მე იგივეს პერსონალის სათაურს, როგორც ადრე. 964 00:47:42,800 --> 00:47:45,780 მერე ამისათვის cp.exec. 965 00:47:45,780 --> 00:47:49,460 რა ეს აპირებს არის ის აპირებს ამ პროგრამაში. 966 00:47:49,460 --> 00:47:51,960 მაგრამ გზა ამ მუშაობს ის არის, რომ ის არ აპირებს დაველოდოთ 967 00:47:51,960 --> 00:47:53,400 რომ პროგრამის დასრულება. 968 00:47:53,400 --> 00:47:56,000 უბრალოდ ძირითადად ამბობს შეასრულოს ეს პროგრამა. 969 00:47:56,000 --> 00:47:58,700 ასე რომ, ძირითადად აკრიფოთ ამ შევიდა command prompt სახის. 970 00:47:58,700 --> 00:48:02,350 >> და მაშინ, როდესაც თქვენ გაკეთდეს ის, აწარმოებს ამ ფუნქციას. 971 00:48:02,350 --> 00:48:04,800 ასე რომ, ახლა ჩვენ სახის მიიღოს ამ მთელი აღდგენილი რამ 972 00:48:04,800 --> 00:48:06,750 ისევე, როგორც ჩვენ არ ელოდება. 973 00:48:06,750 --> 00:48:08,530 ს, რომ ასეთი აზრი? 974 00:48:08,530 --> 00:48:08,990 Yep? 975 00:48:08,990 --> 00:48:11,060 >> აუდიტორია: [INAUDIBLE]? 976 00:48:11,060 --> 00:48:13,610 >> KEVIN შმიდი: ასე რომ, ეს რეალურად გახსნას ახალი პროცესი უნდა გავაკეთოთ. 977 00:48:13,610 --> 00:48:19,310 ასე რომ, ეს არის რეალურად, გარკვეულწილად, ბოროტი, არ არის სუპერ ბოროტი, მაგრამ ეს არის 978 00:48:19,310 --> 00:48:22,990 მნიშვნელოვანია, რომ ვთქვა, რომ ეს არის ერთგვარი ბრუნდება, ერთი მხრივ, Apache 979 00:48:22,990 --> 00:48:26,450 მოდელი, სადაც ჩვენ გავაკეთებთ თემა და პროცესები თითოეული მოთხოვნა ან 980 00:48:26,450 --> 00:48:29,280 პროცესების თითოეული მოთხოვნით. 981 00:48:29,280 --> 00:48:32,090 ასე რომ, ეს სახის ანალოგიური რა Apache აკეთებს. 982 00:48:32,090 --> 00:48:35,110 ზოგიერთ შემთხვევაში, ეს იქნება უბრალოდ გამოიყენოთ new თემა, რომელიც ცოტა უფრო მსუბუქი 983 00:48:35,110 --> 00:48:39,040 წონა, ვიდრე პროცესი, მაგრამ Apache იქნებოდა დასრულდება forking ახალი პროცესი 984 00:48:39,040 --> 00:48:43,370 რომელიც სახის რას ვაკეთებთ აქ ირიბად ამით dot slash FIB 45. 985 00:48:43,370 --> 00:48:48,690 >> და მაშინ ამ შემთხვევაში, ჩვენ სახის წარმოეშვას იგივე ხარჯები პროცესებში. 986 00:48:48,690 --> 00:48:50,710 ასე რომ ეს არის მხოლოდ ერთი რამ შეგიძლიათ გააკეთოთ. 987 00:48:50,710 --> 00:48:52,600 მაგრამ უბრალოდ რათა ნახოთ ამ სახის გაშვებული. 988 00:48:52,600 --> 00:48:57,120 და ეს საუბარი მხოლოდ რეალურად მიზნად ისახავს წარდგენის ამ სახის პროგრამების, როგორც 989 00:48:57,120 --> 00:49:00,710 გზა დავანახოთ სხვადასხვა პერსპექტივები როგორ უნდა შეიმუშაოს სერვერები, როგორიცაა, რომ. 990 00:49:00,710 --> 00:49:08,300 ასე რომ, ეს არის გაშვებული და შემდეგ ახლა, თუ ეს კიდევ ერთხელ, მე მივიღე ორი პროცესი პირადობის მოწმობა. 991 00:49:08,300 --> 00:49:10,320 >> მოდით უბრალოდ ვისაუბროთ რამ უნდა აღვნიშნო. 992 00:49:10,320 --> 00:49:11,980 ასე რომ შეამჩნია, რომ ისინი incrementally. 993 00:49:11,980 --> 00:49:12,700 ეს არის ის მაგარი. 994 00:49:12,700 --> 00:49:15,140 რადგან ეს იყო 27.122 ადრე. 995 00:49:15,140 --> 00:49:18,580 მაგრამ ცნობა, ახლა, ისინი დაბრუნდა დაახლოებით ამავე დროს. 996 00:49:18,580 --> 00:49:23,960 >> და ახლა, კარგი კითხვა ვთხოვო შესახებ ამიტომ იყო, რომ საქმე, რომლის სამუშაო 997 00:49:23,960 --> 00:49:27,590 იყო ეს ახლა ერთგვარი რათა ეს ყველაფერი სახის ითამაშოს სამართლიანი თითოეული 998 00:49:27,590 --> 00:49:31,350 მეორე მხრივ, ეს ორი შემთხვევა dot slash FIB 45, მე გაიქცა 999 00:49:31,350 --> 00:49:32,880 ან რომ Node ran? 1000 00:49:32,880 --> 00:49:36,940 ვინ სახის ხდის სამართლიანი, რომ ორივე მისაღებად სახის დაბალანსებული ტირაჟი დროს? 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> აუდიტორია: [INAUDIBLE]. 1003 00:49:44,220 --> 00:49:44,620 >> KEVIN შმიდი: ჰო. 1004 00:49:44,620 --> 00:49:49,740 ასე რომ, ძირითადად, როცა ამის გაკეთება dot slash FIB 45 ან რამე მაგდაგვარს, ახლა კი 1005 00:49:49,740 --> 00:49:53,750 სახის მდე ოპერაციული სისტემა გაუმკლავდეს runtime იმ პროგრამებს. 1006 00:49:53,750 --> 00:49:56,920 და ახლა მას შეუძლია დანიშნოს მათ სხვადასხვა პროცესორები, ან 1007 00:49:56,920 --> 00:49:58,330 შეუძლია დანიშნოს მათ. 1008 00:49:58,330 --> 00:50:01,870 მას შეუძლია ნაჭერი up დრო, რომ ერთი CPU იღებს იგი ან რომ ისინი 1009 00:50:01,870 --> 00:50:03,330 აწარმოებს ერთი CPU. 1010 00:50:03,330 --> 00:50:05,620 ასე რომ იდეა, რომ. 1011 00:50:05,620 --> 00:50:07,220 ამჯამად, რომ აზრი, ყველას? 1012 00:50:07,220 --> 00:50:10,950 ახლა Node ნამდვილად არ თამაშობენ ნაწილი გამყოფი up ამ ამოცანებს. 1013 00:50:10,950 --> 00:50:12,200 OK. 1014 00:50:12,200 --> 00:50:14,050 1015 00:50:14,050 --> 00:50:17,840 >> ასე რომ თითქმის ეს მაგალითი. 1016 00:50:17,840 --> 00:50:23,370 მე უბრალოდ მინდოდა ნახოთ კიდევ ერთი რამ იმიტომ, რომ ბევრი ამ აქამდე უკვე 1017 00:50:23,370 --> 00:50:27,350 სრულიად super პრაქტიკული ზოგიერთ შემთხვევაში. 1018 00:50:27,350 --> 00:50:30,970 მე წარმომიდგენია მოდის სახლში შემდეგ გაიგო და რაღაც და განაცხადა, რომ მოსწონს, 1019 00:50:30,970 --> 00:50:35,710 ასევე მე სახის გადმოვიდა, რომ საუბარი, რომ მე შემიძლია Fibonacci სერვერზე 1020 00:50:35,710 --> 00:50:37,360 ჩემი საბოლოო პროექტი. 1021 00:50:37,360 --> 00:50:40,770 ასე რომ აქ უბრალოდ სახის კიდევ ერთი მაგალითი რომ იმედია იქნება - 1022 00:50:40,770 --> 00:50:44,620 იქნებ არა, მაგრამ იქნებ - ცოტა მეტი სახის შესაბამისი საბოლოო პროექტების და 1023 00:50:44,620 --> 00:50:46,440 ფიქრი ადრე რამ, როგორიცაა, რომ. 1024 00:50:46,440 --> 00:50:48,870 >> ასე რომ, ეს chat.js. 1025 00:50:48,870 --> 00:50:52,290 ასე რომ, ეს არის სახის მოსწონს ზოგიერთი ნიმუში სერვერის მხარეს კოდი, რომ თქვენ შეიძლება გამოიყენოთ 1026 00:50:52,290 --> 00:50:55,700 შეიქმნა მცირე სტატისტიკა სერვერზე, როგორიცაა თქვენ შეიძლება არ ჩანს 1027 00:50:55,700 --> 00:50:56,630 Facebook ჩატი ან რასაც. 1028 00:50:56,630 --> 00:50:59,990 ასე რომ, მე არ ვამბობ, რომ ეს არის, როგორიცაა Facebook სტატისტიკა, მაგრამ ეს არის ერთგვარი 1029 00:50:59,990 --> 00:51:06,230 ისევე როგორც კარგი - შესაძლოა არ არის კარგი, მაგრამ იქნებ კარგი - ამოსავალი წერტილი სტატისტიკა 1030 00:51:06,230 --> 00:51:08,560 სერვერზე თქვენი ნახვა საბოლოო პროექტი. 1031 00:51:08,560 --> 00:51:11,040 მოდით შევხედოთ, თუ რას აკეთებს. 1032 00:51:11,040 --> 00:51:15,500 >> ასე რომ, ჩვენ ვიღებთ ამ განსაკუთრებული რამ ზედა, ამ var SIO 1033 00:51:15,500 --> 00:51:17,050 შეადგენს მოითხოვს Socket.IO. 1034 00:51:17,050 --> 00:51:20,280 ასე რომ, ეს არის კიდევ ერთი რამ, რომ არ რეალურად მოდის შეფუთული ერთად 1035 00:51:20,280 --> 00:51:22,300 Node მაგრამ შეგიძლიათ დააინსტალიროთ. 1036 00:51:22,300 --> 00:51:23,480 ის Node მოდული. 1037 00:51:23,480 --> 00:51:25,670 ასე რომ, ისევე, როგორც ზოგიერთი გაგრძელების Node. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO არის რეალურად მართლაც სახის cool. 1039 00:51:29,220 --> 00:51:32,550 ეს არის აბსტრაქცია რომ ძირითადად რა ეს არ არის არის ის საშუალებას გაძლევთ 1040 00:51:32,550 --> 00:51:35,770 აქვს ამ ნაკადი ურთიერთობა შორის web 1041 00:51:35,770 --> 00:51:39,430 ბრაუზერი და სერვერზე. 1042 00:51:39,430 --> 00:51:45,250 ასე რომ, დიდი ნაწილი ჯერჯერობით, ჩვენ გვქონდა ეს ძალიან სწრაფად ერთი მეორე ან ორი 1043 00:51:45,250 --> 00:51:48,790 მეორე შორის კომუნიკაციების ვებ ბრაუზერი და სერვერზე. 1044 00:51:48,790 --> 00:51:53,310 ასე რომ, ძირითადად წასვლა google.com, ოჯახის პერსონალი, გაგზავნის იგი უკან, და შემდეგ 1045 00:51:53,310 --> 00:51:53,770 ჩვენ გავაკეთეთ. 1046 00:51:53,770 --> 00:51:56,560 ჩვენ არასდროს საუბარი ერთხელ, სანამ მომხმარებლის ტიპების რაღაც. 1047 00:51:56,560 --> 00:52:01,090 >> მაგრამ რა Socket.IO და მსგავსი სახის რამ - და SocketIO ფაქტიურად ერთი 1048 00:52:01,090 --> 00:52:03,940 რამ, რაც აგებულია როგორც WebSocket რაც სახის ხელმისაწვდომი 1049 00:52:03,940 --> 00:52:06,440 როგორც ნაწილი HTML5 - 1050 00:52:06,440 --> 00:52:09,620 რომელიც საშუალებას გაძლევთ, რომ ამ გრძელდება დიალოგი. 1051 00:52:09,620 --> 00:52:13,990 და ეს არის ძალიან სასარგებლო სტატისტიკა სერვერზე ასეთი რამ, რადგან ეს არის 1052 00:52:13,990 --> 00:52:17,390 სახის მოსწონს გრძელდება დიალოგი გარკვეულწილად, რადგან თუ თქვენ chatting 1053 00:52:17,390 --> 00:52:21,540 ვინმეს, შეგიძლიათ უბრალოდ გამოგვიგზავნეთ გაგზავნა ქვემოთ მილები, ხოლო შემდეგ 1054 00:52:21,540 --> 00:52:23,940 სერვერზე შეგიძლიათ გააგზავნოთ გაგზავნა ქვემოთ მილის მეორე პირი თქვენ 1055 00:52:23,940 --> 00:52:24,520 chatting ერთად. 1056 00:52:24,520 --> 00:52:26,903 და მაშინ აქვს ამ გაცვლა იგრძნობა. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> ასე რომ სახის რა SocketIO კარგია. 1059 00:52:32,850 --> 00:52:38,400 იმ მიზეზით, რომ SocketIO იყენებს WebSockets როგორც ერთი ის არის, რომ 1060 00:52:38,400 --> 00:52:43,980 გარდა იმისა, რომ მხოლოდ ბარის ძველ WebSockets, მას ასევე აქვს გარკვეული ხრიკების ძირითადად 1061 00:52:43,980 --> 00:52:45,610 რათა ის ბრაუზერის თავსებადი. 1062 00:52:45,610 --> 00:52:50,040 ასე რომ, ბრაუზერები, როგორიცაა Internet Explorer სამწუხაროდ არ უჭერს მხარს WebSockets 1063 00:52:50,040 --> 00:52:50,810 უფლება out of box. 1064 00:52:50,810 --> 00:52:55,290 ასე რომ, იგი იყენებს ზოგიერთი სხვა სახის cool neat რამ Adobe Flash დაუშვას 1065 00:52:55,290 --> 00:52:57,170 თქვენ გაქვთ ჯვარი ბრაუზერის მხარდაჭერა. 1066 00:52:57,170 --> 00:52:58,800 ასე რომ, მართლაც სასარგებლო. 1067 00:52:58,800 --> 00:53:02,440 >> და რეალურად, მე ვიცი, მე სახის გაშვებული დრო, მაგრამ CS50 1068 00:53:02,440 --> 00:53:08,490 განიხილავენ, ოდესმე ჩანს რაღაც მოსწონს, მე არ ვიცი, ცარიელი ასე და ასე არის 1069 00:53:08,490 --> 00:53:11,030 პასუხით ჩანაწერი ან რამე მოსწონს, რომ თვისება? 1070 00:53:11,030 --> 00:53:12,250 ეს არის ის, SocketIO. 1071 00:53:12,250 --> 00:53:15,580 ასე რომ, როდესაც ვინმე იწყებს აკრეფით განხილვა ყუთი, რათა პასუხი ან 1072 00:53:15,580 --> 00:53:20,040 რაღაც, თქვენს ბრაუზერს არ რა მოუწოდა SocketIO გამოყოფს გარკვეული სახის 1073 00:53:20,040 --> 00:53:22,660 ღონისძიება, რომელიც აცხადებს, რომ ვიღაცა პასუხით ამ პოსტის. 1074 00:53:22,660 --> 00:53:26,110 >> შემდეგ სერვერი ამბობს, OK, რა უნდა გავაკეთოთ? 1075 00:53:26,110 --> 00:53:29,270 ისე ახლა მე უნდა ვუთხრა იმ სხვა ბიჭები რომლებიც CS50 იმსჯელებს ეძებს 1076 00:53:29,270 --> 00:53:31,170 ამ თანამდებობაზე, რომელიც ვიღაცის პასუხით. 1077 00:53:31,170 --> 00:53:34,190 ასე რომ სახის რა SocketIO არის კარგი, ეს გრძელდება სახის 1078 00:53:34,190 --> 00:53:35,930 ნაკადი დიალოგი. 1079 00:53:35,930 --> 00:53:37,250 OK. 1080 00:53:37,250 --> 00:53:40,060 >> ასე რომ, რა მაქვს აქ - და ჩვენ უბრალოდ აპირებს იგნორირება კავშირები მასივი 1081 00:53:40,060 --> 00:53:41,390 ცოტა - 1082 00:53:41,390 --> 00:53:43,080 რა გავაკეთო არის მე კიდევ მოუსმინოს. 1083 00:53:43,080 --> 00:53:46,880 ასე რომ უბრალოდ გზა Socket.IO არის ამბობდა, მოდით მოვუსმინოთ ამ პორტს. 1084 00:53:46,880 --> 00:53:50,060 და მერე ამისათვის კავშირი. 1085 00:53:50,060 --> 00:53:53,360 ასე რომ, უბრალოდ ძირითადად Socket IO-ს გზას ვამბობ, როდესაც ჩვენ ვიღებთ 1086 00:53:53,360 --> 00:53:55,840 დაკავშირებით, მინდა აწარმოებს ამ კოდი. 1087 00:53:55,840 --> 00:53:59,870 >> და შენიშნავს, რომ ნაცვლად, რომელმაც rec და res გავიდა იქ მაქვს Socket. 1088 00:53:59,870 --> 00:54:03,260 და ეს Socket იდეა არის ის, ძირითადად ამ რამ, რომ თქვენ შეგიძლიათ დაწეროთ და წაიკითხოთ 1089 00:54:03,260 --> 00:54:05,750 რომ აქვს მომხმარებლის ანკეტის შეტყობინებები შესაძლოა. 1090 00:54:05,750 --> 00:54:10,700 და შეტყობინებები, რომ თქვენ გააგზავნოთ შეუძლია გაიაროს, რომ Socket. 1091 00:54:10,700 --> 00:54:12,140 ამჯამად რომ აზრი? 1092 00:54:12,140 --> 00:54:14,490 ასე რომ, ეს გრძელდება რამ. 1093 00:54:14,490 --> 00:54:17,820 >> ასე რომ, რა გავაკეთო არის მოვუწოდებ Socket.emit. 1094 00:54:17,820 --> 00:54:20,330 და გადასცემს იღებს საკმაოდ ბევრად ორი არგუმენტები. 1095 00:54:20,330 --> 00:54:24,100 პირველი არგუმენტი არის სიმებიანი უბრალოდ წარმოადგენს ტიპის 1096 00:54:24,100 --> 00:54:25,270 რამ თქვენ ასხივებენ. 1097 00:54:25,270 --> 00:54:28,120 ასე რომ, ამ შემთხვევაში, მე გამოყენება ეს კონტექსტი new გაგზავნა. 1098 00:54:28,120 --> 00:54:32,670 და ეს მხოლოდ ძირითადად ამბობდა, რომ ტიპის ამ რამ, რა ვარ 1099 00:54:32,670 --> 00:54:34,750 გაგზავნის, არის ახალი შეტყობინება. 1100 00:54:34,750 --> 00:54:38,460 ასე რომ თქვენ შეგიძლიათ მოუსმინოთ კონკრეტული სახის როგორც ახალი გაგზავნა ან რასაც 1101 00:54:38,460 --> 00:54:39,960 გამოყენებით dot შესახებ. 1102 00:54:39,960 --> 00:54:44,570 >> ასე რომ, კავშირი და მომხმარებლის გაიგზავნა არსებობს, თუ გადავხედავთ, სადაც ჩვენ მოვუწოდებთ dot on, 1103 00:54:44,570 --> 00:54:48,150 იმ სხვა სტრიქონები, რომელიც წარმოადგენს სახის შესახებ შეტყობინებები. 1104 00:54:48,150 --> 00:54:52,060 ასე რომ, ძირითადად, თქვენ შეგიძლიათ ამ ასხივებენ ერთი ამ გაგზავნა ტიპის და 1105 00:54:52,060 --> 00:54:55,520 შემდეგ რაღაც საპასუხოდ ერთი ამ გაგზავნა ტიპი 1106 00:54:55,520 --> 00:54:57,640 >> ამიტომ მე ასხივებენ ამ ახალ გაგზავნა. 1107 00:54:57,640 --> 00:55:00,540 ჩვენ ვაპირებთ იგნორირება connections.push მეორე. 1108 00:55:00,540 --> 00:55:03,360 მაგრამ მაშინ მე ვიტყვი, Socket.on შესახებ გაიგზავნა. 1109 00:55:03,360 --> 00:55:07,540 ასე რომ, ახლა ეს სახის მოსწონს, როცა პროფაილი აგზავნის ჩემთვის გაგზავნა, მინდა 1110 00:55:07,540 --> 00:55:09,240 თქვენ აწარმოებს ამ კოდი. 1111 00:55:09,240 --> 00:55:12,080 და შენიშნავს, რომ ანონიმური ფუნქცია ხდება ამ ცვლადის 1112 00:55:12,080 --> 00:55:16,300 ე.წ. მონაცემები, რომელიც ძირითადად აპირებს აქვს შესახებ ცნობა. 1113 00:55:16,300 --> 00:55:20,700 >> ახლა მოდით სახის საუბარი კავშირები მასივი. 1114 00:55:20,700 --> 00:55:24,590 ასე რომ, ეს განკუთვნილია სტატისტიკა კლიენტი სადაც ძირითადად ყველას სახის 1115 00:55:24,590 --> 00:55:25,950 იგივე ჩატის. 1116 00:55:25,950 --> 00:55:29,640 ასე რომ, ძირითადად, რასაც ჩვენ უნდა შევინარჩუნოთ გარშემო რაღაც მასივი, რომ ძირითადად 1117 00:55:29,640 --> 00:55:33,170 წარმოადგენს ყველა იმ ადამიანს, chatting in გარკვეულწილად, თუ ეს აზრი. 1118 00:55:33,170 --> 00:55:33,340 უფლება? 1119 00:55:33,340 --> 00:55:37,190 იმის გამო, რომ ჩვენ უნდა ვიცოდეთ, ვინც იმ ბიჭებს ასე რომ ჩვენ შეგვიძლია გააგზავნოთ შეტყობინებები 1120 00:55:37,190 --> 00:55:39,140 რომ სხვა ადამიანების გაუგზავნე us. 1121 00:55:39,140 --> 00:55:44,440 >> რა ეს კოდი არ არის, როდესაც პროფაილი აგზავნის გზავნილი - ეს არის ტიპის 1122 00:55:44,440 --> 00:55:45,300 ღონისძიება - 1123 00:55:45,300 --> 00:55:47,120 ჩვენ ვაპირებთ აწარმოებს ამ კოდი. 1124 00:55:47,120 --> 00:55:51,240 და რას ვაკეთებთ არის ჩვენ აწარმოებს მეშვეობით array, რომ ჩვენ ე.წ. კავშირები. 1125 00:55:51,240 --> 00:55:54,390 და საკმაოდ ბევრი ყველა კავშირი გარდა ერთი, რომ ჩვენია, რომ 1126 00:55:54,390 --> 00:55:59,520 რა ეს კოდი თქმით, ჩვენ ახალი გაგზავნა, რომ ერთვის გაგზავნა 1127 00:55:59,520 --> 00:56:01,210 ინფორმაციას. 1128 00:56:01,210 --> 00:56:04,880 >> ასე რომ, თუ თქვენ შეამჩნევთ, აქ, რა გავაკეთე, როცა მომხმარებლის ძიებას new 1129 00:56:04,880 --> 00:56:08,560 კავშირი მე დასძინა ერთად JavaScript.push საშუალებას, რომ ეს არის 1130 00:56:08,560 --> 00:56:12,100 ძირითადად, მხოლოდ განაცხადა, რომ ისევე, როგორც რჩეულებში რომ Socket როგორც ღირებულების შევიდა 1131 00:56:12,100 --> 00:56:13,900 ჩვენი კავშირები მასივი. 1132 00:56:13,900 --> 00:56:20,560 ახლა, როდესაც ეს კოდი გადის, ეს იქნება გაუგზავნე რამ იმ კონკრეტულ 1133 00:56:20,560 --> 00:56:22,020 კავშირები. 1134 00:56:22,020 --> 00:56:26,980 ასე რომ, ეს შეიძლება იყოს კარგი ამოსავალი წერტილი მიღების სტატისტიკა სერვერზე 1135 00:56:26,980 --> 00:56:28,250 ან რაღაც მსგავსი. 1136 00:56:28,250 --> 00:56:33,315 >> და სახის cool ის არის, რომ კოდი, რომელიც ხედავთ აქ მოსწონს და 1137 00:56:33,315 --> 00:56:36,390 ასხივებენ და პერსონალის მოსწონს, რომ არის იგივე სახის JavaScript კოდი, რომ თქვენ 1138 00:56:36,390 --> 00:56:39,260 დაწერა ბრაუზერის ურთიერთქმედება სერვერზე. 1139 00:56:39,260 --> 00:56:42,480 ასე რომ, რატომ SocketIO არის ერთგვარი სისუფთავე და სასარგებლო, რომ გზა. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> Oh და მხოლოდ ერთი რამ რეალური სწრაფი. 1142 00:56:49,250 --> 00:56:55,970 იყო CS50 საბოლოო პროექტი შარშან რომ ძირითადად ხორციელდება სტატისტიკა 1143 00:56:55,970 --> 00:56:57,840 სერვერზე Node.js. 1144 00:56:57,840 --> 00:57:01,350 მე ვფიქრობ, რომ Harvardchats.org მაგრამ მე არ ვარ - 1145 00:57:01,350 --> 00:57:02,940 OK. 1146 00:57:02,940 --> 00:57:06,190 მე არ ვარ დარწმუნებული, თუ რა URL არის, მაგრამ შემიძლია, რომ მას შემდეგ. 1147 00:57:06,190 --> 00:57:09,260 მაგრამ ეს სახის cool რა შეგიძლიათ გააკეთოთ Node.js. 1148 00:57:09,260 --> 00:57:14,680 >> ასე რომ, იმედი მაქვს, რომ, ზოგადად, თქვენ ბიჭები გვყავს კარგი გაგებით რა Node.js არის სასარგებლო 1149 00:57:14,680 --> 00:57:17,870 და როგორ შეიძლება იქნებ ვრცელდება თქვენი საბოლოო პროექტი. 1150 00:57:17,870 --> 00:57:21,050 მე იქნება გაგზავნის out კიდევ რამდენიმე რესურსები ერთად ეს. 1151 00:57:21,050 --> 00:57:23,170 და დიდი მადლობა გითხრათ მობრძანებისათვის. 1152 00:57:23,170 --> 00:57:23,610 დიდი მადლობა. 1153 00:57:23,610 --> 00:57:27,168 >> [ტაში]