1 00:00:00,000 --> 00:00:05,159 2 00:00:05,159 --> 00:00:09,240 >> DAN Armendariz: Γεια σας και καλώς ήρθατε ένα σεμινάριο σχετικά με την προσαρμογή CS50 Cloud 9, 3 00:00:09,240 --> 00:00:11,724 και το IDE CS50. 4 00:00:11,724 --> 00:00:13,640 Έτσι, σήμερα θα πάμε να απλά να μιλήσουμε λίγο 5 00:00:13,640 --> 00:00:16,090 σχετικά με ορισμένα από τα τεχνικών πληροφοριών που 6 00:00:16,090 --> 00:00:19,380 πηγαίνει πίσω από την αρχιτεκτονική του Cloud 9 και πώς 7 00:00:19,380 --> 00:00:25,560 έχουμε υλοποιήσει μερικά από τα plug-ins ως μέρος του Cloud 9 για να δώσουν CS50 IDE. 8 00:00:25,560 --> 00:00:28,820 Οπότε ας ξεκινήσετε αμέσως και να αρχίσουμε να μιλάμε για plug-ins. 9 00:00:28,820 --> 00:00:32,659 >> Έτσι, plug-ins είναι πραγματικά κατά τη πυρήνα του Cloud 9 εμπειρία. 10 00:00:32,659 --> 00:00:37,590 Cloud 9 είναι η υποκείμενη τεχνολογία ότι παρέχει σε μας το IDE, 11 00:00:37,590 --> 00:00:42,160 και, επίσης, το παράθυρο τερματικού κατά τη κάτω, μαζί με την workspace-- 12 00:00:42,160 --> 00:00:46,430 το Ubuntu workspace-- ότι χρησιμοποιήσουμε για να καταρτίσουμε όλα τα έργα μας 13 00:00:46,430 --> 00:00:49,190 και να εκτελέσει πρόβλημα σύνολα μας, Συμπλήρωσε πρόβλημα σύνολα μας. 14 00:00:49,190 --> 00:00:51,820 Αλλά στην καρδιά όλων από αυτό, όλα τα τεχνολογία 15 00:00:51,820 --> 00:00:54,590 είναι πραγματικά ακριβώς μια δέσμη των plug-ins. 16 00:00:54,590 --> 00:00:58,740 Τα πάντα είναι ένα plug-in ότι μπορεί να τροποποιηθεί, 17 00:00:58,740 --> 00:01:00,710 επεκταθεί, μπορείτε να δημιουργήσετε το δικό σας plug-ins, 18 00:01:00,710 --> 00:01:03,060 μπορείτε να αφαιρέσετε άλλο plug-ins, πραγματικά να αλλάξει 19 00:01:03,060 --> 00:01:07,540 αρκετά μεγάλο μέρος της λειτουργικότητας της υφιστάμενης Cloud 9 IDE. 20 00:01:07,540 --> 00:01:12,040 >> Έτσι, αυτό είναι ένα υπάρχον Cloud 9 περιβάλλον. 21 00:01:12,040 --> 00:01:14,750 Αυτό είναι πραγματικά ακριβώς το προεπιλογή Cloud 9 περιβάλλον. 22 00:01:14,750 --> 00:01:18,450 Και ρίξτε μια ματιά στο πώς είναι στην πραγματικότητα είναι διαφορετικός από τον IDE CS50. 23 00:01:18,450 --> 00:01:20,340 Έτσι, αυτό είναι το IDE CS50. 24 00:01:20,340 --> 00:01:25,060 Παρατηρήστε ότι υπάρχουν κάποιες οπτικές αλλαγές μεταξύ του τακτικού Cloud 9 25 00:01:25,060 --> 00:01:28,000 το περιβάλλον και η IDE CS50. 26 00:01:28,000 --> 00:01:30,010 Συγκεκριμένα, θα παρατηρήσετε μερικές αλλαγές. 27 00:01:30,010 --> 00:01:34,201 Πρώτα απ 'όλα, υπάρχει λιγότερες στοιχεία μενού για να αρχίσει με. 28 00:01:34,201 --> 00:01:36,200 Υπάρχει πράγματι ένας τρόπος ότι μπορείτε να το αλλάξει αυτό. 29 00:01:36,200 --> 00:01:37,270 Αυτό λέγεται Simple Mode. 30 00:01:37,270 --> 00:01:40,910 >> Από προεπιλογή, Simple Mode είναι ενεργοποιημένη, και ότι απλοποιεί κάποια από τα στοιχεία του μενού. 31 00:01:40,910 --> 00:01:43,032 Αφαιρεί ορισμένα από τα πιο προηγμένες, 32 00:01:43,032 --> 00:01:45,240 διότι ειλικρινά, πολύ φοιτητές που έρχονται σε 33 00:01:45,240 --> 00:01:48,550 και δεν χρειάζεται να γνωρίζετε σχετικά με ορισμένα από τα πιο προηγμένα χαρακτηριστικά 34 00:01:48,550 --> 00:01:50,530 Δεν είναι συγκλονισμένοι με μια δέσμη των επιλογών. 35 00:01:50,530 --> 00:01:55,610 Αλλά εμείς παρέχουμε τη δυνατότητα να λαμβάνουν εκτός αυτών των λεγόμενων ρόδες 36 00:01:55,610 --> 00:01:57,360 και αφαιρέστε ότι σκαλωσιές, έτσι ώστε οι άνθρωποι 37 00:01:57,360 --> 00:02:00,832 μπορεί να γίνει πιο εξοικειωμένοι με τα προηγμένα χαρακτηριστικά του IDE. 38 00:02:00,832 --> 00:02:02,540 Αμέσως με την το δικαίωμα αυτό, υπάρχει 39 00:02:02,540 --> 00:02:05,435 Επίσης, ένα κουμπί εντοπισμού σφαλμάτων, η οποία στο πρότυπο σύννεφο 40 00:02:05,435 --> 00:02:08,199 9 περιβάλλον λέγεται απλά τρέχει. 41 00:02:08,199 --> 00:02:11,990 Αλλά από προεπιλογή, έχουμε ρυθμιστεί το κουμπί εντοπισμού σφαλμάτων στο CS50 IDE 42 00:02:11,990 --> 00:02:15,500 να θέσει επί τάπητος το πρόγραμμα εντοπισμού σφαλμάτων, καταρτίζουν αυτόματα τον πηγαίο κώδικα, 43 00:02:15,500 --> 00:02:17,940 συνδέστε το πρόγραμμα εντοπισμού σφαλμάτων με την υποκείμενη GDB-- 44 00:02:17,940 --> 00:02:21,430 και δεδομένου ότι τρέχει να εκτελέσει η debugging-- και κάποια άλλα βήματα 45 00:02:21,430 --> 00:02:22,580 επισης. 46 00:02:22,580 --> 00:02:25,370 Επίσης, το παράθυρο τερματικού κατά τη very-- ή μάλλον το τερματικό 47 00:02:25,370 --> 00:02:29,010 καρτέλα στο τμήμα της κονσόλας κατά τη παράθυρο στο κάτω μέρος της οθόνης, 48 00:02:29,010 --> 00:02:31,004 μετονομάστηκε απλά να είναι τερματικό. 49 00:02:31,004 --> 00:02:32,837 Ενώ στο πρότυπο Cloud 9 του περιβάλλοντος, 50 00:02:32,837 --> 00:02:35,830 δείχνει πραγματικά το εφαρμογή που εκτελείται. 51 00:02:35,830 --> 00:02:39,140 Με αυτό τον τρόπο, απλοποιεί, και πάλι, το γραφικό περιβάλλον, ακριβώς λίγο. 52 00:02:39,140 --> 00:02:42,310 >> Επίσης προσθέσαμε μερικά κουμπιά στην επάνω δεξιά πλευρά της IDE 53 00:02:42,310 --> 00:02:45,740 για να δείξει κάποιες βασικές πληροφορίες σχετικά με την υποκείμενη παράδειγμα. 54 00:02:45,740 --> 00:02:49,700 Και επίσης έχουμε αφαιρέσει ένα από τις επιλογές σχετικά με τα στοιχεία 55 00:02:49,700 --> 00:02:51,730 από την άκρα δεξιά. 56 00:02:51,730 --> 00:02:55,620 Έτσι, όλα αυτά δεν υλοποιούνται τροποποιώντας κατ 'ανάγκην το Cloud 9 57 00:02:55,620 --> 00:02:58,550 πηγαίος κώδικας, αλλά αντί μέσω ενός ζευγαριού 58 00:02:58,550 --> 00:03:03,460 των plug-ins που έχουμε εφαρμόσει σε όλο το παρελθόν έτος ή έτσι. 59 00:03:03,460 --> 00:03:08,840 Και Cloud 9 έχει φιλοξενήσει και έχει που εκτελούνται στο χώρο εργασίας CS50. 60 00:03:08,840 --> 00:03:13,680 Ή μάλλον σε χώρους εργασίας που χαρακτηρίζονται ως CS50 IDEs. 61 00:03:13,680 --> 00:03:17,140 >> Έτσι, πραγματικά αυτή είναι η κύρια διαφορά μεταξύ του Cloud 9 και το CS50 62 00:03:17,140 --> 00:03:18,130 χώρους εργασίας. 63 00:03:18,130 --> 00:03:21,780 Υπάρχει, επίσης, στο υποκείμενο παράδειγμα, η κύρια αλλαγή είναι 64 00:03:21,780 --> 00:03:25,350 ότι έχουμε εγκαταστήσει κάποια προ-ρυθμισμένες αντικείμενα όπως GDB, 65 00:03:25,350 --> 00:03:29,530 και μερικά άλλα βασικά πράγματα που έχουμε δημιουργήσει, όπως Update 50, 66 00:03:29,530 --> 00:03:33,310 και ένα ζευγάρι των άλλων βημάτων που κάνουν η όλη εμπειρία λίγο πιο 67 00:03:33,310 --> 00:03:34,550 ενοποιημένη. 68 00:03:34,550 --> 00:03:38,520 Αλλά σε γενικές γραμμές, αυτό είναι μόνο ένα τροποποίηση ενός υπάρχοντος συστήματος 69 00:03:38,520 --> 00:03:40,979 ότι Cloud 9 δημιούργησε για εμάς. 70 00:03:40,979 --> 00:03:42,770 Τι θα πάμε να δείχνουν λίγο αργότερα 71 00:03:42,770 --> 00:03:45,920 είναι το πώς να δημιουργήσετε ένα πραγματικά κάπως βασικό plug-in που 72 00:03:45,920 --> 00:03:49,461 μας επιτρέπει να εισάγετε κάτι σε το σύστημα μενού, και να ανοίξει ένα διάλογο. 73 00:03:49,461 --> 00:03:51,210 Και αν έχουμε αρκετή Τότε, θα πραγματικότητα 74 00:03:51,210 --> 00:03:54,210 να δούμε πώς μπορούμε να συμπληρώσετε ότι διάλογος με κάποιες πληροφορίες 75 00:03:54,210 --> 00:03:56,089 από το υποκείμενο παράδειγμα. 76 00:03:56,089 --> 00:03:58,880 Για να μπορέσουμε να φτάσουμε σε αυτό το σημείο, ας μιλήσουμε πρώτα λίγο 77 00:03:58,880 --> 00:04:01,740 για την αρχιτεκτονική του Cloud 9. 78 00:04:01,740 --> 00:04:05,290 >> Έτσι ο τρόπος που έχουμε συνηθίσει να αλληλεπιδρούν με Cloud 9 79 00:04:05,290 --> 00:04:06,610 Είναι εξ ολοκλήρου μέσω του πελάτη. 80 00:04:06,610 --> 00:04:10,610 Θα ανοίξει ένα πρόγραμμα περιήγησης στο Web, γράφουμε στο CS50.io. 81 00:04:10,610 --> 00:04:14,431 Τελικά, μετά την πιστοποίηση, παρουσιάζονται με τον IDE. 82 00:04:14,431 --> 00:04:16,180 Αλλά συνειδητοποιούν ότι υπάρχει μερικά βήματα 83 00:04:16,180 --> 00:04:18,180 ότι στην πραγματικότητα μας να φτάσουμε σε αυτό το σημείο. 84 00:04:18,180 --> 00:04:22,390 Το πρώτο πράγμα είναι ότι ο πελάτης μου, το πρόγραμμα περιήγησης στο Web, 85 00:04:22,390 --> 00:04:27,440 κατόπιν αιτήσεως και μετά την πιστοποίηση, φορτώνει το GUI και τα plug-ins 86 00:04:27,440 --> 00:04:30,170 από κάποια CDN, από κάποια Δίκτυο παροχής περιεχομένου. 87 00:04:30,170 --> 00:04:32,700 Αυτό μπορεί να είναι ειλικρινά πουθενά. 88 00:04:32,700 --> 00:04:35,390 >> Και αυτό είναι πραγματικά ξεχωριστή από το υποκείμενο παράδειγμα. 89 00:04:35,390 --> 00:04:38,890 Είναι σημαντικό να συνειδητοποιήσουμε ότι αυτό είναι στην πραγματικότητα απλώς ένα μάτσο στατικά αρχεία. 90 00:04:38,890 --> 00:04:42,600 Είναι ένα μάτσο JavaScript ότι έχει κατεβάσει από το CDN 91 00:04:42,600 --> 00:04:45,200 του πλοηγού μου, και όλα τα GUI που σας 92 00:04:45,200 --> 00:04:48,460 δείτε here-- αυτό είναι πραγματικά key-- όλα τα GUI που βλέπετε εδώ 93 00:04:48,460 --> 00:04:50,480 εκτελείται στην πλευρά του πελάτη. 94 00:04:50,480 --> 00:04:53,820 Ό, τι βλέπετε στο Cloud 9 χώρου εργασίας 95 00:04:53,820 --> 00:04:56,010 είναι στην πραγματικότητα τρέχει στο πρόγραμμα περιήγησης. 96 00:04:56,010 --> 00:04:59,950 Και κάτι που στέλνετε κατά μήκος της υποκείμενης παράδειγμα 97 00:04:59,950 --> 00:05:04,000 επικοινωνεί με το παράδειγμα κατά μήκος αυτής της δεύτερης ξεχωριστό κανάλι, 98 00:05:04,000 --> 00:05:07,240 και στη συνέχεια να αποθηκευτούν επάνω ότι χάριν λιμενεργάτης. 99 00:05:07,240 --> 00:05:09,660 >> Έτσι, ο λόγος που το λέω Αυτό είναι ένα παράδειγμα λιμενεργάτης 100 00:05:09,660 --> 00:05:12,650 είναι ότι το υποκείμενο της τεχνολογίας δεν χρησιμοποιεί εικονικές μηχανές, 101 00:05:12,650 --> 00:05:16,040 αλλά αντ 'αυτού χρησιμοποιεί ένα τεχνολογία που ονομάζεται λιμενεργάτης, 102 00:05:16,040 --> 00:05:20,200 που allows-- βασικά το πιο κοντινό αναλογία είναι μια εικονική μηχανή. 103 00:05:20,200 --> 00:05:24,800 Αλλά είναι ελαφρά διαφορετική το ότι υπάρχουν 104 00:05:24,800 --> 00:05:28,900 πολλές ευκαιρίες για να τρέξει ένα συνδυασμός των διαφορετικών λιμενεργάτης 105 00:05:28,900 --> 00:05:30,760 παρουσίες σε ένα μόνο μηχάνημα. 106 00:05:30,760 --> 00:05:34,660 Και μπορούν να περιστραφούν έως σε πολύ γρήγορη διαδοχή. 107 00:05:34,660 --> 00:05:38,920 Δεν είναι αρκετά τα περισσότερα αυστηρή διαφοροποίηση 108 00:05:38,920 --> 00:05:42,840 μεταξύ των διαφόρων περιπτώσεων λιμενεργάτης καθώς υπάρχουν σε εικονικές μηχανές, 109 00:05:42,840 --> 00:05:45,730 αλλά εξακολουθεί να υπάρχει μια πολύ διαφοροποίηση και διαχωρισμός 110 00:05:45,730 --> 00:05:48,330 μεταξύ αυτών των διαφορετικών περιπτώσεων. 111 00:05:48,330 --> 00:05:48,830 ΕΝΤΆΞΕΙ. 112 00:05:48,830 --> 00:05:50,980 Έτσι, οι δύο βήματα εδώ ότι είναι σημαντικό να συνειδητοποιήσουμε 113 00:05:50,980 --> 00:05:57,370 είναι ότι όταν πάμε να CS50.io, είμαστε τη λήψη του GUI και τα plug-ins, 114 00:05:57,370 --> 00:06:01,640 τα οποία είναι γραμμένα σε JavaScript, για στο πρόγραμμα περιήγησης ή στο πρόγραμμα περιήγησης. 115 00:06:01,640 --> 00:06:05,980 Και αυτό είναι ίσως ένα ζευγάρι megabytes αξίας των πληροφοριών. 116 00:06:05,980 --> 00:06:09,460 Σε εκείνο το σημείο, αφού το έχει GUI φορτώνεται και τα plug-ins έχουν αρχίσει, 117 00:06:09,460 --> 00:06:12,530 τότε αρχίζει να επικοινωνεί με η περίπτωση λιμενεργάτη, ο οποίος δεν 118 00:06:12,530 --> 00:06:15,210 αναγκαστικά πρέπει να είναι το ίδιο διακομιστή. 119 00:06:15,210 --> 00:06:16,940 >> Τώρα υπάρχει μια εξαίρεση σε αυτό. 120 00:06:16,940 --> 00:06:22,130 Μπορούμε να έχουμε πραγματικά τόσο η μηχανισμός παράδοσης για το ίδιο το GUI 121 00:06:22,130 --> 00:06:25,740 και η περίπτωση λιμενεργάτη στο όλα στον ίδιο διακομιστή, η οποία 122 00:06:25,740 --> 00:06:29,660 Είναι πραγματικά κάτι που κάνουμε για την offline έκδοση του Cloud 9. 123 00:06:29,660 --> 00:06:33,470 Αυτό δεν είναι κάτι που έχουμε δημοσιότητας πάρα πολύ αυτό το φθινόπωρο, 124 00:06:33,470 --> 00:06:35,930 αλλά εμείς επίσης να έχει offline έκδοση που 125 00:06:35,930 --> 00:06:40,010 σας επιτρέπει να κατεβάσετε ένα συσκευασμένο έκδοση όλα αυτά τα πράγματα 126 00:06:40,010 --> 00:06:43,670 και σας επιτρέπουν να εκτελέσετε Cloud 9 σε offline περιβάλλον. 127 00:06:43,670 --> 00:06:48,325 >> Προχωρώντας αυτό από το σύννεφο και πάνω τοπικό υπολογιστή σας έχει κάποια επίδραση. 128 00:06:48,325 --> 00:06:50,200 Ειδικότερα, δεν μπορείτε έχουν πλέον τη δυνατότητα 129 00:06:50,200 --> 00:06:52,280 να μοιραστεί το χώρο εργασίας σας με τους άλλους. 130 00:06:52,280 --> 00:06:58,630 Μπορείτε πλέον να ανοίξετε Cloud 9 από, και το CS50 IDE, από οποιονδήποτε υπολογιστή 131 00:06:58,630 --> 00:07:02,950 και να δούμε τα ίδια αρχεία που που εργάζονταν με πριν. 132 00:07:02,950 --> 00:07:06,310 Όμως, αντί να λειτουργεί πλήρως το για τη δική σας τοπική μηχανή 133 00:07:06,310 --> 00:07:09,270 χωρίς να χρειάζεται πρόσβαση στο διαδίκτυο. 134 00:07:09,270 --> 00:07:13,330 Αλλά και πάλι, ακόμη και σε αυτό το μοντέλο, ακόμη και αν έχουμε μια εικονική μηχανή 135 00:07:13,330 --> 00:07:15,200 ότι είναι ουσιαστικά τρέχουν αυτά τα πράγματα. 136 00:07:15,200 --> 00:07:19,480 >> Έχουμε ένα ξεχωριστό διακομιστή που είναι παρέχοντας ουσιαστικά το Cloud 9 137 00:07:19,480 --> 00:07:23,640 περιεχόμενο, και στη συνέχεια έχουν ένα παράδειγμα λιμενεργάτης 138 00:07:23,640 --> 00:07:32,280 που είναι υπεύθυνη για την επικοινωνία με την εν λόγω IDE για το πίσω μέρος. 139 00:07:32,280 --> 00:07:32,780 ΕΝΤΆΞΕΙ. 140 00:07:32,780 --> 00:07:38,700 Έτσι, το σύνολο του GUI είναι γραμμένο εξ ολοκλήρου στο JavaScript 141 00:07:38,700 --> 00:07:42,800 χρησιμοποιώντας Node.js και το Cloud 9 SDK, το οποίο θα φτάσουμε σε ένα λεπτό. 142 00:07:42,800 --> 00:07:46,650 Και όλα τα plug-ins εκτελούνται στην πλευρά του client. 143 00:07:46,650 --> 00:07:51,780 Ας εστιάσουμε στη συνέχεια μια λίγο με την παραδοχή 144 00:07:51,780 --> 00:07:55,670 ότι αυτό το πρώτο βήμα έχει στην πραγματικότητα ολοκληρωθεί με επιτυχία, 145 00:07:55,670 --> 00:07:58,990 και να εξετάσουμε μόνο σε αυτή την περίπτωση λιμενεργάτης. 146 00:07:58,990 --> 00:08:01,220 >> Έτσι, σε αυτή την περίπτωση, αυτό είναι ο συνήθης τρόπος 147 00:08:01,220 --> 00:08:04,870 του σκέφτεται να κάνει Cloud 9 plug-in εξέλιξη είναι ότι θα έχετε την ευκαιρία 148 00:08:04,870 --> 00:08:07,940 να γράφει κώδικα που θα να τρέξει στον browser του χρήστη, 149 00:08:07,940 --> 00:08:11,610 και έχετε την ευκαιρία να χρησιμοποιώντας κάποια APIs για να επικοινωνούν 150 00:08:11,610 --> 00:08:16,470 με την υποκείμενη παράδειγμα λιμενεργάτης, τρέξει κάποιο κώδικα εκεί, και κάνουν τίποτα 151 00:08:16,470 --> 00:08:18,860 ότι ίσως να θέλετε να κάνετε. 152 00:08:18,860 --> 00:08:22,000 Έτσι, αυτό πρόκειται να είναι το πλαίσιο που θα 153 00:08:22,000 --> 00:08:24,340 να χρησιμοποιούν για το υπόλοιπο αυτής της ομιλίας. 154 00:08:24,340 --> 00:08:26,400 Και να κρατήσει μόνο το μοντέλο αυτό κατά νου. 155 00:08:26,400 --> 00:08:28,966 Αυτό θα είναι πολύ σημαντικό μέσα σε λίγα λεπτά. 156 00:08:28,966 --> 00:08:30,840 Υπάρχει ένα ζευγάρι των συνδέσεις που θέλω να σας δείξω. 157 00:08:30,840 --> 00:08:34,150 Πρώτα απ 'όλα, Cloud 9 παρέσχε πάρα πολλά έγγραφα 158 00:08:34,150 --> 00:08:38,740 αυτό είναι πολύ καλό, αυτό δείχνει πόσο να κάνει βασικά plug-in ανάπτυξη. 159 00:08:38,740 --> 00:08:43,320 Έτσι, αν πάτε σε αυτό το URL, cloud9-sdk.readme.io, 160 00:08:43,320 --> 00:08:45,261 θα δείτε την τεκμηρίωση εκεί. 161 00:08:45,261 --> 00:08:47,510 Και πολλές από αυτές τις πληροφορίες ότι είστε έτοιμος να δείτε 162 00:08:47,510 --> 00:08:50,310 μπορεί επίσης να βρεθεί εκεί, συν κάποια άλλα. 163 00:08:50,310 --> 00:08:55,880 Μπορείτε επίσης να βρείτε το open source έκδοση του Cloud 9 σε αυτήν τη διεύθυνση URL, 164 00:08:55,880 --> 00:09:04,270 github.com/c9/core, το οποίο χρησιμοποιούμε ως μέρος της offline έκδοση του IDE, 165 00:09:04,270 --> 00:09:07,540 έτσι ώστε θα είστε σε θέση να έχουν το ίδιο Cloud 9 εμπειρία, 166 00:09:07,540 --> 00:09:09,660 αλλά σε μια σύνδεση τρόπο. 167 00:09:09,660 --> 00:09:10,160 Εντάξει. 168 00:09:10,160 --> 00:09:15,560 Έτσι, ας ρίξουμε μια ματιά σε ένα πραγματική Cloud 9 χώρο εργασίας εδώ. 169 00:09:15,560 --> 00:09:17,880 Και πάλι, θέλω να επισημάνω ένα ζευγάρι από τα πράγματα. 170 00:09:17,880 --> 00:09:21,560 Αυτό είναι, ακριβώς εδώ, ένα κανονικό IDE CS50. 171 00:09:21,560 --> 00:09:26,830 Και έχω απενεργοποιήσει μια λιγότερο άνετη λειτουργία του μενού View 172 00:09:26,830 --> 00:09:28,807 έτσι ώστε να μπορώ να δω όλα από τις επιλογές του μενού. 173 00:09:28,807 --> 00:09:31,140 Αυτό που θέλω να σας δείξω το δικαίωμα τώρα είναι μερικά πράγματα. 174 00:09:31,140 --> 00:09:33,140 Πρώτα απ 'όλα, αν πάω σε Προτιμήσεις και, στη συνέχεια, 175 00:09:33,140 --> 00:09:37,040 κλικ στην Plug-in διευθυντής, και πληκτρολογήστε CS50 εδώ, 176 00:09:37,040 --> 00:09:40,590 μπορούμε να δούμε ότι υπάρχουν, στην πραγματικότητα, ένα ζευγάρι των CS50 προσθήκες που 177 00:09:40,590 --> 00:09:46,280 είχαν εγκατασταθεί και να λειτουργήσει σε μας ενεργοποιήσετε τις τροποποιήσεις που έχουμε 178 00:09:46,280 --> 00:09:48,670 δει για τον IDE CS50. 179 00:09:48,670 --> 00:09:51,450 >> Αυτή τη στιγμή δεν υπάρχει ουσιαστικά δύο plug-ins που εκτελούνται. 180 00:09:51,450 --> 00:09:54,980 Υπάρχει ένα που ονομάζεται Simple, η οποία είναι η απλοποιημένη λειτουργία που 181 00:09:54,980 --> 00:10:00,020 σας επιτρέπει να μειωθεί ο αριθμός των επιλογών του μενού κατά μήκος της κορυφής, 182 00:10:00,020 --> 00:10:03,070 και έχουν αυτό το λεγόμενο λιγότερο άνετα λειτουργία. 183 00:10:03,070 --> 00:10:07,280 Και έπειτα υπάρχει επίσης CS50 Στατιστικά, το οποίο είναι ίσως μόνο ελαφρώς misnamed. 184 00:10:07,280 --> 00:10:09,550 Επειδή αυτό είναι ό, τι σας δείχνει τις πληροφορίες 185 00:10:09,550 --> 00:10:10,850 σχετικά με την υποκείμενη επιφάνεια εργασίας. 186 00:10:10,850 --> 00:10:13,560 Διοχετεύει αυτά τα κουμπιά κατά μήκος του πάνω δεξιά. 187 00:10:13,560 --> 00:10:18,620 Διοχετεύει επίσης ένα στοιχείο του μενού σε η στοιχείο παράθυρο, στο μενού Παράθυρο 188 00:10:18,620 --> 00:10:21,730 ακριβώς εδώ, CS50 IDE Info. 189 00:10:21,730 --> 00:10:27,380 Και είναι υπεύθυνη για εμφανίσεων Αυτός ο διάλογος που έχουμε δει εδώ, 190 00:10:27,380 --> 00:10:31,460 με όλες τις πληροφορίες που είμαστε συνηθισμένοι να βλέπουν σε μια CS50 IDE 191 00:10:31,460 --> 00:10:32,870 χώρο εργασίας. 192 00:10:32,870 --> 00:10:33,370 ΕΝΤΆΞΕΙ. 193 00:10:33,370 --> 00:10:36,910 Έτσι, υπάρχει πράγματι ένα ακόμη plug-in ότι έχουμε αναπτύξει επίσης. 194 00:10:36,910 --> 00:10:40,110 Και υπάρχει ένα ζευγάρι των άλλων, ότι Επίσης, δεν έχουν κυκλοφορήσει δημοσίως. 195 00:10:40,110 --> 00:10:45,880 Αλλά ένας από αυτούς είναι η συνολική plug-in που σας επιτρέπει να λειτουργήσει το GDB. 196 00:10:45,880 --> 00:10:50,190 Έτσι, μία από τις πτυχές του Cloud 9 είναι ότι έχουν ήδη παράσχει 197 00:10:50,190 --> 00:10:53,210 Αυτό GUI για να εφαρμόσει ένα πρόγραμμα εντοπισμού σφαλμάτων. 198 00:10:53,210 --> 00:10:57,360 Και ένα από τα plug-ins που έχουμε δημιουργήσει βασικά 199 00:10:57,360 --> 00:11:02,380 αγκίστρια GDB με αυτό το GUI based έκδοση του ένα πρόγραμμα εντοπισμού σφαλμάτων. 200 00:11:02,380 --> 00:11:07,680 Και είναι υπεύθυνη για τη μεσολάβηση όλων των αιτήσεων που ένας χρήστης μπορεί να έχει, 201 00:11:07,680 --> 00:11:10,310 μεταξύ ενίσχυση πάνω ή τη δημιουργία σημείων διακοπής ή τίποτα 202 00:11:10,310 --> 00:11:15,390 κατά μήκος αυτών των γραμμών, να μεταφράζει αυτό σε εντολές που GDB μπορεί να καταλάβει, 203 00:11:15,390 --> 00:11:16,920 εκδίδει αυτές τις εντολές για να GDB. 204 00:11:16,920 --> 00:11:19,260 Και το συντομότερο GDB εκδίδει μια απάντηση, τότε 205 00:11:19,260 --> 00:11:23,250 ερμηνεύουμε ότι και ενημερώσετε το γραφικό περιβάλλον, όπως απαιτείται. 206 00:11:23,250 --> 00:11:25,130 >> Αυτό είναι ίσως ένα από η πιο περίπλοκη 207 00:11:25,130 --> 00:11:28,840 των plug-ins, έτσι ώστε αντί αυτό που είμαστε πρόκειται να επικεντρωθεί σήμερα είναι στην πραγματικότητα 208 00:11:28,840 --> 00:11:34,590 Τα στατιστικά plug-in, και θα μιλήσουμε λίγο σχετικά με το Simple, όπως καλά. 209 00:11:34,590 --> 00:11:39,100 Γι 'αυτό ανέφερα και πριν, και θέλω πραγματικά να κάνει πολύ, πολύ σαφές, ότι και πάλι, 210 00:11:39,100 --> 00:11:41,600 όλα αυτά που είμαστε βλέπουμε εδώ είναι κατ 'ουσίαν 211 00:11:41,600 --> 00:11:43,300 λειτουργεί στην πλευρά του client. 212 00:11:43,300 --> 00:11:45,810 Κάνουμε δείτε ένα παράθυρο τερματικού κάτω, και ότι, φυσικά, 213 00:11:45,810 --> 00:11:49,230 αν πληκτρολογήσετε εντολές σε ότι, τα οποία στη συνέχεια θα εκδοθεί 214 00:11:49,230 --> 00:11:50,690 με την υποκείμενη παράδειγμα. 215 00:11:50,690 --> 00:11:55,280 Ομοίως, αν ανοίξουμε ένα νέο αρχείο και πληκτρολογήστε κάποια πράγματα σε αυτό και να το αποθηκεύσετε, 216 00:11:55,280 --> 00:11:58,240 αυτό το αρχείο θα αποθηκευτεί σε η υποκείμενη παράδειγμα. 217 00:11:58,240 --> 00:12:02,310 >> Αλλά το ίδιο το συντάκτη, αυτό το ίδιο παράθυρο τερματικού, 218 00:12:02,310 --> 00:12:05,700 Όλα αυτά υλοποιούνται σε JavaScript και είναι ένα plug-in 219 00:12:05,700 --> 00:12:09,800 ότι μπορούμε να αλληλεπιδρούν με, και ως εκ τούτου να τροποποιήσει. 220 00:12:09,800 --> 00:12:11,450 Υπάρχει μια μεγάλη επεκτασιμότητα εδώ. 221 00:12:11,450 --> 00:12:14,690 Θα ήθελα να συστήσω τη λήψη μια ματιά στο GitHub λογαριασμό Cloud 9 του 222 00:12:14,690 --> 00:12:17,790 για να δείτε τη μεγάλη ποσότητα των plug-ins που είναι διαθέσιμα, 223 00:12:17,790 --> 00:12:23,070 και πόσο καλά γράψει πολλά του κώδικα είναι για εκτασιμότητα. 224 00:12:23,070 --> 00:12:24,920 Έτσι, υπάρχει κάτι ότι θέλω να αναφέρω 225 00:12:24,920 --> 00:12:30,480 γι 'αυτό, καθώς, η οποία είναι ότι υπάρχουν πολλοί of-- υπάρχει 226 00:12:30,480 --> 00:12:33,450 πολλές λειτουργίες που είναι παρέχονται στις προτιμήσεις 227 00:12:33,450 --> 00:12:37,970 παράθυρο, το οποίο έχουμε δει μόνο υπαινίχθηκε μόλις πριν από λίγα λεπτά. 228 00:12:37,970 --> 00:12:43,690 >> Ένα από τα πράγματα που μπορούμε να κάνουμε ως IDE προγραμματιστές, είτε ως Cloud 9 προγραμματιστές, 229 00:12:43,690 --> 00:12:47,410 είναι να κάνετε την ένεση στην πραγματικότητα κάποια πάνελ προτίμησή της δικής μας. 230 00:12:47,410 --> 00:12:50,660 Έτσι, η απλή λειτουργία, ή η λιγότερο άνετη λειτουργία, 231 00:12:50,660 --> 00:12:54,780 καθώς επίσης και η πληροφορία IDE, ή τα στατιστικά plug-in, 232 00:12:54,780 --> 00:12:58,560 έχει κάθε κάποια προτίμηση πάνελ που μας επιτρέπουν να τροποποιήσετε 233 00:12:58,560 --> 00:13:00,620 η συμπεριφορά του καθενός από αυτά. 234 00:13:00,620 --> 00:13:04,140 Θα παρατηρήσετε ότι αν πάω να το Προτιμήσεις και να πάει στις ρυθμίσεις του χρήστη, 235 00:13:04,140 --> 00:13:07,100 υπάρχει μια καρτέλα CS50, ένα που λέει πληροφορίες IDE. 236 00:13:07,100 --> 00:13:09,810 Και μπορώ να αλλάξω το πληροφορίες ανανέωσης ρυθμό. 237 00:13:09,810 --> 00:13:12,250 >> Ουσιαστικά, αυτό που συμβαίνει στα στατιστικά plug-in 238 00:13:12,250 --> 00:13:16,690 είναι ότι κάθε n-δευτερόλεπτα, όπου n-δευτερόλεπτα ορίζεται από αυτή την προτίμηση 239 00:13:16,690 --> 00:13:22,250 πάνελ, οι πληροφορίες είναι παρατραβηγμένο από το υποκείμενο παράδειγμα, αποστέλλεται 240 00:13:22,250 --> 00:13:25,490 πίσω προς την πλευρά του πελάτη, Το plug-in είναι τότε 241 00:13:25,490 --> 00:13:28,650 ερμηνεία της πληροφόρησης από την υποκείμενη παράδειγμα 242 00:13:28,650 --> 00:13:31,470 και την ενημέρωση του GUI όπως είναι απαραίτητο. 243 00:13:31,470 --> 00:13:34,710 Μπορούμε να δούμε ότι τώρα αυτό έχει οριστεί έως 30 δευτερόλεπτα, και αυτό είναι η προεπιλογή. 244 00:13:34,710 --> 00:13:37,950 Αλλά σίγουρα μπορώ να αλλάξω πόσο γρήγορα αυτό θα συμβεί μόνο 245 00:13:37,950 --> 00:13:40,520 τροποποιώντας την τιμή αυτή. 246 00:13:40,520 --> 00:13:44,330 >> Τώρα, ένα από τα ενδιαφέροντα πράγματα είναι ότι αυτό το πάνελ προτίμησης, GUI, 247 00:13:44,330 --> 00:13:49,560 είναι πραγματικά ακριβώς μια έκδοση GUI των πολύ βασική ρυθμίσεις 248 00:13:49,560 --> 00:13:52,220 που παρουσιάζονται σε JSON. 249 00:13:52,220 --> 00:13:56,336 Έτσι, αν πάω, για παράδειγμα, σύμφωνα με το CS50 μενού IDE, ή το μενού Cloud 9, 250 00:13:56,336 --> 00:13:58,210 ανάλογα με το ποια έκδοση κοιτάτε, 251 00:13:58,210 --> 00:14:00,460 και να πάει σε ένα από αυτά settings-- σε αυτή την περίπτωση, 252 00:14:00,460 --> 00:14:03,420 Το έργο settings-- η ρυθμίσεων του σχεδίου σε αυτή την περίπτωση 253 00:14:03,420 --> 00:14:07,740 ισχύει για όλες τις ρυθμίσεις για αυτό το χώρο εργασίας. 254 00:14:07,740 --> 00:14:11,620 Λαμβάνοντας υπόψη ότι η εφαρμογή των ρυθμίσεων του χρήστη σε όλους τους χώρους εργασίας 255 00:14:11,620 --> 00:14:15,110 ότι μπορεί να έχετε στο λογαριασμό σας. 256 00:14:15,110 --> 00:14:18,520 >> Έτσι ακριβώς όπως ένα μέρος εδώ, για να είναι extra clear, 257 00:14:18,520 --> 00:14:22,570 υπάρχει ένας διαχωρισμός μεταξύ της δύο, διότι αν και εξ ορισμού είμαστε 258 00:14:22,570 --> 00:14:26,490 έχουν ένα χώρο εργασίας, η οποία CS50 είναι η IDE, αν 259 00:14:26,490 --> 00:14:31,900 ήταν να κάνετε κλικ στο μικρό σας avatar μέχρι εδώ και να πάει στο ταμπλό, 260 00:14:31,900 --> 00:14:35,820 θα διαπιστώσετε ότι μπορείτε πραγματικά να τη δημιουργία πρόσθετων χώρων εργασίας, καθώς και. 261 00:14:35,820 --> 00:14:39,140 Μπορείτε να δείτε εδώ ότι εγώ έχω ένα IDE 50 χώρου εργασίας, καθώς επίσης και 262 00:14:39,140 --> 00:14:41,930 για τους σκοπούς του παρόντος σεμιναρίου, ένας χώρος εργασίας 263 00:14:41,930 --> 00:14:45,084 που ονομάζεται χώρος εργασίας, η οποία είναι ακριβώς εδώ. 264 00:14:45,084 --> 00:14:46,750 Έτσι κι αλλιώς, έχω διαφορετικές προτιμήσεις. 265 00:14:46,750 --> 00:14:49,910 Κάθε ένα από αυτά θα μπορούσε να έχει ξεχωριστές προτιμήσεις του έργου, 266 00:14:49,910 --> 00:14:54,091 αλλά οι προτιμήσεις των χρηστών είναι μοιράζεται ανάμεσα σε όλους τους χώρους εργασίας μου. 267 00:14:54,091 --> 00:14:55,840 Με τον τρόπο, αυτό είναι επίσης πολύ βολικό αν 268 00:14:55,840 --> 00:14:59,080 θέλουν να δημιουργήσουν ένα χώρο εργασίας με διαφορετικές επιλογές προσαρμογής. 269 00:14:59,080 --> 00:15:01,640 Και είναι πολύ βολικό να δημιουργήσετε ένα νέο χώρο εργασίας. 270 00:15:01,640 --> 00:15:04,230 Και επιλέξτε μία που θα μπορούσε να προ-ρυθμισμένες με κάποιον άλλο τρόπο, 271 00:15:04,230 --> 00:15:07,000 ίσως για την PHP συγκεκριμένα, ή Django ειδικά. 272 00:15:07,000 --> 00:15:08,960 Ή ακόμα και ακριβώς έθιμο. 273 00:15:08,960 --> 00:15:11,320 Ο χώρος εργασίας CS50 πρότυπο είναι εκείνο που εμείς 274 00:15:11,320 --> 00:15:15,420 χρήση που εγκαθιστά αυτόματα Update 50 και όλες τις ρυθμίσεις 275 00:15:15,420 --> 00:15:20,531 ότι έχουμε εκεί, συμπεριλαμβανομένων όλων των plug-ins που έχουμε για τον IDE CS50. 276 00:15:20,531 --> 00:15:21,030 ΕΝΤΆΞΕΙ. 277 00:15:21,030 --> 00:15:22,200 Αλλά ας επανέλθουμε σε αυτό. 278 00:15:22,200 --> 00:15:25,640 Έτσι και πάλι, υπάρχουν έργα ρυθμίσεις, και αυτά είναι εκείνα 279 00:15:25,640 --> 00:15:27,140 ότι εξετάζουμε εδώ. 280 00:15:27,140 --> 00:15:29,056 Και παρατηρώ ότι υπάρχει είναι ένα μάτσο ρυθμίσεις, 281 00:15:29,056 --> 00:15:32,720 πολλοί από τους οποίους αντιστοιχούν με τις προτιμήσεις πάνελ, αλλά όχι όλα από αυτά. 282 00:15:32,720 --> 00:15:40,800 Αλλά μπορούμε να δούμε ότι εδώ, στην this-- ω Όχι, δεν το έβαλα στις ρυθμίσεις χρήστη; 283 00:15:40,800 --> 00:15:43,280 Ίσως έβαλα στις ρυθμίσεις του χρήστη. 284 00:15:43,280 --> 00:15:45,480 Και αυτό, εδώ είμαστε. 285 00:15:45,480 --> 00:15:49,840 Στις ρυθμίσεις του χρήστη, μπορούμε βλέπουμε ότι έχουμε ένα τμήμα CS50, 286 00:15:49,840 --> 00:15:53,762 και αυτό γράφεται να από αυτά Cloud 9 plug-ins 287 00:15:53,762 --> 00:15:54,720 ότι έχουμε την εφαρμογή τους. 288 00:15:54,720 --> 00:15:57,400 Υπάρχει το απλό να αντιστοιχούν με αυτό το απλό plug-in, 289 00:15:57,400 --> 00:16:00,930 και τα στατιστικά στοιχεία των οποίων το ένα αντιστοιχεί στο εν λόγω GUI με βάση 290 00:16:00,930 --> 00:16:02,440 εκδοχή του πίνακα προτίμησης. 291 00:16:02,440 --> 00:16:05,740 Ο ρυθμός ανανέωσης, σε αυτό το περίπτωση, έχει οριστεί σε 20 δευτερόλεπτα. 292 00:16:05,740 --> 00:16:09,740 >> Αυτό είναι όλο, ελπίζουμε, η απαρχές ορισμένων πληροφοριών 293 00:16:09,740 --> 00:16:14,420 ότι θα δούμε πραγματικά σε λίγο λίγο πιο αναλυτικά, στιγμιαία. 294 00:16:14,420 --> 00:16:14,920 ΕΝΤΆΞΕΙ. 295 00:16:14,920 --> 00:16:17,520 Ας πούμε ότι θέλουμε να πραγματικά να πάρει κάτω σε αυτό. 296 00:16:17,520 --> 00:16:20,600 Αντιλαμβανόμαστε ότι όλα τα πράγματα ότι συμβαίνει στην πλευρά του client 297 00:16:20,600 --> 00:16:24,560 γίνεται πραγματικότητα με το πρόγραμμα περιήγησης, το οποίο σημαίνει ότι οποιαδήποτε plug-ins που γράφω 298 00:16:24,560 --> 00:16:27,990 πρόκειται να γραφτεί με το πρόγραμμα περιήγησης στο μυαλό. 299 00:16:27,990 --> 00:16:30,830 Και αν πραγματικά θέλετε να κάνετε τίποτα στο χώρο εργασίας, 300 00:16:30,830 --> 00:16:33,360 Θα πρέπει ίσως να κινήσει κάποιο είδος επικοινωνίας 301 00:16:33,360 --> 00:16:35,970 μεταξύ του browser και ο χώρος εργασίας να είναι σίγουρος 302 00:16:35,970 --> 00:16:38,212 ότι αυτό που επιτυγχάνεται. 303 00:16:38,212 --> 00:16:40,170 Αλλά ας πούμε ότι τώρα Θέλω να πιάσουμε αυτό 304 00:16:40,170 --> 00:16:43,440 και στην πραγματικότητα να δημιουργήσουν το πρώτο μου plug-in. 305 00:16:43,440 --> 00:16:48,970 Λοιπόν, με τον τρόπο που θα είναι σε θέση για να γίνει αυτό είναι πραγματικά αρκετά εύκολο. 306 00:16:48,970 --> 00:16:51,370 Είναι δεδομένο στο Cloud 9 SDK. 307 00:16:51,370 --> 00:16:55,520 Αλλά είναι να πάρει σας υπάρχον όνομα χώρου εργασίας, η οποία 308 00:16:55,520 --> 00:16:59,810 είναι η διεύθυνση URL που έχετε στην κορυφή μπαρ σας, και προσθέστε την ακόλουθη σε αυτό. 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 Τώρα, τι αυτό πρόκειται να επιτρέψει είναι ότι το SDK = 1, θα ορίσετε στην πραγματικότητα το SDK 313 00:17:08,260 --> 00:17:11,430 λειτουργία για να είναι αληθινό, η οποία θα επιτρέψει μερικά επιπλέον πράγματα. 314 00:17:11,430 --> 00:17:15,770 Και debug = 2 θα επιτρέψει μηνύματα λάθους να είναι λίγο πιο φλύαρη. 315 00:17:15,770 --> 00:17:20,170 >> Και έτσι, αν σας φέρει μέχρι το JavaScript κονσόλα στην καρτέλα του έργου σας Chrome, 316 00:17:20,170 --> 00:17:22,829 που πραγματικά θα είναι σε θέση να δείτε πολλές περισσότερες πληροφορίες 317 00:17:22,829 --> 00:17:24,349 από ό, τι θα ήταν διαφορετικά. 318 00:17:24,349 --> 00:17:28,310 Γι 'αυτό συνιστούμε να απενεργοποιήσετε τα δύο αυτά επί συγχρόνως, γιατί πραγματικά 319 00:17:28,310 --> 00:17:31,170 Είναι χρήσιμο να έχουμε όλα αυτά Επιπλέον πληροφορίες. 320 00:17:31,170 --> 00:17:35,330 Είναι σημαντικό να σημειωθεί, ωστόσο, ότι ενεργοποίηση του εντοπισμού σφαλμάτων στην τιμή των 2 321 00:17:35,330 --> 00:17:38,120 που σημαίνει ότι είναι πολύ φλύαρη, και στην πραγματικότητα 322 00:17:38,120 --> 00:17:42,590 Θα κάπως επιβραδυνθεί αισθητά IDE σας, ειδικά κατά τη φόρτωση 323 00:17:42,590 --> 00:17:45,657 ή όταν κάνετε κάνουν βαριές εργασίες. 324 00:17:45,657 --> 00:17:46,740 Έτσι απλά να το έχουμε κατά νου. 325 00:17:46,740 --> 00:17:51,500 Είναι χρήσιμο για την ανάπτυξη, αλλά θα δεν μπορεί να θέλουν να έχουν όλη την ώρα. 326 00:17:51,500 --> 00:17:53,080 >> Ας το κάνουμε αυτό πραγματικότητα. 327 00:17:53,080 --> 00:17:59,374 Αλλά σε αυτή την περίπτωση, έχω πραγματικά ήδη δημιουργήσει ένα χώρο εργασίας με αυτό. 328 00:17:59,374 --> 00:18:00,540 Ας δούμε λοιπόν, SDK = 1 & debug = 2. 329 00:18:00,540 --> 00:18:03,140 330 00:18:03,140 --> 00:18:07,770 Με ένα ζευγάρι των plug-ins ελπίζω ήδη εγκατασταθεί. 331 00:18:07,770 --> 00:18:08,340 Εντάξει. 332 00:18:08,340 --> 00:18:15,050 Έτσι τώρα που έχω γυρίσει στο debug SDK λειτουργία, παρατηρήστε ότι είμαστε σε κατάσταση εντοπισμού σφαλμάτων, 333 00:18:15,050 --> 00:18:20,430 ώστε να μπορούμε να δούμε τα εργαλεία dev για να δείτε τυχόν λάθη, τα οποία θα κάνω offscreen. 334 00:18:20,430 --> 00:18:23,110 Μπορούμε να δούμε ότι υπάρχει ένα μάτσο λάθη εδώ. 335 00:18:23,110 --> 00:18:28,090 Τώρα είναι πραγματικά αρκετά κοινό για Cloud 9 να έχουμε ένα ζευγάρι των λαθών, 336 00:18:28,090 --> 00:18:30,680 και εγώ δεν θα ανησυχούσα γι 'αυτούς μέχρι να 337 00:18:30,680 --> 00:18:32,930 δείτε κάτι που θα μπορούσε να να είναι ειδικά για το plug-in 338 00:18:32,930 --> 00:18:34,510 ότι τυχαίνει να είναι η δημιουργία. 339 00:18:34,510 --> 00:18:37,620 >> Έτσι, εδώ, για παράδειγμα, παίρνουμε ένα ζευγάρι των 404s-- δεν βρέθηκε. 340 00:18:37,620 --> 00:18:42,910 Βλέπουμε δεν είμαστε σε θέση να φορτώσει κάποια πληροφορίες εκτός της υποκείμενης παράδειγμα 341 00:18:42,910 --> 00:18:43,670 εαυτό. 342 00:18:43,670 --> 00:18:46,545 Και υπάρχει μια δέσμη των πρόσθετων πληροφοριών, αλλά τα περισσότερα από αυτά είμαστε 343 00:18:46,545 --> 00:18:47,970 στην πραγματικότητα πρόκειται να αγνοήσει για τώρα. 344 00:18:47,970 --> 00:18:50,130 Επειδή αυτό είναι αρκετά κοινό για ένα χώρο εργασίας 345 00:18:50,130 --> 00:18:53,200 να έχουν μόνο ένα ζευγάρι των λαθών. 346 00:18:53,200 --> 00:18:53,700 ΕΝΤΆΞΕΙ. 347 00:18:53,700 --> 00:18:56,680 Πάω να κινηθεί έξω από αυτό Ο τρόπος και επιστρέψτε εδώ. 348 00:18:56,680 --> 00:19:01,860 Και τώρα ο εύκολος τρόπος, το ωραίο πράγμα σχετικά με αυτό τον προγραμματιστή 349 00:19:01,860 --> 00:19:07,330 Έχει ενεργοποιηθεί η λειτουργία είναι ότι μου επιτρέπει για να δημιουργήσετε εύκολα ένα νέο plug-in. 350 00:19:07,330 --> 00:19:12,390 >> Έτσι, ενώ πριν εγώ πραγματικά δεν το έκανε έχουν στη διάθεσή τους νέα αυτή δυνατότητα plug-in, 351 00:19:12,390 --> 00:19:16,460 το οποίο μπορούμε να δούμε αν πάω πίσω στο μη λειτουργία του έργου μου εδώ, 352 00:19:16,460 --> 00:19:18,510 δεν υπάρχει νέο plug-in. 353 00:19:18,510 --> 00:19:23,220 Με την ενεργοποίηση της λειτουργίας SDK, Ι έχουν ένα νέο plug-in που διατίθεται 354 00:19:23,220 --> 00:19:25,660 και μπορώ εύκολα να δημιουργήσετε ένα. 355 00:19:25,660 --> 00:19:28,160 Σε αυτήν την περίπτωση, υπάρχει ένα ζευγάρι διαφορετικές επιλογές, απλά, 356 00:19:28,160 --> 00:19:30,850 ένα άδειο plug-in, ένα πλήρες plug-in, εγκατάστασης, Cloud 9 δέσμη. 357 00:19:30,850 --> 00:19:33,030 Ας επιλέξουν ένα άδειο plug-in για την επιχείρηση 358 00:19:33,030 --> 00:19:37,670 έτσι ώστε να μπορούμε να δούμε μια πολύ απλή έκδοση ενός. 359 00:19:37,670 --> 00:19:41,520 >> Τώρα παρατηρήσετε ότι το μήκος αριστερή πλευρά που είναι τώρα υπάρχει 360 00:19:41,520 --> 00:19:45,080 κάτι κάτω από αγαπημένα, η οποία απαριθμεί ένα ζευγάρι των plug-ins 361 00:19:45,080 --> 00:19:47,020 που είναι τώρα στη διάθεσή μου. 362 00:19:47,020 --> 00:19:50,420 Αν μπορώ να επεκτείνουν αυτό, θα να είναι σε θέση να δείτε αυτούς. 363 00:19:50,420 --> 00:19:52,730 Τώρα θέλω να παρατηρήσετε κάτι εδώ, το οποίο 364 00:19:52,730 --> 00:19:58,260 είναι ότι αυτό δεν είναι πραγματικά περιέχεται μέσα στον κατάλογο χώρου εργασίας 365 00:19:58,260 --> 00:20:03,190 των υποκείμενων Ubuntu παράδειγμα μου, αλλά περιέχεται στο σκληρό δίσκο. 366 00:20:03,190 --> 00:20:06,330 Και όταν αυτό βρίσκεται, επειδή Αυτό είναι πολύ χρήσιμο να γνωρίζουμε, 367 00:20:06,330 --> 00:20:09,570 ειδικά αν πρόκειται να να κάνει τίποτα με το Git, 368 00:20:09,570 --> 00:20:16,870 όταν αυτό βρίσκεται είναι σε ένα φάκελο .c9, / plugins. 369 00:20:16,870 --> 00:20:21,110 Έτσι, αν πάω εκεί, μπορούμε να δούμε ότι τώρα ο κατάλογος των plug-ins που είναι εδώ 370 00:20:21,110 --> 00:20:26,390 ταιριάζει με τη λίστα των plug-ins που θα είδε στην αριστερή πλευρά του χώρου εργασίας μου. 371 00:20:26,390 --> 00:20:28,610 >> Τώρα από προεπιλογή, και Αυτό είναι περίεργο, 372 00:20:28,610 --> 00:20:31,760 από προεπιλογή όταν δημιουργώ ένα νέα plug-in σε ένα χώρο εργασίας, 373 00:20:31,760 --> 00:20:36,620 δημιουργεί αυτό το plug-in που από προεπιλογή έχει όνομα μιας υπογράμμισης. 374 00:20:36,620 --> 00:20:39,760 Γενικά στοιχεία που θα μπορούσαν να προκαλέσει κάποια προβλήματα. 375 00:20:39,760 --> 00:20:42,340 Έτσι, το επόμενο βήμα είναι πολύ που συνήθως εκτελούν 376 00:20:42,340 --> 00:20:45,880 Είναι ακριβώς για να αφαιρέσετε ότι Ειδικότερα plug-in 377 00:20:45,880 --> 00:20:52,810 και αφήστε μόνο το απλό plug-in που υπήρχε αρχικά, plugin.simple. 378 00:20:52,810 --> 00:20:55,430 Και αυτό είναι το μόνο που υπάρχει. 379 00:20:55,430 --> 00:20:55,930 ΕΝΤΆΞΕΙ. 380 00:20:55,930 --> 00:20:58,380 >> Λοιπόν, τι σημαίνει αυτό στην πραγματικότητα μοιάζει; 381 00:20:58,380 --> 00:21:01,210 Λοιπόν, αυτό είναι, και πάλι, ένα πακέτο JavaScript 382 00:21:01,210 --> 00:21:05,220 που περιλαμβάνει μερικά αρχεία, συμπεριλαμβανομένου ενός plugin.js αρχείο, όπου 383 00:21:05,220 --> 00:21:07,700 το κύριο περιεχόμενο της μου plug-in βρίσκεται, 384 00:21:07,700 --> 00:21:10,590 ένα αρχείο package.json, η οποία στην πραγματικότητα προσδιορίζει 385 00:21:10,590 --> 00:21:13,760 μερικά μεταδεδομένα σχετικά με αυτό το plug-in, όπως ποιος είναι ο συγγραφέας, 386 00:21:13,760 --> 00:21:19,240 οποιεσδήποτε πρόσθετες πληροφορίες σχετικά με αυτό, ένα περιγραφή του plug-in, και ούτω καθεξής. 387 00:21:19,240 --> 00:21:22,190 Και, επίσης, από προεπιλογή, δημιουργεί ένα κενό αρχείο README, 388 00:21:22,190 --> 00:21:26,100 και ένα άδειο δοκιμαστικό αρχείο για να μπορείτε να δημιουργήσει κάποια επιπλέον έγγραφα, 389 00:21:26,100 --> 00:21:29,430 και ένα λουρί δοκιμή εάν θα θέλατε να το κάνουμε αυτό. 390 00:21:29,430 --> 00:21:34,160 >> Έτσι, ας ρίξουμε μια ματιά στο πρώτο, πολύ γρήγορα, στο αρχείο package.json. 391 00:21:34,160 --> 00:21:38,240 Είναι αρκετά εύκολο να περάσουν μόνο μέσα αυτό και συμπληρώστε τα πεδία της 392 00:21:38,240 --> 00:21:42,510 ότι θα θέλατε να συμπληρώσετε, όπως παρέχει ένα όνομα, να δώσει μια περιγραφή, 393 00:21:42,510 --> 00:21:45,010 επαναλαμβάνοντας τον αριθμό έκδοσης κάθε τόσο συχνά, παρέχουν 394 00:21:45,010 --> 00:21:47,570 ένας συγγραφέας για κάθε πρόσωπο που συμβάλλει, 395 00:21:47,570 --> 00:21:53,000 προσθέστε τα στους συνεισφέροντες τμήμα, και το υπόλοιπο αυτού του σας 396 00:21:53,000 --> 00:21:56,390 μπορείτε λίγο πολύ απλά αφήστε όπως είναι για τώρα. 397 00:21:56,390 --> 00:21:58,490 >> Υπάρχει ένα πράγμα που είναι σημαντικό να παρατηρήσετε, 398 00:21:58,490 --> 00:22:04,990 ότι, σύμφωνα με το τμήμα plug-ins, υπάρχει ένα κλειδί που ονομάζεται plug-in. 399 00:22:04,990 --> 00:22:11,800 Και αυτό ταιριάζει με το όνομα του το αρχείο JavaScript που ονομάζεται plugin.js. 400 00:22:11,800 --> 00:22:18,290 Έτσι, αυτό είναι το πώς Cloud 9 ξέρει, όταν διαβάζει αυτό το αρχείο package.json, η οποία 401 00:22:18,290 --> 00:22:20,720 των js αρχεία για να φορτώσει στην πραγματικότητα. 402 00:22:20,720 --> 00:22:25,440 Αν μπορώ να δημιουργήσω επιπλέον js αρχεία ή θέλετε για να μετονομάσετε το αρχείο JS από το plug-in, 403 00:22:25,440 --> 00:22:30,380 Έχω, επίσης, να το αλλάξετε στο αρχείο package.json. 404 00:22:30,380 --> 00:22:33,660 >> Όλες οι ερωτήσεις από το ακροατήριο; 405 00:22:33,660 --> 00:22:34,160 Κανένα. 406 00:22:34,160 --> 00:22:38,100 Ότι ένα πρόσωπο που είναι παρακάτω μαζί μου μέχρι στιγμής. 407 00:22:38,100 --> 00:22:38,760 >> ΕΝΤΆΞΕΙ. 408 00:22:38,760 --> 00:22:42,300 Γι 'αυτό και πραγματικά έχουν δημιουργήσει ένα ζευγάρι των plug-ins ήδη, 409 00:22:42,300 --> 00:22:44,100 Πιστεύω ότι, σε αυτό το χώρο εργασίας. 410 00:22:44,100 --> 00:22:53,800 Ας απαλλαγούμε από ορισμένα από αυτά, προσθέστε SDK = 1 & debug = 2, φορτώστε ξανά αυτήν του χώρου εργασίας, 411 00:22:53,800 --> 00:22:58,780 και ας δούμε αν μπορούμε έχουν αυτά τα plug-ins τώρα. 412 00:22:58,780 --> 00:23:01,430 C9 / plugins. 413 00:23:01,430 --> 00:23:01,930 Ορίστε. 414 00:23:01,930 --> 00:23:06,910 Μπορούμε να δούμε τώρα μου C9 / plugins αυτό μία, έχουμε plugin.1 και plugin.2. 415 00:23:06,910 --> 00:23:15,260 Έτσι θα πάμε απλά να εντείνει the-- απλά να αυξήσει το ποσό της δυσκολίας 416 00:23:15,260 --> 00:23:16,660 σε κάθε μία από αυτές plug-ins. 417 00:23:16,660 --> 00:23:20,140 Αλλά εδώ, αν μπορώ να δημιουργήσω ένα νέο plug-in, Μπορώ να το προσθέσετε στα αγαπημένα μου. 418 00:23:20,140 --> 00:23:25,560 Και εγώ θα διαγράψει μόνο όσες από το υποκείμενο σύστημα αρχείων. 419 00:23:25,560 --> 00:23:28,050 >> Ας αφαιρέσει αυτό. 420 00:23:28,050 --> 00:23:33,206 Τώρα αν μπορώ να ανοίξω το πρώτο μου plug-in, και ανοιχτό plugin.js, 421 00:23:33,206 --> 00:23:39,980 μπορούμε να δούμε εδώ το υποκείμενο απλή έκδοση του plug-in. 422 00:23:39,980 --> 00:23:42,170 Επιτρέψτε μου να επιστρέψω στην πραγματικότητα σε αυτό το άλλο χώρο εργασίας 423 00:23:42,170 --> 00:23:47,160 επειδή μπορείτε τουλάχιστον, εδώ δείτε, τι ένα κενό plug-in που όντως μοιάζει. 424 00:23:47,160 --> 00:23:51,810 Έτσι, κάτω από την κουκούλα, αυτό φαίνεται πολύ παρόμοια με την τεχνολογία που ονομάζεται, 425 00:23:51,810 --> 00:23:53,780 Νομίζω, ότι είναι RequireJS. 426 00:23:53,780 --> 00:23:56,000 Παρατηρήστε ότι αυτό δεν να το δούμε, ίσως, 427 00:23:56,000 --> 00:23:59,150 το ίδιο με κάποιο άλλο JavaScript αρχεία που μπορεί να έχουμε δει. 428 00:23:59,150 --> 00:24:04,250 Αλλά αντ 'αυτού, υπάρχει ένα ζευγάρι μόνο βασικές γραμμές που έχει στην πραγματικότητα. 429 00:24:04,250 --> 00:24:06,900 >> Όλα αυτά τα πράγματα είναι η πρώτη ερμηνεύεται από τον IDE, 430 00:24:06,900 --> 00:24:09,940 αλλά στην πραγματικότητα δεν είναι διαρκέσει μέχρι καθορισμένη. 431 00:24:09,940 --> 00:24:13,610 Και θα σας πω για το πότε ότι σημαίνει στην πραγματικότητα σε μια στιγμή. 432 00:24:13,610 --> 00:24:17,840 Αλλά παρατηρώ ότι εδώ υπάρχει μια main.consumes γραμμή στη γραμμή 2, 433 00:24:17,840 --> 00:24:23,270 και αυτό παραθέτει όλα τα plug-ins ότι αυτό το plug-in εξαρτάται. 434 00:24:23,270 --> 00:24:27,150 Έτσι, από προεπιλογή, εμείς ίσως δεν έχουν οποιεσδήποτε εξαρτήσεις από άλλα plug-ins, 435 00:24:27,150 --> 00:24:30,530 αλλά όταν πραγματικά χρειάζεται να εξαρτώνται από τις λειτουργίες που παρέχονται 436 00:24:30,530 --> 00:24:34,900 από άλλα plug-ins στο IDE, θα πρέπει να περιλαμβάνεται κατάλογος των plug-ins 437 00:24:34,900 --> 00:24:36,890 στη γραμμή main.consumes. 438 00:24:36,890 --> 00:24:39,230 Και τότε θα πρέπει να σύνδεσή τους με τον κώδικα 439 00:24:39,230 --> 00:24:42,860 παρακάτω, το οποίο θα σας παρουσιάσω σε μόλις μια στιγμή για το πώς μπορούμε να το κάνουμε αυτό. 440 00:24:42,860 --> 00:24:46,100 >> Main.provides δίνει μια αναφέρουμε σε αυτό το plug-in 441 00:24:46,100 --> 00:24:49,190 ότι και άλλα plug-ins θα μπορούσε χρήση σε γραμμή καταναλώνει τους. 442 00:24:49,190 --> 00:24:52,480 Έτσι, στην περίπτωση αυτή, μου plug-in Είναι ακριβώς εκεί που από προεπιλογή, 443 00:24:52,480 --> 00:24:55,820 και θα πρέπει να το αλλάξουμε αυτό να είναι που ισχύουν για το δικό μας το plug-in, 444 00:24:55,820 --> 00:24:57,540 όπως θα δούμε σε λίγο χρόνο. 445 00:24:57,540 --> 00:25:01,230 Τώρα, εδώ στη λειτουργία κύριοι, αυτή η κύρια λειτουργία 446 00:25:01,230 --> 00:25:05,630 είναι στην πραγματικότητα τρέχει και να ερμηνευθεί, αλλά στην πραγματικότητα δεν κάνει πάρα πολύ. 447 00:25:05,630 --> 00:25:08,970 Απλά παίρνει πάντα που έχει συσταθεί, αλλά δεν ξεκινήσει στην πραγματικότητα το plug-in, 448 00:25:08,970 --> 00:25:11,220 παρά αυτό που ακούγεται σαν το όνομα. 449 00:25:11,220 --> 00:25:14,690 Αυτό συμβαίνει στην πραγματικότητα μέσω μια ακολουθία μεθόδων που 450 00:25:14,690 --> 00:25:16,820 περιέχονται σε όλη αυτή την plug-in. 451 00:25:16,820 --> 00:25:20,830 >> Έτσι, αν μετακινηθείτε προς τα κάτω, μπορούμε να δούμε ότι έχουμε έναν κύκλο ζωής, όπου 452 00:25:20,830 --> 00:25:25,100 σε κάποια εκδήλωση που ονομάζεται φορτίο, ή κάποια εκδήλωση που ονομάζεται ξεφορτώσουν, 453 00:25:25,100 --> 00:25:26,940 ορισμένα γεγονότα που συμβαίνουν στην πραγματικότητα. 454 00:25:26,940 --> 00:25:33,500 Είναι πραγματικά εδώ, όπου, όπως το plug-in ξεκινά ότι αυτές οι μέθοδοι ονομάζονται. 455 00:25:33,500 --> 00:25:37,240 Οπότε ας είμαστε λίγο πιο συγκεκριμένη γι 'αυτό και να δούμε ένα παράδειγμα. 456 00:25:37,240 --> 00:25:41,010 Τόσο εδώ για plugin.1, τι είμαστε κατά βάση πρόκειται να κάνουμε 457 00:25:41,010 --> 00:25:46,010 είναι να δημιουργήσει ένα στοιχείο μενού που ονομάζεται CS50 Σεμινάριο διαλόγου 1-- 458 00:25:46,010 --> 00:25:48,070 επειδή έχουμε δύο them-- και θα πάμε 459 00:25:48,070 --> 00:25:50,300 να κάνετε την ένεση στο μενού Παράθυρο. 460 00:25:50,300 --> 00:25:54,590 Και όταν κάνουμε κλικ σε αυτό, είμαστε πρόκειται να ανοίξει ένα διάλογο που 461 00:25:54,590 --> 00:25:56,290 μας δείχνει κάποιες πολύ βασικές πληροφορίες. 462 00:25:56,290 --> 00:25:58,050 >> Στην περίπτωση αυτή, μόνο ένα γεια κόσμο. 463 00:25:58,050 --> 00:26:01,880 Έτσι, αυτό είναι ένα πολύ απλό hello world διάλογο 464 00:26:01,880 --> 00:26:05,260 ότι μπορούμε να υλοποιήσουμε ως ένα plug-in Cloud 9. 465 00:26:05,260 --> 00:26:07,960 Οπότε ας δούμε πώς αυτή η πραγματικότητα μοιάζει. 466 00:26:07,960 --> 00:26:12,730 Θα βήμα μέσα από αυτό, απλά σχετικά γρήγορα γι 'αυτό 467 00:26:12,730 --> 00:26:15,580 μπορεί να κοιτάξει την επόμενη plug-in, καθώς και. 468 00:26:15,580 --> 00:26:19,510 Παρατηρήστε ότι εδώ είμαστε καταναλώνοντας μια ποικιλία των plug-ins. 469 00:26:19,510 --> 00:26:26,080 Είμαστε καταναλώνει ένα διάλογο plug-in, εντολές, μενού, και UI. 470 00:26:26,080 --> 00:26:30,440 Μοιάζει Εγώ πραγματικά είμαι καταναλώνουν διάλογος δύο φορές, ώστε να μπορώ να αφαιρέσετε αυτό. 471 00:26:30,440 --> 00:26:32,560 >> Και παρατηρώ ότι με τον τρόπο ότι είμαι να τους συνδέει, 472 00:26:32,560 --> 00:26:37,940 Αυτό είναι το είδος των μεταδεδομένων που είναι λέγοντάς το σύστημα plug-in ποιες απαιτήσεις 473 00:26:37,940 --> 00:26:41,480 είναι πραγματικά απαραίτητο γι 'αυτό το plug-in για να φορτώσει. 474 00:26:41,480 --> 00:26:46,400 Είναι επίσης σημαντικό να σημειωθεί ότι Για το ότι οι plug-ins φορτώνονται 475 00:26:46,400 --> 00:26:48,300 δεν είναι εγγυημένη. 476 00:26:48,300 --> 00:26:53,400 Αλλά αυτό που είναι εγγυημένο είναι ότι αν προσδιορίστε κάποιο plug-in ως προϋπόθεση, 477 00:26:53,400 --> 00:26:56,900 ότι το plug-in θα φορτωθεί πριν από αυτό είναι φορτωμένο. 478 00:26:56,900 --> 00:27:00,390 >> Έτσι, αυτό σημαίνει ότι αν σας plug-in απαιτεί για κάποια λειτουργία παρέχεται 479 00:27:00,390 --> 00:27:04,380 από κάτι άλλο στο IDE, θα πρέπει να είστε σίγουροι ότι το plug-in σας καταναλώνει 480 00:27:04,380 --> 00:27:09,260 ότι plug-in, έτσι ώστε οι εξαρτήσεις είναι βέβαιο ότι θα προκαλέσει plug-in σας, 481 00:27:09,260 --> 00:27:15,010 ή υπόσταση σας plug-in, μόνο μετά ότι υπάρχουν υφιστάμενο πλαίσιο. 482 00:27:15,010 --> 00:27:18,870 Έτσι, εδώ έχω αναφερθεί η μεταδεδομένα στο διαχειριστή plug-in, 483 00:27:18,870 --> 00:27:20,990 ποια ήταν αυτά Πάω να καταναλώνουν. 484 00:27:20,990 --> 00:27:24,910 Και στην κύρια λειτουργία εδώ, Πάω να συνδεθεί στη συνέχεια 485 00:27:24,910 --> 00:27:30,240 κωδικός μου για τα εισαγόμενα plug-ins. 486 00:27:30,240 --> 00:27:33,420 >> Έτσι, είμαι απλώς πρόκειται να δημιουργήσει μερικές μεταβλητές που 487 00:27:33,420 --> 00:27:36,620 ταιριάζουν με τα ονόματα του καθενός από αυτά, έτσι ότι μπορώ να τους αναφορά πολύ γρήγορα 488 00:27:36,620 --> 00:27:37,840 σε όλο τον κωδικό μου. 489 00:27:37,840 --> 00:27:41,840 Ο λόγος που είμαι εισαγωγής διάλογο είναι γιατί θέλω μου plug-in 490 00:27:41,840 --> 00:27:44,560 να ενεργεί ως διάλογος plug-in. 491 00:27:44,560 --> 00:27:49,320 Και ο τρόπος που είμαι σε θέση για να γίνει αυτό είναι να, φυσικά, 492 00:27:49,320 --> 00:27:52,740 συνδέστε τον κωδικό μου για το διάλογο plug-in από την εισαγωγή της 493 00:27:52,740 --> 00:27:57,210 και, στη συνέχεια, καθορίζοντας από δημιουργώντας μια νέα μεταβλητή διάλογο 494 00:27:57,210 --> 00:28:00,460 και τη σύνδεση με ότι τα εισαγόμενα plug-in. 495 00:28:00,460 --> 00:28:04,820 Και στη συνέχεια με τον ορισμό μου plug-in ως ένα νέο διάλογο. 496 00:28:04,820 --> 00:28:07,650 >> Έτσι, στην προετοιμασία, εγώ θέλετε να ορίσετε μου plug-in. 497 00:28:07,650 --> 00:28:10,440 Και αυτή η μεταβλητή που ονομάζεται plug-in θα δείτε 498 00:28:10,440 --> 00:28:14,030 Είναι ακριβώς χρησιμοποιούνται συνήθως όλη Cloud 9 plug-ins. 499 00:28:14,030 --> 00:28:16,980 Πάω να υπόσταση ενός νέου διάλογο με ορισμένες ιδιότητες, 500 00:28:16,980 --> 00:28:22,300 δώσετε ένα συγκεκριμένο όνομα, λένε ότι είναι δυνατό για τους χρήστες να το κλείσετε. 501 00:28:22,300 --> 00:28:24,960 Ότι θα δείξει ένα μικρό x στο η άνω δεξιά γωνία, 502 00:28:24,960 --> 00:28:27,529 ή ένα μικρό κουμπί στο κάτω δεξιά γωνία. 503 00:28:27,529 --> 00:28:30,570 Είτε ή δεν μπορώ να επιλέξετε κείμενο από ότι, ό, τι ο τίτλος αυτού του διαλόγου 504 00:28:30,570 --> 00:28:32,400 θα είναι, και ούτω καθεξής. 505 00:28:32,400 --> 00:28:36,330 Τώρα αυτό καθορίζει ακριβώς το διάλογο, αλλά δεν έχει ακόμη το δείχνουν. 506 00:28:36,330 --> 00:28:40,780 Εγώ πραγματικά πρέπει να ορίσουμε μια δράση για να μπορεί να δείξει. 507 00:28:40,780 --> 00:28:43,490 >> Και πάλι, θα ήθελα να σας ενθαρρύνω να ρίξτε μια ματιά στο Cloud 9 SDK, 508 00:28:43,490 --> 00:28:46,930 επειδή υπάρχουν διάλογοι ποικιλία και είναι πολύ καλά τεκμηριωμένες. 509 00:28:46,930 --> 00:28:50,500 Μπορείτε να δείτε τα διάφορα είδη ότι υπάρχουν, και να τις χρησιμοποιήσετε 510 00:28:50,500 --> 00:28:55,380 σε ό, τι plug-in που έχετε κατά νου. 511 00:28:55,380 --> 00:28:58,790 Τώρα υπάρχει πρόκειται να είναι μια τμήμα φορτίου, και αυτό το φορτίο 512 00:28:58,790 --> 00:29:03,390 λειτουργία όπως θα θυμάστε είναι χρησιμοποιείται από το plug-in του κύκλου ζωής 513 00:29:03,390 --> 00:29:07,060 για την υπόσταση στην πραγματικότητα τα πάντα και να πάρει τα πάντα έτοιμα να ξεκινήσουν. 514 00:29:07,060 --> 00:29:11,440 Τώρα, όταν αυτό το plug-in φορτία, δεν το κάνω θέλουν να δείξουν αμέσως έναν διάλογο, 515 00:29:11,440 --> 00:29:14,160 επειδή αυτό το plug-in θα φορτώσει μαζί με το υπόλοιπο του IDE. 516 00:29:14,160 --> 00:29:17,850 Και όταν τοποθετήσετε αυτόν τον IDE, δεν θέλω ο διάλογος να εμφανιστεί αυτόματα. 517 00:29:17,850 --> 00:29:24,170 Το μόνο που θέλω είναι να δείξει όταν κάνω κλικ στο η επιλογή μενού στο παράθυρο μενού μου 518 00:29:24,170 --> 00:29:26,760 ότι θα ήθελα να προσθέσω σε αυτό στιγμιαία. 519 00:29:26,760 --> 00:29:29,480 >> Έτσι, υπάρχουν δύο διακριτά στάδια εδώ που πρέπει να συμβεί. 520 00:29:29,480 --> 00:29:32,640 Θα πρέπει να δημιουργήσουμε μια εντολή και η εντολή 521 00:29:32,640 --> 00:29:37,940 θα είναι υπεύθυνος για την πραγματικότητα δείχνει τον διάλογο για το Cloud 9 IDE. 522 00:29:37,940 --> 00:29:42,670 Και τότε έχω να συνδεθείτε, θα Πρέπει να δημιουργήσετε ένα νέο μενού του παραθύρου 523 00:29:42,670 --> 00:29:46,070 στοιχείο, που τρέχει αυτήν την εντολή. 524 00:29:46,070 --> 00:29:49,740 Έτσι ώστε όταν κάνω κλικ σε αυτό το παράθυρο μενού, η εντολή αυτή είναι συνέχεια τρέξιμο 525 00:29:49,740 --> 00:29:52,290 και ως εκ τούτου ο διάλογος μου εμφανίζεται τότε. 526 00:29:52,290 --> 00:29:55,690 Και έτσι αυτό είναι πραγματικά ένα όμορφο ωραίος τρόπος σκέψης σχετικά με αυτό. 527 00:29:55,690 --> 00:30:01,480 >> Επειδή το πρώτο μπορώ να δημιουργήσω μια εντολή του οποίου το όνομα CS50 Σεμινάριο Dialog 1, 528 00:30:01,480 --> 00:30:04,860 ότι παρέχει κάποια γενικό πλαίσιο για αυτό. 529 00:30:04,860 --> 00:30:08,930 Και το σημαντικό κομμάτι εδώ είναι να Παρατηρήστε την παράμετρο ΕΚΤΕΛ, η οποία 530 00:30:08,930 --> 00:30:15,160 παραθέτει μια λειτουργία που θα ονομάζεται κατά τη γνώμη μου το plug-in, όταν αυτή η εντολή εκτελείται. 531 00:30:15,160 --> 00:30:21,980 Έτσι, αυτή η εντολή είναι κάπως σαν a-- είναι απλώς μια αυθαίρετη Cloud 9 532 00:30:21,980 --> 00:30:25,780 εντολών που είναι διαθέσιμες σε κάθε Cloud 9 plug-in. 533 00:30:25,780 --> 00:30:30,290 Αλλά η πραγματική λειτουργία που είναι Θα τηλεφωνήσω όταν αυτή η εντολή εκτελείται 534 00:30:30,290 --> 00:30:35,010 είναι η λειτουργία παρουσίασης διάλογος σε plugin.js αρχείο μου. 535 00:30:35,010 --> 00:30:38,550 >> Και μπορούμε πραγματικά να δείτε αυτά τα plug-ins και η λίστα 536 00:30:38,550 --> 00:30:45,480 των εντολών που είναι διαθέσιμες σε εμάς Προτιμήσεις, μετακινηθείτε σε όλη τη διαδρομή down-- 537 00:30:45,480 --> 00:30:48,180 Ας δούμε, πράγματι βλέπουμε αυτό τώρα; 538 00:30:48,180 --> 00:30:53,180 Plug-in διευθυντής, Όχι, νομίζω ότι είναι I-- σίγουρα κάπου εδώ γύρω. 539 00:30:53,180 --> 00:31:00,016 Λοιπόν, υπάρχει μια λίστα εντολών κάπου, αλλά πρέπει να έχω, 540 00:31:00,016 --> 00:31:01,140 Έχω ξεχάσει πού είναι. 541 00:31:01,140 --> 00:31:02,430 Έτσι Εντάξει, εμείς θα προχωρήσουμε. 542 00:31:02,430 --> 00:31:02,930 Εντάξει. 543 00:31:02,930 --> 00:31:05,790 Έτσι, έχουμε μια λίστα εντολών που έχουμε στη διάθεσή μας, 544 00:31:05,790 --> 00:31:08,550 και αυτές οι εντολές είναι αυτά ακριβώς αυθαίρετη Cloud 9 545 00:31:08,550 --> 00:31:10,870 εντολές που εκτελούν ειδικό κωδικό. 546 00:31:10,870 --> 00:31:13,620 Έτσι απλά να το έχουμε κατά νου, ότι θα πάμε για να τρέξει το παράθυρο διαλόγου παράσταση 547 00:31:13,620 --> 00:31:15,640 λειτουργεί στιγμιαία. 548 00:31:15,640 --> 00:31:19,740 Τώρα, όταν πραγματικά θέλετε να προσθέσετε ένα μενού στοιχείο, μπορώ να προσθέσω αυτό το στοιχείο από τη διαδρομή, 549 00:31:19,740 --> 00:31:25,570 και απλά προσδιορίζει ακριβώς εκεί που θέλω να είναι, Παράθυρο / CS50 Σεμινάριο Dialog 1. 550 00:31:25,570 --> 00:31:28,380 Και σε αυτό το σημείο, θέλω για να δημιουργήσετε ένα νέο στοιχείο που 551 00:31:28,380 --> 00:31:32,040 πρόκειται να εκτελέσετε μια εντολή, CS50 Σεμινάριο Dialog 1. 552 00:31:32,040 --> 00:31:36,140 Παρατηρήστε ότι και πάλι, αυτό είναι το Cloud 9 εντολή που έχω δημιουργήσει ακριβώς πάνω. 553 00:31:36,140 --> 00:31:38,630 >> Τώρα θέλω επίσης να δημιουργήσετε ένα μικρό διαχωριστικό, 554 00:31:38,630 --> 00:31:42,260 και γι 'αυτό μπορεί να κάνει το ίδιο στην επόμενη γραμμή. 555 00:31:42,260 --> 00:31:46,040 Τώρα μπορείτε να παρατηρήσετε ότι μέρος του ορισμού αυτό το στοιχείο μενού, 556 00:31:46,040 --> 00:31:48,200 υπάρχει ένας αριθμός που συνδέονται με αυτό το οποίο 557 00:31:48,200 --> 00:31:51,260 στην πραγματικότητα λέει πού ακριβώς Θέλω αυτό το στοιχείο μενού για να 558 00:31:51,260 --> 00:31:53,441 που βρίσκεται στη λίστα του μενού. 559 00:31:53,441 --> 00:31:55,190 Αλλά μπορείτε να παρατηρήσετε ότι εγώ δεν κάνω στην πραγματικότητα 560 00:31:55,190 --> 00:31:59,540 δείτε οποιουσδήποτε αριθμούς με Αυτά τα μενού, από προεπιλογή. 561 00:31:59,540 --> 00:32:04,630 Έτσι, υπάρχει ένα μικρό κρυφό πράγμα που μπορούμε να κάνουμε, μια μικρή αλλαγή στη διεύθυνση URL μας. 562 00:32:04,630 --> 00:32:12,920 Έτσι, εκτός από την SDK = 1 & debug = 2, Θα οριστεί το μενού για να 1-- 563 00:32:12,920 --> 00:32:14,690 και ελπίζω να είναι το μενού, δεν είναι τα μενού. 564 00:32:14,690 --> 00:32:17,001 Ω, είναι τα μενού = 1. 565 00:32:17,001 --> 00:32:17,500 Περίμενε. 566 00:32:17,500 --> 00:32:20,150 567 00:32:20,150 --> 00:32:24,690 >> Και τι θα δούμε κατά την επαναφόρτωση ότι IDE είναι ότι είμαι ακόμα σε κατάσταση εντοπισμού σφαλμάτων, 568 00:32:24,690 --> 00:32:27,540 αλλά τώρα υπάρχουν αριθμοί που σχετίζονται με όλα τα μενού. 569 00:32:27,540 --> 00:32:29,630 Και αυτό σας λέει ακριβώς ό, τι ο αριθμός 570 00:32:29,630 --> 00:32:34,730 είναι όταν προσπαθείτε να κάνετε την ένεση κάτι οπουδήποτε σε αυτό το σύστημα μενού. 571 00:32:34,730 --> 00:32:40,365 Έτσι, στο μενού Παράθυρο, μπορώ δείτε αυτό το στοιχείο 45 είναι να συνεργαστούν, 572 00:32:40,365 --> 00:32:43,820 και το σημείο 38, πριν να είναι εγκαταστάτη. 573 00:32:43,820 --> 00:32:47,530 Έτσι όταν θέλω να εισφέρει ένα στοιχείο μεταξύ των δύο, 574 00:32:47,530 --> 00:32:50,570 Θα ήθελα απλά επιλέξτε έναν αριθμό μεταξύ των δύο αυτών στοιχείων. 575 00:32:50,570 --> 00:32:56,200 Έτσι έχω επιλέξει 41 και εισάγεται Σεμινάριο μου Διάλογος στοιχείο 1 του μενού σε αυτή τη θέση. 576 00:32:56,200 --> 00:33:03,640 >> Και γι 'αυτό το νούμερο που εμφανίζεται εδώ είναι ο αριθμός 41. 577 00:33:03,640 --> 00:33:08,010 Αυτή είναι η θέση του εν λόγω μενού στο μενού Cloud 9. 578 00:33:08,010 --> 00:33:11,045 Τώρα Ομοίως, θα ήθελα να δημιουργήσει ένα διαιρέτη 579 00:33:11,045 --> 00:33:13,920 και προσθέτουν έτσι ώστε να υπάρχει ένα ωραίο διαίρεση μεταξύ καθενός από τα μενού 580 00:33:13,920 --> 00:33:14,490 αντικείμενα. 581 00:33:14,490 --> 00:33:18,600 Γι 'αυτό και πρόσθεσε ότι στη θέση 43. 582 00:33:18,600 --> 00:33:20,260 Μέχρι στιγμής, όλα καλά, ελπίζω; 583 00:33:20,260 --> 00:33:23,920 Έτσι, τώρα ας δούμε στην πραγματικότητα το συγκεκριμένο κωδικό στο παράθυρο διαλόγου παράσταση 584 00:33:23,920 --> 00:33:28,050 αυτό είναι πραγματικά υπεύθυνοι για το άνοιγμα αυτού του παραθύρου διαλόγου. 585 00:33:28,050 --> 00:33:32,710 >> Κύλιση προς τα κάτω, βλέπω ότι θέλω να έχουν αυτό το παράθυρο λειτουργία παράσταση, 586 00:33:32,710 --> 00:33:34,730 και είναι εξαιρετικά απλή. 587 00:33:34,730 --> 00:33:38,570 Πάω να τρέχει την παράσταση μέθοδος για τη μεταβλητή plug-in. 588 00:33:38,570 --> 00:33:43,900 Και να θυμάστε ότι αυτό που ορίσαμε plug-in μεταβλητή ως άνω διάλογο. 589 00:33:43,900 --> 00:33:48,530 Έτσι, μπαρ plug-in, σε αυτή την περίπτωση, είναι αυτή αντικείμενο που έχουμε καθορίσει εσωτερικά. 590 00:33:48,530 --> 00:33:53,030 Και αυτό πρόκειται να είναι ένας νέος διάλογος που περιέχονται σε αυτό το plug-in. 591 00:33:53,030 --> 00:33:57,020 Και έτσι έχουμε στην πραγματικότητα αυτό που αναφέρεται plug-in μεταβλητή σε πολλά μέρη 592 00:33:57,020 --> 00:33:59,790 σε ένα τυπικό Cloud 9 περιβάλλον ανάπτυξης. 593 00:33:59,790 --> 00:34:00,867 >> Θα το δείτε εδώ. 594 00:34:00,867 --> 00:34:03,450 Παρατηρήστε ότι καθώς μετακινηθείτε προς τα κάτω, υπάρχει επιπλέον κύκλους ζωής. 595 00:34:03,450 --> 00:34:06,970 Έτσι, παρατηρούμε ότι αυτά ανταποκρίνονται σε γεγονότα που πυροδοτούνται 596 00:34:06,970 --> 00:34:10,500 με αυτό το αντικείμενο, αυτό το αντικείμενο διαλόγου. 597 00:34:10,500 --> 00:34:12,710 Από προεπιλογή, δεν υπάρχει φορτώσουν και να ξεφορτώσουν, η οποία 598 00:34:12,710 --> 00:34:14,760 είναι διαθέσιμη σε όλους τους Cloud 9 plug-ins. 599 00:34:14,760 --> 00:34:17,139 Αλλά στην περίπτωση Αυτός ο διάλογος, υπάρχει 600 00:34:17,139 --> 00:34:19,139 ένα άλλο γεγονός που μπορεί να πυρκαγιάς, καθώς επίσης ονομάζεται 601 00:34:19,139 --> 00:34:23,239 Ισοπαλία, η οποία απολύθηκε όταν η πρόκειται να συντάσσεται στην οθόνη, 602 00:34:23,239 --> 00:34:27,239 σε πρώτο βαθμό του διαλόγου που δείχνει. 603 00:34:27,239 --> 00:34:29,590 >> Έτσι, όταν στην πραγματικότητα είναι πρόκειται να δείξει, 604 00:34:29,590 --> 00:34:31,739 υπάρχει μετάβαση να μας παρέχετε κάποια HTML. 605 00:34:31,739 --> 00:34:34,710 Και χρησιμοποιώντας μόνο πρότυπο Πρακτικές HTML μπορούμε να κάνουμε 606 00:34:34,710 --> 00:34:41,030 εισφέρει κάποια πολύ απλές πληροφορίες, Γεια σας κόσμο μας, σε αυτό το διάλογο. 607 00:34:41,030 --> 00:34:47,780 Έτσι, αν μετακινηθείτε προς τα επάνω, μπορούμε δείτε στη συνέχεια την πομπή των πραγμάτων 608 00:34:47,780 --> 00:34:48,989 ότι αυτό είναι που συμβαίνουν. 609 00:34:48,989 --> 00:34:54,070 Πρώτα δημιουργήσαμε μια εντολή Cloud 9 ότι όταν εκτελούνται από Cloud 9, 610 00:34:54,070 --> 00:34:55,765 πρόκειται να βάλει φωτιά αυτή τη λειτουργία. 611 00:34:55,765 --> 00:34:58,390 Είναι πρόκειται να εκτελέσετε αυτή τη λειτουργία που ονομάζεται εκπομπή διαλόγου, που έχω 612 00:34:58,390 --> 00:34:59,720 γραμμένο σε κώδικα μου. 613 00:34:59,720 --> 00:35:04,350 >> Δημιούργησα ένα στοιχείο του μενού και που επισυνάπτονται σε αυτήν την ίδια εντολή 614 00:35:04,350 --> 00:35:08,550 ότι όταν αυτό το στοιχείο κάνει κλικ στο Το μενού, που η εντολή είναι στη συνέχεια, εκτελέστε 615 00:35:08,550 --> 00:35:10,780 και ότι η λειτουργία στη συνέχεια να τρέξει. 616 00:35:10,780 --> 00:35:14,080 Και μέσα της συνάρτησης είμαι ακριβώς πρόκειται να καλέσετε the-- είμαι 617 00:35:14,080 --> 00:35:17,250 ακριβώς πρόκειται να εκτελέσει την παράσταση μέθοδος αυτή plug-in, το οποίο 618 00:35:17,250 --> 00:35:20,800 θα πρώτη κλήση Η μέθοδος κλήρωση, και πηγαίνοντας 619 00:35:20,800 --> 00:35:28,050 στη φωτιά αυτής της μεθόδου αναφέρονται παρακάτω, η επιστήσω χειρισμού συμβάντων, στον κύκλο της ζωής μας. 620 00:35:28,050 --> 00:35:30,820 Και τότε θα είναι πράγματι δείχνουν το διάλογο. 621 00:35:30,820 --> 00:35:34,870 >> Υπάρχει επίσης μια μέθοδος απόκρυψης, έτσι ώστε να αν χρειάζονται την ευκαιρία να κρύψει 622 00:35:34,870 --> 00:35:37,610 διάλογος μου, μπορώ να κάνω το ίδιο πράγμα. 623 00:35:37,610 --> 00:35:42,060 Έτσι, αυτό είναι λίγο πολύ αυτό για να πάρετε όλα αυτά για να λειτουργήσει. 624 00:35:42,060 --> 00:35:45,160 Σημειώστε ότι, αν εμείς μετακινηθείτε προς τα κάτω περαιτέρω υπάρχει ένα πάγωμα δημόσιο API. 625 00:35:45,160 --> 00:35:51,020 Αυτό ουσιαστικά λέει απλά ότι εγώ θέλουν αυτές τις μεθόδους για την αποτελεσματική 626 00:35:51,020 --> 00:35:56,670 είναι δημόσια, αλλά δεν overwriteable έξω από το πλαίσιο αυτής της plug-in. 627 00:35:56,670 --> 00:36:00,410 Και κάτω, στο κάτω μέρος, είναι ίσως το τελευταίο πράγμα που 628 00:36:00,410 --> 00:36:03,180 ότι πρέπει πραγματικά να πληρώσουν πολλή προσοχή εδώ, η οποία 629 00:36:03,180 --> 00:36:09,540 είναι ότι πρόκειται να εγγραφούν μας plug-in με το όνομα C9 Σεμινάριο 1, 630 00:36:09,540 --> 00:36:11,920 και το αντικείμενο plug-in. 631 00:36:11,920 --> 00:36:14,870 >> Η οποία, όπως θα θυμάστε, είναι ότι plug-in που plug-in 632 00:36:14,870 --> 00:36:18,200 αντικείμενο που έχουμε τον ορισμό σε όλη τη διάρκεια αυτής της πηγής 633 00:36:18,200 --> 00:36:18,840 κώδικας. 634 00:36:18,840 --> 00:36:23,790 Και C9 Σεμινάριο 1 είναι η συμβολοσειρά που υποσχεθήκαμε 635 00:36:23,790 --> 00:36:26,350 να παράσχει στην κορυφή του ορισμού αυτού. 636 00:36:26,350 --> 00:36:29,280 637 00:36:29,280 --> 00:36:29,780 ΕΝΤΆΞΕΙ. 638 00:36:29,780 --> 00:36:34,160 Ας το ράμπα μέχρι λίγο και να δούμε αν μπορούμε να κάνουμε κάτι 639 00:36:34,160 --> 00:36:36,020 λίγο πιο ενδιαφέρουσα. 640 00:36:36,020 --> 00:36:38,350 Τώρα αυτό είναι μόνο τόσο μεγάλη. 641 00:36:38,350 --> 00:36:41,380 Θέλω να πω, αυτό είναι, στην πραγματικότητα είναι αρκετά δροσερό ότι σε τόσο λίγες γραμμές κώδικα, 642 00:36:41,380 --> 00:36:45,570 μπορούμε να τροποποιήσει το υπάρχον IDE και πρόσθεσε ένα υπάρχον στοιχείο του μενού 643 00:36:45,570 --> 00:36:48,850 ή να προσθέσετε ένα νέο στοιχείο μενού, προσθέστε την εντολή, και δείχνουν έναν διάλογο, 644 00:36:48,850 --> 00:36:51,040 και ένα μάτσο λειτουργικότητα που υπάρχει. 645 00:36:51,040 --> 00:36:54,550 Είναι πραγματικά πολύ μεγάλη. 646 00:36:54,550 --> 00:36:59,470 >> Αλλά δεν κάνει πολλά, διότι δεν μπορεί να επικοινωνεί με το υποκείμενο του Ubuntu 647 00:36:59,470 --> 00:37:00,450 παράδειγμα. 648 00:37:00,450 --> 00:37:02,560 Ας πούμε ότι εγώ πραγματικά θέλετε να μάθετε 649 00:37:02,560 --> 00:37:05,400 κάποιες πληροφορίες σχετικά με το υποκείμενες Ubuntu παράδειγμα, 650 00:37:05,400 --> 00:37:08,260 όπως τα στατιστικά plug-in κάνει. 651 00:37:08,260 --> 00:37:11,090 Έτσι, ας ρίξουμε μια ματιά σε ένα λίγο περισσότερες πληροφορίες 652 00:37:11,090 --> 00:37:13,730 σχετικά με το πώς τα στατιστικά plug-in έργα. 653 00:37:13,730 --> 00:37:15,900 Και στην πραγματικότητα, είναι πολύ παρόμοια με αυτό. 654 00:37:15,900 --> 00:37:17,680 Θα θυμάστε ίσως ότι υπάρχει ένας διάλογος. 655 00:37:17,680 --> 00:37:21,680 Ίσως να θυμάστε ότι υπάρχει κάποιες πληροφορίες που είναι 656 00:37:21,680 --> 00:37:24,860 εμφανίζεται ακριβώς κατά μήκος της γραμμής μενού μαζί η κορυφή, η οποία ελπίζουμε ότι θα είναι τώρα 657 00:37:24,860 --> 00:37:27,450 να πάρει μια γεύση για το πώς εφαρμόσαμε αυτό, 658 00:37:27,450 --> 00:37:32,360 απλά με την εισαγωγή των στοιχείων μενού σε συγκεκριμένες σημεία και εμφανίσεων διάλογο 659 00:37:32,360 --> 00:37:34,360 και την εμφάνιση αυτού του διαλόγου. 660 00:37:34,360 --> 00:37:36,580 >> Αλλά δεν έχουν δείξει ακόμα πώς μπορούμε να το συνδέσετε 661 00:37:36,580 --> 00:37:40,790 σε μια εντολή στην υποκείμενη Ubuntu παράδειγμα. 662 00:37:40,790 --> 00:37:46,930 Έτσι, ας ρίξουμε μια ματιά στη συνέχεια σε plugin.2, η οποία κάνει ακριβώς αυτό το πράγμα. 663 00:37:46,930 --> 00:37:50,540 Εμείς πάμε για να ανοίξει plugin.js, η οποία είναι ο κωδικός για αυτό. 664 00:37:50,540 --> 00:37:54,570 Αλλά κάτω από το μενού Παράθυρο, αν κάνω κλικ στο παράθυρο διαλόγου 2, 665 00:37:54,570 --> 00:37:58,290 μπορούμε να δούμε ότι το λέει αυτό Αντ 'αυτού, γεια CS50, η οποία 666 00:37:58,290 --> 00:38:01,800 δεν φαίνεται όλο αυτό το δελεαστικό, έτσι δεν είναι; 667 00:38:01,800 --> 00:38:04,310 Εκτός, να παρακολουθήσετε αυτό. 668 00:38:04,310 --> 00:38:07,020 Επιτρέψτε μου να αλλάξετε κάτι εδώ κάτω. 669 00:38:07,020 --> 00:38:11,540 >> Πάω να πάει να μου χώρο εργασίας και την αλλαγή του σεμιναρίου 670 00:38:11,540 --> 00:38:15,990 να πω κάτι άλλο, όπως Γεια σας, Νταν. 671 00:38:15,990 --> 00:38:18,150 Πάω να το κλείσετε και να το αποθηκεύσετε. 672 00:38:18,150 --> 00:38:22,740 Και τώρα πάω να επαναληφθεί μενού διαλόγου μου. 673 00:38:22,740 --> 00:38:25,590 Και παρατηρήσετε ότι έχει τώρα άλλαξε ό, τι λέει. 674 00:38:25,590 --> 00:38:26,880 Γεια σου, Νταν. 675 00:38:26,880 --> 00:38:30,680 Μου φαίνεται να έχουν κάνει κάτι προς τα κάτω εδώ στο υποκείμενο Ubuntu παράδειγμα 676 00:38:30,680 --> 00:38:34,370 χωρίς να έχει χειραγωγηθεί οποιαδήποτε κώδικα που και πάλι είναι σε λειτουργία μόνο 677 00:38:34,370 --> 00:38:35,720 από την πλευρά του πελάτη. 678 00:38:35,720 --> 00:38:40,380 Έτσι, υπάρχει προφανώς κάποιο είδος επικοινωνίας που συμβαίνει εδώ. 679 00:38:40,380 --> 00:38:44,550 >> Τώρα αυτό είναι όπου ένα μεγάλο μέρος της δύναμη του Cloud 9 SDK έρχεται, 680 00:38:44,550 --> 00:38:49,440 είναι ότι σε αυτό plugin.2, μπορούμε πραγματικά να προκαλέσει 681 00:38:49,440 --> 00:38:52,910 μια πρόσκληση για να συμβεί η υποκείμενη παράδειγμα, 682 00:38:52,910 --> 00:38:55,750 και να εκτελέσετε κάποια αυθαίρετη εντολή. 683 00:38:55,750 --> 00:39:00,230 Έτσι, σε αυτή την περίπτωση, έχω πραγματικά δημιούργησε ένα πολύ απλό σενάριο bash 684 00:39:00,230 --> 00:39:02,350 στο χώρο εργασίας μου που ονομάζεται Σεμινάριο. 685 00:39:02,350 --> 00:39:03,610 Επιτρέψτε μου λοιπόν να ανοίξετε το επάνω. 686 00:39:03,610 --> 00:39:05,370 Και μπορούμε να δούμε ότι μοιάζει με αυτό. 687 00:39:05,370 --> 00:39:08,310 Είναι απλά μια πολύ απλή bash γραφή των οποίων μοναδικός σκοπός στη ζωή 688 00:39:08,310 --> 00:39:11,920 θα είναι να επαναλάβω από αυτό το κείμενο, Γεια σας, Νταν. 689 00:39:11,920 --> 00:39:14,360 Ή πριν από αυτό, είπε Γεια σας, CS50. 690 00:39:14,360 --> 00:39:16,000 Και αυτό είναι ό, τι πρόκειται να κάνει. 691 00:39:16,000 --> 00:39:21,030 >> Επειδή αυτό είναι τώρα ένα εντολών που μπορώ να τρέξω. 692 00:39:21,030 --> 00:39:23,750 Μπορώ να τρέχουμε εδώ κάτω. 693 00:39:23,750 --> 00:39:28,440 Μπορούμε να δούμε ότι στην πραγματικότητα είναι ακριβώς μια εντολή που έχω τρέξει φυσικά. 694 00:39:28,440 --> 00:39:32,850 Μπορώ να ζητήσω μου το plug-in για να εκτελέσει αυτό εντολή στον υποκείμενο χώρο εργασίας 695 00:39:32,850 --> 00:39:36,510 και να αναλύσει τις πληροφορίες που επιστράφηκε από αυτό, 696 00:39:36,510 --> 00:39:40,300 και να κάνουμε κάτι με αυτό, και να τροποποιήσετε μου plug-in και τη συμπεριφορά που θα 697 00:39:40,300 --> 00:39:43,240 έχουν σε plug-in μου, ως αποτέλεσμα. ΕΝΤΆΞΕΙ. 698 00:39:43,240 --> 00:39:45,450 Ας δούμε πώς συμβαίνει αυτό. 699 00:39:45,450 --> 00:39:48,380 Είδαμε αυτό το πολύ απλό Σεμινάριο σενάριο παρτίδα, το οποίο θα 700 00:39:48,380 --> 00:39:51,080 [Δεν ακούγεται] ότι μπορεί να τρέξει πραγματικά. 701 00:39:51,080 --> 00:39:54,560 >> Και τώρα ας δούμε τις τροποποιήσεις που είναι απαραίτητες για να συνδέσει αυτό μαζί 702 00:39:54,560 --> 00:39:57,620 με το παράθυρο διαλόγου και να τρέξει. 703 00:39:57,620 --> 00:40:02,030 Έτσι, εδώ θα πάμε να κάνουμε αρκετά πολύ το ίδιο πράγμα, όπως είδαμε πριν. 704 00:40:02,030 --> 00:40:05,500 Να σημειωθεί όμως ότι μεταξύ των πράγματα που έχω καταναλώσει now-- 705 00:40:05,500 --> 00:40:09,090 εκτός από το διάλογο, ο οποίος και πάλι Τυχαίνει να έχω κάνει δύο φορές, 706 00:40:09,090 --> 00:40:14,300 η οποία δεν είναι necessary-- εκτός στο διάλογο και τις εντολές 707 00:40:14,300 --> 00:40:17,780 και τα μενού plug-ins, τα οποία ήταν αναγκαία στην πρώτη για μένα 708 00:40:17,780 --> 00:40:21,560 να ορίσει μια νέα εντολή και ένεση ενός στοιχείου στο μενού, 709 00:40:21,560 --> 00:40:25,010 Έχω, επίσης, αυτό το proc plug-in. 710 00:40:25,010 --> 00:40:28,500 >> Και αυτό το proc plug-in επιτρέπει μας για να χειραγωγήσουν τις διαδικασίες 711 00:40:28,500 --> 00:40:30,950 στο υποκείμενο παράδειγμα. 712 00:40:30,950 --> 00:40:34,970 Το έχω συνδεθεί αφού έχω είπε ότι μου plug-in απαιτεί. 713 00:40:34,970 --> 00:40:38,320 Έχω τότε συνδέεται με κωδικό, όπως είδαμε στην κύρια λειτουργία. 714 00:40:38,320 --> 00:40:40,970 Και πάλι, Πάω να η προετοιμασία του διαλόγου μου. 715 00:40:40,970 --> 00:40:45,500 Και αν μετακινηθεί προς τα κάτω τώρα, να δείτε πώς αυτό είναι διαφορετικό. 716 00:40:45,500 --> 00:40:49,040 Η λειτουργία φορτίο είναι το ίδιο, έτσι είναι ακριβώς πρόκειται να δημιουργήσει μια εντολή 717 00:40:49,040 --> 00:40:54,250 και να δημιουργήσει ένα στοιχείο του μενού και να συνδεθείτε ότι το στοιχείο του μενού σε αυτή την εντολή. 718 00:40:54,250 --> 00:40:56,690 Αλλά αν τώρα μετακινηθείτε προς τα κάτω για να δείξει το διάλογο, 719 00:40:56,690 --> 00:40:59,990 μπορούμε να αρχίσουμε να δείτε πού οι διαφορές προκύπτουν. 720 00:40:59,990 --> 00:41:04,170 >> Έχουμε λειτουργία προβολής του διαλόγου, η οποία πρόκειται ακριβώς για να δείξει το διάλογο. 721 00:41:04,170 --> 00:41:12,410 Αλλά όταν δείχνω αυτόν τον διάλογο, και όταν η μέθοδος παράσταση λέγεται, 722 00:41:12,410 --> 00:41:14,430 οι πυρκαγιές τη λειτουργία κλήρωση. 723 00:41:14,430 --> 00:41:18,990 Και Πάω να στη συνέχεια, καθορίστε μερικά περιεχόμενο μέσα από αυτό. 724 00:41:18,990 --> 00:41:21,910 Έτσι, είμαι απλώς πρόκειται να δημιουργήσετε ένα div, παρέχει σε αυτό 725 00:41:21,910 --> 00:41:24,020 ορισμένες βασικές κείμενο, Γεια σου, κόσμε. 726 00:41:24,020 --> 00:41:27,250 Αλλά παρατηρώ ότι εδώ είμαι πρόκειται να τη συνδέσει με μια ταυτότητα. 727 00:41:27,250 --> 00:41:32,350 Και η ίδια η επόμενη γραμμή θα πάω για να βρείτε το αναγνωριστικό χρησιμοποιώντας JavaScript, 728 00:41:32,350 --> 00:41:36,210 και να αποθηκεύσετε αυτό το αντικείμενο σε μια άλλη μεταβλητή 729 00:41:36,210 --> 00:41:38,280 ότι είμαι απλώς πρόκειται να καλέσετε περιεχόμενο. 730 00:41:38,280 --> 00:41:41,780 >> Έτσι τώρα κάθε φορά που έχω περιεχόμενο, όλοι πρέπει να κάνω 731 00:41:41,780 --> 00:41:46,100 είναι απλά να τροποποιήσει το εσωτερικό HTML αυτού του αντικειμένου. 732 00:41:46,100 --> 00:41:51,300 Και ο διάλογος HTML θα τότε να τροποποιηθεί επίσης. 733 00:41:51,300 --> 00:41:55,500 Έτσι, όταν αυτό το plug-in είναι τότε παρουσιάζεται, το οποίο μπορεί να συμβεί 734 00:41:55,500 --> 00:41:59,820 και αυτό είναι ένα νέο συμβάν ότι είναι νέος σε αυτό το plug-in, 735 00:41:59,820 --> 00:42:03,380 αλλά συμβαίνει σε κάθε plug-in με ο διάλογος, όταν αυτή εμφανίζεται τώρα, 736 00:42:03,380 --> 00:42:07,100 Πάω να καλέσετε έναν λειτουργία που ονομάζεται φέρω πληροφορίες. 737 00:42:07,100 --> 00:42:10,520 Και αυτή η λειτουργία είναι το κρέας της είναι εδώ. 738 00:42:10,520 --> 00:42:14,930 Πάω να χρησιμοποιήσει το proc plug-in που που περιγράφηκε προηγουμένως, η οποία με τον τρόπο, 739 00:42:14,930 --> 00:42:19,790 είναι πραγματικά ακριβώς μια βιβλιοθήκη Node.js ότι Cloud 9 χρησιμοποιεί εδώ. 740 00:42:19,790 --> 00:42:21,730 >> Έτσι μπορείτε πραγματικά να κοιτάζω προς τα πάνω για το πώς αυτό 741 00:42:21,730 --> 00:42:25,340 λειτουργεί αν πάτε σε το Node.js τεκμηρίωση 742 00:42:25,340 --> 00:42:29,220 και να εξετάσουμε το exec αρχείο μέθοδος για διεργασίες εκεί. 743 00:42:29,220 --> 00:42:33,110 Πάω να τρέξει το συγκεκριμένο εντολή, το σπίτι του Ubuntu χώρο εργασίας 744 00:42:33,110 --> 00:42:38,000 σεμινάριο, η οποία είναι η ίδια με εκείνη που, ότι ίδια εντολή που μου δημιουργήθηκαν πριν. 745 00:42:38,000 --> 00:42:40,680 Δώστε σε αυτό ένα ρεύμα κατάλογο εργασίας, απλά 746 00:42:40,680 --> 00:42:45,440 να είναι εξαιρετικά ασφαλές από την άποψη της πλαίσιο, εφόσον αυτό βρίσκεται σε λειτουργία. 747 00:42:45,440 --> 00:42:49,150 Και από τη στιγμή που έχει συμπλήρωσαν και επέστρεψαν, 748 00:42:49,150 --> 00:42:54,040 Πάω να τρέξει αυτό λειτουργία που ονομάζεται εξόδου μεταγλώττιση. 749 00:42:54,040 --> 00:42:54,540 ΕΝΤΆΞΕΙ. 750 00:42:54,540 --> 00:42:58,670 Έτσι, αυτό στη συνέχεια πρόκειται να εκτελέσει μια εντολή σε τοπικό, ή μάλλον 751 00:42:58,670 --> 00:43:01,700 η απομακρυσμένη Ubuntu παράδειγμα. 752 00:43:01,700 --> 00:43:03,490 Όταν γυρίσω κάποια πληροφορίες, είμαι στη συνέχεια, 753 00:43:03,490 --> 00:43:06,940 πρόκειται να καλέσετε μια ξεχωριστή λειτουργία που ονομάζεται έξοδος μεταγλώττιση, ότι 754 00:43:06,940 --> 00:43:13,790 έχει αυτή την υπογραφή εδώ, ERR, stdout, stderr, 755 00:43:13,790 --> 00:43:15,910 και να εκτελέσει κάποια υπολογισμός για το θέμα αυτό. 756 00:43:15,910 --> 00:43:18,930 Έτσι, αν έλαβα ένα σφάλμα κάποιου είδους καθόλου, 757 00:43:18,930 --> 00:43:22,340 Θα ελέγξει πραγματικά να δούμε αν σφάλμα έχει στην πραγματικότητα κάποια δεδομένα. 758 00:43:22,340 --> 00:43:27,204 Και αν ναι, τότε εγώ θα τροποποιήσει την εσωτερική HTML αυτού του αντικειμένου περιεχομένου, η οποία 759 00:43:27,204 --> 00:43:28,995 είναι θυμάστε, είχαμε συνδεδεμένο με το διάλογο 760 00:43:28,995 --> 00:43:32,210 στο instantiattion του ότι διαλόγου, ή στο πρώτο σχέδιο 761 00:43:32,210 --> 00:43:33,370 αυτού του διαλόγου. 762 00:43:33,370 --> 00:43:35,650 Πάω να πω ότι έχει συμβεί κάποιο λάθος. 763 00:43:35,650 --> 00:43:37,140 >> Τώρα αυτό είναι υπερβολικά απλοϊκό. 764 00:43:37,140 --> 00:43:40,170 Η τιμή σφάλματος κατά κανόνα θα περιέχει κάτι που θα ήταν χρήσιμο, 765 00:43:40,170 --> 00:43:45,520 ίσως έναν αριθμό σφάλματος και λάθους από το ίδιο το σενάριο. 766 00:43:45,520 --> 00:43:48,430 Ή αν το σενάριο έγραψε κάτι με το πρότυπο σφάλμα, 767 00:43:48,430 --> 00:43:50,890 ότι τα δεδομένα θα πρέπει να συμπληρωθεί σε αυτή την παράμετρο, καθώς και. 768 00:43:50,890 --> 00:43:53,765 Και θα μπορούσα να είμαι λίγο πιο προσεκτικοί σχετικά με το τι λάθος 769 00:43:53,765 --> 00:43:55,332 Είμαι πραγματικά δείχνουν ανθρώπους. 770 00:43:55,332 --> 00:43:57,415 Αλλά αυτό το απλοϊκό παράδειγμα είναι αρκετά καλό για τώρα 771 00:43:57,415 --> 00:43:59,715 τουλάχιστον να δούμε πώς όλα αυτά τα καθήκοντα. 772 00:43:59,715 --> 00:44:01,590 Διαφορετικά, εάν υπάρχει κανένα λάθος, τότε είμαι απλά 773 00:44:01,590 --> 00:44:05,500 πρόκειται να παρέχει τις πρώτες έξοδος αυτής της λειτουργίας 774 00:44:05,500 --> 00:44:10,070 στο εσωτερικό HTML αυτού του περιεχομένου στοιχείο, και στη συνέχεια να ενημερώσετε μου plug-in 775 00:44:10,070 --> 00:44:12,490 και δείχνουν εδώ. 776 00:44:12,490 --> 00:44:17,550 Και αυτό είναι λίγο πολύ όλα αυτά είναι απαραίτητο για να πάρει αυτό για να τρέξει. 777 00:44:17,550 --> 00:44:22,860 Και έτσι ας σκεφτούμε τότε πως λειτουργεί αυτό, συνολικά. 778 00:44:22,860 --> 00:44:29,330 Όταν φορτώνεται για πρώτη φορά αυτό το plug-in, ακριβώς όπως το πρώτο plug-in, 779 00:44:29,330 --> 00:44:32,670 Πάω να προσθέσετε μια εντολή που είναι διαθέσιμο σε τίποτα, σε οποιοδήποτε plug-in 780 00:44:32,670 --> 00:44:37,120 στο Cloud 9, που ονομάζεται CS50 Σεμινάριο Dialog 2, των οποίων η ευθύνη 781 00:44:37,120 --> 00:44:39,670 θα είναι να εκτελέσετε αυτήν την παράσταση διάλογος, η οποία είναι θυμάστε, 782 00:44:39,670 --> 00:44:42,730 θα δείξει πραγματικά το διάλογο ότι ζήτησα παρακάτω. 783 00:44:42,730 --> 00:44:45,980 >> Στη συνέχεια, θα ήθελα να προσθέσω ότι εντολή σε ένα μενού παραθύρου 784 00:44:45,980 --> 00:44:48,070 έτσι ώστε να έχω πρόσβαση σε αυτό. 785 00:44:48,070 --> 00:44:51,420 Και όταν αυτός ο διάλογος ζητείται να εμφανίζεται, 786 00:44:51,420 --> 00:44:55,170 Θα φέρω κάποιες πληροφορίες από το υποκείμενο Ubuntu παράδειγμα 787 00:44:55,170 --> 00:44:58,890 χρησιμοποιώντας την εντολή exec αρχείο. 788 00:44:58,890 --> 00:44:59,920 Με συγχωρείτε. 789 00:44:59,920 --> 00:45:04,140 Από τη στιγμή που επιστρέφεται και θα λάβετε κάποια πληροφορίες, στη συνέχεια, από την πλευρά του πελάτη 790 00:45:04,140 --> 00:45:08,370 και πάλι, θα είμαι σε θέση να αναλύσει η έξοδος της εντολής αυτής 791 00:45:08,370 --> 00:45:12,650 και να ενημερώσετε την εσωτερική HTML των στοιχείων 792 00:45:12,650 --> 00:45:16,440 ότι είχαμε συνδέεται με νωρίτερα. 793 00:45:16,440 --> 00:45:19,910 >> Και με αυτό, τότε έχουμε Αυτό το πλήρως λειτουργικό το plug-in 794 00:45:19,910 --> 00:45:24,520 που μου επιτρέπει να φέρω πληροφορίες από αυτή την αυθαίρετη σενάριο 795 00:45:24,520 --> 00:45:27,170 ότι έχουμε δημιουργήσει για υποκείμενη παράδειγμα μας. 796 00:45:27,170 --> 00:45:29,660 Αλλά και πάλι, αυτό είναι πραγματικά σημαντικό και πραγματικά το κλειδί 797 00:45:29,660 --> 00:45:33,030 να διαχωριστούν, όπου κάθε αυτά τα πράγματα συμβαίνουν, 798 00:45:33,030 --> 00:45:38,320 ότι έχουμε όλη αυτή η πλευρά του πελάτη κώδικα που διοργανώνεται στο πρόγραμμα περιήγησης, 799 00:45:38,320 --> 00:45:41,640 και δεν έχουν ακόμα πρόσβαση με την υποκείμενη σύστημα αρχείων 800 00:45:41,640 --> 00:45:44,895 μέχρι να τρέξει πραγματικά ορισμένα από αυτά εντολές που παρέχονται από το Cloud 801 00:45:44,895 --> 00:45:49,055 9 SDK όπως proc, και κάποιοι άλλοι αυτοί που μας επιτρέπουν να διαβάσει κάποια δεδομένα, 802 00:45:49,055 --> 00:45:53,500 ή να διαβάσετε κάποια αρχεία, αν χρειάζεται να κάνει κάτι τέτοιο. 803 00:45:53,500 --> 00:45:56,650 >> Τώρα αυτό είναι ένα κάπως απλό παράδειγμα. 804 00:45:56,650 --> 00:46:00,570 Υπάρχουν και άλλα πράγματα που εμείς ίσως θα θέλατε να κάνετε επίσης. 805 00:46:00,570 --> 00:46:03,470 Για παράδειγμα, ίσως στην πραγματικότητα θέλετε να αποθηκεύσετε κάποιες πληροφορίες 806 00:46:03,470 --> 00:46:04,630 των προτιμήσεων. 807 00:46:04,630 --> 00:46:07,900 Ή μήπως θέλουμε να προσθέσετε ένα νέο παράθυρο προτίμησης 808 00:46:07,900 --> 00:46:09,690 ή κάτι προς αυτή την κατεύθυνση. 809 00:46:09,690 --> 00:46:13,370 Στη συνέχεια, αυτό είναι κάτι που θα να ρίξετε μία ματιά στο Cloud 9 SDK 810 00:46:13,370 --> 00:46:15,300 για να πάρετε περισσότερες πληροφορίες σχετικά. 811 00:46:15,300 --> 00:46:19,990 Αλλά αυτό είναι πραγματικά αρκετά για να ξεκινήσετε. 812 00:46:19,990 --> 00:46:26,410 Έτσι, απλά να είναι λίγο πιο συγκεκριμένη για τον τρόπο που μερικά από αυτά τα πράγματα 813 00:46:26,410 --> 00:46:31,370 λειτουργία, εγώ θέλω να δείξω μόνο ένα ακόμη παράδειγμα, το οποίο είναι μόνο μερικά 814 00:46:31,370 --> 00:46:35,580 του κώδικα από το 50 Στατιστικά plug-in. 815 00:46:35,580 --> 00:46:39,780 >> Και αυτός ο κώδικας είναι βασικά βασίζονται σε αυτά τα παραδείγματα 816 00:46:39,780 --> 00:46:43,310 που έχετε δει στην πραγματικότητα, αλλά έχει κάποιες περισσότερες διασφαλίσεις 817 00:46:43,310 --> 00:46:47,460 και έχει λίγο περισσότερο πολύπλοκο για για να επιτευχθεί κάποια από τα επιπλέον πράγματα 818 00:46:47,460 --> 00:46:48,930 ότι θέλουμε να επιτύχουμε. 819 00:46:48,930 --> 00:46:54,510 Για παράδειγμα, αν θέλω να είμαι είναι σε θέση να αποθηκεύσετε ορισμένες ρυθμίσεις, 820 00:46:54,510 --> 00:46:57,700 τότε θα πρέπει να έχουν πρόσβαση στις Ρυθμίσεις plug-in, 821 00:46:57,700 --> 00:47:01,820 και κάθε φορά που θέλω να διαβάσετε ορισμένες ρυθμίσεις, 822 00:47:01,820 --> 00:47:08,340 Ι μπορεί, για παράδειγμα, αποδίδουν σε διάφορες γεγονότα στις Ρυθμίσεις plug-in. 823 00:47:08,340 --> 00:47:13,630 Έτσι, κάθε φορά που οι ρυθμίσεις του είναι κόκκινο, για παράδειγμα, στη δική μου plug-in, 824 00:47:13,630 --> 00:47:18,450 αν εγώ είμαι πρόκειται να διαβάσετε μερικά Ρυθμίσεις από το αποθηκευμένο αποθήκευσης 825 00:47:18,450 --> 00:47:24,540 προτιμήσεις του χρήστη, τότε μπορώ να ορίσετε προεπιλογές για μια συγκεκριμένη θέση, 826 00:47:24,540 --> 00:47:31,250 για ιδιαίτερη προτίμηση, σε ότι JSON αρχείο επιλογές στυλ που έχουμε 827 00:47:31,250 --> 00:47:33,890 αποθηκεύσατε νωρίτερα, ότι έχουμε δει νωρίτερα. 828 00:47:33,890 --> 00:47:36,370 >> Και αν Πάω να γράψω Ορισμένες ρυθμίσεις σε αυτό, 829 00:47:36,370 --> 00:47:40,440 τότε can-- ή το συντομότερο εντοπίζουμε ότι οι ρυθμίσεις έχουν γραφτεί 830 00:47:40,440 --> 00:47:44,420 to-- διότι για παράδειγμα, εκείνες οι ρυθμίσεις έχουν τροποποιηθεί από το χρήστη 831 00:47:44,420 --> 00:47:47,335 είτε άμεσα στις ρυθμίσεις τους αρχείο, ή το παράθυρο προτίμησης 832 00:47:47,335 --> 00:47:49,370 έχει αλλάξει τις ρυθμίσεις καταθέσει άμεσα, στη συνέχεια, 833 00:47:49,370 --> 00:47:53,590 Μπορώ να ενημερώσει πραγματικά ένα μέρος του κώδικα ή να ενημερώσετε τη συμπεριφορά μου plug-in 834 00:47:53,590 --> 00:47:58,710 με βάση τις αλλαγές που έχουν συνέβη στο αρχείο ρυθμίσεων, καθώς και. 835 00:47:58,710 --> 00:48:03,380 Αλλά πραγματικά, το υπόλοιπο είναι αρκετά πολύ αυτό που έχετε ήδη δει. 836 00:48:03,380 --> 00:48:06,040 >> Προσθέτουμε μερικές, ίσως κάτι που είναι νέο. 837 00:48:06,040 --> 00:48:09,440 Γι 'αυτό προσθέστε ένα αρχείο προτίμησης, ή μάλλον ένα παράθυρο προτίμησης, 838 00:48:09,440 --> 00:48:14,250 στο παράθυρο προτιμήσεων, η οποία και πάλι μπορείτε να βρείτε περισσότερες πληροφορίες 839 00:48:14,250 --> 00:48:16,220 στο Cloud 9 SDK μου να διαβάσω. 840 00:48:16,220 --> 00:48:18,460 Αλλά ό, τι άλλο Είναι λίγο πολύ, πολύ 841 00:48:18,460 --> 00:48:25,810 παρόμοιο με αυτό που είδαμε πριν, απλά με κάποια επιπλέον έλεγχο σφαλμάτων 842 00:48:25,810 --> 00:48:30,150 καθώς και ορισμένες πρόσθετες προστασίες και μερικές πρόσθετες λειτουργίες 843 00:48:30,150 --> 00:48:33,314 για να χαρακτηρίσει το σύνολο των διαφόρων πράγματα που έχουμε δει. 844 00:48:33,314 --> 00:48:35,230 Αν δεν έχετε πραγματικά δει ακόμα, ίσως 845 00:48:35,230 --> 00:48:40,955 να αναρωτιέστε ποια είναι η υποκείμενη εντολή στο παράθυρο Στατιστικά 50. 846 00:48:40,955 --> 00:48:42,840 Είναι πραγματικά λειτουργίας. 847 00:48:42,840 --> 00:48:48,100 Λοιπόν, αυτό is-- Ω, ρε. 848 00:48:48,100 --> 00:48:49,410 Ένα δευτερόλεπτο. 849 00:48:49,410 --> 00:48:49,910 Περίμενε. 850 00:48:49,910 --> 00:48:52,270 ΕΝΤΆΞΕΙ. 851 00:48:52,270 --> 00:48:58,090 Επιτρέψτε μου να περάσω αυτό επάνω έτσι μπορούμε πραγματικά δείτε τι συμβαίνει όταν πληκτρολογώ Στατιστικά 50. 852 00:48:58,090 --> 00:49:02,140 Παρατηρήστε ότι στην περίπτωση αυτή, ο εντολών που είμαι έξω βάζοντας 853 00:49:02,140 --> 00:49:06,310 είναι πραγματικά και πάλι, ακριβώς το σενάριο που είναι πρόκειται να εξάγει μια σειρά από πληροφορίες 854 00:49:06,310 --> 00:49:08,040 σε μορφή JSON. 855 00:49:08,040 --> 00:49:10,800 Και ο λόγος που το κάνουμε αυτό τον τρόπο είναι ότι επειδή 856 00:49:10,800 --> 00:49:15,480 λειτουργούν, επειδή έχουμε γράψει η πλευρά του client κώδικα σε JavaScript, 857 00:49:15,480 --> 00:49:19,500 μπορούμε πολύ εύκολα μόνο αναλύσει JavaScript αντικείμενα, 858 00:49:19,500 --> 00:49:23,050 και πραγματικά να είναι σε θέση να χειριστούν τα εν λόγω αντικείμενα, όπως ακριβώς θα θέλαμε 859 00:49:23,050 --> 00:49:24,610 οποιοδήποτε άλλο αντικείμενο το JavaScript. 860 00:49:24,610 --> 00:49:27,650 >> Και έτσι αυτή είναι μια πολύ βολική τρόπος παροχής κάποιες πληροφορίες 861 00:49:27,650 --> 00:49:31,950 από την υποκείμενη Ubuntu παράδειγμα, όπως τον αριθμό έκδοσης, τον ξενιστή 862 00:49:31,950 --> 00:49:36,360 το όνομα, αν ένας εξυπηρετητής ακούει, τι ο διακομιστής είναι, ούτω καθεξής και ούτω καθεξής, 863 00:49:36,360 --> 00:49:39,150 και να αναλύσει ότι πολύ εύκολα και πολύ γρήγορα 864 00:49:39,150 --> 00:49:44,870 στο plug-in που στη συνέχεια θα για να μας δείξει όλες αυτές τις πληροφορίες. 865 00:49:44,870 --> 00:49:47,920 Έτσι και πάλι, το κλειδί διορατικότητα εδώ πρέπει να θυμάστε 866 00:49:47,920 --> 00:49:54,260 Είναι αυτός ο διαχωρισμός μεταξύ η υποκείμενη παράδειγμα, 867 00:49:54,260 --> 00:49:57,490 και, επίσης, όπου ο κώδικας φορτώνεται. 868 00:49:57,490 --> 00:49:59,870 Ότι όταν έχω έναν πελάτη, είναι η πρώτη φόρτιση. 869 00:49:59,870 --> 00:50:03,951 Ακριβώς αυτό το στατικό αρχείο JavaScript από κάπου, ίσως CDN κάποιου είδους. 870 00:50:03,951 --> 00:50:06,450 Δεν έχουμε να ενδιαφέρονται πραγματικά πάρα πολύ για αυτό το πρώτο βήμα. 871 00:50:06,450 --> 00:50:08,970 >> Ξέρουμε ακριβώς ότι είναι τρέχει στην πλευρά του πελάτη 872 00:50:08,970 --> 00:50:12,740 και ότι όταν πάω να επικοινωνούν με αυτό το παράδειγμα λιμενεργάτης. 873 00:50:12,740 --> 00:50:15,970 Αυτό θα πάμε να το πράξουν μέσω του Cloud 9 SDK. 874 00:50:15,970 --> 00:50:20,460 Δεν έχουμε πραγματικά τη δυνατότητα, χρησιμοποιώντας JavaScript ή Node.js, 875 00:50:20,460 --> 00:50:21,750 να γράψει απευθείας σε αυτό. 876 00:50:21,750 --> 00:50:29,400 Χρησιμοποιούμε μόνο εκείνα τα υπάρχοντα SDK APIs για να κάνουμε αυτή την ενέργεια για μας. 877 00:50:29,400 --> 00:50:32,490 Και πάλι, ένα από τα πραγματικά σημαντικά πράγματα 878 00:50:32,490 --> 00:50:38,990 είναι ότι όταν έχω δημιουργήσει αυτό, όταν έχω δημιουργήσει αυτό το plug-in, 879 00:50:38,990 --> 00:50:42,510 και όπως είμαι εργάζονται σε αυτό, ένα από τα σημαντικά πράγματα που πρέπει να κάνετε 880 00:50:42,510 --> 00:50:44,840 είναι να θέσει επί τάπητος την κονσόλα JavaScript. 881 00:50:44,840 --> 00:50:49,400 >> Επειδή δεδομένου ότι όλα αυτά είναι που δραστηριοποιούνται στην JavaScript, 882 00:50:49,400 --> 00:50:54,700 από την πλευρά του πελάτη, αν μπορώ να χρησιμοποιήσω α console.log method-- έτσι απλά 883 00:50:54,700 --> 00:50:56,550 να δείχνουν ένα παράδειγμα εδώ. 884 00:50:56,550 --> 00:51:07,630 Ας προσπαθήσουμε να τροποποιηθεί αυτό το απλό plug-in για να συνδεθείτε, επίσης, κάποια δεδομένα. 885 00:51:07,630 --> 00:51:09,895 Και θα προσθέσουμε πρότυπο έξω. 886 00:51:09,895 --> 00:51:13,010 887 00:51:13,010 --> 00:51:16,810 Ας το αλλάξουμε αυτό να είναι ακριβώς εδώ. 888 00:51:16,810 --> 00:51:19,560 Τώρα, όταν εκτελώ console.log, να έχετε κατά νου 889 00:51:19,560 --> 00:51:21,630 ότι εφόσον αυτή βρίσκεται σε λειτουργία από την πλευρά του πελάτη, 890 00:51:21,630 --> 00:51:24,900 Θα δείτε αυτό στη δική μου JavaScript κονσόλα, η οποία 891 00:51:24,900 --> 00:51:28,540 είναι το πώς θα είναι τότε σε θέση να προσπαθήστε να αντιμετωπίσετε και να διορθώσετε 892 00:51:28,540 --> 00:51:30,330 μερικά από τα προβλήματα που έχω. 893 00:51:30,330 --> 00:51:34,110 >> Παρατηρούμε ότι, επειδή Είμαι σε κατάσταση SDK, είμαι 894 00:51:34,110 --> 00:51:37,820 τότε σε θέση να χειραγωγήσουν plug-ins σε αυτή την περίπτωση. 895 00:51:37,820 --> 00:51:39,800 Έτσι, ακόμη και αν είναι αποθηκεύονται σε αυτή την περίπτωση, 896 00:51:39,800 --> 00:51:47,130 αυτό είναι το ένα παράδειγμα της προηγούμενης κανόνας παραβιάζεται, όπου το Cloud 9 897 00:51:47,130 --> 00:51:51,030 SDK θα τραβήξει πραγματικά plug-ins από το υποκείμενες παράδειγμα και στη συνέχεια να τρέξει. 898 00:51:51,030 --> 00:51:54,440 Έτσι ώστε με αυτόν τον τρόπο, τότε είμαι είναι σε θέση να χειραγωγήσουν και να κατασκευάσει 899 00:51:54,440 --> 00:51:55,750 μερικά plug-ins εδώ. 900 00:51:55,750 --> 00:51:58,080 Αλλά για μένα να δω με αλλαγές σε αυτό το plug-in, 901 00:51:58,080 --> 00:52:01,880 επειδή είναι από την πλευρά του πελάτη, Χρειάζεται να σώσει αυτό το plug-in 902 00:52:01,880 --> 00:52:04,950 και, στη συνέχεια, τοποθετήστε ξανά το σύνολο του χώρου εργασίας, έτσι ώστε το νέο plug-in είναι τότε 903 00:52:04,950 --> 00:52:09,230 κατεβάσετε στον πελάτη μου, επάνω μου web browser, και στη συνέχεια να χρησιμοποιείται. 904 00:52:09,230 --> 00:52:14,460 >> Έτσι τώρα όταν κάνω κλικ σε αυτό το Σεμινάριο Dialog 2, εξακολουθούμε να βλέπουμε αυτό. 905 00:52:14,460 --> 00:52:21,311 Αλλά τώρα ελπίζουμε σε JavaScript μου διάλογος, θα πρέπει να βλέπουμε my-- περιμένουμε, 906 00:52:21,311 --> 00:52:21,810 περίμενε. 907 00:52:21,810 --> 00:52:24,420 Θα μπορούσα να έχω για να ανοίξετε το φρέσκο ​​διάλογο. 908 00:52:24,420 --> 00:52:30,230 Θα πρέπει να δούμε τα ληφθέντα δεδομένα μου εδώ. 909 00:52:30,230 --> 00:52:32,780 Τα δεδομένα που λαμβάνονται, Γεια σας, Νταν, που είναι θυμάστε, 910 00:52:32,780 --> 00:52:37,770 Ήταν μια console.log λειτουργίας, ότι ζητήσαμε το plug-in. 911 00:52:37,770 --> 00:52:42,140 Έτσι, αυτή η περιγραφή, στη συνέχεια, ότι ανέφερα και πριν, 912 00:52:42,140 --> 00:52:45,460 Ο διάλογος αυτός, ή αυτή διάγραμμα μάλλον, ότι 913 00:52:45,460 --> 00:52:49,140 προαναφέραμε είναι ό, τι συμβαίνει. 914 00:52:49,140 --> 00:52:53,150 Αλλά υπάρχει μια σημαντική εξαίρεση μόνο για την ανάπτυξη, 915 00:52:53,150 --> 00:52:55,490 η οποία είναι ότι το plug-in το ίδιο θα μπορούσε πράγματι 916 00:52:55,490 --> 00:52:59,160 να αποθηκευτούν στην περίπτωση λιμενεργάτη προσωρινά, δεδομένου ότι προφανώς Cloud 9 917 00:52:59,160 --> 00:53:02,210 δεν θέλει να είναι σε θέση να να χειρίζονται αντικείμενα στο CDN τους. 918 00:53:02,210 --> 00:53:08,650 >> Και οι Cloud 9 πελάτες, κατά τη φόρτωση, θα βρείτε αυτά τα plug-ins σε αυτό. 919 00:53:08,650 --> 00:53:11,540 C9 plug-in φάκελο και τοποθετήστε εκείνους. 920 00:53:11,540 --> 00:53:15,780 Αλλά εκείνοι που εξακολουθούν να συμβαίνουν μόνο στην πλευρά του πελάτη. 921 00:53:15,780 --> 00:53:19,440 Έτσι, τότε αυτό είναι μόνο η μία εξαίρεση που συμβαίνει μόνο 922 00:53:19,440 --> 00:53:23,220 για την ανάπτυξη του Cloud 9 plug-ins. 923 00:53:23,220 --> 00:53:25,000 Αλλά το υπόλοιπο του time-- και ο λόγος 924 00:53:25,000 --> 00:53:26,708 ότι θέλουμε πραγματικά να σφυρί αυτό home-- 925 00:53:26,708 --> 00:53:30,140 είναι επειδή τις περισσότερες φορές αυτό είναι πρόκειται να τρέχει από το CDN, 926 00:53:30,140 --> 00:53:33,030 και ακριβώς πρόκειται να τρέξει καθαρά από την πλευρά του πελάτη. 927 00:53:33,030 --> 00:53:36,110 >> Κανονικά, δεν θα υπάρχουν αλληλεπίδραση με το plug-in, 928 00:53:36,110 --> 00:53:39,840 ή δεν χρειάζεται καν να υπάρχει κάποιο λόγος για τον οποίο οι ίδιοι το plug-ins 929 00:53:39,840 --> 00:53:42,970 στην πραγματικότητα είναι αποθηκευμένα στην υποκείμενες λιμενεργάτης παράδειγμα, 930 00:53:42,970 --> 00:53:47,240 εκτός από την περίπτωση της η εξέλιξη αυτή SDK. 931 00:53:47,240 --> 00:53:51,510 Έτσι και πάλι, αυτό αλλάζει μόνο ελαφρώς λόγω του γεγονότος 932 00:53:51,510 --> 00:53:54,650 ότι θα είναι ανοιχτά λειτουργία SDK. 933 00:53:54,650 --> 00:53:57,160 Είναι πρόκειται να φορτώσει στη συνέχεια εκείνες plug-ins από την ανάπτυξη, 934 00:53:57,160 --> 00:54:01,690 και ο μοναδικός σκοπός εδώ είναι, έτσι ώστε Μπορώ να χρησιμοποιήσω Cloud 9 για να κάνει ανάπτυξη 935 00:54:01,690 --> 00:54:04,620 για Cloud 9 plugins. 936 00:54:04,620 --> 00:54:07,220 Αλλά ακόμα κι έτσι, αυτό δεν αλλάζει και πάλι πως κάποιο από αυτό λειτουργεί. 937 00:54:07,220 --> 00:54:09,650 Είναι εξακολουθεί να τρέχει εξ ολοκλήρου από την πλευρά του πελάτη. 938 00:54:09,650 --> 00:54:16,260 >> Σημαίνει απλά ότι κάθε φορά που θέλω να δημιουργήσετε Cloud 9 plug-ins στο Cloud 9, 939 00:54:16,260 --> 00:54:19,320 Μπορώ να δημιουργήσω αυτά τα plug-ins, βάζουμε στο μου. 940 00:54:19,320 --> 00:54:25,110 Φάκελο C9 / plugins στο σπίτι μου κατάλογο, βεβαιωθείτε ότι είμαι σε μια κατάσταση SDK, 941 00:54:25,110 --> 00:54:29,290 τη φόρτωση της σελίδας κάθε φορά που στην πραγματικότητα κάνετε αλλαγές σε αυτό το plug-in, 942 00:54:29,290 --> 00:54:33,590 και να δούμε τι θα συμβεί στο κονσόλα μου το JavaScript. 943 00:54:33,590 --> 00:54:36,240 Απλά διαχειρίζονται JavaScript μου κονσόλα για να βεβαιωθείτε 944 00:54:36,240 --> 00:54:38,930 ότι η αντιμετώπιση τυχόν προβλημάτων πληροφορίες που μπορώ να τοποθετήσω στην κονσόλα, 945 00:54:38,930 --> 00:54:41,920 ή οτιδήποτε άλλο που θα μπορούσε να συμβεί λόγω σφαλμάτων που έχω γράψει 946 00:54:41,920 --> 00:54:44,940 στον κώδικά μου ή κάτι παρόμοιο, φαίνεται ότι υπάρχει. 947 00:54:44,940 --> 00:54:48,007 >> Και με αυτό, είναι πραγματικά αρκετά για να ξεκινήσετε, νομίζω, 948 00:54:48,007 --> 00:54:49,090 με τα Cloud 9 plug-ins. 949 00:54:49,090 --> 00:54:53,120 Ειδικά λαμβάνοντας μια ματιά στο SDK τεκμηρίωση που παρέχει Cloud 9. 950 00:54:53,120 --> 00:54:56,650 Είναι ένας πολύ καλός τρόπος για να πάρετε άρχισε, και πολύ εύκολα 951 00:54:56,650 --> 00:54:59,900 δημιουργήσει κάποια plug-ins για Cloud 9. 952 00:54:59,900 --> 00:55:02,820 Και με αυτό, θέλω να ευχαριστήσω όλοι πάρα πολύ για την ένταξή μου. 953 00:55:02,820 --> 00:55:05,550 Ελπίζω ότι θα έχετε τη διασκέδαση γράφοντας plug-ins για Cloud 9. 954 00:55:05,550 --> 00:55:09,600 Ίσως βελτίωση plug-ins ότι έχουμε τώρα, ή ίσως ακόμη και 955 00:55:09,600 --> 00:55:11,360 προσθέτοντας κάποια λειτουργικότητα της δικής σας. 956 00:55:11,360 --> 00:55:14,540 Ανυπομονούμε να δούμε τι είναι αυτό που δημιουργείτε. 957 00:55:14,540 --> 00:55:16,330 Μέχρι τότε, αντίο. 958 00:55:16,330 --> 00:55:18,734