1 00:00:00,000 --> 00:00:05,159 2 00:00:05,159 --> 00:00:09,240 >> DAN Armendariz: Hello dan selamat seminar CS50 pada Customizing Cloud 9, 3 00:00:09,240 --> 00:00:11,724 dan IDE CS50. 4 00:00:11,724 --> 00:00:13,640 Jadi hari ini kita akan hanya bercakap sedikit 5 00:00:13,640 --> 00:00:16,090 mengenai beberapa maklumat teknikal yang 6 00:00:16,090 --> 00:00:19,380 pergi di belakang seni bina Cloud 9, dan bagaimana 7 00:00:19,380 --> 00:00:25,560 kami telah melaksanakan beberapa plug-in sebagai sebahagian daripada Cloud 9 untuk menyediakan CS50 IDE. 8 00:00:25,560 --> 00:00:28,820 Jadi mari kita hanya melompat kanan dalam dan mula bercakap tentang plug-in. 9 00:00:28,820 --> 00:00:32,659 >> Jadi plug-in yang benar-benar di teras pengalaman Cloud 9. 10 00:00:32,659 --> 00:00:37,590 Cloud 9 adalah teknologi yang digunakan yang menyediakan kepada kami IDE, 11 00:00:37,590 --> 00:00:42,160 dan juga tetingkap terminal di bawah, bersama-sama dengan workspace-- yang 12 00:00:42,160 --> 00:00:46,430 Ubuntu workspace-- yang kita gunakan untuk menyusun semua projek kita 13 00:00:46,430 --> 00:00:49,190 dan melaksanakan set masalah kita, melengkapkan set masalah kami. 14 00:00:49,190 --> 00:00:51,820 Tetapi di tengah-tengah semua itu, semua teknologi 15 00:00:51,820 --> 00:00:54,590 adalah benar-benar hanya sekumpulan plug-in. 16 00:00:54,590 --> 00:00:58,740 Segala-galanya adalah plug-in yang boleh diubah suai, 17 00:00:58,740 --> 00:01:00,710 dilanjutkan, anda boleh membuat sendiri plug-in anda, 18 00:01:00,710 --> 00:01:03,060 anda boleh mengeluarkan lain plug-in, untuk benar-benar mengubah 19 00:01:03,060 --> 00:01:07,540 cukup banyak fungsi yang Cloud 9 IDE yang sedia ada. 20 00:01:07,540 --> 00:01:12,040 >> Jadi ini adalah satu yang sedia ada Awan 9 alam sekitar. 21 00:01:12,040 --> 00:01:14,750 Ini adalah benar-benar hanya lalai Cloud 9 alam sekitar. 22 00:01:14,750 --> 00:01:18,450 Dan kita lihat bagaimana ia sebenarnya adalah berbeza daripada IDE CS50. 23 00:01:18,450 --> 00:01:20,340 Jadi ini adalah IDE CS50. 24 00:01:20,340 --> 00:01:25,060 Perhatikan bahawa terdapat beberapa visual perubahan antara tetap Cloud 9 25 00:01:25,060 --> 00:01:28,000 alam sekitar dan IDE CS50. 26 00:01:28,000 --> 00:01:30,010 Secara khusus, anda akan dapati dua perubahan. 27 00:01:30,010 --> 00:01:34,201 Pertama sekali, ada sedikit menu untuk memulakan. 28 00:01:34,201 --> 00:01:36,200 Ada sebenarnya cara yang bahawa anda boleh mengubahnya. 29 00:01:36,200 --> 00:01:37,270 Ia dipanggil Mod Simple. 30 00:01:37,270 --> 00:01:40,910 >> Secara lalai, Mod Mudah didayakan dan yang memudahkan beberapa perkara menu. 31 00:01:40,910 --> 00:01:43,032 Ia membuang sebahagian daripada yang lebih maju, 32 00:01:43,032 --> 00:01:45,240 kerana terus-terang, banyak pelajar yang datang dalam 33 00:01:45,240 --> 00:01:48,550 dan tidak perlu untuk mengetahui tentang beberapa satu ciri-ciri yang lebih maju 34 00:01:48,550 --> 00:01:50,530 tidak terharu dengan sekumpulan pilihan. 35 00:01:50,530 --> 00:01:55,610 Tetapi kita menyediakan keupayaan untuk mengambil meninggalkan mereka yang dipanggil roda latihan 36 00:01:55,610 --> 00:01:57,360 dan mengeluarkan yang perancah supaya orang 37 00:01:57,360 --> 00:02:00,832 boleh menjadi lebih biasa dengan ciri-ciri canggih IDE. 38 00:02:00,832 --> 00:02:02,540 Dengan segera kepada kanan itu, ada 39 00:02:02,540 --> 00:02:05,435 juga butang debug, yang dalam standard Cloud 40 00:02:05,435 --> 00:02:08,199 9 persekitaran hanya dipanggil jangka. 41 00:02:08,199 --> 00:02:11,990 Tetapi secara lalai, kita telah mengkonfigurasi butang debug di IDE CS50 42 00:02:11,990 --> 00:02:15,500 untuk membawa penyahpepijat, secara automatik menyusun kod sumber, 43 00:02:15,500 --> 00:02:17,940 menyambung penyahpepijat untuk GDB-- asas 44 00:02:17,940 --> 00:02:21,430 dan sejak yang sedang berjalan untuk melaksanakan yang debugging-- dan beberapa langkah lain 45 00:02:21,430 --> 00:02:22,580 juga. 46 00:02:22,580 --> 00:02:25,370 Juga tetingkap terminal di very-- atau sebaliknya terminal 47 00:02:25,370 --> 00:02:29,010 tab di bahagian konsol di tingkap di bahagian paling bawah skrin, 48 00:02:29,010 --> 00:02:31,004 telah ditukar nama kepada hanya menjadi terminal. 49 00:02:31,004 --> 00:02:32,837 Manakala dalam standard Cloud 9 alam sekitar, 50 00:02:32,837 --> 00:02:35,830 ia sebenarnya menunjukkan menjalankan aplikasi. 51 00:02:35,830 --> 00:02:39,140 Dengan cara ini, ia memudahkan, sekali lagi, GUI, hanya sedikit. 52 00:02:39,140 --> 00:02:42,310 >> Kami juga menambah beberapa butang ke kanan atas IDE 53 00:02:42,310 --> 00:02:45,740 untuk menunjukkan beberapa maklumat asas tentang contoh asas. 54 00:02:45,740 --> 00:02:49,700 Dan juga kita telah membuang satu pilihan pada item 55 00:02:49,700 --> 00:02:51,730 dari bahagian paling kanan. 56 00:02:51,730 --> 00:02:55,620 Jadi semua ini dilaksanakan tidak dengan mengubah semestinya Cloud 9 57 00:02:55,620 --> 00:02:58,550 kod sumber, tetapi bukannya melalui pasangan 58 00:02:58,550 --> 00:03:03,460 plug-in yang telah kami laksanakan sepanjang tahun lalu atau lebih. 59 00:03:03,460 --> 00:03:08,840 Dan Cloud 9 telah menjadi tuan rumah dan mempunyai berjalan di ruang kerja CS50. 60 00:03:08,840 --> 00:03:13,680 Atau lebih tepat dalam ruang kerja yang ditetapkan sebagai CS50 IDE. 61 00:03:13,680 --> 00:03:17,140 >> Jadi benar-benar itulah perbezaan utama antara Cloud 9 dan CS50 62 00:03:17,140 --> 00:03:18,130 ruang kerja. 63 00:03:18,130 --> 00:03:21,780 Terdapat juga, dalam asas Contohnya, perubahan utama adalah 64 00:03:21,780 --> 00:03:25,350 yang kita memasang beberapa barangan pra-konfigurasi seperti GDB, 65 00:03:25,350 --> 00:03:29,530 dan beberapa perkara asas yang lain yang kami telah diwujudkan, seperti Update 50, 66 00:03:29,530 --> 00:03:33,310 dan beberapa langkah lain yang membuat keseluruhan pengalaman lebih sedikit 67 00:03:33,310 --> 00:03:34,550 bersatu. 68 00:03:34,550 --> 00:03:38,520 Tetapi secara keseluruhan, ini hanyalah pengubahsuaian sistem yang sedia ada 69 00:03:38,520 --> 00:03:40,979 yang Cloud 9 telah dicipta untuk kita. 70 00:03:40,979 --> 00:03:42,770 Apa yang kita akan menunjukkan sedikit kemudian 71 00:03:42,770 --> 00:03:45,920 adalah bagaimana untuk benar-benar membuat agak asas plug-in yang 72 00:03:45,920 --> 00:03:49,461 membolehkan kita untuk memasukkan sesuatu ke dalam sistem menu, dan membuka dialog. 73 00:03:49,461 --> 00:03:51,210 Dan jika kita mempunyai cukup masa, kita akan benar-benar 74 00:03:51,210 --> 00:03:54,210 lihat bagaimana kita boleh mengisi yang dialog dengan beberapa maklumat 75 00:03:54,210 --> 00:03:56,089 daripada contoh yang mendasari. 76 00:03:56,089 --> 00:03:58,880 Dalam usaha untuk kita untuk sampai ke mata, mari kita pertama bercakap sedikit 77 00:03:58,880 --> 00:04:01,740 mengenai seni bina Cloud 9. 78 00:04:01,740 --> 00:04:05,290 >> Jadi cara yang kami digunakan untuk berinteraksi dengan Cloud 9 79 00:04:05,290 --> 00:04:06,610 sepenuhnya melalui pelanggan. 80 00:04:06,610 --> 00:04:10,610 Kita membuka penyemak imbas web, kita menaip CS50.io. yang 81 00:04:10,610 --> 00:04:14,431 Kami akhirnya, selepas pengesahan, dibentangkan dengan IDE. 82 00:04:14,431 --> 00:04:16,180 Tetapi sedar bahawa ada beberapa langkah 83 00:04:16,180 --> 00:04:18,180 yang benar-benar membawa kita ke tahap ini. 84 00:04:18,180 --> 00:04:22,390 Perkara yang pertama ialah pelanggan saya, penyemak imbas web, 85 00:04:22,390 --> 00:04:27,440 di atas permintaan dan selepas pengesahan, memuatkan GUI dan plug-in 86 00:04:27,440 --> 00:04:30,170 dari beberapa CDN, dari beberapa Rangkaian Penyampaian Kandungan. 87 00:04:30,170 --> 00:04:32,700 Ini boleh menjadi terus-terang di mana sahaja. 88 00:04:32,700 --> 00:04:35,390 >> Dan ini adalah benar-benar berasingan daripada contoh yang mendasari. 89 00:04:35,390 --> 00:04:38,890 Adalah penting untuk menyedari bahawa ini adalah sebenarnya hanya sekumpulan fail statik. 90 00:04:38,890 --> 00:04:42,600 Ia sekumpulan JavaScript yang turun dari CDN 91 00:04:42,600 --> 00:04:45,200 ke pelayar web saya, dan semua GUI yang anda 92 00:04:45,200 --> 00:04:48,460 melihat sini-- ini adalah benar-benar key-- semua GUI yang anda lihat di sini 93 00:04:48,460 --> 00:04:50,480 dijalankan pada sebelah pelanggan. 94 00:04:50,480 --> 00:04:53,820 Segala-galanya yang anda lihat di dalam Awan 9 ruang kerja 95 00:04:53,820 --> 00:04:56,010 sebenarnya berjalan dalam pelayar. 96 00:04:56,010 --> 00:04:59,950 Dan apa-apa yang anda hantar bersama-sama dengan contoh yang mendasari 97 00:04:59,950 --> 00:05:04,000 disampaikan dengan contoh di sepanjang saluran berasingan kedua, 98 00:05:04,000 --> 00:05:07,240 dan kemudiannya disimpan ke bahawa contoh buruh pelabuhan. 99 00:05:07,240 --> 00:05:09,660 >> Jadi sebab itu saya katakan ini adalah contoh buruh pelabuhan 100 00:05:09,660 --> 00:05:12,650 adalah bahawa teknologi yang mendasari tidak menggunakan mesin maya, 101 00:05:12,650 --> 00:05:16,040 tetapi sebaliknya menggunakan satu teknologi yang dikenali buruh pelabuhan, 102 00:05:16,040 --> 00:05:20,200 yang pada asasnya allows-- yang paling dekat analogi adalah mesin maya. 103 00:05:20,200 --> 00:05:24,800 Tetapi ia adalah secara halus berbeza dalam bahawa terdapat 104 00:05:24,800 --> 00:05:28,900 banyak peluang untuk menjalankan gabungan buruh pelabuhan yang berbeza 105 00:05:28,900 --> 00:05:30,760 contoh pada mesin tunggal. 106 00:05:30,760 --> 00:05:34,660 Dan mereka boleh diputar sehingga berturut-turut sangat pesat. 107 00:05:34,660 --> 00:05:38,920 Ia tidak cukup lebih pembezaan yang ketat 108 00:05:38,920 --> 00:05:42,840 antara contoh buruh pelabuhan yang berbeza kerana ada dalam mesin maya, 109 00:05:42,840 --> 00:05:45,730 tetapi masih ada banyak pembezaan dan pemisahan 110 00:05:45,730 --> 00:05:48,330 antara kedua-keadaan yang berbeza. 111 00:05:48,330 --> 00:05:48,830 OKEY. 112 00:05:48,830 --> 00:05:50,980 Jadi kedua-dua langkah di sini bahawa adalah penting untuk menyedari 113 00:05:50,980 --> 00:05:57,370 ialah apabila kita pergi ke CS50.io, kami memuat turun GUI dan plug-in, 114 00:05:57,370 --> 00:06:01,640 yang tertulis dalam JavaScript, pada kepada pelayar atau ke pelayar. 115 00:06:01,640 --> 00:06:05,980 Dan ini adalah mungkin pasangan megabait bernilai maklumat. 116 00:06:05,980 --> 00:06:09,460 Pada ketika itu, sebaik sahaja GUI mempunyai dimuat dan plug-in telah dimulakan, 117 00:06:09,460 --> 00:06:12,530 kemudian ia mula berkomunikasi dengan contoh buruh pelabuhan, yang tidak 118 00:06:12,530 --> 00:06:15,210 semestinya perlu menjadi pelayan yang sama. 119 00:06:15,210 --> 00:06:16,940 >> Sekarang terdapat satu pengecualian kepada ini. 120 00:06:16,940 --> 00:06:22,130 Kami benar-benar boleh mempunyai kedua-dua mekanisme penghantaran untuk GUI itu sendiri 121 00:06:22,130 --> 00:06:25,740 dan contoh buruh pelabuhan di semua pelayan yang sama, yang 122 00:06:25,740 --> 00:06:29,660 sebenarnya adalah sesuatu yang kita lakukan untuk versi luar talian Cloud 9. 123 00:06:29,660 --> 00:06:33,470 Ini bukanlah sesuatu yang kami telah publisiti amat Kejatuhan ini, 124 00:06:33,470 --> 00:06:35,930 tetapi kita juga mempunyai versi luar talian yang 125 00:06:35,930 --> 00:06:40,010 membolehkan anda untuk memuat turun dibungkus versi semua perkara-perkara 126 00:06:40,010 --> 00:06:43,670 dan membolehkan anda untuk menjalankan Cloud 9 dalam persekitaran yang di luar talian. 127 00:06:43,670 --> 00:06:48,325 >> Bergerak ini di luar awan dan ke mesin tempatan anda mempunyai beberapa kesan. 128 00:06:48,325 --> 00:06:50,200 Khususnya, anda tidak lagi mempunyai keupayaan 129 00:06:50,200 --> 00:06:52,280 untuk berkongsi ruang kerja anda dengan orang lain. 130 00:06:52,280 --> 00:06:58,630 Anda tidak lagi boleh membuka Cloud 9 dari, dan IDE CS50, dari mana-mana komputer 131 00:06:58,630 --> 00:07:02,950 dan melihat fail yang sama yang anda bekerja dengan sebelum ini. 132 00:07:02,950 --> 00:07:06,310 Tetapi sebaliknya ia berfungsi sepenuhnya pada mesin anda sendiri tempatan 133 00:07:06,310 --> 00:07:09,270 tanpa perlu akses kepada internet. 134 00:07:09,270 --> 00:07:13,330 Tetapi masih walaupun pada model itu, walaupun walaupun kita mempunyai satu mesin maya 135 00:07:13,330 --> 00:07:15,200 yang pada asasnya menjalankan perkara-perkara ini. 136 00:07:15,200 --> 00:07:19,480 >> Kami mempunyai pelayan yang berasingan iaitu menyampaikan dasarnya Cloud 9 137 00:07:19,480 --> 00:07:23,640 kandungan, dan kemudian kita mempunyai contoh buruh pelabuhan 138 00:07:23,640 --> 00:07:32,280 yang bertanggungjawab untuk berkomunikasi dengan itu IDE untuk bahagian belakang. 139 00:07:32,280 --> 00:07:32,780 OKEY. 140 00:07:32,780 --> 00:07:38,700 Maka segenap GUI yang ditulis sepenuhnya dalam JavaScript 141 00:07:38,700 --> 00:07:42,800 menggunakan Node.js dan Cloud 9 SDK, yang kita akan dapat dalam masa satu minit. 142 00:07:42,800 --> 00:07:46,650 Dan semua plug-in sedang berjalan di sebelah pelanggan. 143 00:07:46,650 --> 00:07:51,780 Jadi mari kita memberi tumpuan maka sedikit dengan menganggap 144 00:07:51,780 --> 00:07:55,670 langkah pertama ini mempunyai sebenarnya siap dengan jayanya, 145 00:07:55,670 --> 00:07:58,990 dan melihat hanya atas kehendak buruh pelabuhan ini. 146 00:07:58,990 --> 00:08:01,220 >> Jadi dalam kes ini, ini adalah cara yang standard 147 00:08:01,220 --> 00:08:04,870 berfikir tentang melakukan Cloud 9 plug-in pembangunan adalah bahawa anda akan 148 00:08:04,870 --> 00:08:07,940 untuk menulis kod yang akan dijalankan dalam pelayar pengguna, 149 00:08:07,940 --> 00:08:11,610 dan anda mempunyai peluang untuk menggunakan beberapa API untuk berkomunikasi 150 00:08:11,610 --> 00:08:16,470 dengan buruh pelabuhan contoh asas, menjalankan beberapa kod di sana, dan melakukan apa-apa 151 00:08:16,470 --> 00:08:18,860 yang anda mungkin mahu lakukan. 152 00:08:18,860 --> 00:08:22,000 Jadi ini akan menjadi konteks bahawa kita akan 153 00:08:22,000 --> 00:08:24,340 akan menggunakan untuk sepanjang ceramah ini. 154 00:08:24,340 --> 00:08:26,400 Dan hanya menyimpan model ini dalam fikiran. 155 00:08:26,400 --> 00:08:28,966 Ini akan menjadi sangat penting dalam hanya beberapa minit. 156 00:08:28,966 --> 00:08:30,840 Ada beberapa pautan Saya hendak menunjukkan kepada anda. 157 00:08:30,840 --> 00:08:34,150 Pertama sekali, Cloud 9 telah menyediakan cukup banyak dokumentasi 158 00:08:34,150 --> 00:08:38,740 yang cukup baik, yang menunjukkan bagaimana untuk melakukan pembangunan pemalam asas. 159 00:08:38,740 --> 00:08:43,320 Jadi, jika anda pergi ke URL ini, cloud9-sdk.readme.io, 160 00:08:43,320 --> 00:08:45,261 anda akan lihat dokumentasi di sana. 161 00:08:45,261 --> 00:08:47,510 Dan banyak maklumat ini yang anda kira-kira untuk melihat 162 00:08:47,510 --> 00:08:50,310 juga boleh didapati di sana, dan banyak lagi. 163 00:08:50,310 --> 00:08:55,880 Anda juga boleh mencari sumber terbuka versi Cloud 9 di URL ini, 164 00:08:55,880 --> 00:09:04,270 github.com/c9/core, yang kita gunakan sebagai sebahagian daripada versi luar talian bagi IDE, 165 00:09:04,270 --> 00:09:07,540 supaya anda akan dapat mempunyai sama Cloud 9 pengalaman, 166 00:09:07,540 --> 00:09:09,660 tetapi dengan cara yang di luar talian. 167 00:09:09,660 --> 00:09:10,160 Baiklah. 168 00:09:10,160 --> 00:09:15,560 Jadi mari kita lihat pada sebenar Cloud 9 ruang kerja di sini. 169 00:09:15,560 --> 00:09:17,880 Dan sekali lagi, saya ingin menunjukkan daripada beberapa perkara. 170 00:09:17,880 --> 00:09:21,560 Ini, di sini, IDE CS50 normal. 171 00:09:21,560 --> 00:09:26,830 Dan saya telah dimatikan yang kurang mod selesa di bawah menu View 172 00:09:26,830 --> 00:09:28,807 supaya saya boleh melihat semua pilihan menu. 173 00:09:28,807 --> 00:09:31,140 Apa yang saya ingin menunjukkan kepada anda tepat sekarang adalah beberapa perkara. 174 00:09:31,140 --> 00:09:33,140 Mula-mula, jika saya pergi ke Keutamaan dan kemudian 175 00:09:33,140 --> 00:09:37,040 klik pada Plug-in pengurus, dan taip CS50 sini, 176 00:09:37,040 --> 00:09:40,590 kita dapat melihat bahawa terdapat, sebenarnya, beberapa CS50 plug-in yang 177 00:09:40,590 --> 00:09:46,280 telah dipasang dan berjalan kami untuk membolehkan pengubahsuaian yang kami telah 178 00:09:46,280 --> 00:09:48,670 dilihat untuk IDE CS50. 179 00:09:48,670 --> 00:09:51,450 >> Pada masa ini terdapat pada asasnya dua plug-in yang sedang berjalan. 180 00:09:51,450 --> 00:09:54,980 Ada satu dipanggil mudah, yang adalah cara yang dipermudahkan yang 181 00:09:54,980 --> 00:10:00,020 membolehkan anda untuk mengurangkan bilangan pilihan menu di sepanjang bahagian atas, 182 00:10:00,020 --> 00:10:03,070 dan telah apa yang dipanggil mod kurang selesa. 183 00:10:03,070 --> 00:10:07,280 Dan kemudian ada juga CS50 Stats, yang mungkin hanya sedikit misnamed. 184 00:10:07,280 --> 00:10:09,550 Kerana ini adalah apa menunjukkan anda maklumat yang 185 00:10:09,550 --> 00:10:10,850 mengenai ruang kerja asas. 186 00:10:10,850 --> 00:10:13,560 Ia menyuntik butang ini di sepanjang bahagian atas kanan. 187 00:10:13,560 --> 00:10:18,620 Ia juga menyuntik item menu ke dalam item tingkap, ke dalam menu Window 188 00:10:18,620 --> 00:10:21,730 di sini, CS50 IDE Info. 189 00:10:21,730 --> 00:10:27,380 Dan ia adalah bertanggungjawab untuk instantiating dialog ini yang kita lihat di sini, 190 00:10:27,380 --> 00:10:31,460 dengan semua maklumat yang kami biasa melihat dalam IDE CS50 191 00:10:31,460 --> 00:10:32,870 ruang kerja. 192 00:10:32,870 --> 00:10:33,370 OKEY. 193 00:10:33,370 --> 00:10:36,910 Jadi ada sebenarnya satu lagi plug-in yang telah kita bangunkan juga. 194 00:10:36,910 --> 00:10:40,110 Dan ada beberapa orang lain yang kami juga tidak kepada orang ramai. 195 00:10:40,110 --> 00:10:45,880 Tetapi salah seorang daripada mereka adalah keseluruhan plug-in yang membolehkan GDB untuk berfungsi. 196 00:10:45,880 --> 00:10:50,190 Jadi salah satu aspek Cloud 9 adalah bahawa mereka telah menyediakan sudah 197 00:10:50,190 --> 00:10:53,210 GUI ini untuk melaksanakan penyahpepijat. 198 00:10:53,210 --> 00:10:57,360 Dan salah satu plug-in yang kami telah mencipta pada dasarnya 199 00:10:57,360 --> 00:11:02,380 cangkuk GDB dengan GUI ini versi berasaskan penyahpepijat. 200 00:11:02,380 --> 00:11:07,680 Dan bertanggungjawab untuk menjadi orang tengah semua daripada permintaan yang pengguna mungkin mempunyai, 201 00:11:07,680 --> 00:11:10,310 antara melangkah lebih atau mewujudkan titik putus atau apa-apa 202 00:11:10,310 --> 00:11:15,390 sepanjang garis, untuk menterjemahkan kepada arahan yang GDB dapat memahami, 203 00:11:15,390 --> 00:11:16,920 mengeluarkan arahan kepada orang-orang GDB. 204 00:11:16,920 --> 00:11:19,260 Dan sebaik sahaja GDB mengeluarkan jawapan, kemudian 205 00:11:19,260 --> 00:11:23,250 kita mentafsirkan itu dan mengemas kini GUI seperti yang diperlukan. 206 00:11:23,250 --> 00:11:25,130 >> Itu mungkin salah satu daripada yang lebih rumit 207 00:11:25,130 --> 00:11:28,840 plug-in, jadi bukannya apa yang kita akan memberi tumpuan kepada hari ini adalah sebenarnya 208 00:11:28,840 --> 00:11:34,590 yang Stats plug-in, dan kita akan bincangkan sedikit tentang Mudah, juga. 209 00:11:34,590 --> 00:11:39,100 Jadi saya nyatakan sebelum ini, dan saya benar-benar mahu untuk membuat yang sangat, sangat jelas, bahawa sekali lagi, 210 00:11:39,100 --> 00:11:41,600 semua ini bahawa kita lihat di sini pada asasnya 211 00:11:41,600 --> 00:11:43,300 yang beroperasi di sebelah pelanggan. 212 00:11:43,300 --> 00:11:45,810 Kami ada melihat tetingkap terminal di bawah, dan, sudah tentu, 213 00:11:45,810 --> 00:11:49,230 jika kita menaip arahan ke dalam itu, yang akan kemudian mengeluarkan 214 00:11:49,230 --> 00:11:50,690 kepada contoh asas. 215 00:11:50,690 --> 00:11:55,280 Begitu juga, jika kita membuka fail baru dan menaip beberapa barangan ke dalamnya dan menyimpannya, 216 00:11:55,280 --> 00:11:58,240 fail yang akan disimpan pada atas kehendak asas. 217 00:11:58,240 --> 00:12:02,310 >> Tetapi editor itu sendiri, ini tetingkap terminal itu sendiri, 218 00:12:02,310 --> 00:12:05,700 adalah semua dilaksanakan di JavaScript dan semua pemalam 219 00:12:05,700 --> 00:12:09,800 yang kita boleh berinteraksi dengan, dan oleh itu mengubah suai. 220 00:12:09,800 --> 00:12:11,450 Ada banyak diperpanjang di sini. 221 00:12:11,450 --> 00:12:14,690 Saya cadangkan mengambil melihat di akaun GitHub Cloud 9 ini 222 00:12:14,690 --> 00:12:17,790 untuk melihat kuantiti besar plug-in yang ada, 223 00:12:17,790 --> 00:12:23,070 dan bagaimana yang ditulis dengan baik banyak kod ini adalah untuk diperpanjang. 224 00:12:23,070 --> 00:12:24,920 Jadi ada sesuatu yang saya ingin menyebut 225 00:12:24,920 --> 00:12:30,480 mengenai ini dan juga, yang bahawa terdapat banyak daripada- ada 226 00:12:30,480 --> 00:12:33,450 banyak fungsi itu disediakan dalam pilihan 227 00:12:33,450 --> 00:12:37,970 tingkap, yang kami telah lihat hanya dirujuk kepada hanya beberapa minit yang lalu. 228 00:12:37,970 --> 00:12:43,690 >> Salah satu perkara yang boleh kita lakukan sebagai IDE pemaju, atau sebagai Cloud 9 pemaju, 229 00:12:43,690 --> 00:12:47,410 adalah untuk benar-benar menyuntik panel pilihan kita sendiri. 230 00:12:47,410 --> 00:12:50,660 Jadi mod mudah, atau mod kurang selesa, 231 00:12:50,660 --> 00:12:54,780 dan juga maklumat IDE, atau statistik plug-in, 232 00:12:54,780 --> 00:12:58,560 mempunyai setiap keutamaan beberapa panel yang membolehkan kita untuk mengubah suai 233 00:12:58,560 --> 00:13:00,620 kelakuan setiap daripada mereka. 234 00:13:00,620 --> 00:13:04,140 Anda akan melihat bahawa jika saya pergi ke Keutamaan dan pergi ke Tetapan pengguna, 235 00:13:04,140 --> 00:13:07,100 ada tab CS50, satu yang mengatakan maklumat IDE. 236 00:13:07,100 --> 00:13:09,810 Dan saya boleh menukar maklumat kadar muat semula. 237 00:13:09,810 --> 00:13:12,250 >> Berkesan, apa yang berlaku dalam statistik plug-in 238 00:13:12,250 --> 00:13:16,690 ialah setiap n-saat, di mana n-saat ditakrifkan oleh keutamaan ini 239 00:13:16,690 --> 00:13:22,250 panel, maklumat sedang diambil daripada contoh asas, dihantar 240 00:13:22,250 --> 00:13:25,490 kembali kepada pihak pelanggan, plug-in kemudian 241 00:13:25,490 --> 00:13:28,650 mentafsir maklumat yang daripada contoh yang mendasari 242 00:13:28,650 --> 00:13:31,470 dan mengemaskini GUI seperti yang diperlukan. 243 00:13:31,470 --> 00:13:34,710 Kita dapat melihat bahawa sekarang ini ditetapkan 30 saat, dan itulah lalai. 244 00:13:34,710 --> 00:13:37,950 Tetapi saya pasti boleh mengubah berapa cepat ini berlaku hanya 245 00:13:37,950 --> 00:13:40,520 dengan mengubah nilai ini. 246 00:13:40,520 --> 00:13:44,330 >> Sekarang salah satu perkara yang menarik adalah bahawa panel keutamaan ini, GUI, 247 00:13:44,330 --> 00:13:49,560 adalah benar-benar hanya versi GUI daripada banyak tetapan asas 248 00:13:49,560 --> 00:13:52,220 yang dibentangkan dalam JSON. 249 00:13:52,220 --> 00:13:56,336 Jadi, jika saya pergi, sebagai contoh, di bawah Menu CS50 IDE, atau menu Cloud 9, 250 00:13:56,336 --> 00:13:58,210 bergantung kepada versi yang anda cari pada, 251 00:13:58,210 --> 00:14:00,460 dan pergi ke salah satu settings-- dalam kes ini, 252 00:14:00,460 --> 00:14:03,420 projek settings-- yang tetapan projek dalam kes ini 253 00:14:03,420 --> 00:14:07,740 terpakai kepada semua tetapan untuk satu ruang kerja ini. 254 00:14:07,740 --> 00:14:11,620 Manakala tetapan pengguna memohon kepada semua ruang kerja 255 00:14:11,620 --> 00:14:15,110 bahawa anda mungkin mempunyai dalam akaun anda. 256 00:14:15,110 --> 00:14:18,520 >> Jadi hanya sebagai diketepikan di sini, supaya lebih jelas, 257 00:14:18,520 --> 00:14:22,570 ada pemisahan antara dua kerana walaupun oleh kita lalai 258 00:14:22,570 --> 00:14:26,490 mempunyai satu ruang kerja, yang adalah IDE CS50, jika anda 259 00:14:26,490 --> 00:14:31,900 adalah untuk klik pada kecil anda avatar di sini dan pergi ke papan pemuka, 260 00:14:31,900 --> 00:14:35,820 anda akan mendapati bahawa anda boleh sebenarnya mewujudkan ruang kerja tambahan juga. 261 00:14:35,820 --> 00:14:39,140 Anda boleh lihat di sini bahawa saya mempunyai IDE 50 ruang kerja, dan juga 262 00:14:39,140 --> 00:14:41,930 bagi maksud ini seminar, ruang kerja 263 00:14:41,930 --> 00:14:45,084 dipanggil ruang kerja, yang di sini. 264 00:14:45,084 --> 00:14:46,750 Jadi anyway, Saya mempunyai keutamaan yang berbeza. 265 00:14:46,750 --> 00:14:49,910 Seorang demi mungkin mempunyai keutamaan projek yang berasingan, 266 00:14:49,910 --> 00:14:54,091 tetapi pilihan utama pengguna adalah dikongsi bersama semua ruang kerja saya. 267 00:14:54,091 --> 00:14:55,840 Dengan cara ini, ini adalah juga sangat berguna jika anda 268 00:14:55,840 --> 00:14:59,080 mahu mewujudkan ruang kerja dengan pilihan penyesuaian yang berbeza. 269 00:14:59,080 --> 00:15:01,640 Dan ia sangat berguna untuk mewujudkan ruang kerja yang baru. 270 00:15:01,640 --> 00:15:04,230 Dan memilih salah satu yang mungkin pra-konfigurasi dalam beberapa cara lain, 271 00:15:04,230 --> 00:15:07,000 mungkin untuk PHP secara khusus, atau Django secara khusus. 272 00:15:07,000 --> 00:15:08,960 Atau bahkan hanya adat. 273 00:15:08,960 --> 00:15:11,320 Ruang kerja CS50 Template adalah salah satu yang kita 274 00:15:11,320 --> 00:15:15,420 menggunakan yang secara automatik memasang Update 50 dan semua tetapan 275 00:15:15,420 --> 00:15:20,531 yang kita ada di sana, termasuk semua plug-in yang kita ada untuk IDE CS50. 276 00:15:20,531 --> 00:15:21,030 OKEY. 277 00:15:21,030 --> 00:15:22,200 Tetapi mari kita kembali kepada ini. 278 00:15:22,200 --> 00:15:25,640 Jadi sekali lagi, terdapat projek-projek tetapan, dan mereka adalah orang-orang 279 00:15:25,640 --> 00:15:27,140 yang kita cari di sini. 280 00:15:27,140 --> 00:15:29,056 Dan perhatikan bahawa terdapat adalah sekumpulan tetapan, 281 00:15:29,056 --> 00:15:32,720 ramai di antara mereka sesuai dengan keutamaan panel, tetapi tidak semua daripada mereka. 282 00:15:32,720 --> 00:15:40,800 Tetapi kita dapat melihat bahawa di sini, dalam this-- oh tidak, adakah saya memasukkannya ke dalam tetapan pengguna? 283 00:15:40,800 --> 00:15:43,280 Mungkin saya memasukkannya ke dalam tetapan pengguna. 284 00:15:43,280 --> 00:15:45,480 Dan ini, di sini kita pergi. 285 00:15:45,480 --> 00:15:49,840 Dalam tetapan pengguna, kita boleh melihat bahawa kita mempunyai bahagian CS50, 286 00:15:49,840 --> 00:15:53,762 dan ini sedang ditulis oleh ini Cloud 9 plug-in 287 00:15:53,762 --> 00:15:54,720 yang telah kami sediakan. 288 00:15:54,720 --> 00:15:57,400 Ada satu yang mudah kepada sesuai dengan yang mudah plug-in, 289 00:15:57,400 --> 00:16:00,930 dan statistik satu yang sepadan dengan yang berasaskan GUI 290 00:16:00,930 --> 00:16:02,440 versi panel keutamaan. 291 00:16:02,440 --> 00:16:05,740 Kadar segar semula pada yang demikian kes, bersedia untuk 20 saat. 292 00:16:05,740 --> 00:16:09,740 >> Ini semua, mudah-mudahan, permulaan beberapa maklumat 293 00:16:09,740 --> 00:16:14,420 bahawa kita benar-benar akan lihat dalam sedikit sedikit lebih terperinci, seketika. 294 00:16:14,420 --> 00:16:14,920 OKEY. 295 00:16:14,920 --> 00:16:17,520 Jadi mari kita mengatakan bahawa kita mahu sebenarnya turun kepadanya. 296 00:16:17,520 --> 00:16:20,600 Kami memahami bahawa semua barangan yang yang yang berlaku di sebelah pelanggan 297 00:16:20,600 --> 00:16:24,560 dilakukan sebenarnya pada pelayar, yang bermakna bahawa mana-mana pemalam yang saya tulis 298 00:16:24,560 --> 00:16:27,990 akan ditulis dengan penyemak imbas dalam fikiran. 299 00:16:27,990 --> 00:16:30,830 Dan jika saya benar-benar mahu lakukan apa-apa pada ruang kerja, 300 00:16:30,830 --> 00:16:33,360 Saya mungkin perlu memulakan beberapa jenis komunikasi 301 00:16:33,360 --> 00:16:35,970 antara pelayar dan ruang kerja untuk memastikan 302 00:16:35,970 --> 00:16:38,212 bahawa yang sebenarnya dicapai. 303 00:16:38,212 --> 00:16:40,170 Tetapi mari kita mengatakan bahawa sekarang Saya hendak turun kepadanya 304 00:16:40,170 --> 00:16:43,440 dan benar-benar mewujudkan pertama plug-in saya. 305 00:16:43,440 --> 00:16:48,970 Nah, cara yang anda akan dapat untuk berbuat demikian adalah sebenarnya cukup mudah. 306 00:16:48,970 --> 00:16:51,370 Ia diberikan dalam Cloud 9 SDK. 307 00:16:51,370 --> 00:16:55,520 Tetapi ia mengambil anda nama ruang kerja yang sedia ada, yang 308 00:16:55,520 --> 00:16:59,810 adalah URL yang anda ada di bahagian atas bar anda, dan menambah yang berikut kepadanya. 309 00:16:59,810 --> 00:17:00,310 ? 310 00:17:00,310 --> 00:17:00,893 SDK = 1 & debub = 2. 311 00:17:00,893 --> 00:17:04,369 312 00:17:04,369 --> 00:17:08,260 Sekarang apa ini akan membolehkan adalah yang SDK = 1 benar-benar akan menetapkan SDK 313 00:17:08,260 --> 00:17:11,430 mod kepada benar, yang akan membolehkan beberapa perkara tambahan. 314 00:17:11,430 --> 00:17:15,770 Dan debug = 2 membolehkan mesej ralat untuk menjadi sedikit lebih banyak cakap. 315 00:17:15,770 --> 00:17:20,170 >> Dan jadi jika anda membawa JavaScript Konsol dalam tab pemaju Chrome anda, 316 00:17:20,170 --> 00:17:22,829 anda sebenarnya akan dapat melihat maklumat lebih banyak 317 00:17:22,829 --> 00:17:24,349 daripada apa yang anda akan sebaliknya. 318 00:17:24,349 --> 00:17:28,310 Jadi saya cadangkan menukarkan kedua-dua ini pada masa yang sama, kerana ia benar-benar 319 00:17:28,310 --> 00:17:31,170 adalah berguna untuk mempunyai semua ini informasi tambahan. 320 00:17:31,170 --> 00:17:35,330 Adalah penting untuk ambil perhatian, bagaimanapun, bahawa menghidupkan debug dengan nilai 2 321 00:17:35,330 --> 00:17:38,120 bermaksud bahawa ia adalah sangat banyak cakap, dan ia sebenarnya 322 00:17:38,120 --> 00:17:42,590 akan agak nyata melambatkan IDE anda, terutamanya apabila loading 323 00:17:42,590 --> 00:17:45,657 atau apabila tidak melakukan tugas-tugas berat. 324 00:17:45,657 --> 00:17:46,740 Jadi hanya menyimpan bahawa dalam fikiran. 325 00:17:46,740 --> 00:17:51,500 Ia berguna untuk pembangunan, tetapi anda mungkin tidak mahu mempunyai ia pada setiap masa. 326 00:17:51,500 --> 00:17:53,080 >> Jadi mari kita benar-benar melakukan itu. 327 00:17:53,080 --> 00:17:59,374 Tetapi dalam kes ini, saya benar-benar mempunyai sudah menyediakan ruang kerja dengan ini. 328 00:17:59,374 --> 00:18:00,540 Jadi mari kita lihat, SDK = 1 & debug = 2. 329 00:18:00,540 --> 00:18:03,140 330 00:18:03,140 --> 00:18:07,770 Dengan beberapa plug-in mudah-mudahan telah dipasang. 331 00:18:07,770 --> 00:18:08,340 Baiklah. 332 00:18:08,340 --> 00:18:15,050 Jadi sekarang bahawa saya telah menghidupkan debug SDK mod, notis bahawa kita berada dalam mod debug, 333 00:18:15,050 --> 00:18:20,430 jadi kita boleh melihat alat dev untuk melihat sebarang kesilapan, yang saya akan lakukan rahasia. 334 00:18:20,430 --> 00:18:23,110 Kita dapat melihat bahawa ada sekumpulan kesilapan di sini. 335 00:18:23,110 --> 00:18:28,090 Sekarang ia sebenarnya cukup umum untuk Cloud 9 untuk mempunyai beberapa kesilapan, 336 00:18:28,090 --> 00:18:30,680 dan saya tidak akan bimbang tentang mereka sehingga anda 337 00:18:30,680 --> 00:18:32,930 melihat sesuatu yang mungkin khusus kepada plug-in 338 00:18:32,930 --> 00:18:34,510 yang anda berlaku untuk mencipta. 339 00:18:34,510 --> 00:18:37,620 >> Jadi di sini, sebagai contoh, kita akan mendapat beberapa 404s-- tidak dijumpai. 340 00:18:37,620 --> 00:18:42,910 Kami melihat kami tidak dapat muatkan beberapa maklumat di luar contoh yang mendasari 341 00:18:42,910 --> 00:18:43,670 sendiri. 342 00:18:43,670 --> 00:18:46,545 Dan ada sekumpulan tambahan maklumat, tetapi sebahagian besar daripada ini kami 343 00:18:46,545 --> 00:18:47,970 sebenarnya akan mengabaikan buat masa ini. 344 00:18:47,970 --> 00:18:50,130 Oleh kerana ini adalah cukup sama untuk ruang kerja 345 00:18:50,130 --> 00:18:53,200 untuk mempunyai hanya beberapa kesilapan. 346 00:18:53,200 --> 00:18:53,700 OKEY. 347 00:18:53,700 --> 00:18:56,680 Saya akan bergerak ini daripada jalan dan datang ke sini. 348 00:18:56,680 --> 00:19:01,860 Dan kini cara yang mudah, yang bagus Perkara tentang mempunyai pemaju ini 349 00:19:01,860 --> 00:19:07,330 mod yang aktif adalah bahawa ia membolehkan saya dengan mudah membuat yang baru plug-in. 350 00:19:07,330 --> 00:19:12,390 >> Jadi sedangkan sebelum saya benar-benar tidak mempunyai pilihan plug-in baru ini ada, 351 00:19:12,390 --> 00:19:16,460 mana kita boleh melihat jika saya kembali ke mod pembangun bukan saya di sini, 352 00:19:16,460 --> 00:19:18,510 tidak ada baru plug-in. 353 00:19:18,510 --> 00:19:23,220 Dengan membolehkan mod SDK, saya mempunyai plug-in baru yang tersedia 354 00:19:23,220 --> 00:19:25,660 dan saya boleh membuat satu. 355 00:19:25,660 --> 00:19:28,160 Dalam kes ini, ada pasangan pilihan yang berbeza, mudah, 356 00:19:28,160 --> 00:19:30,850 plag masuk kosong, pemalam sepenuhnya, pemasang, Cloud 9 bundle. 357 00:19:30,850 --> 00:19:33,030 Mari kita memilih kosong plug-in untuk sekarang 358 00:19:33,030 --> 00:19:37,670 supaya kita dapat melihat yang sangat Versi mudah satu. 359 00:19:37,670 --> 00:19:41,520 >> Sekarang perhatikan bahawa di sepanjang sebelah kiri yang ada di sana kini 360 00:19:41,520 --> 00:19:45,080 sesuatu di bawah Kegemaran, yang menyenaraikan beberapa plug-in 361 00:19:45,080 --> 00:19:47,020 yang telah sedia ada kepada saya. 362 00:19:47,020 --> 00:19:50,420 Jika saya berkembang itu, kita akan dapat melihat orang-orang. 363 00:19:50,420 --> 00:19:52,730 Sekarang saya mahu anda untuk notis sesuatu di sini, yang 364 00:19:52,730 --> 00:19:58,260 adalah bahawa ini tidak benar-benar terkandung dalam direktori ruang kerja 365 00:19:58,260 --> 00:20:03,190 pada asas Ubuntu contoh saya, tetapi ia terkandung di dalam cakera keras. 366 00:20:03,190 --> 00:20:06,330 Dan di mana ini terletak, kerana ini adalah sangat berguna untuk mengetahui, 367 00:20:06,330 --> 00:20:09,570 terutamanya jika anda akan melakukan apa-apa dengan Git, 368 00:20:09,570 --> 00:20:16,870 di mana ini terletak adalah dalam folder .c9, / plugin. 369 00:20:16,870 --> 00:20:21,110 Jadi, jika saya pergi ke sana, kita dapat melihat bahawa sekarang senarai plug-in yang di sini 370 00:20:21,110 --> 00:20:26,390 perlawanan senarai plug-in yang saya lihat di bahagian kiri ruang kerja saya. 371 00:20:26,390 --> 00:20:28,610 >> Kini secara lalai dan ini adalah jenis pelik, 372 00:20:28,610 --> 00:20:31,760 secara lalai apabila saya membuat baru plug-in di ruang kerja, 373 00:20:31,760 --> 00:20:36,620 ia mewujudkan plug-in ini dengan lalai mempunyai nama garis bawah. 374 00:20:36,620 --> 00:20:39,760 Secara umumnya yang mungkin menyebabkan beberapa masalah. 375 00:20:39,760 --> 00:20:42,340 Jadi langkah yang akan datang yang saya biasanya melakukan 376 00:20:42,340 --> 00:20:45,880 hanya untuk membuang yang tertentu plug-in 377 00:20:45,880 --> 00:20:52,810 dan meninggalkan hanya plug-in yang mudah bahawa berada di sana pada mulanya, plugin.simple. 378 00:20:52,810 --> 00:20:55,430 Dan itulah satu-satunya yang ada. 379 00:20:55,430 --> 00:20:55,930 OKEY. 380 00:20:55,930 --> 00:20:58,380 >> Jadi apakah ini benar-benar kelihatan seperti? 381 00:20:58,380 --> 00:21:01,210 Nah, ini adalah, sekali lagi, pakej JavaScript 382 00:21:01,210 --> 00:21:05,220 yang termasuk beberapa fail, termasuk fail plugin.js, di mana 383 00:21:05,220 --> 00:21:07,700 kandungan utama plug-in saya terletak, 384 00:21:07,700 --> 00:21:10,590 fail package.json, yang sebenarnya menentukan 385 00:21:10,590 --> 00:21:13,760 beberapa metadata mengenai ini plug-in, seperti yang penulis adalah, 386 00:21:13,760 --> 00:21:19,240 apa-apa maklumat tentang hal itu, yang perihal plug-in, dan sebagainya. 387 00:21:19,240 --> 00:21:22,190 Dan juga secara lalai, ia mencipta fail README kosong, 388 00:21:22,190 --> 00:21:26,100 dan fail ujian kosong untuk anda membuat beberapa dokumentasi tambahan, 389 00:21:26,100 --> 00:21:29,430 dan abah-abah ujian jika anda ingin berbuat demikian. 390 00:21:29,430 --> 00:21:34,160 >> Jadi mari kita lihat yang pertama di, dengan cepat, pada fail package.json itu. 391 00:21:34,160 --> 00:21:38,240 Ia cukup mudah untuk hanya pergi melalui ia dan mengisi dalam bidang ini 392 00:21:38,240 --> 00:21:42,510 yang anda akan mahu untuk mengisi, seperti menyediakan nama, memberi penerangan, 393 00:21:42,510 --> 00:21:45,010 melelar nombor versi sering sekali, menyediakan 394 00:21:45,010 --> 00:21:47,570 seorang pengarang bagi tiap-tiap orang yang menyumbang, 395 00:21:47,570 --> 00:21:53,000 menambah mereka kepada penyumbang seksyen, dan yang lain daripada anda ini 396 00:21:53,000 --> 00:21:56,390 boleh cukup banyak hanya meninggalkan kerana ia adalah untuk sekarang. 397 00:21:56,390 --> 00:21:58,490 >> Ada satu perkara yang penting untuk mengetahui, 398 00:21:58,490 --> 00:22:04,990 bahawa di bawah seksyen plug-in, ada kunci yang dipanggil plug-in. 399 00:22:04,990 --> 00:22:11,800 Dan ini dipadankan dengan nama fail JavaScript yang dipanggil plugin.js. 400 00:22:11,800 --> 00:22:18,290 Jadi ini adalah bagaimana Cloud 9 tahu, apabila ia membaca fail package.json ini, yang 401 00:22:18,290 --> 00:22:20,720 daripada js fail untuk benar-benar memuatkan. 402 00:22:20,720 --> 00:22:25,440 Jika saya membuat fail js tambahan atau mahu untuk menamakan semula fail js dari plug-in, 403 00:22:25,440 --> 00:22:30,380 Saya juga perlu mengubahnya dalam fail package.json itu. 404 00:22:30,380 --> 00:22:33,660 >> Sebarang soalan daripada penonton? 405 00:22:33,660 --> 00:22:34,160 No. 406 00:22:34,160 --> 00:22:38,100 Bahawa seorang yang berikut bersama-sama dengan saya setakat ini. 407 00:22:38,100 --> 00:22:38,760 >> OKEY. 408 00:22:38,760 --> 00:22:42,300 Jadi saya sebenarnya telah mencipta satu beberapa plug-in sudah, 409 00:22:42,300 --> 00:22:44,100 Saya fikir, dalam ruang kerja ini. 410 00:22:44,100 --> 00:22:53,800 Jadi mari kita menghilangkan beberapa ini, tambah SDK = 1 & debug = 2, tambah nilai ruang kerja ini, 411 00:22:53,800 --> 00:22:58,780 dan mari kita lihat jika kita mempunyai orang-orang plug-in sekarang. 412 00:22:58,780 --> 00:23:01,430 C9 / plugin. 413 00:23:01,430 --> 00:23:01,930 Di sini kita pergi. 414 00:23:01,930 --> 00:23:06,910 Kita boleh lihat sekarang di C9 / plugin saya ini satu, kita mempunyai plugin.1 dan plugin.2. 415 00:23:06,910 --> 00:23:15,260 Jadi, kita akan hanya meningkatkan the-- hanya meningkatkan jumlah kesukaran 416 00:23:15,260 --> 00:23:16,660 dalam ketiga-plug-in. 417 00:23:16,660 --> 00:23:20,140 Tetapi di sini jika saya membuat plug-in baru, Saya boleh menambah ke kegemaran saya. 418 00:23:20,140 --> 00:23:25,560 Dan saya hanya akan memadam mereka dari sistem fail asas. 419 00:23:25,560 --> 00:23:28,050 >> Mari kita keluarkan itu. 420 00:23:28,050 --> 00:23:33,206 Sekarang jika saya membuka pertama saya plug-in, dan plugin.js terbuka, 421 00:23:33,206 --> 00:23:39,980 kita boleh lihat di sini yang mendasari versi mudah plug-in. 422 00:23:39,980 --> 00:23:42,170 Biar saya sebenarnya kembali untuk ruang kerja lain ini 423 00:23:42,170 --> 00:23:47,160 kerana anda boleh sekurang-kurangnya, di sini melihat, apa yang pemalam kosong sebenarnya kelihatan seperti. 424 00:23:47,160 --> 00:23:51,810 Jadi di bawah hood, ini kelihatan hampir sama dengan teknologi yang dipanggil, 425 00:23:51,810 --> 00:23:53,780 Saya fikir, ia RequireJS. 426 00:23:53,780 --> 00:23:56,000 Perhatikan bahawa ini tidak benar-benar kelihatan, mungkin, 427 00:23:56,000 --> 00:23:59,150 yang sama seperti beberapa JavaScript lain fail yang kita boleh lihat. 428 00:23:59,150 --> 00:24:04,250 Tetapi sebaliknya, ada beberapa sahaja garis asas bahawa ia sebenarnya mempunyai. 429 00:24:04,250 --> 00:24:06,900 >> Semua barangan ini adalah pertama ditafsirkan oleh IDE, 430 00:24:06,900 --> 00:24:09,940 tetapi ia tidak benar-benar berjalan sehingga dinyatakan. 431 00:24:09,940 --> 00:24:13,610 Dan saya akan memberitahu anda tentang apabila itu sebenarnya bermaksud dalam hanya seketika. 432 00:24:13,610 --> 00:24:17,840 Tetapi perhatikan bahawa di sini ada garis main.consumes selaras 2, 433 00:24:17,840 --> 00:24:23,270 dan ini menyenaraikan semua plug-in yang pemalam ini adalah bergantung kepada. 434 00:24:23,270 --> 00:24:27,150 Jadi secara lalai, kita mungkin tidak mempunyai sebarang kebergantungan pada plug-in, 435 00:24:27,150 --> 00:24:30,530 tetapi apabila kita benar-benar perlu bergantung kepada ciri-ciri yang dibekalkan 436 00:24:30,530 --> 00:24:34,900 oleh yang lain plug-in dalam IDE, kita perlu senarai pemalam 437 00:24:34,900 --> 00:24:36,890 selaras main.consumes itu. 438 00:24:36,890 --> 00:24:39,230 Dan kemudian kita perlu menghubungkan mereka kepada kod 439 00:24:39,230 --> 00:24:42,860 di bawah, yang saya akan menunjukkan kepada anda hanya dalam sejenak tentang bagaimana kita boleh berbuat demikian. 440 00:24:42,860 --> 00:24:46,100 >> Main.provides memberikan menamakan ini plug-in 441 00:24:46,100 --> 00:24:49,190 yang lain plug-in boleh menggunakan selaras consumes mereka. 442 00:24:49,190 --> 00:24:52,480 Jadi dalam kes ini, saya plug-in hanya menetapkan di sana secara lalai, 443 00:24:52,480 --> 00:24:55,820 dan kita harus menukar bahawa untuk menjadi terpakai kepada plug-dalam kita sendiri, 444 00:24:55,820 --> 00:24:57,540 seperti yang kita akan lihat dalam masa adil. 445 00:24:57,540 --> 00:25:01,230 Sekarang di sini dalam fungsi utama, ini fungsi utama 446 00:25:01,230 --> 00:25:05,630 sebenarnya berlari dan ditafsirkan, tetapi itu tidak benar-benar melakukan sangat banyak. 447 00:25:05,630 --> 00:25:08,970 Ia hanya mendapat segala-galanya disediakan, tetapi ia sebenarnya tidak memulakan plug-in, 448 00:25:08,970 --> 00:25:11,220 walaupun apa nama yang kedengaran seperti. 449 00:25:11,220 --> 00:25:14,690 Yang benar-benar berlaku melalui urutan kaedah yang 450 00:25:14,690 --> 00:25:16,820 terkandung di pemalam ini. 451 00:25:16,820 --> 00:25:20,830 >> Jadi, jika saya tatal ke bawah, kita dapat melihat bahawa kita mempunyai kitaran hidup di mana 452 00:25:20,830 --> 00:25:25,100 pada beberapa beban acara yang dipanggil, atau peristiwa beberapa dipanggil memunggah, 453 00:25:25,100 --> 00:25:26,940 beberapa peristiwa sebenarnya berlaku. 454 00:25:26,940 --> 00:25:33,500 Ia benar-benar di sini di mana sebagai plug-in bermula bahawa orang-kaedah yang dipanggil. 455 00:25:33,500 --> 00:25:37,240 Jadi mari kita menjadi sedikit lebih konkrit mengenai ini dan melihat contoh. 456 00:25:37,240 --> 00:25:41,010 Jadi di sini untuk plugin.1, apa kita pada dasarnya akan melakukan 457 00:25:41,010 --> 00:25:46,010 adalah untuk mewujudkan satu item menu dipanggil CS50 Seminar Dialog 1-- 458 00:25:46,010 --> 00:25:48,070 kerana kita mempunyai dua daripada mereka, kelak dan kita akan 459 00:25:48,070 --> 00:25:50,300 untuk menyuntik ke dalam menu Window. 460 00:25:50,300 --> 00:25:54,590 Dan apabila kita klik padanya, kami akan membuka dialog yang 461 00:25:54,590 --> 00:25:56,290 menunjukkan kepada kita beberapa maklumat yang sangat asas. 462 00:25:56,290 --> 00:25:58,050 >> Dalam kes ini, hanya dunia hello. 463 00:25:58,050 --> 00:26:01,880 Jadi ini adalah satu yang sangat mudah hello dialog dunia 464 00:26:01,880 --> 00:26:05,260 bahawa kita boleh melaksanakan sebagai plug-in di Cloud 9. 465 00:26:05,260 --> 00:26:07,960 Jadi mari kita lihat bagaimana ini sebenarnya kelihatan. 466 00:26:07,960 --> 00:26:12,730 Kami akan melangkah melaluinya, hanya agak cepat jadi kami 467 00:26:12,730 --> 00:26:15,580 boleh melihat plug-in yang akan datang juga. 468 00:26:15,580 --> 00:26:19,510 Perhatikan bahawa di sini kita memakan pelbagai plug-in. 469 00:26:19,510 --> 00:26:26,080 Kami memakan dialog plug-in, arahan, menu, dan UI. 470 00:26:26,080 --> 00:26:30,440 Nampaknya saya sebenarnya sedang mengambil dialog dua kali, jadi saya boleh membuang itu. 471 00:26:30,440 --> 00:26:32,560 >> Dan perhatikan bahawa cara bahawa saya menghubungkan mereka, 472 00:26:32,560 --> 00:26:37,940 ini adalah jenis metadata yang yang memberitahu sistem plug-in apa keperluan 473 00:26:37,940 --> 00:26:41,480 sebenarnya perlu untuk ini plug-in untuk memuatkan. 474 00:26:41,480 --> 00:26:46,400 Ia juga penting untuk ambil perhatian bahawa perintah itu bahawa plug-in yang dimuatkan 475 00:26:46,400 --> 00:26:48,300 tidak dijamin. 476 00:26:48,300 --> 00:26:53,400 Tetapi apa yang paling adalah bahawa jika saya menentukan beberapa plug-in sebagai satu keperluan, 477 00:26:53,400 --> 00:26:56,900 yang plug-in akan dimuatkan sebelum satu ini dimuatkan. 478 00:26:56,900 --> 00:27:00,390 >> Ini bermakna bahawa jika plug-in anda memerlukan pada beberapa fungsi yang disediakan 479 00:27:00,390 --> 00:27:04,380 oleh sesuatu yang lain dalam IDE, anda harus pastikan bahawa consumes plug-in anda 480 00:27:04,380 --> 00:27:09,260 yang plug-in supaya kebergantungan pasti untuk membuat plug-in anda, 481 00:27:09,260 --> 00:27:15,010 atau instantiate plug-in anda, hanya selepas rangka kerja yang sedia ada wujud. 482 00:27:15,010 --> 00:27:18,870 Jadi di sini saya telah menyebut metadata kepada pengurus plug-in, 483 00:27:18,870 --> 00:27:20,990 yang mana saya akan makan. 484 00:27:20,990 --> 00:27:24,910 Dan dalam fungsi utama di sini, Saya akan kemudian sambung 485 00:27:24,910 --> 00:27:30,240 kod saya kepada orang-orang yang diimport plug-in. 486 00:27:30,240 --> 00:27:33,420 >> Jadi, saya hanya akan membuat beberapa pembolehubah yang 487 00:27:33,420 --> 00:27:36,620 sesuai dengan nama-nama setiap orang-orang supaya bahawa saya dengan cepat boleh rujukan mereka 488 00:27:36,620 --> 00:27:37,840 seluruh kod saya. 489 00:27:37,840 --> 00:27:41,840 Sebab saya mengimport dialog adalah kerana saya ingin plug-in saya 490 00:27:41,840 --> 00:27:44,560 untuk bertindak sebagai dialog plug-in. 491 00:27:44,560 --> 00:27:49,320 Dan cara yang saya dapat untuk berbuat demikian adalah untuk, sudah tentu, 492 00:27:49,320 --> 00:27:52,740 menyambung kod saya kepada dialog plug-in dengan mengimport ia 493 00:27:52,740 --> 00:27:57,210 dan kemudian dengan menyatakan oleh mewujudkan dialog pembolehubah baru 494 00:27:57,210 --> 00:28:00,460 dan menyambungkannya ke yang diimport plug-in. 495 00:28:00,460 --> 00:28:04,820 Dan kemudian dengan menentukan saya plug-in sebagai dialog baru. 496 00:28:04,820 --> 00:28:07,650 >> Jadi dalam pengawalan, saya hendak menentukan plug-in saya. 497 00:28:07,650 --> 00:28:10,440 Dan berubah-ubah ini dipanggil plug-in anda akan melihat 498 00:28:10,440 --> 00:28:14,030 hanya digunakan biasanya sepanjang Cloud 9 plug-in. 499 00:28:14,030 --> 00:28:16,980 Saya akan memberi contoh yang baru dialog dengan beberapa ciri-ciri, 500 00:28:16,980 --> 00:28:22,300 memberikan nama tertentu, mengatakan bahawa ia adalah mungkin untuk pengguna untuk menutupnya. 501 00:28:22,300 --> 00:28:24,960 Bahawa ia akan menunjukkan x sedikit dalam sudut kanan atas, 502 00:28:24,960 --> 00:28:27,529 atau butang kecil di sebelah kanan yang lebih rendah. 503 00:28:27,529 --> 00:28:30,570 Sama ada atau tidak saya boleh memilih teks daripada dan apa tajuk dialog yang 504 00:28:30,570 --> 00:28:32,400 akan, dan sebagainya. 505 00:28:32,400 --> 00:28:36,330 Sekarang ini hanya mentakrifkan dialog itu, tetapi ia tidak lagi menunjukkan ia. 506 00:28:36,330 --> 00:28:40,780 Saya benar-benar perlu untuk mentakrifkan tindakan kerana ia akan ditunjukkan. 507 00:28:40,780 --> 00:28:43,490 >> Dan sekali lagi, saya menggalakkan anda untuk kita lihat di Cloud 9 SDK, 508 00:28:43,490 --> 00:28:46,930 kerana terdapat pelbagai dialog dan mereka benar-benar didokumentasikan dengan baik. 509 00:28:46,930 --> 00:28:50,500 Anda boleh melihat jenis yang berbeza bahawa terdapat, dan menggunakannya 510 00:28:50,500 --> 00:28:55,380 dalam apa jua plug-in yang ada dalam fikiran. 511 00:28:55,380 --> 00:28:58,790 Sekarang ada akan menjadi seksyen beban, dan beban ini 512 00:28:58,790 --> 00:29:03,390 fungsi seperti yang anda ingat adalah digunakan oleh kitaran hayat plug-in 513 00:29:03,390 --> 00:29:07,060 untuk benar-benar instantiate segala-galanya dan mendapatkan semua yang bersedia untuk pergi. 514 00:29:07,060 --> 00:29:11,440 Maka apabila ini banyak plug-in, saya tidak mahu ia segera dipaparkan dialog, 515 00:29:11,440 --> 00:29:14,160 kerana pemalam ini akan memuatkan bersama-sama dengan seluruh IDE. 516 00:29:14,160 --> 00:29:17,850 Dan apabila saya memuatkan IDE itu, saya tidak mahu dialog untuk menunjukkan secara automatik. 517 00:29:17,850 --> 00:29:24,170 Saya hanya mahu untuk menunjukkan apabila saya klik pada pilihan menu dalam item menu Window saya 518 00:29:24,170 --> 00:29:26,760 bahawa saya akan menambah kepadanya seketika. 519 00:29:26,760 --> 00:29:29,480 >> Jadi ada dua langkah berbeza di sini yang perlu berlaku. 520 00:29:29,480 --> 00:29:32,640 Saya perlu membuat perintah dan arahan 521 00:29:32,640 --> 00:29:37,940 akan bertanggungjawab untuk benar-benar menunjukkan dialog mengenai Cloud 9 IDE. 522 00:29:37,940 --> 00:29:42,670 Dan kemudian saya perlu menyambung, saya perlu membuat menu tetingkap baru 523 00:29:42,670 --> 00:29:46,070 perkara, yang berjalan perintah itu. 524 00:29:46,070 --> 00:29:49,740 Supaya apabila saya klik pada tetingkap yang item menu, perintah yang kemudian run 525 00:29:49,740 --> 00:29:52,290 dan oleh itu dialog saya kemudiannya ditunjukkan. 526 00:29:52,290 --> 00:29:55,690 Dan sebagainya ini sebenarnya yang cukup cara yang baik untuk berfikir mengenainya. 527 00:29:55,690 --> 00:30:01,480 >> Kerana pertama saya boleh membuat perintah yang namanya CS50 Seminar Dialog 1, 528 00:30:01,480 --> 00:30:04,860 yang menyediakan beberapa konteks umum untuk itu. 529 00:30:04,860 --> 00:30:08,930 Dan sedikit yang penting di sini adalah untuk notis sifat EXEC, yang 530 00:30:08,930 --> 00:30:15,160 menyenaraikan fungsi yang akan dipanggil dalam pemalam saya apabila arahan ini dijalankan. 531 00:30:15,160 --> 00:30:21,980 Jadi arahan ini adalah jenis seperti a-- ia hanya sewenang-wenangnya Cloud 9 532 00:30:21,980 --> 00:30:25,780 arahan yang boleh didapati kepada mana-mana Cloud 9 plug-in. 533 00:30:25,780 --> 00:30:30,290 Tetapi fungsi sebenar bahawa itu akan memanggil apabila arahan ini dijalankan 534 00:30:30,290 --> 00:30:35,010 adalah fungsi persembahan dialog dalam fail plugin.js saya. 535 00:30:35,010 --> 00:30:38,550 >> Dan kita sebenarnya boleh melihat plugin ini dan senarai 536 00:30:38,550 --> 00:30:45,480 arahan yang disediakan untuk kami dalam Keutamaan, tatal sepanjang jalan down-- 537 00:30:45,480 --> 00:30:48,180 mari kita lihat, sebenarnya yang kita lihat ini sekarang? 538 00:30:48,180 --> 00:30:53,180 Plug-in pengurus, tidak, saya fikir saya-- ia pasti di sekitar sini suatu tempat. 539 00:30:53,180 --> 00:31:00,016 Nah, ada senarai arahan di suatu tempat, tetapi saya mesti mempunyai, 540 00:31:00,016 --> 00:31:01,140 Saya terlupa di mana ia. 541 00:31:01,140 --> 00:31:02,430 Jadi OK, kami akan bergerak ke atas. 542 00:31:02,430 --> 00:31:02,930 Baiklah. 543 00:31:02,930 --> 00:31:05,790 Oleh itu, kita mempunyai senarai arahan yang ada pada kita, 544 00:31:05,790 --> 00:31:08,550 dan mereka arahan adalah ini hanya sewenang-wenangnya Cloud 9 545 00:31:08,550 --> 00:31:10,870 arahan yang menjalankan kod tertentu. 546 00:31:10,870 --> 00:31:13,620 Jadi hanya menyimpan bahawa dalam fikiran, yang kita akan menjalankan dialog persembahan 547 00:31:13,620 --> 00:31:15,640 berfungsi seketika. 548 00:31:15,640 --> 00:31:19,740 Sekarang apabila saya benar-benar mahu untuk menambah menu perkara, saya boleh menambah item dengan jalan, 549 00:31:19,740 --> 00:31:25,570 dan hanya menyatakan dengan tepat di mana saya mahu ia menjadi, Window / CS50 Seminar Dialog 1. 550 00:31:25,570 --> 00:31:28,380 Dan pada ketika itu, saya ingin untuk membuat item baru yang 551 00:31:28,380 --> 00:31:32,040 akan menjalankan perintah, CS50 Seminar Dialog 1. 552 00:31:32,040 --> 00:31:36,140 Perhatikan bahawa sekali lagi, ini adalah Cloud 9 arahan saya telah membuat di atas. 553 00:31:36,140 --> 00:31:38,630 >> Sekarang saya juga ingin mewujudkan pembahagi sedikit, 554 00:31:38,630 --> 00:31:42,260 dan saya boleh melakukan perkara yang sama di baris berikutnya. 555 00:31:42,260 --> 00:31:46,040 Sekarang anda mungkin melihat bahawa sebagai sebahagian daripada menentukan item menu ini, 556 00:31:46,040 --> 00:31:48,200 ada sebilangan yang berkaitan dengannya yang 557 00:31:48,200 --> 00:31:51,260 sebenarnya mengatakan di mana sebenarnya Saya mahu bahawa item menu untuk menjadi 558 00:31:51,260 --> 00:31:53,441 terletak dalam senarai menu. 559 00:31:53,441 --> 00:31:55,190 Tetapi anda mungkin notis bahawa saya tidak benar-benar 560 00:31:55,190 --> 00:31:59,540 melihat apa-apa nombor dengan menu ini, secara lalai. 561 00:31:59,540 --> 00:32:04,630 Jadi ada satu perkara yang tersembunyi kecil yang boleh kita lakukan, perubahan sedikit ke URL kami. 562 00:32:04,630 --> 00:32:12,920 Jadi sebagai tambahan kepada SDK = 1 & debug = 2, Saya akan menetapkan menu untuk 1-- 563 00:32:12,920 --> 00:32:14,690 dan mudah-mudahan ia menu, tidak menu. 564 00:32:14,690 --> 00:32:17,001 Oh, itu menu = 1. 565 00:32:17,001 --> 00:32:17,500 Berpegang. 566 00:32:17,500 --> 00:32:20,150 567 00:32:20,150 --> 00:32:24,690 >> Dan apa yang kita akan dapat melihat apabila tambah nilai yang IDE adalah bahawa saya masih dalam mod debug, 568 00:32:24,690 --> 00:32:27,540 tetapi kini terdapat nombor dikaitkan dengan semua menu. 569 00:32:27,540 --> 00:32:29,630 Dan ini memberitahu anda apa jumlah 570 00:32:29,630 --> 00:32:34,730 adalah apabila anda cuba untuk menyuntik sesuatu yang mana-mana sahaja dalam sistem menu ini. 571 00:32:34,730 --> 00:32:40,365 Jadi, dalam menu Window, saya boleh melihat bahawa item 45 adalah bekerjasama, 572 00:32:40,365 --> 00:32:43,820 dan item 38 sebelum ia pemasang. 573 00:32:43,820 --> 00:32:47,530 Jadi, apabila saya mahu menyuntik item di antara itu; 574 00:32:47,530 --> 00:32:50,570 Saya hanya akan memilih sebilangan antara kedua-dua item. 575 00:32:50,570 --> 00:32:56,200 Lalu aku mengambil 41 dan dimasukkan Seminar saya Dialog item 1 menu di lokasi tersebut. 576 00:32:56,200 --> 00:33:03,640 >> Dan itulah sebabnya nombor ini yang muncul di sini adalah nombor 41. 577 00:33:03,640 --> 00:33:08,010 Itulah lokasi yang perkara menu di dalam menu Cloud 9. 578 00:33:08,010 --> 00:33:11,045 Sekarang juga, saya mahu untuk mewujudkan pembahagi 579 00:33:11,045 --> 00:33:13,920 dan menambah supaya ada adalah baik yang bahagian antara setiap menu ini 580 00:33:13,920 --> 00:33:14,490 item. 581 00:33:14,490 --> 00:33:18,600 Jadi, saya berkata pada lokasi 43. 582 00:33:18,600 --> 00:33:20,260 Setakat ini, begitu baik, saya berharap? 583 00:33:20,260 --> 00:33:23,920 Jadi sekarang mari kita sebenarnya melihat kod tertentu dalam dialog persembahan 584 00:33:23,920 --> 00:33:28,050 itulah sebenarnya bertanggungjawab untuk membuka tetingkap dialog ini. 585 00:33:28,050 --> 00:33:32,710 >> Menatal ke bawah, saya melihat bahawa saya mahu untuk mempunyai ini dialog menunjukkan fungsi, 586 00:33:32,710 --> 00:33:34,730 dan ia adalah amat mudah. 587 00:33:34,730 --> 00:33:38,570 Saya akan menganjurkan program itu kaedah ke atas pembolehubah plug-in. 588 00:33:38,570 --> 00:33:43,900 Dan ingat bahawa kita ditakrifkan ini plug-dalam pembolehubah di atas sebagai dialog. 589 00:33:43,900 --> 00:33:48,530 Jadi bar plug-in, dalam kes ini, adakah ini objek yang kita telah ditakrifkan secara dalaman. 590 00:33:48,530 --> 00:33:53,030 Dan ia akan menjadi dialog baru yang terkandung dalam ini plug-in. 591 00:33:53,030 --> 00:33:57,020 Dan supaya kita benar-benar dirujuk ini plug-dalam pembolehubah di banyak tempat 592 00:33:57,020 --> 00:33:59,790 dalam biasa Cloud 9 persekitaran pembangunan. 593 00:33:59,790 --> 00:34:00,867 >> Kita lihat di sini. 594 00:34:00,867 --> 00:34:03,450 Perhatikan bahawa seperti yang kita tatal ke bawah, ada kitaran hidup tambahan. 595 00:34:03,450 --> 00:34:06,970 Jadi notis yang bertindak balas ini untuk peristiwa-peristiwa yang dipecat 596 00:34:06,970 --> 00:34:10,500 oleh objek ini, objek dialog ini. 597 00:34:10,500 --> 00:34:12,710 Secara lalai, ada memuatkan dan memunggah, yang 598 00:34:12,710 --> 00:34:14,760 disediakan untuk semua Cloud 9 plug-in. 599 00:34:14,760 --> 00:34:17,139 Tetapi sekiranya berlaku dialog ini, ada 600 00:34:17,139 --> 00:34:19,139 acara lain yang boleh kebakaran serta dipanggil 601 00:34:19,139 --> 00:34:23,239 Menarik, yang dipecat apabila yang hampir akan dilukis pada skrin, 602 00:34:23,239 --> 00:34:27,239 pada mulanya dialog yang menunjukkan. 603 00:34:27,239 --> 00:34:29,590 >> Oleh itu, apabila ia sebenarnya akan dipaparkan, 604 00:34:29,590 --> 00:34:31,739 ada akan berikan kepada kami beberapa HTML. 605 00:34:31,739 --> 00:34:34,710 Dan dengan hanya menggunakan standard Amalan HTML boleh kita 606 00:34:34,710 --> 00:34:41,030 menyuntik beberapa maklumat yang sangat mudah, dunia hello kami, dalam dialog itu. 607 00:34:41,030 --> 00:34:47,780 Jadi, jika kita kemudian tatal ke atas, kita boleh melihat maka perarakan perkara 608 00:34:47,780 --> 00:34:48,989 bahawa ia berlaku. 609 00:34:48,989 --> 00:34:54,070 Mula-mula kita mewujudkan satu arahan Cloud 9 yang apabila dilaksanakan oleh Cloud 9, 610 00:34:54,070 --> 00:34:55,765 akan api fungsi ini. 611 00:34:55,765 --> 00:34:58,390 Ia akan menjalankan fungsi ini dipanggil rancangan dialog, bahawa saya telah 612 00:34:58,390 --> 00:34:59,720 ditulis dalam kod saya. 613 00:34:59,720 --> 00:35:04,350 >> Saya telah mencipta item menu dan melekat padanya perintah yang sama 614 00:35:04,350 --> 00:35:08,550 bahawa apabila item yang diklik dalam menu, ini perintah kemudiannya menjalankan 615 00:35:08,550 --> 00:35:10,780 dan fungsi yang kemudian berjalan. 616 00:35:10,780 --> 00:35:14,080 Dan di dalam majlis itu saya hanya akan memanggil the-- Saya 617 00:35:14,080 --> 00:35:17,250 hanya akan melaksanakan rancangan tersebut kaedah plug-in ini, yang 618 00:35:17,250 --> 00:35:20,800 akan panggilan pertama kaedah cabutan, dan pergi 619 00:35:20,800 --> 00:35:28,050 api kaedah ini ke bawah di bawah, menarik pengendali peristiwa, dalam kitaran hidup kita. 620 00:35:28,050 --> 00:35:30,820 Dan kemudian ia akan benar-benar menunjukkan dialog. 621 00:35:30,820 --> 00:35:34,870 >> Terdapat juga kaedah menyembunyikan, supaya jika saya memerlukan peluang untuk menyembunyikan 622 00:35:34,870 --> 00:35:37,610 dialog saya, saya boleh melakukan perkara yang sama. 623 00:35:37,610 --> 00:35:42,060 Jadi, itu cukup banyak ia untuk mendapatkan semua ini untuk bekerja. 624 00:35:42,060 --> 00:35:45,160 Perhatikan itulah jika kita tatal ke bawah lagi ada API awam pembekuan. 625 00:35:45,160 --> 00:35:51,020 Ini pada dasarnya hanya berkata bahawa saya mahu kaedah ini dengan berkesan 626 00:35:51,020 --> 00:35:56,670 didedahkan, tetapi tidak overwriteable di luar konteks ini plug-in. 627 00:35:56,670 --> 00:36:00,410 Dan di bawah, di bahagian paling bawah, mungkin perkara terakhir 628 00:36:00,410 --> 00:36:03,180 yang kita benar-benar perlu membayar banyak perhatian kepada di sini, yang 629 00:36:03,180 --> 00:36:09,540 adalah bahawa kita akan mendaftar kami plug-masuk dengan nama C9 Seminar 1, 630 00:36:09,540 --> 00:36:11,920 dan objek plug-in. 631 00:36:11,920 --> 00:36:14,870 >> Yang seperti yang anda akan ingat, adalah plug-in yang plug-in yang 632 00:36:14,870 --> 00:36:18,200 objek yang kita telah menentukan sepanjang keseluruhan daripada sumber ini 633 00:36:18,200 --> 00:36:18,840 kod. 634 00:36:18,840 --> 00:36:23,790 Dan C9 Seminar 1 adalah tali yang kita janjikan 635 00:36:23,790 --> 00:36:26,350 untuk menyediakan di bahagian atas definisi di atas. 636 00:36:26,350 --> 00:36:29,280 637 00:36:29,280 --> 00:36:29,780 OKEY. 638 00:36:29,780 --> 00:36:34,160 Jadi mari kita meningkatkan ia sehingga sedikit dan lihat jika kita boleh melakukan sesuatu 639 00:36:34,160 --> 00:36:36,020 sedikit lebih menarik. 640 00:36:36,020 --> 00:36:38,350 Sekarang ini hanya begitu besar. 641 00:36:38,350 --> 00:36:41,380 Maksud saya, ini adalah, ia sebenarnya cukup menyejukkan bahawa daripada beberapa baris kod, 642 00:36:41,380 --> 00:36:45,570 kita boleh mengubah suai IDE yang sedia ada dan menambah item menu yang sedia ada 643 00:36:45,570 --> 00:36:48,850 atau menambah item menu baru, menambah perintah, dan menunjukkan dialog, 644 00:36:48,850 --> 00:36:51,040 dan hanya sekumpulan fungsi yang wujud. 645 00:36:51,040 --> 00:36:54,550 Ia benar-benar cukup hebat. 646 00:36:54,550 --> 00:36:59,470 >> Tetapi ia tidak berbuat banyak kerana ia tidak boleh berkomunikasi dengan Ubuntu asas 647 00:36:59,470 --> 00:37:00,450 misalnya. 648 00:37:00,450 --> 00:37:02,560 Jadi katakan bahawa saya sebenarnya ingin mengetahui 649 00:37:02,560 --> 00:37:05,400 beberapa maklumat mengenai asas Ubuntu contoh, 650 00:37:05,400 --> 00:37:08,260 seperti statistik plug-in tidak. 651 00:37:08,260 --> 00:37:11,090 Jadi mari kita lihat pada sedikit maklumat lanjut 652 00:37:11,090 --> 00:37:13,730 tentang bagaimana statistik plug-dalam kerja-kerja. 653 00:37:13,730 --> 00:37:15,900 Dan sebenarnya, ia adalah hampir sama dengan ini. 654 00:37:15,900 --> 00:37:17,680 Anda mungkin masih ingat bahawa ada dialog. 655 00:37:17,680 --> 00:37:21,680 Anda mungkin ingat bahawa ada beberapa maklumat itu 656 00:37:21,680 --> 00:37:24,860 ditunjukkan hanya di sepanjang bar menu di sepanjang bahagian atas, yang mudah-mudahan anda kini berada 657 00:37:24,860 --> 00:37:27,450 mendapatkan rasa bagaimana kami melaksanakan ini, 658 00:37:27,450 --> 00:37:32,360 hanya dengan memasukkan perkara menu di tertentu mata dan oleh instantiating dialog 659 00:37:32,360 --> 00:37:34,360 dan memaparkan dialog itu. 660 00:37:34,360 --> 00:37:36,580 >> Tetapi kita belum lagi ditunjukkan anda bagaimana kita boleh menyambung 661 00:37:36,580 --> 00:37:40,790 kepada satu arahan dalam asas Ubuntu misalnya. 662 00:37:40,790 --> 00:37:46,930 Jadi mari kita lihat kemudian pada plugin.2, yang melakukan dengan tepat perkara ini. 663 00:37:46,930 --> 00:37:50,540 Kami akan membuka plugin.js, yang merupakan kod untuk ini. 664 00:37:50,540 --> 00:37:54,570 Tetapi di bawah menu Window, jika saya klik pada dialog 2, 665 00:37:54,570 --> 00:37:58,290 kita dapat melihat bahawa ia mengatakan ini sebaliknya, hello CS50, yang 666 00:37:58,290 --> 00:38:01,800 tidak kelihatan semua menarik, bukan? 667 00:38:01,800 --> 00:38:04,310 Kecuali, menonton ini. 668 00:38:04,310 --> 00:38:07,020 Biar saya mengubah sesuatu di sini. 669 00:38:07,020 --> 00:38:11,540 >> Saya akan pergi ke saya ruang kerja dan perubahan seminar 670 00:38:11,540 --> 00:38:15,990 untuk mengatakan sesuatu yang lain, seperti Hello, Dan. 671 00:38:15,990 --> 00:38:18,150 Saya akan menutupnya dan menyimpannya. 672 00:38:18,150 --> 00:38:22,740 Dan sekarang saya akan dikendalikan semula item menu dialog saya. 673 00:38:22,740 --> 00:38:25,590 Dan perhatikan bahawa ia mempunyai kini berubah apa yang dikatakannya. 674 00:38:25,590 --> 00:38:26,880 Hello, Dan. 675 00:38:26,880 --> 00:38:30,680 Saya seolah-olah telah melakukan sesuatu ke bawah di sini di Ubuntu contoh yang mendasari 676 00:38:30,680 --> 00:38:34,370 tanpa apa-apa dimanipulasi kod yang lagi sedang berjalan semata-mata 677 00:38:34,370 --> 00:38:35,720 di sebelah pelanggan. 678 00:38:35,720 --> 00:38:40,380 Jadi ada jelas beberapa jenis komunikasi yang yang berlaku di sini. 679 00:38:40,380 --> 00:38:44,550 >> Sekarang ini adalah di mana banyak daripada kuasa Cloud 9 SDK masuk, 680 00:38:44,550 --> 00:38:49,440 adalah bahawa dalam plugin.2 ini, kita sebenarnya boleh menyebabkan 681 00:38:49,440 --> 00:38:52,910 panggilan untuk berlaku kepada contoh asas, 682 00:38:52,910 --> 00:38:55,750 dan menjalankan beberapa arahan sewenang-wenangnya. 683 00:38:55,750 --> 00:39:00,230 Jadi dalam kes ini, saya telah benar-benar mencipta skrip bash sangat mudah 684 00:39:00,230 --> 00:39:02,350 dalam ruang kerja saya dipanggil Seminar. 685 00:39:02,350 --> 00:39:03,610 Jadi biarlah saya membuka bahawa sehingga. 686 00:39:03,610 --> 00:39:05,370 Dan kita boleh melihat bahawa ia kelihatan seperti ini. 687 00:39:05,370 --> 00:39:08,310 Ia hanya satu sambutan yang sangat mudah skrip yang tujuan utamanya dalam hidup 688 00:39:08,310 --> 00:39:11,920 akan menjadi echo daripada teks ini, Hello, Dan. 689 00:39:11,920 --> 00:39:14,360 Atau di hadapannya, katanya Hello, CS50. 690 00:39:14,360 --> 00:39:16,000 Dan itu semua ia akan lakukan. 691 00:39:16,000 --> 00:39:21,030 >> Kerana ini kini merupakan perintah bahawa saya boleh berjalan. 692 00:39:21,030 --> 00:39:23,750 Saya benar-benar boleh menjalankan ia di sini. 693 00:39:23,750 --> 00:39:28,440 Kita dapat melihat bahawa ia sebenarnya hanya arahan yang saya jalankan secara semula jadi. 694 00:39:28,440 --> 00:39:32,850 Saya boleh meminta plug-in saya untuk melaksanakan ini arahan pada ruang kerja yang mendasari 695 00:39:32,850 --> 00:39:36,510 dan menghuraikan maklumat yang yang telah kembali daripadanya, 696 00:39:36,510 --> 00:39:40,300 dan melakukan sesuatu dengan itu, dan mengubah suai saya plug-in dan tingkah laku yang saya 697 00:39:40,300 --> 00:39:43,240 ada dalam plug-in saya sebagai hasilnya. OKEY. 698 00:39:43,240 --> 00:39:45,450 Jadi mari kita lihat bagaimana ini berlaku. 699 00:39:45,450 --> 00:39:48,380 Kami melihat ini sangat mudah Seminar skrip kelompok yang saya 700 00:39:48,380 --> 00:39:51,080 [Didengar] bahawa ia sebenarnya boleh berjalan. 701 00:39:51,080 --> 00:39:54,560 >> Dan sekarang mari kita lihat pengubahsuaian yang diperlukan untuk mengikat ini bersama-sama 702 00:39:54,560 --> 00:39:57,620 dengan tetingkap dialog, dan menjalankannya. 703 00:39:57,620 --> 00:40:02,030 Jadi di sini kita akan melakukan cukup banyak perkara yang sama seperti yang kita lihat sebelum ini. 704 00:40:02,030 --> 00:40:05,500 Tetapi perhatikan bahawa di antara perkara-perkara yang saya telah digunakan sekarang-- 705 00:40:05,500 --> 00:40:09,090 selain daripada dialog itu, yang sekali lagi saya berlaku telah dilakukan sebanyak dua kali, 706 00:40:09,090 --> 00:40:14,300 yang tidak necessary-- tambahan kepada dialog dan arahan 707 00:40:14,300 --> 00:40:17,780 dan menu plug-in, yang perlu dalam yang pertama bagi saya 708 00:40:17,780 --> 00:40:21,560 untuk menentukan arahan baru dan menyuntik item ke menu, 709 00:40:21,560 --> 00:40:25,010 Saya juga mempunyai proc ini plug-in. 710 00:40:25,010 --> 00:40:28,500 >> Dan proc pemalam ini membolehkan kita untuk memanipulasi proses 711 00:40:28,500 --> 00:40:30,950 pada contoh yang mendasari. 712 00:40:30,950 --> 00:40:34,970 Saya telah menyambungkan selepas saya telah berkata, plug-in saya memerlukannya. 713 00:40:34,970 --> 00:40:38,320 Saya kemudian disambungkan kepada kod, seperti yang kita lihat dalam fungsi utama. 714 00:40:38,320 --> 00:40:40,970 Sekali lagi, saya akan memulakan dialog saya. 715 00:40:40,970 --> 00:40:45,500 Dan jika kita bergerak sekarang, kita dapat melihat bagaimana ini adalah berbeza. 716 00:40:45,500 --> 00:40:49,040 Fungsi beban yang sama, jadi ia hanya akan membuat perintah 717 00:40:49,040 --> 00:40:54,250 dan mewujudkan satu item menu dan menyambung bahawa item menu kepada arahan ini. 718 00:40:54,250 --> 00:40:56,690 Tetapi jika kita tatal ke bawah untuk menunjukkan dialog, 719 00:40:56,690 --> 00:40:59,990 kita boleh mula untuk melihat di mana perbezaan timbul. 720 00:40:59,990 --> 00:41:04,170 >> Kami mempunyai fungsi persembahan dialog, yang hanya akan menunjukkan dialog. 721 00:41:04,170 --> 00:41:12,410 Tetapi apabila saya tunjukkan dialog ini, dan apabila kaedah persembahan dipanggil, 722 00:41:12,410 --> 00:41:14,430 ia kebakaran fungsi cabutan. 723 00:41:14,430 --> 00:41:18,990 Dan saya akan kemudian menentukan beberapa kandungan di dalam itu. 724 00:41:18,990 --> 00:41:21,910 Jadi, saya hanya akan mewujudkan div, memberi kepadanya 725 00:41:21,910 --> 00:41:24,020 beberapa perkataan asas, Hello, world. 726 00:41:24,020 --> 00:41:27,250 Tetapi perhatikan bahawa di sini Saya akan melampirkan ia ID. 727 00:41:27,250 --> 00:41:32,350 Dan garis yang akan datang saya akan untuk mencari ID tersebut menggunakan JavaScript, 728 00:41:32,350 --> 00:41:36,210 dan menyimpan objek itu ke dalam pembolehubah lain 729 00:41:36,210 --> 00:41:38,280 yang saya hanya akan memanggil kandungan. 730 00:41:38,280 --> 00:41:41,780 >> Oleh sebab itu setiap kali saya mempunyai kandungan, semua perlu saya buat 731 00:41:41,780 --> 00:41:46,100 hanya mengubah suai HTML dalaman ini objek. 732 00:41:46,100 --> 00:41:51,300 Dan dialog HTML akan kemudian diubah suai juga. 733 00:41:51,300 --> 00:41:55,500 Oleh itu, apabila pemalam ini adalah kemudian ditunjukkan, yang boleh berlaku 734 00:41:55,500 --> 00:41:59,820 dan ini adalah satu acara baru yang baru ini plug-in, 735 00:41:59,820 --> 00:42:03,380 tetapi berlaku dalam setiap plug-masuk dengan dialog itu, apabila ini kini dipaparkan, 736 00:42:03,380 --> 00:42:07,100 Saya akan memanggil fungsi dipanggil mengambil info. 737 00:42:07,100 --> 00:42:10,520 Dan fungsi ini adalah daging di sini. 738 00:42:10,520 --> 00:42:14,930 Saya akan menggunakan bahawa proc plug-in yang telah diterangkan sebelum ini, yang dengan cara itu, 739 00:42:14,930 --> 00:42:19,790 adalah benar-benar hanya perpustakaan Node.js yang Cloud 9 menggunakan di sini. 740 00:42:19,790 --> 00:42:21,730 >> Jadi, anda boleh sebenarnya melihat kira-kira bagaimana ini 741 00:42:21,730 --> 00:42:25,340 berfungsi jika anda pergi ke dalam Dokumentasi Node.js 742 00:42:25,340 --> 00:42:29,220 dan memandang fail exec kaedah untuk proses sana. 743 00:42:29,220 --> 00:42:33,110 Saya akan menjalankan tertentu ini arahan, rumah Ubuntu ruang kerja 744 00:42:33,110 --> 00:42:38,000 seminar, iaitu bahawa sama satu, yang perintah yang sama yang saya buat sebelum ini. 745 00:42:38,000 --> 00:42:40,680 Menyediakan kepadanya semasa yang direktori bekerja, hanya 746 00:42:40,680 --> 00:42:45,440 selamat ultra segi konteks di mana ini sedang berjalan. 747 00:42:45,440 --> 00:42:49,150 Dan sekali yang telah dilengkapkan dan dikembalikan, 748 00:42:49,150 --> 00:42:54,040 Saya akan menjalankan ini fungsi dipanggil output hurai. 749 00:42:54,040 --> 00:42:54,540 OKEY. 750 00:42:54,540 --> 00:42:58,670 Jadi ini kemudian akan melaksanakan arahan di tempatan, atau sebaliknya 751 00:42:58,670 --> 00:43:01,700 Ubuntu contoh jauh. 752 00:43:01,700 --> 00:43:03,490 Apabila saya kembali beberapa maklumat, saya kemudian 753 00:43:03,490 --> 00:43:06,940 akan memanggil majlis berasingan dipanggil output hurai, yang 754 00:43:06,940 --> 00:43:13,790 mempunyai tandatangan ini di sini, sesat, stdout, stderr, 755 00:43:13,790 --> 00:43:15,910 dan melaksanakan beberapa pengiraan mengenai perkara ini. 756 00:43:15,910 --> 00:43:18,930 Jadi, jika saya menerima kesilapan dari beberapa jenis sama sekali, 757 00:43:18,930 --> 00:43:22,340 Saya benar-benar akan memeriksa untuk melihat jika ralat sebenarnya mempunyai beberapa data. 758 00:43:22,340 --> 00:43:27,204 Dan jika demikian, maka saya akan mengubah suai dalaman HTML bahawa objek kandungan, yang 759 00:43:27,204 --> 00:43:28,995 adalah anda masih ingat, kita berhubung dengan dialog 760 00:43:28,995 --> 00:43:32,210 di instantiattion itu dialog, atau sekurang-lukisan pertama 761 00:43:32,210 --> 00:43:33,370 dialog itu. 762 00:43:33,370 --> 00:43:35,650 Saya akan katakan bahawa beberapa kesilapan yang telah berlaku. 763 00:43:35,650 --> 00:43:37,140 >> Sekarang ini adalah terlalu mudah. 764 00:43:37,140 --> 00:43:40,170 Nilai ralat akan biasanya mengandungi sesuatu yang berguna, 765 00:43:40,170 --> 00:43:45,520 mungkin suatu nombor ralat dan ralat dari skrip itu sendiri. 766 00:43:45,520 --> 00:43:48,430 Atau jika skrip menulis sesuatu kesilapan standard, 767 00:43:48,430 --> 00:43:50,890 data yang akan diisi dalam parameter itu juga. 768 00:43:50,890 --> 00:43:53,765 Dan saya boleh menjadi sedikit lebih berhati-hati tentang apa ralat 769 00:43:53,765 --> 00:43:55,332 Saya sebenarnya menunjukkan orang. 770 00:43:55,332 --> 00:43:57,415 Tetapi contoh mudah ini cukup baik buat masa ini 771 00:43:57,415 --> 00:43:59,715 kepada sekurang-kurangnya melihat bagaimana semua fungsi ini. 772 00:43:59,715 --> 00:44:01,590 Jika tidak jika ada ada kesilapan, maka saya hanya 773 00:44:01,590 --> 00:44:05,500 akan menyediakan mentah output fungsi yang 774 00:44:05,500 --> 00:44:10,070 ke dalam HTML dalaman kandungan ini elemen, dan kemudian mengemas plug-in saya 775 00:44:10,070 --> 00:44:12,490 dan menunjukkan di sini. 776 00:44:12,490 --> 00:44:17,550 Dan itu cukup banyak semua yang perlu untuk mendapatkan ini untuk menjalankan. 777 00:44:17,550 --> 00:44:22,860 Dan begitu mari kita fikirkan kemudian bagaimana ini beroperasi, secara keseluruhan. 778 00:44:22,860 --> 00:44:29,330 Apabila saya mula-mula dimuatkan plug-in ini, seperti pertama plug-in, 779 00:44:29,330 --> 00:44:32,670 Saya akan menambah arahan itu ada apa-apa, kepada mana-mana pemalam 780 00:44:32,670 --> 00:44:37,120 di Cloud 9, yang dipanggil Seminar CS50 Dialog 2, yang bertanggungjawab 781 00:44:37,120 --> 00:44:39,670 adalah untuk menganjurkan program ini dialog, yang kamu masih ingat, 782 00:44:39,670 --> 00:44:42,730 sebenarnya akan menunjukkan dialog yang saya minta di bawah. 783 00:44:42,730 --> 00:44:45,980 >> Kemudian saya akan menambah bahawa arahan ke dalam menu tetingkap 784 00:44:45,980 --> 00:44:48,070 supaya saya mempunyai akses kepada itu. 785 00:44:48,070 --> 00:44:51,420 Dan apabila dialog yang diminta untuk ditunjukkan, 786 00:44:51,420 --> 00:44:55,170 Saya akan mengambil beberapa maklumat dari Ubuntu contoh yang mendasari 787 00:44:55,170 --> 00:44:58,890 dengan menggunakan arahan fail exec. 788 00:44:58,890 --> 00:44:59,920 Maafkan saya. 789 00:44:59,920 --> 00:45:04,140 Sebaik sahaja itu dikembalikan dan saya menerima beberapa maklumat, kemudian di sebelah pelanggan 790 00:45:04,140 --> 00:45:08,370 sekali lagi, saya akan dapat menghuraikan output arahan yang 791 00:45:08,370 --> 00:45:12,650 dan mengemaskini dalaman HTML daripada unsur-unsur 792 00:45:12,650 --> 00:45:16,440 bahawa kita telah dihubungkan dengan lebih awal. 793 00:45:16,440 --> 00:45:19,910 >> Dan dengan itu, kita kemudian mempunyai berfungsi sepenuhnya pemalam ini 794 00:45:19,910 --> 00:45:24,520 yang membolehkan saya untuk mengambil maklumat dari skrip sewenang-wenangnya ini 795 00:45:24,520 --> 00:45:27,170 bahawa kami telah mencipta pada contoh asas kami. 796 00:45:27,170 --> 00:45:29,660 Tetapi sekali lagi, ia benar-benar penting dan benar-benar kunci 797 00:45:29,660 --> 00:45:33,030 untuk mengasingkan mana setiap perkara-perkara yang berlaku, 798 00:45:33,030 --> 00:45:38,320 yang kita ada semua pihak pelanggan ini kod yang sedang berjalan dalam pelayar, 799 00:45:38,320 --> 00:45:41,640 dan tidak lagi mempunyai akses sistem fail yang mendasari 800 00:45:41,640 --> 00:45:44,895 sehingga kita benar-benar menjalankan beberapa ini arahan yang disediakan oleh Awan 801 00:45:44,895 --> 00:45:49,055 9 SDK seperti proc, dan beberapa yang lain yang membolehkan kita untuk membaca beberapa data, 802 00:45:49,055 --> 00:45:53,500 atau membaca beberapa fail jika kita perlu berbuat apa-apa jenis. 803 00:45:53,500 --> 00:45:56,650 >> Sekarang ini adalah satu contoh yang agak mudah. 804 00:45:56,650 --> 00:46:00,570 Terdapat beberapa perkara lain yang kita mungkin akan mahu lakukan juga. 805 00:46:00,570 --> 00:46:03,470 Sebagai contoh, mungkin kita sebenarnya mahu menyimpan beberapa maklumat 806 00:46:03,470 --> 00:46:04,630 kepada pilihan. 807 00:46:04,630 --> 00:46:07,900 Atau mungkin kita mahu menambah anak tetingkap keutamaan baru 808 00:46:07,900 --> 00:46:09,690 atau sesuatu sepanjang garis. 809 00:46:09,690 --> 00:46:13,370 Maka itu adalah sesuatu yang anda boleh mengambil lihat di Cloud 9 SDK 810 00:46:13,370 --> 00:46:15,300 untuk mendapatkan maklumat lanjut mengenai. 811 00:46:15,300 --> 00:46:19,990 Tetapi ini benar-benar adalah cukup untuk memulakan. 812 00:46:19,990 --> 00:46:26,410 Jadi hanya untuk menjadi sedikit lebih konkrit tentang cara yang beberapa perkara-perkara 813 00:46:26,410 --> 00:46:31,370 fungsi, aku ingin menunjukkan hanya satu contoh lagi, yang hanya beberapa 814 00:46:31,370 --> 00:46:35,580 kod dari Stats 50 plug-in. 815 00:46:35,580 --> 00:46:39,780 >> Dan kod ini adalah pada dasarnya berdasarkan contoh-contoh ini 816 00:46:39,780 --> 00:46:43,310 yang anda telah benar-benar melihat, tetapi mempunyai beberapa lebih banyak perlindungan 817 00:46:43,310 --> 00:46:47,460 dan mempunyai beberapa kerumitan lebih untuk untuk mencapai beberapa perkara tambahan 818 00:46:47,460 --> 00:46:48,930 yang kita mahu capai. 819 00:46:48,930 --> 00:46:54,510 Sebagai contoh, jika saya mahu dapat menjimatkan beberapa tetapan, 820 00:46:54,510 --> 00:46:57,700 maka saya perlu mempunyai akses ke Tetapan plug-in, 821 00:46:57,700 --> 00:47:01,820 dan setiap kali saya mahu membaca beberapa tetapan, 822 00:47:01,820 --> 00:47:08,340 Saya boleh, sebagai contoh, melampirkan pelbagai peristiwa dalam Tetapan plug-in. 823 00:47:08,340 --> 00:47:13,630 Jadi setiap kali tetapan berwarna merah, contohnya, dalam sendiri plug-in saya, 824 00:47:13,630 --> 00:47:18,450 jika saya akan membaca beberapa tetapan dari simpanan yang disimpan 825 00:47:18,450 --> 00:47:24,540 citarasa pengguna, maka saya boleh menetapkan default untuk lokasi tertentu, 826 00:47:24,540 --> 00:47:31,250 untuk keutamaan tertentu, yang JSON pilihan gaya fail yang kita ada 827 00:47:31,250 --> 00:47:33,890 disimpan sebelum ini, yang kita lihat sebelum ini. 828 00:47:33,890 --> 00:47:36,370 >> Dan jika saya akan menulis beberapa tetapan kepadanya, 829 00:47:36,370 --> 00:47:40,440 maka saya can-- atau dengan seberapa segera seperti yang kita mengesan bahawa tetapan telah ditulis 830 00:47:40,440 --> 00:47:44,420 supaya- kerana sebagai contoh, tetapan telah diubahsuai oleh pengguna 831 00:47:44,420 --> 00:47:47,335 sama ada secara langsung dalam tetapan mereka fail, atau anak tetingkap keutamaan 832 00:47:47,335 --> 00:47:49,370 telah mengubah tetapan memfailkan langsung, maka 833 00:47:49,370 --> 00:47:53,590 Saya benar-benar boleh mengemas kini beberapa kod atau mengemaskinikan kelakuan plug-in saya 834 00:47:53,590 --> 00:47:58,710 berdasarkan perubahan-perubahan yang mempunyai berlaku pada fail tetapan juga. 835 00:47:58,710 --> 00:48:03,380 Tetapi benar-benar, yang lain daripada ia adalah agak banyak ini yang anda telah lihat. 836 00:48:03,380 --> 00:48:06,040 >> Kami menambah beberapa, mungkin sesuatu yang baru. 837 00:48:06,040 --> 00:48:09,440 Oleh itu, kita menambah fail keutamaan, atau pun seorang anak tetingkap keutamaan, 838 00:48:09,440 --> 00:48:14,250 untuk tetingkap keutamaan, yang sekali lagi anda boleh mengetahui maklumat lanjut 839 00:48:14,250 --> 00:48:16,220 di dalam Awan 9 SDK membaca saya. 840 00:48:16,220 --> 00:48:18,460 Tetapi segala-galanya adalah cukup banyak, cantik 841 00:48:18,460 --> 00:48:25,810 sama dengan apa yang kita lihat sebelum ini, hanya dengan beberapa pemeriksaan ralat tambahan 842 00:48:25,810 --> 00:48:30,150 dan beberapa perlindungan tambahan dan beberapa fungsi tambahan 843 00:48:30,150 --> 00:48:33,314 menampilkan semua pelbagai perkara-perkara yang kita lihat. 844 00:48:33,314 --> 00:48:35,230 Jika anda belum benar-benar melihatnya lagi, anda mungkin 845 00:48:35,230 --> 00:48:40,955 tertanya-tanya apa yang mendasari arahan adalah dalam tetingkap Stats 50. 846 00:48:40,955 --> 00:48:42,840 Ia sebenarnya berfungsi. 847 00:48:42,840 --> 00:48:48,100 Nah, ia is-- oh, celaka. 848 00:48:48,100 --> 00:48:49,410 Satu saat. 849 00:48:49,410 --> 00:48:49,910 Berpegang. 850 00:48:49,910 --> 00:48:52,270 OKEY. 851 00:48:52,270 --> 00:48:58,090 Biar saya bergerak ini supaya kita boleh sebenarnya lihat apa yang berlaku apabila saya menaip Stats 50. 852 00:48:58,090 --> 00:49:02,140 Perhatikan bahawa dalam kes ini, arahan yang saya keluar meletakkan 853 00:49:02,140 --> 00:49:06,310 adalah benar-benar sekali lagi, hanya skrip itulah akan output sekumpulan maklumat 854 00:49:06,310 --> 00:49:08,040 dalam format JSON. 855 00:49:08,040 --> 00:49:10,800 Dan sebab yang kita lakukan ia cara ini adalah bahawa kerana kita 856 00:49:10,800 --> 00:49:15,480 beroperasi, kerana kita telah menulis kod sebelah pelanggan dalam JavaScript, 857 00:49:15,480 --> 00:49:19,500 kita boleh dengan mudah hanya menghuraikan objek JavaScript, 858 00:49:19,500 --> 00:49:23,050 dan benar-benar dapat memanipulasi objek sama seperti yang kami lakukan 859 00:49:23,050 --> 00:49:24,610 mana-mana JavaScript objek lain. 860 00:49:24,610 --> 00:49:27,650 >> Dan jadi ini adalah sangat mudah cara menyediakan beberapa maklumat 861 00:49:27,650 --> 00:49:31,950 dari Ubuntu contoh asas, seperti nombor versi, pihak 862 00:49:31,950 --> 00:49:36,360 nama, sama ada pelayan yang mendengar, apa yang pelayan adalah, sebagainya dan sebagainya, 863 00:49:36,360 --> 00:49:39,150 dan menghuraikan yang sangat dengan mudah dan cepat 864 00:49:39,150 --> 00:49:44,870 dalam plug-in yang kemudian akan untuk menunjukkan kepada kita semua maklumat tersebut. 865 00:49:44,870 --> 00:49:47,920 Jadi sekali lagi, wawasan utama di sini yang perlu diingat 866 00:49:47,920 --> 00:49:54,260 pengasingan ini antara contoh asas, 867 00:49:54,260 --> 00:49:57,490 dan juga di mana kod itu sedang dimuatkan. 868 00:49:57,490 --> 00:49:59,870 Bahawa apabila saya mempunyai pelanggan, ia memuatkan pertama. 869 00:49:59,870 --> 00:50:03,951 Hanya ini fail JavaScript statik dari di suatu tempat, mungkin CDN dari beberapa jenis. 870 00:50:03,951 --> 00:50:06,450 Kita tidak perlu mengambil berat terlalu banyak tentang langkah pertama ini. 871 00:50:06,450 --> 00:50:08,970 >> Kami hanya tahu bahawa itu berjalan di sebelah pelanggan 872 00:50:08,970 --> 00:50:12,740 dan itulah apabila saya akan berkomunikasi dengan contoh buruh pelabuhan ini. 873 00:50:12,740 --> 00:50:15,970 Bahawa kita akan berbuat demikian melalui Cloud 9 SDK. 874 00:50:15,970 --> 00:50:20,460 Kita sebenarnya tidak mempunyai keupayaan, menggunakan JavaScript atau Node.js, 875 00:50:20,460 --> 00:50:21,750 untuk menulis terus kepadanya. 876 00:50:21,750 --> 00:50:29,400 Kami hanya menggunakan orang-orang SDK yang sedia ada API untuk melakukan tindakan yang bagi kami. 877 00:50:29,400 --> 00:50:32,490 Dan sekali lagi, salah satu daripada perkara yang benar-benar penting 878 00:50:32,490 --> 00:50:38,990 ialah apabila saya telah mencipta ini, apabila saya telah membuat plug-in ini, 879 00:50:38,990 --> 00:50:42,510 dan seperti yang saya sedang bekerja di atasnya, satu satu perkara yang penting untuk dilakukan 880 00:50:42,510 --> 00:50:44,840 adalah untuk membawa konsol JavaScript. 881 00:50:44,840 --> 00:50:49,400 >> Oleh kerana kerana ini adalah semua beroperasi pada JavaScript, 882 00:50:49,400 --> 00:50:54,700 di sebelah pelanggan, jika saya menggunakan console.log yang method-- jadi hanya 883 00:50:54,700 --> 00:50:56,550 untuk menunjukkan contoh di sini. 884 00:50:56,550 --> 00:51:07,630 Mari kita cuba mengubah suai ini mudah plug-in juga layari beberapa data. 885 00:51:07,630 --> 00:51:09,895 Dan kami akan menambah keluar standard. 886 00:51:09,895 --> 00:51:13,010 887 00:51:13,010 --> 00:51:16,810 Jadi mari kita menukar bahawa untuk menjadi di sini. 888 00:51:16,810 --> 00:51:19,560 Sekarang apabila saya melaksanakan console.log, perlu diingat 889 00:51:19,560 --> 00:51:21,630 bahawa kerana ini sedang berjalan di sebelah pelanggan, 890 00:51:21,630 --> 00:51:24,900 Saya akan melihat ini dalam saya sendiri JavaScript konsol, yang 891 00:51:24,900 --> 00:51:28,540 adalah bagaimana saya akan dapat cuba untuk menyelesaikan masalah dan debug 892 00:51:28,540 --> 00:51:30,330 beberapa masalah yang saya ada. 893 00:51:30,330 --> 00:51:34,110 >> Perhatikan bahawa kerana Saya dalam mod SDK, Saya 894 00:51:34,110 --> 00:51:37,820 kemudian dapat memanipulasi plug-in pada hal ini. 895 00:51:37,820 --> 00:51:39,800 Jadi, walaupun ia adalah disimpan pada hal ini, 896 00:51:39,800 --> 00:51:47,130 ini adalah contoh salah satu daripada yang sebelumnya peraturan dicemari, di mana Cloud 9 897 00:51:47,130 --> 00:51:51,030 SDK sebenarnya akan menarik plug-in dari asas contoh dan kemudian berjalan mereka. 898 00:51:51,030 --> 00:51:54,440 Supaya dengan cara ini, saya kemudian dapat memanipulasi dan membina 899 00:51:54,440 --> 00:51:55,750 beberapa plug-in di sini. 900 00:51:55,750 --> 00:51:58,080 Tetapi dalam usaha untuk saya melihat kemas kini pada plug-in, 901 00:51:58,080 --> 00:52:01,880 kerana ia adalah di sebelah pelanggan, Saya perlu untuk menyelamatkan yang plug-in 902 00:52:01,880 --> 00:52:04,950 dan kemudian muat semula keseluruhan ruang kerja, supaya plug-in baru kemudian 903 00:52:04,950 --> 00:52:09,230 turun ke pelanggan saya, saya ke pelayar web, dan kemudian digunakan. 904 00:52:09,230 --> 00:52:14,460 >> Jadi sekarang apabila saya klik pada Seminar ini Dialog 2, kita masih melihat ini. 905 00:52:14,460 --> 00:52:21,311 Tetapi sekarang mudah-mudahan dalam JavaScript saya dialog, sekiranya kita melihat my-- menunggu, 906 00:52:21,311 --> 00:52:21,810 berpegang. 907 00:52:21,810 --> 00:52:24,420 Saya mungkin perlu membuka segar dialog. 908 00:52:24,420 --> 00:52:30,230 Kita harus melihat data yang diterima saya di sini. 909 00:52:30,230 --> 00:52:32,780 Data yang diterima, Hello, Dan, yang kamu masih ingat, 910 00:52:32,780 --> 00:52:37,770 adalah operasi console.log yang kita diminta dalam plug-in. 911 00:52:37,770 --> 00:52:42,140 Jadi keterangan ini kemudian yang saya nyatakan sebelum ini, 912 00:52:42,140 --> 00:52:45,460 dialog ini, atau ini gambarajah sebaliknya, saya yang 913 00:52:45,460 --> 00:52:49,140 dinyatakan sebelum ini adalah apa yang berlaku. 914 00:52:49,140 --> 00:52:53,150 Tetapi ada yang penting pengecualian hanya untuk pembangunan, 915 00:52:53,150 --> 00:52:55,490 iaitu bahawa plug-in sendiri mungkin sebenarnya 916 00:52:55,490 --> 00:52:59,160 disimpan pada contoh buruh pelabuhan yang buat sementara waktu, kerana mungkin Cloud 9 917 00:52:59,160 --> 00:53:02,210 tidak mahu kita dapat memanipulasi objek pada CDN mereka. 918 00:53:02,210 --> 00:53:08,650 >> Dan Cloud 9 pelanggan, atas memuatkan, akan mencari sesiapa plug-in dalam itu. 919 00:53:08,650 --> 00:53:11,540 C9 plug-in folder, dan beban mereka. 920 00:53:11,540 --> 00:53:15,780 Dan orang-orang masih berlaku hanya pada sebelah pelanggan. 921 00:53:15,780 --> 00:53:19,440 Oleh itu, maka ini hanya yang pengecualian yang berlaku hanya 922 00:53:19,440 --> 00:53:23,220 untuk pembangunan Cloud 9 plug-in. 923 00:53:23,220 --> 00:53:25,000 Tetapi yang lain daripada time-- dan sebab 924 00:53:25,000 --> 00:53:26,708 yang kita ingin benar-benar tukul home-- ini 925 00:53:26,708 --> 00:53:30,140 kerana kebanyakan masa ini adalah akan berjalan dari CDN, 926 00:53:30,140 --> 00:53:33,030 dan hanya akan dijalankan semata-mata dari pihak pelanggan. 927 00:53:33,030 --> 00:53:36,110 >> Biasanya akan ada tiada interaksi dengan plug-in, 928 00:53:36,110 --> 00:53:39,840 atau ada juga tidak perlu apa-apa sebab itu plug-ins sendiri 929 00:53:39,840 --> 00:53:42,970 sebenarnya disimpan pada asas buruh pelabuhan contoh, 930 00:53:42,970 --> 00:53:47,240 kecuali dalam hal ini pembangunan SDK. 931 00:53:47,240 --> 00:53:51,510 Jadi sekali lagi, ini berubah hanya sedikit kerana hakikat 932 00:53:51,510 --> 00:53:54,650 bahawa kita sedang berjalan mod SDK. 933 00:53:54,650 --> 00:53:57,160 Ia akan kemudiannya akan memuatkan mereka plug-in daripada pembangunan, 934 00:53:57,160 --> 00:54:01,690 dan semata-mata di sini adalah supaya Saya boleh menggunakan Cloud 9 untuk melakukan pembangunan 935 00:54:01,690 --> 00:54:04,620 untuk Cloud 9 plugin. 936 00:54:04,620 --> 00:54:07,220 Namun begitu, ia tidak akan mengubah lagi bagaimana mana-mana ini berfungsi. 937 00:54:07,220 --> 00:54:09,650 Ia masih sedang dijalankan sepenuhnya kepada pihak pelanggan. 938 00:54:09,650 --> 00:54:16,260 >> Ia hanya bermakna bahawa setiap kali saya mahu mewujudkan Cloud 9 plug-in dalam Cloud 9, 939 00:54:16,260 --> 00:54:19,320 Saya membuat mereka plug-in, memasukkannya ke dalam saya. 940 00:54:19,320 --> 00:54:25,110 C9 folder / plugins di rumah saya direktori, memastikan saya dalam mod SDK, 941 00:54:25,110 --> 00:54:29,290 memuat semula halaman setiap kali saya sebenarnya membuat perubahan kepada yang plug-in, 942 00:54:29,290 --> 00:54:33,590 dan melihat apa yang berlaku dalam Konsol JavaScript saya. 943 00:54:33,590 --> 00:54:36,240 Hanya menguruskan JavaScript saya memujuk memastikan 944 00:54:36,240 --> 00:54:38,930 bahawa mana-mana penyelesaian masalah maklumat yang saya letakkan untuk memujuk, 945 00:54:38,930 --> 00:54:41,920 atau apa-apa sahaja yang mungkin berlaku kerana kesilapan yang saya telah menulis 946 00:54:41,920 --> 00:54:44,940 dalam kod saya atau sebagainya, muncul di sana. 947 00:54:44,940 --> 00:54:48,007 >> Dan dengan itu, ia benar-benar yang cukup untuk bermula, saya fikir, 948 00:54:48,007 --> 00:54:49,090 dengan Cloud 9 plug-in. 949 00:54:49,090 --> 00:54:53,120 Terutamanya mengambil melihat SDK dokumentasi yang Cloud 9 menyediakan. 950 00:54:53,120 --> 00:54:56,650 Ia adalah satu cara yang baik untuk mendapatkan bermula, dan dengan mudah 951 00:54:56,650 --> 00:54:59,900 membuat beberapa plug-in untuk Cloud 9. 952 00:54:59,900 --> 00:55:02,820 Dan dengan itu, saya ingin mengucapkan terima kasih anda semua kerana sudi menyertai saya. 953 00:55:02,820 --> 00:55:05,550 Saya harap anda akan bergembira menulis plug-in untuk Cloud 9. 954 00:55:05,550 --> 00:55:09,600 Mungkin meningkatkan plug-in yang kita ada sekarang, atau mungkin juga 955 00:55:09,600 --> 00:55:11,360 menambah beberapa fungsi anda sendiri. 956 00:55:11,360 --> 00:55:14,540 Kami berharap untuk melihat apa pun yang anda buat. 957 00:55:14,540 --> 00:55:16,330 Sehingga itu, selamat tinggal. 958 00:55:16,330 --> 00:55:18,734