1 00:00:00,000 --> 00:00:05,410 2 00:00:05,410 --> 00:00:08,770 >> ANDI PENG: Nous sommes presque à travers tous les psets. 3 00:00:08,770 --> 00:00:12,080 En fait, nous sommes à travers la majorité des psets les plus difficiles. 4 00:00:12,080 --> 00:00:14,350 Donc, nous sommes en fait juste va sorte de brise 5 00:00:14,350 --> 00:00:16,050 à travers les deux prochaines semaines. 6 00:00:16,050 --> 00:00:19,520 >> Nous allons commencer à parler de notre derniers projets, les événements à venir 7 00:00:19,520 --> 00:00:21,320 dans les prochaines semaines. 8 00:00:21,320 --> 00:00:23,825 Et la vie sera un jeu d'enfant. 9 00:00:23,825 --> 00:00:26,510 10 00:00:26,510 --> 00:00:27,680 Donc pas trop aujourd'hui. 11 00:00:27,680 --> 00:00:30,280 >> Espérons, sera effectivement brise l'ordre du jour pour aujourd'hui, 12 00:00:30,280 --> 00:00:33,400 puis sortir d'ici avec un peu de temps à perdre. 13 00:00:33,400 --> 00:00:36,210 Aussi, je tiens à présenter des excuses le manque de bonbons aujourd'hui. 14 00:00:36,210 --> 00:00:37,030 Je ne sais pas pourquoi. 15 00:00:37,030 --> 00:00:40,520 Mais dans la semaine précédant Halloween, je voudrais oublier bonbons. 16 00:00:40,520 --> 00:00:43,290 >> Donc, je suis en fait juste un vaste déception pour vous en ce moment. 17 00:00:43,290 --> 00:00:47,050 Parce que je me souviens littéralement bonbons pour chaque classe, mais Halloween. 18 00:00:47,050 --> 00:00:49,345 Mais la semaine prochaine, je ferai venir doubler la quantité de bonbons 19 00:00:49,345 --> 00:00:50,720 pour compenser cela, tout pour vous. 20 00:00:50,720 --> 00:00:53,260 Ça va être génial. 21 00:00:53,260 --> 00:00:56,690 >> Je dois donc quelques annonces au sujet de certaines ordonnancement. 22 00:00:56,690 --> 00:00:59,520 Je ai quelques questions de calendrier. 23 00:00:59,520 --> 00:01:02,150 Ensuite, nous allons passer à parler de ce qu'on appelle chmod. 24 00:01:02,150 --> 00:01:05,980 Nous allons parler rapidement TCP / IP HTTP. 25 00:01:05,980 --> 00:01:09,770 >> Et puis nous allons coder notre propre site Web en utilisant HTML et CSS. 26 00:01:09,770 --> 00:01:13,030 Et puis, je vais peut-être effectivement laisse comme 20 minutes pour parler de pset6. 27 00:01:13,030 --> 00:01:16,550 Parce pset6 est effectivement beaucoup de choses que nous avons déjà vu avant, 28 00:01:16,550 --> 00:01:19,090 mais je voulais rafraîchir certains de ces concepts 29 00:01:19,090 --> 00:01:22,140 ainsi que enseigner une couple de nouvelles fonctions. 30 00:01:22,140 --> 00:01:23,110 >> Frais. 31 00:01:23,110 --> 00:01:25,440 Alors tout d'abord, accueillir de retour de pause. 32 00:01:25,440 --> 00:01:27,410 Je l'espère vous êtes rupture était agréable. 33 00:01:27,410 --> 00:01:29,695 Souhaitez-vous faire pour les vacances? 34 00:01:29,695 --> 00:01:30,820 AUDIENCE: Je suis allé à New York. 35 00:01:30,820 --> 00:01:32,030 ANDI PENG: Vous êtes allé à New York? 36 00:01:32,030 --> 00:01:33,738 Je pense que la moitié de notre école est allé à New York. 37 00:01:33,738 --> 00:01:34,740 C'est bon. 38 00:01:34,740 --> 00:01:38,250 Je passais la plupart de mon séjour sédentaire dans son lit Netflixing. 39 00:01:38,250 --> 00:01:39,760 Et ce fut un bon moment. 40 00:01:39,760 --> 00:01:43,450 >> Mais nous sommes maintenant de retour, de retour dans session, de retour dans le swing de choses. 41 00:01:43,450 --> 00:01:47,900 Nous avons un pset raison ce vendredi à midi. 42 00:01:47,900 --> 00:01:50,240 >> Je pense que vous avez déjà ramassé votre quiz, ouais? 43 00:01:50,240 --> 00:01:52,140 Donc, quiconque a pas eu leurs questionnaires, 44 00:01:52,140 --> 00:01:55,416 s'il vous plaît venir chercher vos quiz de moi à la fin de la section. 45 00:01:55,416 --> 00:01:56,540 Ou suivre me down sur le campus. 46 00:01:56,540 --> 00:01:59,310 Je l'ai avec moi quelque part. 47 00:01:59,310 --> 00:02:02,120 >> Notre projet final de proposition préliminaire aussi. 48 00:02:02,120 --> 00:02:06,380 Donc, pour ceux d'entre nous qui ont jamais pris cette classe avant, le couronnement de CS50 49 00:02:06,380 --> 00:02:11,150 est très abouti dans ce grand projet que les étudiants proposent. 50 00:02:11,150 --> 00:02:14,300 Et la pré-proposition, juste une idée générale 51 00:02:14,300 --> 00:02:18,500 de ce que l'on pourrait vouloir faire pour leur projet, cette idée est due lundi 52 00:02:18,500 --> 00:02:20,780 lundi prochain à midi. 53 00:02:20,780 --> 00:02:23,800 >> Donc, à peu près, David, je pense, parler plus à ce sujet dans la leçon 54 00:02:23,800 --> 00:02:25,390 si il n'a pas déjà. 55 00:02:25,390 --> 00:02:28,710 Et il ya une page solide sur notre site Web expliquant 56 00:02:28,710 --> 00:02:31,610 toutes les exigences du projet. 57 00:02:31,610 --> 00:02:34,082 Mais essentiellement, ramasser un sujet que vous avez 58 00:02:34,082 --> 00:02:35,915 été intéressé par tout au long de votre temps ici 59 00:02:35,915 --> 00:02:41,760 à CS, que ce soit des jeux ou conception ou vidéo ou quoi que ce soit. 60 00:02:41,760 --> 00:02:44,920 >> Et vous pouvez vraiment une sorte de maintenant appliquer certaines des leçons 61 00:02:44,920 --> 00:02:52,470 que nous avons appris ici à CS50-- salut, welcome-- à peu près la conduite 62 00:02:52,470 --> 00:02:56,320 un projet final de votre choix. 63 00:02:56,320 --> 00:02:59,570 Tout cela est dû le lundi est juste un bref texte de présentation par courriel 64 00:02:59,570 --> 00:03:02,010 pour moi, une phrase rapide, comme, hey, Andi, 65 00:03:02,010 --> 00:03:06,490 Je suis vraiment intéressé à la conception un jeu qui fait ça pour iOS. 66 00:03:06,490 --> 00:03:07,420 Frais. 67 00:03:07,420 --> 00:03:10,767 Laissez-moi votre mémoire initial des idées pour vos projets finaux. 68 00:03:10,767 --> 00:03:13,850 Et nous allons parler à travers ou non qui est en fait une bonne idée ou non, 69 00:03:13,850 --> 00:03:15,590 si elle est une bonne idée ou non réalisable. 70 00:03:15,590 --> 00:03:20,760 Mais juste la pré-proposition est due lundi prochain. 71 00:03:20,760 --> 00:03:24,190 pset6, notre belle web-- ce qui est faux. 72 00:03:24,190 --> 00:03:25,060 Pset7? 73 00:03:25,060 --> 00:03:25,560 pset6? 74 00:03:25,560 --> 00:03:26,680 Il est pset6, non? 75 00:03:26,680 --> 00:03:32,690 >> pset6, notre serveur, est dû Vendredi à midi avec la fin du jour. 76 00:03:32,690 --> 00:03:37,660 Les heures de bureau reprennent normalement du lundi au jeudi à 11h00 8:00 semaine. 77 00:03:37,660 --> 00:03:39,710 Je pense que pour les communes les trois prochaines nuits. 78 00:03:39,710 --> 00:03:40,310 Frais. 79 00:03:40,310 --> 00:03:44,260 Avant, nous avions dans le matériau, personne ne avez des questions, des blagues, histoires? 80 00:03:44,260 --> 00:03:46,662 Qu'avez-vous fait pour les vacances d'automne? 81 00:03:46,662 --> 00:03:48,640 >> Public: Ce que je fais? 82 00:03:48,640 --> 00:03:52,834 >> ANDI PENG: Déjà il est effectivement il ya des siècles. 83 00:03:52,834 --> 00:03:54,000 Christabel allé à New York. 84 00:03:54,000 --> 00:03:55,614 Je suis resté ici et Netflixed. 85 00:03:55,614 --> 00:03:56,864 AUDIENCE: Oh, oui, je était ici. 86 00:03:56,864 --> 00:03:57,614 ANDI PENG: Oh, OK. 87 00:03:57,614 --> 00:03:59,792 AUDIENCE: Je ne me souviens pas ce qui en particulier. 88 00:03:59,792 --> 00:04:00,710 ANDI PENG: Voilà OK. 89 00:04:00,710 --> 00:04:01,960 AUDIENCE: Netflixing probablement. 90 00:04:01,960 --> 00:04:02,990 ANDI PENG: Netflixing. 91 00:04:02,990 --> 00:04:04,710 Ouais, il est un bon moment. 92 00:04:04,710 --> 00:04:05,780 D'ACCORD. 93 00:04:05,780 --> 00:04:06,340 Bien. 94 00:04:06,340 --> 00:04:08,877 Des questions avant nous sautons dans le matériau? 95 00:04:08,877 --> 00:04:11,210 Aussi, nous allons essayer de accélérer à travers la section d'aujourd'hui, 96 00:04:11,210 --> 00:04:12,504 pas trop à couvrir. 97 00:04:12,504 --> 00:04:14,420 Et nous espérons, nous obtiendrons ici un peu plus tôt. 98 00:04:14,420 --> 00:04:15,580 Désolé de ne pas bonbons, aussi. 99 00:04:15,580 --> 00:04:20,310 Je suis une déception, surtout pendant Halloween. 100 00:04:20,310 --> 00:04:21,110 >> Bien. 101 00:04:21,110 --> 00:04:21,810 Frais. 102 00:04:21,810 --> 00:04:28,370 Donc, nous allons commencer à parler un argument de ligne de commande appelé chmod. 103 00:04:28,370 --> 00:04:32,850 chmod, tout ce qu'il est est juste un système Unix appelez menée à partir de la ligne de commande 104 00:04:32,850 --> 00:04:34,700 de modifier les permissions de fichiers. 105 00:04:34,700 --> 00:04:37,790 Ainsi, par exemple, nous avons tous rencontré une page 106 00:04:37,790 --> 00:04:40,550 comme cela probablement dans le courant de notre durée de vie d'être un Internet 107 00:04:40,550 --> 00:04:45,110 utilisateur, où notre serveur a nous a donné l'erreur de Interdite. 108 00:04:45,110 --> 00:04:49,086 Vous ne disposez pas de l'autorisation d'accès, bla, bla, bla, sur ce serveur. 109 00:04:49,086 --> 00:04:50,960 Tout ce que signifie vraiment est que les permissions 110 00:04:50,960 --> 00:04:53,920 qui étaient attachés à n'importe quel page que vous tentez d'accéder 111 00:04:53,920 --> 00:04:55,840 étaient pas ouverts pour vous. 112 00:04:55,840 --> 00:04:57,870 Donc, à peu près, chmod est la manière dont 113 00:04:57,870 --> 00:05:02,140 nous pouvons modifier les autorisations du système de donner à chacun, l'utilisateur, le groupe, 114 00:05:02,140 --> 00:05:04,975 ou dans le monde, ou tout combinaison de ceux-accès 115 00:05:04,975 --> 00:05:07,900 à certains fichiers, répertoires, quelque chose de vraiment, 116 00:05:07,900 --> 00:05:11,720 quelle sorte de système sur un système d'exploitation. 117 00:05:11,720 --> 00:05:14,039 Donc, si l'un des gars ont ordinateurs Si vous vous sentez 118 00:05:14,039 --> 00:05:17,080 comme suivre avec moi aujourd'hui, totalement sentir libre de taper simplement les choses 119 00:05:17,080 --> 00:05:17,580 dans. 120 00:05:17,580 --> 00:05:19,790 Si non, vous pouvez tout simplement flâner. 121 00:05:19,790 --> 00:05:23,170 Donc, je vais effectivement tirer jusqu'à mon terminal à l'heure actuelle. 122 00:05:23,170 --> 00:05:29,810 123 00:05:29,810 --> 00:05:32,310 >> Ainsi, la commande à exécuter chmod, ou au moins juste 124 00:05:32,310 --> 00:05:37,840 de lister les autorisations de votre répertoire de fichiers, est juste ls -l. 125 00:05:37,840 --> 00:05:42,270 Comme vous pouvez le voir, un tas de trucs apparaît dont la plupart 126 00:05:42,270 --> 00:05:45,390 est important pour nous sur le côté gauche ici. 127 00:05:45,390 --> 00:05:48,710 Les gars, vous voyez un tas de RS, ws, 1 /. 128 00:05:48,710 --> 00:05:49,210 Ouais. 129 00:05:49,210 --> 00:05:51,400 >> Ce sont essentiellement juste toutes les autorisations de fichier 130 00:05:51,400 --> 00:05:55,960 pour expliquer ce que certains répertoires et les fichiers dans votre système ont. 131 00:05:55,960 --> 00:05:58,150 Donc, revenons à Le point ici de puissance. 132 00:05:58,150 --> 00:06:02,450 133 00:06:02,450 --> 00:06:06,500 Donc, en plus des noms de fichiers comme vous les gars pouvez voir sur la droite, 134 00:06:06,500 --> 00:06:10,312 nous cherchons à voir essentiellement seulement la colonne de gauche. 135 00:06:10,312 --> 00:06:12,020 Donc, en plus juste les noms de fichiers, nous 136 00:06:12,020 --> 00:06:16,240 peuvent voir les permissions des fichiers, leur le groupe propriétaire, le nom du groupe, la date 137 00:06:16,240 --> 00:06:18,460 que le dossier était dernière modifiée, et cetera. 138 00:06:18,460 --> 00:06:20,640 Vous pouvez voir beaucoup de choses en utilisant chmod. 139 00:06:20,640 --> 00:06:26,037 Donc, la façon dont nous lisons chmod est que la première lettre que nous ignorons à peu près 140 00:06:26,037 --> 00:06:27,370 en termes d'autorisations de lecture. 141 00:06:27,370 --> 00:06:31,460 >> La première lettre nous dit exactement ce que type de système que nous accédons. 142 00:06:31,460 --> 00:06:34,240 d, dans ce cas, est un dossier ou répertoire. 143 00:06:34,240 --> 00:06:38,430 Nous savons donc que le moment mon espace de travail la section sept était un répertoire. 144 00:06:38,430 --> 00:06:41,530 Et puis vous voyez trois triades, essentiellement juste 145 00:06:41,530 --> 00:06:43,490 trois ensembles de trois caractères. 146 00:06:43,490 --> 00:06:45,680 Et vous pouvez penser de chacun comme un peu. 147 00:06:45,680 --> 00:06:49,260 >> Donc, vous avez juste trois ensembles de trois bits, neuf bits au total. 148 00:06:49,260 --> 00:06:51,420 Vous les traitez en groupes de trois. 149 00:06:51,420 --> 00:06:56,230 Ainsi, le premier groupe de trois est toujours vos autorisations utilisateur. 150 00:06:56,230 --> 00:07:00,557 >> Votre deuxième groupe de trois est toujours vos permissions de groupe. 151 00:07:00,557 --> 00:07:02,765 Et votre troisième ensemble de trois est toujours comme le monde, 152 00:07:02,765 --> 00:07:04,380 les autorisations partout. 153 00:07:04,380 --> 00:07:06,320 Donc je suppose que la facilité question à se poser est ce qui est 154 00:07:06,320 --> 00:07:08,051 la différence entre l'utilisateur et le groupe. 155 00:07:08,051 --> 00:07:09,800 La principale différence entre l'utilisateur et groupe 156 00:07:09,800 --> 00:07:13,180 est que l'utilisateur est tout simplement vous personnellement accède à ce qu'il est maintenant. 157 00:07:13,180 --> 00:07:18,070 Un groupe peut être si vous avez plusieurs utilisateurs sur un ordinateur, par exemple. 158 00:07:18,070 --> 00:07:20,280 Chacun d'entre eux peuvent être traités comme un groupe. 159 00:07:20,280 --> 00:07:23,220 >> Et puis le monde est tout le monde, tout le monde. 160 00:07:23,220 --> 00:07:31,010 Donc, nous pouvons voir plus tard comment nous pouvons modifier ceux en différentes autorisations. 161 00:07:31,010 --> 00:07:33,080 Donc, à peu près, nous sommes va se concentrer encore 162 00:07:33,080 --> 00:07:38,450 sur la partie de gauche, où pour le répertoire CS50 nous voyons drwx, 163 00:07:38,450 --> 00:07:40,970 où le r signifie simplement qu'il est lisible. 164 00:07:40,970 --> 00:07:42,620 >> Le W signifie simplement qu'il est accessible en écriture. 165 00:07:42,620 --> 00:07:45,470 Et puis les x juste signifie qu'il est exécutable. 166 00:07:45,470 --> 00:07:47,220 Vous penseriez il sorte de n'a pas de sens. 167 00:07:47,220 --> 00:07:47,993 Il devrait être e. 168 00:07:47,993 --> 00:07:50,150 Mais en fait assez x fonctionne un peu mieux, 169 00:07:50,150 --> 00:07:51,690 parce que vous pouvez vous rappeler mieux. 170 00:07:51,690 --> 00:07:56,406 >> Ainsi, les trois types de choses que vous peut faire, vous pouvez soit lire un fichier, 171 00:07:56,406 --> 00:07:59,280 vous pouvez avoir la permission d'écrire un déposer, ou vous pourriez avoir l'autorisation 172 00:07:59,280 --> 00:08:00,780 d'exécuter un fichier. 173 00:08:00,780 --> 00:08:04,580 Et la façon dont nous avons réellement représenter ceux qui en bits 174 00:08:04,580 --> 00:08:06,940 est le nombre 4, 2 et 1. 175 00:08:06,940 --> 00:08:12,870 Donc tout ce qui est lisible est représenté par le nombre de quatre. 176 00:08:12,870 --> 00:08:15,150 >> Tout ce qui est accessible en écriture est représenté par deux. 177 00:08:15,150 --> 00:08:18,880 Et tout ce qui est exécutable représentée par 1. 178 00:08:18,880 --> 00:08:22,860 Donc, dans ce sens, nous pouvons aussi représenter ces numbers-- 179 00:08:22,860 --> 00:08:25,281 salut, accueillir, d'une manière différente. 180 00:08:25,281 --> 00:08:25,780 Pardon. 181 00:08:25,780 --> 00:08:28,510 Avant tout le monde, je vais présenter des excuses au nom de tous 182 00:08:28,510 --> 00:08:29,468 entrant dans la classe aujourd'hui. 183 00:08:29,468 --> 00:08:30,810 Je bonbons oublié aujourd'hui. 184 00:08:30,810 --> 00:08:33,640 Je suis désolé, je suis un échec cette semaine de l'Halloween. 185 00:08:33,640 --> 00:08:37,070 Je vais faire venir le double de la quantité de bonbons prochaine fois pour rattraper cela. 186 00:08:37,070 --> 00:08:42,360 Mais de toute façon, désolé à propos de ce que les gars, désolé. 187 00:08:42,360 --> 00:08:46,640 >> Ainsi, la manière que nous pouvons réellement entrée sur notre commande l'argument est que nous 188 00:08:46,640 --> 00:08:51,760 peut faire autorisations groupe slash chmod, où le groupe est juste ce 189 00:08:51,760 --> 00:08:54,130 groupe, nous essayons de changer. 190 00:08:54,130 --> 00:08:56,600 Et les autorisations sont ce que nous voulons ajouter. 191 00:08:56,600 --> 00:08:58,860 Ainsi, par exemple, la Plus ajoute des autorisations, 192 00:08:58,860 --> 00:09:01,590 et la soustraction enlève autorisations. 193 00:09:01,590 --> 00:09:07,060 >> Et les types de groupe, nous avons notre une pour tous, pour les utilisateurs u, g pour les groupes, 194 00:09:07,060 --> 00:09:09,050 ou o pour les autres. 195 00:09:09,050 --> 00:09:10,300 Il est un peu abstrait en ce moment. 196 00:09:10,300 --> 00:09:13,550 Mais nous allons passer en revue quelques exemples juste pour montrer ce vrai rapide. 197 00:09:13,550 --> 00:09:16,960 Tout le monde sur cette bonne diapositive, donc je ne peux passer? 198 00:09:16,960 --> 00:09:18,280 Frais. 199 00:09:18,280 --> 00:09:21,290 >> Ainsi, par exemple, rwx. 200 00:09:21,290 --> 00:09:26,720 Avant de parler de ce qu'il représente, tout d'abord ce qui ne signifie rwx? 201 00:09:26,720 --> 00:09:31,450 Si vous voyez que cette certaine fichier dispose d'autorisations de rwx, 202 00:09:31,450 --> 00:09:34,270 ça veut dire quoi la personne pourrait être en mesure de le faire? 203 00:09:34,270 --> 00:09:35,740 >> AUDIENCE: lire, écrire et exécuter. 204 00:09:35,740 --> 00:09:36,420 >> ANDI PENG: Oui, exactement. 205 00:09:36,420 --> 00:09:37,840 Vous pouvez lire écrire et exécuter. 206 00:09:37,840 --> 00:09:40,790 Parce que tous les trois de ceux personnages sont présents. 207 00:09:40,790 --> 00:09:44,370 Donc, si nous allons de l'avant et de parler à ce sujet en termes de bits, 208 00:09:44,370 --> 00:09:48,490 la rwx peut également être représenté en tant que 700. 209 00:09:48,490 --> 00:09:53,370 Parce que, comme vous pouvez le voir dans quelle sorte de fichier permission de répertoire, 210 00:09:53,370 --> 00:09:54,320 il ya trois triades. 211 00:09:54,320 --> 00:09:58,060 >> Dans ce cas, seul le premier triade a rien là. 212 00:09:58,060 --> 00:10:04,050 Donc dans ce cas, le r est 4, le w est égal à 2, et x est le 1. 213 00:10:04,050 --> 00:10:05,860 Si vous ajoutez ceux ensemble, il est 7. 214 00:10:05,860 --> 00:10:08,730 >> Et donc si vous convertissez à binaire, il est 700. 215 00:10:08,730 --> 00:10:10,310 Parce que 7 est la première triade. 216 00:10:10,310 --> 00:10:12,760 0, il n'y a rien présent dans la deuxième triade. 217 00:10:12,760 --> 00:10:15,850 Et puis il n'y a rien présent dans la troisième triade, de sorte que l'autre est 0. 218 00:10:15,850 --> 00:10:22,520 >> Donc, dans le même sens, un tas de triades peut être représenté simplement en bits, juste 219 00:10:22,520 --> 00:10:23,600 en binaire ainsi. 220 00:10:23,600 --> 00:10:29,920 Donc 700 signifie exactement la même chose que rwx ------ en termes d'autorisations. 221 00:10:29,920 --> 00:10:32,590 Tout le monde a bien compris? 222 00:10:32,590 --> 00:10:33,090 Frais. 223 00:10:33,090 --> 00:10:40,290 Et ainsi chmod 111 donnerait les autorisations pour le fichier? 224 00:10:40,290 --> 00:10:42,600 Donnez-vous les gars un couple secondes pour convertir cela. 225 00:10:42,600 --> 00:10:51,140 226 00:10:51,140 --> 00:10:53,250 Rappelez-vous, la première triade est pour l'utilisateur. 227 00:10:53,250 --> 00:10:56,320 La deuxième triade est pour le groupe. 228 00:10:56,320 --> 00:10:59,450 Et la troisième triade est pour tout le monde. 229 00:10:59,450 --> 00:11:03,680 >> Et ainsi chmod 111 donnerait qui type d'autorisations et à qui? 230 00:11:03,680 --> 00:11:06,520 231 00:11:06,520 --> 00:11:09,020 Prenez quelques secondes pour réfléchir et revenir. 232 00:11:09,020 --> 00:11:19,790 233 00:11:19,790 --> 00:11:20,910 Ouais. 234 00:11:20,910 --> 00:11:22,920 >> Auditoire: Alors, tout le monde peut exécuter. 235 00:11:22,920 --> 00:11:23,920 ANDI PENG: Ouais, exactement. 236 00:11:23,920 --> 00:11:25,544 AUDIENCE: Mais personne ne peut lire ou écrire. 237 00:11:25,544 --> 00:11:27,910 ANDI PENG: Et sentir libre pour expliquer à tout le monde 238 00:11:27,910 --> 00:11:29,860 comment vous êtes arrivé à cette conclusion. 239 00:11:29,860 --> 00:11:34,290 >> AUDIENCE: Eh bien, pour l'utilisateur, le groupe, et le monde, tout est 1, 240 00:11:34,290 --> 00:11:35,700 qui est le code de l'exécutable. 241 00:11:35,700 --> 00:11:37,070 >> ANDI PENG: Oui, exactement. 242 00:11:37,070 --> 00:11:42,320 Donc 1, dans ce cas, tout ce que nous savons est que ce soit le code exécutable. 243 00:11:42,320 --> 00:11:45,280 Parce que la lecture est 4. 244 00:11:45,280 --> 00:11:45,990 L'écriture est 2. 245 00:11:45,990 --> 00:11:47,230 Et l'exécutable est 1. 246 00:11:47,230 --> 00:11:51,580 Donc, est tous les trois triades sont 1, que signifie que dans le monde, à l'utilisateur, 247 00:11:51,580 --> 00:11:54,680 et pour le groupe, ils sont tous exécutable. 248 00:11:54,680 --> 00:11:56,170 >> Tout le monde bien avec qui? 249 00:11:56,170 --> 00:11:56,940 D'ACCORD. 250 00:11:56,940 --> 00:11:59,180 Et si la deuxième voie que nous pouvons réellement 251 00:11:59,180 --> 00:12:01,220 écrire ce aussi est que vous pourrait juste faire chmod 252 00:12:01,220 --> 00:12:05,050 un plus x. un moyen tout ou tout le monde. 253 00:12:05,050 --> 00:12:07,060 Le moyen de plus de donner des autorisations. 254 00:12:07,060 --> 00:12:09,112 Et puis le x signifie exécutable. 255 00:12:09,112 --> 00:12:11,070 Donc, il ya deux commandes sont en fait identiques. 256 00:12:11,070 --> 00:12:12,903 Donc, si vous souhaitez exécuter ceci dans votre terminal, 257 00:12:12,903 --> 00:12:15,830 vous faites chmod 111, nom de votre répertoire ou votre fichier. 258 00:12:15,830 --> 00:12:18,520 Ou vous pouvez faire un plus chmod x, nom de votre fichier de répertoire. 259 00:12:18,520 --> 00:12:22,150 Même chose, juste un moyen plus facile, peut-être, pour certains de représenter ou de changement 260 00:12:22,150 --> 00:12:24,280 permissions de fichiers. 261 00:12:24,280 --> 00:12:28,806 >> Chacun OK avec chmod avant de passer? 262 00:12:28,806 --> 00:12:31,700 Frais. 263 00:12:31,700 --> 00:12:35,336 Alors maintenant, nous allons à la tête dans un quelques diapositives de concepts très abstraits 264 00:12:35,336 --> 00:12:37,210 que je suis à peu près va brise à travers. 265 00:12:37,210 --> 00:12:39,530 Et il est tout à fait OK si vous ne comprends pas tout. 266 00:12:39,530 --> 00:12:42,330 >> Même maintenant, je fais toujours pas vraiment comprendre complètement tout. 267 00:12:42,330 --> 00:12:44,640 Mais il est plus d'obtenir le haut niveau de compréhension 268 00:12:44,640 --> 00:12:47,280 de la façon dont certaines de ces choses fonctionnent. 269 00:12:47,280 --> 00:12:50,490 Donc, nous allons parler rapidement sur le protocole TCP / IP, 270 00:12:50,490 --> 00:12:54,880 qui est juste Transmission Control Protocole slash protocole Internet. 271 00:12:54,880 --> 00:12:57,135 >> Rappel de conférence, David, vous at-il enseigner 272 00:12:57,135 --> 00:13:00,700 l'exemple où il avait passe les notes dans une enveloppe 273 00:13:00,700 --> 00:13:02,790 jusqu'à que le haut de la salle de conférence? 274 00:13:02,790 --> 00:13:06,990 Donc, dans l'auditorium de l'école de droit David a démontré essentiellement 275 00:13:06,990 --> 00:13:10,370 comment TCP / IP fonctionne dans le sens que tout ce qu'il 276 00:13:10,370 --> 00:13:14,300 est est un moyen de garantir que les données a été livré à travers un serveur 277 00:13:14,300 --> 00:13:15,870 ou sur l'Internet. 278 00:13:15,870 --> 00:13:22,270 Ainsi dans l'exemple de l'enveloppe et le message, l'utilisateur à la fin 279 00:13:22,270 --> 00:13:26,410 pourraient voir que, oh, je devais recevoir quatre paquets d'informations. 280 00:13:26,410 --> 00:13:28,096 >> Mais je effectivement reçu que trois. 281 00:13:28,096 --> 00:13:29,470 Cela signifie que je dois manquer un. 282 00:13:29,470 --> 00:13:30,760 Et on n'a pas été livré. 283 00:13:30,760 --> 00:13:33,990 Et si TCP / IP sur Internet, grâce à votre ordinateur et le serveur, 284 00:13:33,990 --> 00:13:35,500 fait exactement la même chose. 285 00:13:35,500 --> 00:13:38,900 Tout ce qu'il fait est de spécifier une cadre dans lequel une des données perdues 286 00:13:38,900 --> 00:13:41,100 les paquets peuvent être renvoyés et reçus. 287 00:13:41,100 --> 00:13:44,760 >> Comme sur Internet lorsque vous essayez pour accéder aux fichiers en ligne ou envoyer des fichiers 288 00:13:44,760 --> 00:13:48,210 à votre ami ou de regarder web navigateurs, des milliers 289 00:13:48,210 --> 00:13:50,440 des milliards et des milliards d'octets d'informations 290 00:13:50,440 --> 00:13:52,840 sont transférés par milliseconde. 291 00:13:52,840 --> 00:13:54,560 Et il est vraiment, vraiment déroutant. 292 00:13:54,560 --> 00:13:57,110 Et il est vraiment difficile de réellement savoir ce qui a été envoyé 293 00:13:57,110 --> 00:13:58,270 et ce qui pas été envoyé. 294 00:13:58,270 --> 00:14:02,210 >> Et si TCP / IP spécifie simplement un cadre cohérent 295 00:14:02,210 --> 00:14:04,115 dans lequel votre site Web navigateur et votre serveur 296 00:14:04,115 --> 00:14:05,990 peut sorte de communiquer une avec l'autre, il suffit 297 00:14:05,990 --> 00:14:08,550 assurez-vous que les paquets sont tous ici et rien de perdu 298 00:14:08,550 --> 00:14:12,700 et toutes les données que vous avez demandé est en fait afficher correctement. 299 00:14:12,700 --> 00:14:16,350 Tout le monde sur OK juste que très brève niveau élevé comprendre? 300 00:14:16,350 --> 00:14:18,510 Frais. 301 00:14:18,510 --> 00:14:21,550 >> Alors nous allons déplacer à parler de HTTP, qui 302 00:14:21,550 --> 00:14:24,610 est juste Hypertext Transfer Protocol. 303 00:14:24,610 --> 00:14:32,550 HTTP, tout ce qu'il est est ce que toute page ou le fichier est accessible sur votre site, 304 00:14:32,550 --> 00:14:35,810 le serveur renvoie une HTTP code d'état en réponse 305 00:14:35,810 --> 00:14:39,869 à la demande veillant à ce que soit, oh, cette demande a traversé. 306 00:14:39,869 --> 00:14:41,410 Et tout va afficher correctement. 307 00:14:41,410 --> 00:14:43,500 Ou, oh, non, 404. 308 00:14:43,500 --> 00:14:44,730 Quelque chose a mal tourné. 309 00:14:44,730 --> 00:14:45,940 Oh, je ne peux pas afficher. 310 00:14:45,940 --> 00:14:50,370 >> Tout ce qu'il est que tout ce qui est vous essayez de l'accès, 311 00:14:50,370 --> 00:14:55,160 utiliser que l'utilisateur tente d'accéder, sur la internet-- tout en veillant 312 00:14:55,160 --> 00:15:00,080 que soit vous avez avec succès accessible quelle qu'elle soit ou non 313 00:15:00,080 --> 00:15:02,080 accessible avec succès tout ce qu'il était. 314 00:15:02,080 --> 00:15:05,120 Et si le statut HTTP Code vous fournit simplement 315 00:15:05,120 --> 00:15:09,910 un moyen d'être en mesure de savoir si elle était ou non couronnée de succès ou non. 316 00:15:09,910 --> 00:15:13,440 Ainsi, par exemple, une demande d'exemple. 317 00:15:13,440 --> 00:15:16,050 >> Vous pouvez voir ici, il est habituellement généralement de quatre lignes. 318 00:15:16,050 --> 00:15:22,530 Nous avons un HTTP GET 1.1, qui est juste l'URL de demande de procédé, le protocole 319 00:15:22,530 --> 00:15:24,490 la version, le nom du champ, et la valeur du champ. 320 00:15:24,490 --> 00:15:26,810 Donc pas besoin de complètement mémoriser quelque chose ici. 321 00:15:26,810 --> 00:15:29,960 Tout type de familiariser vous avec la façon dont ceux-ci regardent. 322 00:15:29,960 --> 00:15:34,060 >> Dans cet exemple, la méthode de demande URL est simplement tout ce que demande 323 00:15:34,060 --> 00:15:35,620 vous envoyez le serveur. 324 00:15:35,620 --> 00:15:40,710 Comme, hey, serveur, je veux vraiment accès bla, bla, bla, page HTTP. 325 00:15:40,710 --> 00:15:43,785 La version du protocole est juste ce la version de votre hôte ou votre serveur 326 00:15:43,785 --> 00:15:45,490 utilise pour accéder aux informations. 327 00:15:45,490 --> 00:15:49,510 >> Le nom de domaine est le site ou de la URL que vous tentez d'accéder, 328 00:15:49,510 --> 00:15:52,610 dans ce cas, www.apple.com. 329 00:15:52,610 --> 00:15:56,110 Et la valeur de champ est juste généralement name, value. 330 00:15:56,110 --> 00:15:59,540 Et il peut être toute sorte de combinaison des lettres ou des chiffres ou que ce soit. 331 00:15:59,540 --> 00:16:02,890 >> Ainsi, une demande typique, de sorte que ce que votre ordinateur fait 332 00:16:02,890 --> 00:16:08,400 envoie au serveur qui dit, hey, vous savez ce que je dois cette affiche, 333 00:16:08,400 --> 00:16:13,000 Voilà le genre de demande en fait qu'ils reçoivent. 334 00:16:13,000 --> 00:16:16,760 Une réponse d'exemple de ce que le serveur enverrait de nouveau à vous 335 00:16:16,760 --> 00:16:20,320 serait à peu près la même chose, sauf avec un code d'état au sommet. 336 00:16:20,320 --> 00:16:24,550 Donc, 200, 2 0 0 est toujours le code de statut pour OK. 337 00:16:24,550 --> 00:16:26,050 Comme, OK, cette demande a traversé. 338 00:16:26,050 --> 00:16:27,980 Vous étiez en mesure d'accéder tout correctement. 339 00:16:27,980 --> 00:16:28,810 La vie est belle. 340 00:16:28,810 --> 00:16:29,990 La vie est belle. 341 00:16:29,990 --> 00:16:32,150 Tout est totalement bon. 342 00:16:32,150 --> 00:16:36,050 >> Et donc cela indique simplement votre navigateur et votre serveur, hey, la bonne de tout. 343 00:16:36,050 --> 00:16:37,470 Je suis toutes les informations que je dois. 344 00:16:37,470 --> 00:16:39,160 Frais. 345 00:16:39,160 --> 00:16:41,790 Mais le problème est parfois des problèmes viennent 346 00:16:41,790 --> 00:16:46,850 lorsque vous have-- dernière, je pense Je parlais de doublons. 347 00:16:46,850 --> 00:16:48,870 Vous avez des réponses moins bonnes. 348 00:16:48,870 --> 00:16:52,660 >> Ainsi, par exemple, 404 La page est introuvable. 349 00:16:52,660 --> 00:16:54,897 Vous avez parfois un accès Interdite. 350 00:16:54,897 --> 00:16:56,730 Vous avez divers autres codes d'état que je suis 351 00:16:56,730 --> 00:16:59,688 sûr que vous avez tous vu quand vous êtes en essayant de faire des recherches sur Internet. 352 00:16:59,688 --> 00:17:02,300 Et votre navigateur vous donne la, non, ne peuvent pas accéder. 353 00:17:02,300 --> 00:17:04,190 Et vous êtes comme, eh bien, merde. 354 00:17:04,190 --> 00:17:09,260 >> Il suffit donc à peu près, il ya certains codes d'état assez communs. 355 00:17:09,260 --> 00:17:14,109 Peut-être vous familiariser avec lesquels ceux-ci sont. 356 00:17:14,109 --> 00:17:16,000 Le plus drôle que Je pense que je l'ai jamais entendu 357 00:17:16,000 --> 00:17:18,040 de-- si vous arrivez à voir tous 358 00:17:18,040 --> 00:17:21,490 en ligne, pour une raison quelconque il ya effectivement un véritable code de statut 359 00:17:21,490 --> 00:17:26,619 Je suis appelé 418 une théière. 360 00:17:26,619 --> 00:17:29,610 >> Je googled où le origine de cette était. 361 00:17:29,610 --> 00:17:33,150 Et apparemment, un poisson d'avril " Il ya un jour quelques décennies, 362 00:17:33,150 --> 00:17:36,415 quelqu'un a pensé que ce serait drôle pour créer un nouveau code d'état, appelé 418 363 00:17:36,415 --> 00:17:37,380 Je suis une théière. 364 00:17:37,380 --> 00:17:40,760 Légitimement, le nom de cette code est appelé, je suis une théière. 365 00:17:40,760 --> 00:17:43,670 >> Je oublier ce que vous avez à la page aller à réellement faire cet affichage. 366 00:17:43,670 --> 00:17:47,955 Mais apparemment, vous pouvez réellement obtenir un code d'état de Je suis 367 00:17:47,955 --> 00:17:51,400 une théière en quelque sorte par faire quelque chose. 368 00:17:51,400 --> 00:17:54,480 Donc, il ya des centaines et des centaines de codes d'état. 369 00:17:54,480 --> 00:17:56,730 >> Certains d'entre eux font plus sens que d'autres. 370 00:17:56,730 --> 00:18:01,430 Mais à peu près juste familiariser vous avec les plus courantes. 371 00:18:01,430 --> 00:18:04,090 Le corps d'entité est demandée court et fort, apparemment. 372 00:18:04,090 --> 00:18:07,990 >> Alors parfois il ya plus erreurs effrayant que je suis une théière. 373 00:18:07,990 --> 00:18:11,210 Mais cela est une que je suppose vous sorte d'espoir de frapper. 374 00:18:11,210 --> 00:18:14,130 Mais je ne pense pas que vous voulez. 375 00:18:14,130 --> 00:18:17,260 Tout le monde bien sur tout statut codes, les demandes, les processus, décisions 376 00:18:17,260 --> 00:18:19,155 que l'information est livrée correctement? 377 00:18:19,155 --> 00:18:22,270 378 00:18:22,270 --> 00:18:26,120 >> Alors maintenant, nous allons à la transition dans une partie amusante de l'article aujourd'hui, 379 00:18:26,120 --> 00:18:28,500 où l'on parle un peu de HTML. 380 00:18:28,500 --> 00:18:32,580 HTML, tout ce qu'il est HyperText Langage de balisage. 381 00:18:32,580 --> 00:18:35,160 Il est juste la langue standard vous utilisez pour créer tous les web 382 00:18:35,160 --> 00:18:36,690 pages sur Internet. 383 00:18:36,690 --> 00:18:39,560 >> Ainsi, toute page Web, ce qui est votre page web préféré? 384 00:18:39,560 --> 00:18:40,855 Quel est votre page Web préférée? 385 00:18:40,855 --> 00:18:41,771 >> AUDIENCE: [inaudible]. 386 00:18:41,771 --> 00:18:42,270 387 00:18:42,270 --> 00:18:43,090 ANDI PENG: Désolé? 388 00:18:43,090 --> 00:18:43,980 >> AUDIENCE: Tumblr. 389 00:18:43,980 --> 00:18:44,730 >> ANDI PENG: Tumblr. 390 00:18:44,730 --> 00:18:46,800 Donc, Tumblr est écrit en HTML. 391 00:18:46,800 --> 00:18:50,700 Et donc nous allons effectivement passer et jouer avec certaines de ces choses 392 00:18:50,700 --> 00:18:51,980 plus tard. 393 00:18:51,980 --> 00:18:54,980 Quasiment tout ce que vous besoin d'apprendre, de connaître, 394 00:18:54,980 --> 00:18:58,540 à écrire en HTML vous pouvez probablement Google vient sur Internet. 395 00:18:58,540 --> 00:19:04,490 >> HTML, il est pas un programme comme C où vous pouvez créer des variables et à faire 396 00:19:04,490 --> 00:19:05,600 choses cool avec elle. 397 00:19:05,600 --> 00:19:08,747 Il est plus juste de, oh, voilà comment je veulent que les choses apparaissent sur mon site. 398 00:19:08,747 --> 00:19:10,080 Et je vais juste mettre dans. 399 00:19:10,080 --> 00:19:12,160 Et ça va coiffer. 400 00:19:12,160 --> 00:19:15,650 >> Donc, HTML, en un sens, il est juste comme un langage de mise en forme ou un modèle. 401 00:19:15,650 --> 00:19:16,680 Il est beaucoup plus facile. 402 00:19:16,680 --> 00:19:19,030 Il est beaucoup plus facile à apprendre, beaucoup plus facile à écrire dans 403 00:19:19,030 --> 00:19:21,450 que votre programmation typique la langue, très facile, 404 00:19:21,450 --> 00:19:24,310 très accessible à l'utilisateur et convivial. 405 00:19:24,310 --> 00:19:29,040 >> Donc, nous allons en fait à jouer autour, écrire nos propres pages aujourd'hui. 406 00:19:29,040 --> 00:19:32,900 Mais avant de commencer, je veux juste aller sur quelques brèves meilleures pratiques. 407 00:19:32,900 --> 00:19:35,660 Parce que le HTML est un tel facile langue et parce que même 408 00:19:35,660 --> 00:19:39,012 si vous faites quelques choses mal, il peut parfois ne pas remarquer, 409 00:19:39,012 --> 00:19:41,970 nous voulons nous assurer que nous sommes effectivement adhérer à nos meilleures pratiques 410 00:19:41,970 --> 00:19:44,490 à faire en sorte que les choses qui pourrait aller autour, mais 411 00:19:44,490 --> 00:19:49,660 ne vont pas toujours de ne pas aller à droite assurez-vous qu'ils sont minimisés. 412 00:19:49,660 --> 00:19:53,570 >> Donc, à peu près, assurez- vos fermeture toutes vos balises 413 00:19:53,570 --> 00:19:54,737 quand vous écrivez en HTML. 414 00:19:54,737 --> 00:19:56,486 Si vous ouvrez un corps, assurez-vous que vous êtes 415 00:19:56,486 --> 00:19:58,015 fermeture avec un corps quelque part. 416 00:19:58,015 --> 00:20:00,720 Vous voulez vous assurer que votre page Web valide en utilisant 417 00:20:00,720 --> 00:20:02,070 ce qui est appelé le W3 Validator. 418 00:20:02,070 --> 00:20:05,460 Vous pouvez simplement que Google en ligne, et il ya un lien vers elle. 419 00:20:05,460 --> 00:20:07,820 >> Et puis vous voulez HTML distinct, qui 420 00:20:07,820 --> 00:20:13,060 est votre langage de balisage de votre style, qui est la langue de CSS que David 421 00:20:13,060 --> 00:20:17,510 démontré que nous sommes aussi va jouer un peu avec conférence. 422 00:20:17,510 --> 00:20:19,120 Frais. 423 00:20:19,120 --> 00:20:23,500 Donc, chaque fois que vous voulez exécuter HTML sur l'appareil de CS50, 424 00:20:23,500 --> 00:20:26,240 nous allons lancer un programme appelé apache, 425 00:20:26,240 --> 00:20:29,810 qui tout ce qu'il est juste un construit en serveur web que tout le monde dans CS50 426 00:20:29,810 --> 00:20:31,410 a accès. 427 00:20:31,410 --> 00:20:35,700 Nous appelons cela apache50 juste parce que nous appeler tout 50 en CS50. 428 00:20:35,700 --> 00:20:39,610 >> Donc, la façon dont vous démarrez le web CS50 serveur est en tapant sur votre commande 429 00:20:39,610 --> 00:20:42,860 ligne apache50 commencer dot. 430 00:20:42,860 --> 00:20:46,665 Et si vous voulez mettre fin à tout temps, vous ne finissez apache50 aucun point. 431 00:20:46,665 --> 00:20:47,910 Et vous frappez simplement sur Entrée. 432 00:20:47,910 --> 00:20:50,810 Et il devrait se diriger ici bientôt. 433 00:20:50,810 --> 00:20:53,630 434 00:20:53,630 --> 00:20:54,130 Ouaip. 435 00:20:54,130 --> 00:20:58,110 Donc je vais juste aller rapidement sur un exemple d'une page web très brève. 436 00:20:58,110 --> 00:21:00,280 Et nous allons passer comme 10, 15 minutes à jouer 437 00:21:00,280 --> 00:21:04,008 autour d'écrire nos propres pages Web. 438 00:21:04,008 --> 00:21:05,320 D'ACCORD. 439 00:21:05,320 --> 00:21:07,841 Donc, ici, dans la IDE-- tout le monde peut voir que? 440 00:21:07,841 --> 00:21:08,340 Pas vraiment. 441 00:21:08,340 --> 00:21:11,400 Ici, je vais un zoom avant. 442 00:21:11,400 --> 00:21:15,850 >> Je viens de cette brève modèle ici avec rien fait en elle. 443 00:21:15,850 --> 00:21:20,660 Nous allons juste d'écrire rapidement un programme HTML dans lequel nous venons 444 00:21:20,660 --> 00:21:22,050 dire bonjour au monde. 445 00:21:22,050 --> 00:21:24,970 Donc même chose que dans C, maintenant nous sommes juste faire en HTML. 446 00:21:24,970 --> 00:21:28,250 Quelqu'un veut-il en fait juste essayer de me donner la première chose que vous 447 00:21:28,250 --> 00:21:31,870 aurait à mettre dans un document HTML? 448 00:21:31,870 --> 00:21:32,850 Ouais. 449 00:21:32,850 --> 00:21:35,965 >> Audience: Les supports, le [inaudible]. 450 00:21:35,965 --> 00:21:36,590 ANDI PENG: Yep. 451 00:21:36,590 --> 00:21:47,200 452 00:21:47,200 --> 00:21:50,930 Donc, quelque chose qui est très unique HTML que nous typiquement traditionnellement 453 00:21:50,930 --> 00:21:56,080 ne rencontre pas dans les autres commande langages de programmation de niveau ligne 454 00:21:56,080 --> 00:21:59,890 est que nous réellement spécifier le type de fichier 455 00:21:59,890 --> 00:22:01,987 ce qui va être au sommet de notre code. 456 00:22:01,987 --> 00:22:04,570 Donc, dans ce instance-- je pense que ce soit la bonne commande, non? 457 00:22:04,570 --> 00:22:10,050 458 00:22:10,050 --> 00:22:10,550 Ouaip. 459 00:22:10,550 --> 00:22:14,860 Au sommet, vous voulez juste d'inclure Bang DOCTYPE html entre parenthèses juste 460 00:22:14,860 --> 00:22:17,670 de dire à votre ordinateur, hey, regarder dehors. 461 00:22:17,670 --> 00:22:20,050 Et le document HTML est à venir. 462 00:22:20,050 --> 00:22:22,250 Et puis, comment voulons-nous pour commencer notre dossier? 463 00:22:22,250 --> 00:22:25,540 Si nous voulons juste pour dire bonjour, avoir une page web qui dit bonjour au monde, 464 00:22:25,540 --> 00:22:26,915 comment allons-nous à propos de la construction de cette? 465 00:22:26,915 --> 00:22:32,910 466 00:22:32,910 --> 00:22:35,300 >> En fait, nous allons tourner à Google. 467 00:22:35,300 --> 00:22:36,910 Et nous pouvons le faire. 468 00:22:36,910 --> 00:22:43,170 469 00:22:43,170 --> 00:22:43,670 Ouaip. 470 00:22:43,670 --> 00:22:44,840 Nous y voilà. 471 00:22:44,840 --> 00:22:47,630 Donc HTML. 472 00:22:47,630 --> 00:22:52,390 Comme vous pouvez le voir, mon navigateur est en fait coiffer automatiquement pour moi. 473 00:22:52,390 --> 00:22:56,010 >> Même chose que dans C, lorsque vous créer une accolade ouverte, 474 00:22:56,010 --> 00:22:59,020 votre navigateur automatiquement ajoute dans une accolade à proximité. 475 00:22:59,020 --> 00:23:02,210 Heureusement, notre IDE aime faire pour nous aussi. 476 00:23:02,210 --> 00:23:05,490 Alors maintenant, nous pouvons genre de type le début d'une balise, 477 00:23:05,490 --> 00:23:09,139 et il va nous dire toujours pensez à taper la fin de l'étiquette. 478 00:23:09,139 --> 00:23:10,680 Je pense que ce doit être capitalisé. 479 00:23:10,680 --> 00:23:15,510 480 00:23:15,510 --> 00:23:21,760 Et puis, nous voulons ajouter, toujours, une tête dans laquelle est le titre. 481 00:23:21,760 --> 00:23:25,270 482 00:23:25,270 --> 00:23:29,160 Nous voulons juste à appeler peut-être ce bonjour, puis le corps. 483 00:23:29,160 --> 00:23:34,010 484 00:23:34,010 --> 00:23:36,310 >> Et là vous allez. 485 00:23:36,310 --> 00:23:39,650 Qui est en fait notre document HTML. 486 00:23:39,650 --> 00:23:45,030 Ainsi, la manière que tout document HTML est toujours de style in-- même chose 487 00:23:45,030 --> 00:23:46,720 avec void main int. 488 00:23:46,720 --> 00:23:49,600 Vous voulez toujours avoir HTML une balise ouverture et de fermeture 489 00:23:49,600 --> 00:23:52,100 en haut et en bas de votre code. 490 00:23:52,100 --> 00:23:56,900 >> Vous voulez avoir une tête à l'intérieur de qui contient le titre, juste ce 491 00:23:56,900 --> 00:24:01,430 va afficher l'onglet de votre web page, puis un corps à l'intérieur duquel 492 00:24:01,430 --> 00:24:04,120 seront effectivement afficher le contenu de ce que vous voulez faire. 493 00:24:04,120 --> 00:24:08,220 Donc, si vous vouliez réellement fonctionner ceci, je vais faire un zoom arrière. 494 00:24:08,220 --> 00:24:12,740 Vous pouvez réellement commencer apache50 commencer dot. 495 00:24:12,740 --> 00:24:15,650 496 00:24:15,650 --> 00:24:16,150 Frais. 497 00:24:16,150 --> 00:24:18,980 Et comme vous pouvez le voir, maintenant ce lien a surgi. 498 00:24:18,980 --> 00:24:21,940 Il dit que votre site est maintenant disponible à un certain lien ci-dessous. 499 00:24:21,940 --> 00:24:25,910 Donc toute notre IDE a done-- pas IDE, sorry-- ouais, 500 00:24:25,910 --> 00:24:33,280 notre IDE a fait est de créer un web lien sur lequel l'ensemble de nos pages web 501 00:24:33,280 --> 00:24:35,407 peut être consultée sur le serveur. 502 00:24:35,407 --> 00:24:36,490 Donc, nous allons jeter un coup d'oeil ici. 503 00:24:36,490 --> 00:24:40,240 >> Cliquons sur ce point, aller à hello.html. 504 00:24:40,240 --> 00:24:42,895 Et vous voyez une très simple page web pour Bonjour tout le monde. 505 00:24:42,895 --> 00:24:46,477 506 00:24:46,477 --> 00:24:47,420 D'ACCORD. 507 00:24:47,420 --> 00:24:50,513 Nous allons en fait juste avoir everyone-- ouais, quoi de neuf? 508 00:24:50,513 --> 00:24:52,353 >> AUDIENCE: Je dois une question fondamentale. 509 00:24:52,353 --> 00:24:52,978 ANDI PENG: Yup. 510 00:24:52,978 --> 00:24:58,064 Public: Comment épargnez-vous votre fichier au format HTML? 511 00:24:58,064 --> 00:24:58,730 ANDI PENG: Ouais. 512 00:24:58,730 --> 00:25:02,960 513 00:25:02,960 --> 00:25:10,820 Donc, si je devais créer un nouveau fichier, si je fais un nouveau fichier, Untittle, si je le fais, 514 00:25:10,820 --> 00:25:14,390 section.html, boom, qui est ce que je dois faire. 515 00:25:14,390 --> 00:25:15,363 >> AUDIENCE: [inaudible]? 516 00:25:15,363 --> 00:25:15,946 PENG ANDI: Non 517 00:25:15,946 --> 00:25:16,660 AUDIENCE: [inaudible]. 518 00:25:16,660 --> 00:25:17,240 PENG ANDI: Non 519 00:25:17,240 --> 00:25:18,156 AUDIENCE: [inaudible]. 520 00:25:18,156 --> 00:25:19,110 ANDI PENG: Ouais. 521 00:25:19,110 --> 00:25:24,300 Pretty much, l'extension sur le fichier qui est à l'intérieur de votre IDE, 522 00:25:24,300 --> 00:25:27,840 qui indique à l'ordinateur, qui dit le navigateur, hey, regarder dehors. 523 00:25:27,840 --> 00:25:30,480 Cela va être le code écrit dans cette langue. 524 00:25:30,480 --> 00:25:34,240 Ainsi, par exemple, dans Microsoft Word, qu'est-ce que tous les documents Word 525 00:25:34,240 --> 00:25:37,070 terminer, quelle extension? 526 00:25:37,070 --> 00:25:39,830 .doc ou .docx, non? 527 00:25:39,830 --> 00:25:42,299 >> Tout ce qui est fait précise à votre système d'exploitation, hey, 528 00:25:42,299 --> 00:25:43,840 vous avez un document Word à venir. 529 00:25:43,840 --> 00:25:44,940 Ouvrez-le avec Word. 530 00:25:44,940 --> 00:25:46,955 Même chose avec les fichiers PDF. 531 00:25:46,955 --> 00:25:49,650 Il sait, oh, je dois d'ouvrir ce fichier 532 00:25:49,650 --> 00:25:52,020 avec Adobe Reader ou Adobe Acrobat. 533 00:25:52,020 --> 00:25:56,130 >> Et si les extensions fonctionnent de la même façon que dans votre ordinateur. 534 00:25:56,130 --> 00:26:00,750 Si vous indiquez votre page de code d'être nommé HTML, alors il sait, 535 00:26:00,750 --> 00:26:01,880 oh, vous avez le code HTML. 536 00:26:01,880 --> 00:26:04,890 Je vais traiter comme code html. 537 00:26:04,890 --> 00:26:06,600 Donc, il est super intelligent dans ce sens. 538 00:26:06,600 --> 00:26:11,360 539 00:26:11,360 --> 00:26:18,730 >> Donc tout le monde, prenons comme 10 minutes et il suffit de créer nos propres sites Web. 540 00:26:18,730 --> 00:26:21,020 Ajoutons dans les belles choses. 541 00:26:21,020 --> 00:26:23,440 Sentez-vous libre de dire ce que vous voulez. 542 00:26:23,440 --> 00:26:27,890 Je veux juste vous assurer que Les serveurs de chacun sont en cours d'exécution correctement 543 00:26:27,890 --> 00:26:31,220 avant que nous vous libérons dans le pset. 544 00:26:31,220 --> 00:26:33,490 Parce que si vos serveurs ne pas courir pour le pset, 545 00:26:33,490 --> 00:26:34,847 ce sera vraiment, vraiment mauvais. 546 00:26:34,847 --> 00:27:17,380 547 00:27:17,380 --> 00:27:21,093 >> Je vais juste flotter autour et voir ce que tout le monde travaille. 548 00:27:21,093 --> 00:27:26,965 549 00:27:26,965 --> 00:27:27,590 Comment ça va? 550 00:27:27,590 --> 00:27:29,048 >> AUDIENCE: Je viens d'avoir sur mon ordinateur. 551 00:27:29,048 --> 00:27:29,923 >> ANDI PENG: Voilà OK. 552 00:27:29,923 --> 00:27:41,200 553 00:27:41,200 --> 00:27:42,390 >> AUDIENCE: [inaudible]. 554 00:27:42,390 --> 00:27:44,284 >> ANDI PENG: Juste votre IDE. 555 00:27:44,284 --> 00:27:44,784 Ouais. 556 00:27:44,784 --> 00:27:54,040 557 00:27:54,040 --> 00:27:55,910 >> AUDIENCE: [inaudible]. 558 00:27:55,910 --> 00:27:57,590 >> PENG ANDI: Il est OK. 559 00:27:57,590 --> 00:27:59,491 >> AUDIENCE: [inaudible]. 560 00:27:59,491 --> 00:28:00,490 ANDI PENG: Totalement amende. 561 00:28:00,490 --> 00:28:47,705 562 00:28:47,705 --> 00:28:51,530 Tout le monde est accès leur serveur Web OK? 563 00:28:51,530 --> 00:28:52,970 Est en cours d'exécution apache50 OK? 564 00:28:52,970 --> 00:28:54,700 Je pense que dans certains des les autres sections, nous 565 00:28:54,700 --> 00:28:58,790 eu des problèmes avec des personnes non pouvoir accéder au serveur. 566 00:28:58,790 --> 00:28:59,290 Ouais. 567 00:28:59,290 --> 00:29:05,764 Donc, il suffit de lancer apache50 Espace Start période de l'espace. 568 00:29:05,764 --> 00:29:06,680 AUDIENCE: [inaudible]. 569 00:29:06,680 --> 00:29:07,610 ANDI PENG: Yup. 570 00:29:07,610 --> 00:29:08,294 Bien? 571 00:29:08,294 --> 00:29:09,210 >> AUDIENCE: [inaudible]. 572 00:29:09,210 --> 00:29:12,530 573 00:29:12,530 --> 00:29:13,350 >> ANDI PENG: Oh, OK. 574 00:29:13,350 --> 00:29:14,808 Donc, vous êtes censé avoir un espace. 575 00:29:14,808 --> 00:29:15,425 Donc apache50-- 576 00:29:15,425 --> 00:29:16,115 >> AUDIENCE: je l'ai fait. 577 00:29:16,115 --> 00:29:17,661 >> ANDI PENG: espace --start. 578 00:29:17,661 --> 00:29:18,660 AUDIENCE: Oh, l'espace dot. 579 00:29:18,660 --> 00:29:20,110 ANDI PENG: Yup, espace dot. 580 00:29:20,110 --> 00:29:23,230 Et voilà. 581 00:29:23,230 --> 00:29:25,490 Alors si vous avez une page HTML créée, 582 00:29:25,490 --> 00:29:28,560 alors vous pouvez simplement aller directement le lien qu'il spécifie. 583 00:29:28,560 --> 00:29:30,539 Et vous devriez être en mesure d'y accéder. 584 00:29:30,539 --> 00:29:35,130 585 00:29:35,130 --> 00:29:37,876 >> Tout le monde été en mesure de accéder à leurs pages Web OK? 586 00:29:37,876 --> 00:29:39,339 >> AUDIENCE: [inaudible]. 587 00:29:39,339 --> 00:29:40,380 ANDI PENG: Oh, qui est OK. 588 00:29:40,380 --> 00:29:43,551 589 00:29:43,551 --> 00:29:44,964 >> AUDIENCE: [inaudible]. 590 00:29:44,964 --> 00:29:45,630 ANDI PENG: Ouais. 591 00:29:45,630 --> 00:29:48,171 Je pense que vous pouvez réellement ouvrir il au sein de votre navigateur, navigateur 592 00:29:48,171 --> 00:29:49,955 et pas seulement votre navigateur IDE. 593 00:29:49,955 --> 00:29:51,580 Ouais, je pense que si vous copiez et collez. 594 00:29:51,580 --> 00:29:53,920 >> Public: Et puis comment pouvons-nous l'éteignons? 595 00:29:53,920 --> 00:29:54,590 [INAUDIBLE] 596 00:29:54,590 --> 00:29:58,720 >> ANDI PENG: Ouais, vous faites apache50 arrêter sans délai. 597 00:29:58,720 --> 00:29:59,220 Ouaip. 598 00:29:59,220 --> 00:30:01,180 >> AUDIENCE: [inaudible]. 599 00:30:01,180 --> 00:30:02,768 >> ANDI Peng: En l'absence de période. 600 00:30:02,768 --> 00:30:04,051 Ouais. 601 00:30:04,051 --> 00:30:04,550 Nous y voilà. 602 00:30:04,550 --> 00:30:05,050 Ouaip. 603 00:30:05,050 --> 00:30:08,480 604 00:30:08,480 --> 00:30:09,855 Nous créons nos propres pages Web. 605 00:30:09,855 --> 00:30:10,646 >> AUDIENCE: Oh, cool. 606 00:30:10,646 --> 00:30:13,396 607 00:30:13,396 --> 00:30:14,062 ANDI PENG: Ouais. 608 00:30:14,062 --> 00:30:20,484 609 00:30:20,484 --> 00:30:22,420 >> AUDIENCE: Je ai une question. 610 00:30:22,420 --> 00:30:25,294 Donc apache 50-- 611 00:30:25,294 --> 00:30:26,731 >> PENG ANDI: 50, ouais. 612 00:30:26,731 --> 00:30:28,168 >> AUDIENCE: [inaudible]. 613 00:30:28,168 --> 00:30:29,130 >> ANDI PENG: Quoi? 614 00:30:29,130 --> 00:30:29,750 C'est étrange. 615 00:30:29,750 --> 00:30:32,244 Voir, qui était un peu de la question ce qui se passait avant. 616 00:30:32,244 --> 00:30:37,820 617 00:30:37,820 --> 00:30:38,730 D'ACCORD. 618 00:30:38,730 --> 00:30:39,800 Me voir après l'article. 619 00:30:39,800 --> 00:30:42,320 Parce que nous avons de la problèmes avec le serveur. 620 00:30:42,320 --> 00:30:44,325 >> Et vous voulez faire Vérifiez que votre serveur est 621 00:30:44,325 --> 00:30:45,700 courir avant de commencer le jeu de processeurs. 622 00:30:45,700 --> 00:30:47,800 Parce que vous allez en avoir besoin. 623 00:30:47,800 --> 00:30:48,300 Ouais. 624 00:30:48,300 --> 00:30:51,299 Y at-il quelqu'un d'autre qui n'a pas été en mesure d'obtenir leur serveur pour commencer? 625 00:30:51,299 --> 00:31:12,410 626 00:31:12,410 --> 00:31:17,840 >> Pour ceux d'entre vous qui veulent ajouter de style supplémentaire à vos pages Web, 627 00:31:17,840 --> 00:31:20,450 nous pouvons réellement faire ce que David a fait en conférence ainsi, 628 00:31:20,450 --> 00:31:24,070 qui est de créer un style supplémentaire feuille, qui est un point de CSS, Cascading 629 00:31:24,070 --> 00:31:30,080 Style Sheet et effectivement il suffit d'ajouter dans. 630 00:31:30,080 --> 00:31:33,550 Ainsi, par exemple, je viens de créer à peu près à peu près la même exacte 631 00:31:33,550 --> 00:31:37,180 David a fait en cours. 632 00:31:37,180 --> 00:31:39,220 Vous pouvez très bien juste faire corps. 633 00:31:39,220 --> 00:31:45,980 >> Vous avez ce qu'on appelle des balises dans laquelle vous pouvez demander à ce que la section IDE 634 00:31:45,980 --> 00:31:48,650 vous voulez au sein de votre réelle à la page HTML. 635 00:31:48,650 --> 00:31:54,890 Ainsi, le corps de la page, vous peut faire centre d'alignement de texte. 636 00:31:54,890 --> 00:31:58,110 Et puis je vais créative une balise appelée haut à l'intérieur 637 00:31:58,110 --> 00:32:01,860 dont je veux ces choses arriver, attribuer une plus grande taille de pixel 638 00:32:01,860 --> 00:32:03,104 pour la police. 639 00:32:03,104 --> 00:32:04,520 Je veux que le poids de la police à faire preuve d'audace. 640 00:32:04,520 --> 00:32:06,478 Et je veux la couleur être bleu, juste arbitraire 641 00:32:06,478 --> 00:32:08,570 valeurs que je décidé de choisir. 642 00:32:08,570 --> 00:32:10,870 Je peux créer une autre balise appelée milieu. 643 00:32:10,870 --> 00:32:12,640 Taille de la police, le rendre un peu plus petit. 644 00:32:12,640 --> 00:32:17,730 Et puis je peux créer une autre balise appelé en bas où je veux que la taille de la police 645 00:32:17,730 --> 00:32:20,900 être encore plus petit encore. 646 00:32:20,900 --> 00:32:25,630 >> Et donc à peu près ceci est juste exemple de code source ou de sources de feuilles de style 647 00:32:25,630 --> 00:32:27,400 qu'il est très facile de simplement Google. 648 00:32:27,400 --> 00:32:31,560 Si vous dites, oh, je veux que mon police être en italique et de couleur vert foncé, 649 00:32:31,560 --> 00:32:33,980 vous pouvez probablement Google, puis il vous dira 650 00:32:33,980 --> 00:32:37,590 les étiquettes ou les ID appropriés pour créer. 651 00:32:37,590 --> 00:32:41,670 Et la façon dont vous le feriez effectivement genre d'avoir cette dans un document HTML 652 00:32:41,670 --> 00:32:45,660 ou utilisez il est tout ce que vous avez à faire ici est à la tête 653 00:32:45,660 --> 00:32:48,560 ajouter un lien vers la feuille de style. 654 00:32:48,560 --> 00:32:53,600 >> Ainsi, vous pouvez juste un lien égaux href quel que soit le nom de votre feuille de style 655 00:32:53,600 --> 00:32:54,590 est. 656 00:32:54,590 --> 00:32:56,740 Et puis la relation est une feuille de style. 657 00:32:56,740 --> 00:33:00,700 Donc, dans les tout document HTML, aussi longtemps que vous incluez cette feuille CSS de dot, 658 00:33:00,700 --> 00:33:07,140 vous devriez être en mesure d'accéder à et y ont les propriétés. 659 00:33:07,140 --> 00:33:10,370 >> Ainsi, par exemple, ici je viens créer une autre page web par exemple. 660 00:33:10,370 --> 00:33:15,680 Ce sont les bienvenus à la section de CS50 Les mardis de 02h00 à 3h30 avec moi. 661 00:33:15,680 --> 00:33:20,300 Et puis je l'ai ajouté une belle image qui nous devrions être potentiellement en mesure de voir. 662 00:33:20,300 --> 00:33:24,620 >> Donc, si vous jetez un oeil ici, si vous allez à style.html, 663 00:33:24,620 --> 00:33:26,310 nous avons créé une page web avec des chatons. 664 00:33:26,310 --> 00:33:29,420 Parce chaton sont impressionnantes. 665 00:33:29,420 --> 00:33:33,570 Donc, l'ajout d'une image est juste img Link SRC. 666 00:33:33,570 --> 00:33:36,260 667 00:33:36,260 --> 00:33:38,310 >> Joli beaucoup, si il ya toute sorte de fonction 668 00:33:38,310 --> 00:33:40,268 vous voulez ajouter à votre website-- alors disons, 669 00:33:40,268 --> 00:33:43,290 vous voulez ajouter un menu ou une barre de recherche ou comme 670 00:33:43,290 --> 00:33:46,450 un image-- seulement Google comment faire cela. 671 00:33:46,450 --> 00:33:48,277 Et vous venez de plop dans ce format. 672 00:33:48,277 --> 00:33:50,110 Et vous pouvez juste assez bien il suffit d'ajouter dans. 673 00:33:50,110 --> 00:33:52,670 Il est vraiment, vraiment facile. 674 00:33:52,670 --> 00:33:55,014 >> Nous créons notre propre pages web en ce moment. 675 00:33:55,014 --> 00:33:55,680 Si tu veux-- 676 00:33:55,680 --> 00:33:56,580 >> AUDIENCE: [inaudible] 677 00:33:56,580 --> 00:33:57,470 >> ANDI PENG: Désolé? 678 00:33:57,470 --> 00:33:59,310 >> AUDIENCE: [inaudible]. 679 00:33:59,310 --> 00:34:01,340 >> ANDI PENG: Oh, la div est juste une division 680 00:34:01,340 --> 00:34:04,370 en me disant que, oh, je dois une certaine section intitulée 681 00:34:04,370 --> 00:34:07,480 milieu dans lequel je sollicite mon tag CSS, puis 682 00:34:07,480 --> 00:34:09,619 mon autre division avec le fond. 683 00:34:09,619 --> 00:34:10,785 Voilà tout ce qu'il vous dit. 684 00:34:10,785 --> 00:34:12,743 Parce qu'il est bon de garder choses intéressantes dans l'ordre, 685 00:34:12,743 --> 00:34:16,304 de sorte que le programme sait exactement comment faire fonctionner. 686 00:34:16,304 --> 00:34:18,929 Et pense que je peux copier-coller ce dans mon navigateur réel ainsi. 687 00:34:18,929 --> 00:34:21,110 Il devrait être bon. 688 00:34:21,110 --> 00:34:21,610 Ouais. 689 00:34:21,610 --> 00:34:24,330 690 00:34:24,330 --> 00:34:25,989 Yay. 691 00:34:25,989 --> 00:34:29,380 Donc, si tout le monde veut tout simplement essayez de créer une page web, 692 00:34:29,380 --> 00:34:32,169 nous allons prendre encore deux à trois minutes. 693 00:34:32,169 --> 00:34:34,460 Je veux juste vous assurer Les serveurs de chacun sont en cours d'exécution 694 00:34:34,460 --> 00:34:36,941 et tout le monde a un idée de la façon de le faire. 695 00:34:36,941 --> 00:34:38,774 Si vous les gars veulent sortez vos ordinateurs. 696 00:34:38,774 --> 00:34:44,630 697 00:34:44,630 --> 00:34:45,635 Ne fonctionne toujours pas? 698 00:34:45,635 --> 00:34:47,420 >> AUDIENCE: Je suis juste [inaudible]. 699 00:34:47,420 --> 00:34:49,838 >> ANDI PENG: Peut-être essayer de mettre à jour 50 ainsi. 700 00:34:49,838 --> 00:34:51,392 Ouais. 701 00:34:51,392 --> 00:34:52,308 AUDIENCE: [inaudible]. 702 00:34:52,308 --> 00:35:17,502 703 00:35:17,502 --> 00:35:18,990 >> ANDI PENG: Ouais. 704 00:35:18,990 --> 00:35:23,750 Ainsi, la manière que vous commencez une nouvelle serveur web sur l'IDE est juste 705 00:35:23,750 --> 00:35:27,889 faire apache50 espace démarrage de l'espace dot. 706 00:35:27,889 --> 00:35:30,430 Je voulais juste vous assurer Les serveurs de chacun sont en cours d'exécution sur OK. 707 00:35:30,430 --> 00:35:31,763 >> AUDIENCE: Ici, sur le terminal? 708 00:35:31,763 --> 00:35:33,334 ANDI PENG: Ouais. 709 00:35:33,334 --> 00:35:34,250 AUDIENCE: [inaudible]. 710 00:35:34,250 --> 00:35:38,000 711 00:35:38,000 --> 00:35:38,985 >> ANDI PENG: Apache. 712 00:35:38,985 --> 00:35:42,010 En fait, je pense que vous êtes fonctionnant déjà quelque chose. 713 00:35:42,010 --> 00:35:43,145 Ouais, vous êtes réellement l'exécution d'un autre serveur. 714 00:35:43,145 --> 00:35:43,830 Ouais, vous êtes bon. 715 00:35:43,830 --> 00:35:45,085 Tant que cela fonctionne, vous êtes OK. 716 00:35:45,085 --> 00:35:45,626 >> AUDIENCE: OK. 717 00:35:45,626 --> 00:35:47,615 PENG ANDI: Il ya deux façons d'exécuter des serveurs. 718 00:35:47,615 --> 00:35:49,990 Donc, tant que l'un des moyens travaille, tout va bien. 719 00:35:49,990 --> 00:36:18,470 720 00:36:18,470 --> 00:36:21,680 Nous allons prendre une minute juste sorte de finir 721 00:36:21,680 --> 00:36:25,280 les finitions de ce que page Web que vous les gars voulaient faire. 722 00:36:25,280 --> 00:36:26,830 >> Tout le monde est travaillé par le chemin? 723 00:36:26,830 --> 00:36:30,910 Les serveurs de chacun sont courir ailleurs pour le vôtre? 724 00:36:30,910 --> 00:36:32,210 Nous allons comprendre cela. 725 00:36:32,210 --> 00:36:34,137 Et HTML est assez simple. 726 00:36:34,137 --> 00:36:35,220 Donc, je pense que nous sommes tous bons. 727 00:36:35,220 --> 00:36:38,260 728 00:36:38,260 --> 00:36:38,760 Ouais. 729 00:36:38,760 --> 00:36:41,070 Je reviendrai. 730 00:36:41,070 --> 00:36:42,797 >> AUDIENCE: [inaudible]. 731 00:36:42,797 --> 00:36:43,380 ANDI PENG: OK. 732 00:36:43,380 --> 00:36:44,770 AUDIENCE: Donc, il est tout simplement commencé à charger. 733 00:36:44,770 --> 00:36:45,686 ANDI PENG: Pas de soucis. 734 00:36:45,686 --> 00:36:49,590 735 00:36:49,590 --> 00:36:52,680 Donc, HTML, il ya le code source qui sera en ligne après l'article. 736 00:36:52,680 --> 00:36:54,810 De plus, David a un ensemble tas en ligne aussi bien. 737 00:36:54,810 --> 00:36:58,190 Tout type de regard sur elle pour voir comment les pages HTML sont écrits. 738 00:36:58,190 --> 00:36:59,920 Il est assez facile. 739 00:36:59,920 --> 00:37:03,979 Tout ce que vous ne savez pas, vous avez à peu près juste Google et vous êtes bon. 740 00:37:03,979 --> 00:37:06,270 Je veux juste vous assurer que vos serveurs sont en cours d'exécution. 741 00:37:06,270 --> 00:37:12,962 742 00:37:12,962 --> 00:37:14,880 >> Public: Est-il faire cela souvent? 743 00:37:14,880 --> 00:37:16,421 >> PENG ANDI: Il n'a jamais passé pour moi. 744 00:37:16,421 --> 00:37:18,470 745 00:37:18,470 --> 00:37:20,782 Je ne savais pas que cela pouvait même hiberner. 746 00:37:20,782 --> 00:37:22,516 >> AUDIENCE: [inaudible]. 747 00:37:22,516 --> 00:37:25,140 ANDI Peng: Je pense everyone-- la mine n'a jamais hiberné avant. 748 00:37:25,140 --> 00:37:26,860 Et je ne sais pas pourquoi. 749 00:37:26,860 --> 00:37:27,566 C'est étrange. 750 00:37:27,566 --> 00:37:29,310 >> AUDIENCE: [inaudible]. 751 00:37:29,310 --> 00:37:30,643 >> ANDI PENG: est le vôtre en hibernation? 752 00:37:30,643 --> 00:37:32,615 753 00:37:32,615 --> 00:37:33,669 >> AUDIENCE: [inaudible]. 754 00:37:33,669 --> 00:37:34,335 ANDI PENG: Ouais. 755 00:37:34,335 --> 00:37:39,122 756 00:37:39,122 --> 00:37:39,872 PUBLIC: Il est OK. 757 00:37:39,872 --> 00:37:40,622 Donc, une fois qu'il est ouvert. 758 00:37:40,622 --> 00:37:41,760 ANDI PENG: OK. 759 00:37:41,760 --> 00:37:43,940 Nous allons traiter avec un serveur questions après l'article. 760 00:37:43,940 --> 00:37:44,860 Vous devriez être bien. 761 00:37:44,860 --> 00:37:47,950 Bien, vous voulez vous assurer que vous obtenir les résoudre avant de vous quitter. 762 00:37:47,950 --> 00:37:49,380 Parce que si votre serveur de ne fonctionne pas, alors vous êtes 763 00:37:49,380 --> 00:37:52,004 ne va pas être en mesure de faire la pset, comme une partie de la pset. 764 00:37:52,004 --> 00:37:54,200 Donc, vous voulez vous assurer que ce qui travaille. 765 00:37:54,200 --> 00:37:54,831 Frais. 766 00:37:54,831 --> 00:37:55,330 Bien. 767 00:37:55,330 --> 00:37:56,490 Dites au revoir chatons. 768 00:37:56,490 --> 00:37:59,670 Je passais beaucoup de temps à la recherche de cette image de chaton à enfiler. 769 00:37:59,670 --> 00:38:02,272 Donc, de toute façon. 770 00:38:02,272 --> 00:38:04,950 >> AUDIENCE: [inaudible]. 771 00:38:04,950 --> 00:38:05,770 >> ANDI PENG: Désolé? 772 00:38:05,770 --> 00:38:07,345 >> AUDIENCE: [inaudible]. 773 00:38:07,345 --> 00:38:08,970 ANDI Peng: Je pense qu'il est sur le site. 774 00:38:08,970 --> 00:38:11,064 Comme la spécification? 775 00:38:11,064 --> 00:38:12,020 >> AUDIENCE: [inaudible]. 776 00:38:12,020 --> 00:38:16,080 Je pense que la spec est juste en ligne dans sept semaines. 777 00:38:16,080 --> 00:38:18,850 Je pense qu'il est appelé pset6, même si nous sommes sur la semaine de sept, qui 778 00:38:18,850 --> 00:38:19,641 est un calcul binaire. 779 00:38:19,641 --> 00:38:23,130 AUDIENCE: Mais je veux dire si vous vouloir regarder si vous at-- 780 00:38:23,130 --> 00:38:28,666 vouloir tirer vers le haut notre version de le site Web de notre Sever? 781 00:38:28,666 --> 00:38:31,820 Donc, comme server.c est le pset, non? 782 00:38:31,820 --> 00:38:36,514 Si vous voulez regarder cela, comme la façon dont il vérifie? 783 00:38:36,514 --> 00:38:38,680 ANDI PENG: Oh, donc en fait le pset, tout ce que nous faisons 784 00:38:38,680 --> 00:38:41,405 ici est implementing-- ici, Je vais aller plus brièvement. 785 00:38:41,405 --> 00:38:44,187 786 00:38:44,187 --> 00:38:47,020 Donc, pour tout le monde qui vient obtenu de l'article, vous les gars avez de la chance. 787 00:38:47,020 --> 00:38:49,340 Il ya très peu de matériel pour couvrir effectivement aujourd'hui. 788 00:38:49,340 --> 00:38:52,585 >> Je vais passer la prochaine 20 minutes en passant par pset aide. 789 00:38:52,585 --> 00:38:55,210 Parce qu'il ya une certaine utile fonctions qui aideront votre vie. 790 00:38:55,210 --> 00:38:57,501 Et nous espérons, nous serons sur d'ici comme 20 minutes. 791 00:38:57,501 --> 00:38:58,360 D'ACCORD. 792 00:38:58,360 --> 00:39:00,252 >> Donc pset7 est erroné. 793 00:39:00,252 --> 00:39:02,460 Même si nous sommes sur la semaine sept, il ya en fait pset6. 794 00:39:02,460 --> 00:39:04,220 Je vais changer cela. 795 00:39:04,220 --> 00:39:07,550 Tout ce que nous faisons dans pset6 est la création d'un serveur web. 796 00:39:07,550 --> 00:39:09,010 Cela sonne super-effrayant. 797 00:39:09,010 --> 00:39:11,010 >> Et surtout pour ceux d'entre vous qui ont déjà 798 00:39:11,010 --> 00:39:14,530 regardé le code de distribution, il ya beaucoup de code, beaucoup de code. 799 00:39:14,530 --> 00:39:15,570 Mais est totalement OK. 800 00:39:15,570 --> 00:39:17,750 Parce que le Nitty Gritty fait partie de la création 801 00:39:17,750 --> 00:39:20,140 le serveur se fait par nous. 802 00:39:20,140 --> 00:39:22,090 Tout ce que vous êtes vraiment demandé à faire dans ce pset 803 00:39:22,090 --> 00:39:25,350 est juste pour faire un peu de manipulation de chaînes dans le fichier I / O. Il est en fait 804 00:39:25,350 --> 00:39:27,570 comme assez simple. 805 00:39:27,570 --> 00:39:30,830 >> Donc, lorsque vous téléchargez premier that-- qui ici a effectivement déjà téléchargé 806 00:39:30,830 --> 00:39:32,540 le pset et pris un coup d'oeil? 807 00:39:32,540 --> 00:39:33,040 Bien. 808 00:39:33,040 --> 00:39:33,540 Ouais. 809 00:39:33,540 --> 00:39:36,042 Il est comme 500 lignes de code que vous allez être comme, 810 00:39:36,042 --> 00:39:36,750 que se passe-t-il? 811 00:39:36,750 --> 00:39:38,177 Et cela est tout à fait bien. 812 00:39:38,177 --> 00:39:39,760 Assurez-vous que vous regardez les walk-through. 813 00:39:39,760 --> 00:39:41,610 Parce que David et-- Je ne sais pas. 814 00:39:41,610 --> 00:39:43,870 Je ne pense pas que ce soit de Zamyla, celui-ci. 815 00:39:43,870 --> 00:39:47,040 Mais je pense que d'autres walk-through sont assez 816 00:39:47,040 --> 00:39:49,510 utile en termes de juste vous savez 817 00:39:49,510 --> 00:39:51,780 ce qui se passe à l'intérieur de votre code. 818 00:39:51,780 --> 00:39:53,330 >> Et il est tout à fait OK. 819 00:39:53,330 --> 00:39:57,860 Parce que les quatre fonctions que vous êtes demande de mettre en oeuvre réellement avoir 820 00:39:57,860 --> 00:39:59,720 zéro à voir avec le serveur réel. 821 00:39:59,720 --> 00:40:02,590 Tout ce qu'ils ont à faire est de simplement l'analyse des chaînes différentes, 822 00:40:02,590 --> 00:40:05,780 recherche par le biais des chaînes, à assurer que les choses sont en train de faire 823 00:40:05,780 --> 00:40:07,750 ce qu'ils sont censés faire. 824 00:40:07,750 --> 00:40:11,200 >> Donc, à cet effet, il ya certaines fonctions très, très utiles, 825 00:40:11,200 --> 00:40:13,630 en particulier pour les cordes la manipulation, que nous devrions tous 826 00:40:13,630 --> 00:40:15,879 aller plus que je pensais que je être très utile pour vous les gars 827 00:40:15,879 --> 00:40:19,130 à apprendre avant de tenter la pset. 828 00:40:19,130 --> 00:40:23,350 Et ils sont tous contenus au sein de votre bibliothèque string.h. 829 00:40:23,350 --> 00:40:25,980 Il ya probablement plus utile fonctions que je ne l'ai pas inclus ici, 830 00:40:25,980 --> 00:40:30,740 parce que je soit ne les utilise jamais ou peut-être que je ne savais pas qu'ils existent. 831 00:40:30,740 --> 00:40:32,440 >> Sentez-vous libre de parcourir student.h. 832 00:40:32,440 --> 00:40:36,460 Parce qu'il va y avoir beaucoup des fonctions qui sont très utiles. 833 00:40:36,460 --> 00:40:43,050 Donc les six que je utilisez le plus dans mon pset quand je faisais la semaine dernière 834 00:40:43,050 --> 00:40:49,620 étaient strtok, strchr, strrcher, strstr, strcasecmp et strcpy. 835 00:40:49,620 --> 00:40:53,060 Et si les deux derniers peuvent sembler assez familier à la plupart d'entre vous. 836 00:40:53,060 --> 00:40:56,910 Str comparer cas, il ne fait que comparer cordes pour les vérifier pour l'égalité, 837 00:40:56,910 --> 00:40:58,110 y compris les cas. 838 00:40:58,110 --> 00:41:01,430 Et strcpy seulement des copies une corde dans un tampon. 839 00:41:01,430 --> 00:41:04,430 >> Et si ces deux devrait sembler très familiers à vous les gars à ce point. 840 00:41:04,430 --> 00:41:07,100 Parce que nous les avons utilisé beaucoup, surtout pour les dernières psets. 841 00:41:07,100 --> 00:41:10,734 Mais peut-être les quatre premiers vous avez pas vu jusqu'à présent. 842 00:41:10,734 --> 00:41:12,400 Mais je vais juste marcher à travers eux. 843 00:41:12,400 --> 00:41:15,620 Parce qu'ils vont faire vos vies vraiment, vraiment facile pour-- pas facile, 844 00:41:15,620 --> 00:41:19,830 mais beaucoup plus facile pour cette prochaine pset. 845 00:41:19,830 --> 00:41:20,420 >> D'ACCORD. 846 00:41:20,420 --> 00:41:27,720 Donc char * strtok, telle est la fonction définition de cette fonction contenait 847 00:41:27,720 --> 00:41:31,050 au sein de la chaîne, bibliothèque h. 848 00:41:31,050 --> 00:41:34,340 Si vous êtes donné une entrée du char * chaîne, qui est juste une chaîne, 849 00:41:34,340 --> 00:41:38,220 ou un caractère constant * deliminator, delim pour faire court, 850 00:41:38,220 --> 00:41:42,410 tout qu'il fait est casser la plus grande chaîne dans une série de ce que nous appelons 851 00:41:42,410 --> 00:41:45,730 jetons séparés par une certaine valeur. 852 00:41:45,730 --> 00:42:03,340 Donc dans un sens, si je devais donner vous section.7.php, ceci est une chaîne. 853 00:42:03,340 --> 00:42:09,520 >> Donc, ce serait si je devais passer dans ce que mon str, mon char * str, 854 00:42:09,520 --> 00:42:18,870 si mon deliminator était point, tout cela voudrais faire est la recherche par chaîne. 855 00:42:18,870 --> 00:42:22,790 Et la première fois qu'il voit un point, il serait tout simplement revenir au pointeur 856 00:42:22,790 --> 00:42:25,830 pour le dernier jeton trouvé dans la chaîne avant cela. 857 00:42:25,830 --> 00:42:27,230 Donc, ce serait aller à droite ici. 858 00:42:27,230 --> 00:42:30,580 >> Et il serait juste me donner 7.php. 859 00:42:30,580 --> 00:42:34,070 Et si je devais appeler le fonctionner une fois de plus, 860 00:42:34,070 --> 00:42:37,580 il serait juste me donner l'.php. 861 00:42:37,580 --> 00:42:41,540 Et ainsi tout cette fonction fait est briser la chaîne plus grande 862 00:42:41,540 --> 00:42:44,620 en chaînes plus petites en fonction sur ce que vous cherchez. 863 00:42:44,620 --> 00:42:46,670 >> Ainsi par exemple, dans votre fonction Look Up 864 00:42:46,670 --> 00:42:49,895 si vous voulez regarder ce certains personnages viennent à propos 865 00:42:49,895 --> 00:42:54,280 ou si des points se produisent ou extensions se produisent, cette fonction serait assez utile. 866 00:42:54,280 --> 00:42:57,260 867 00:42:57,260 --> 00:42:59,010 Ouais. 868 00:42:59,010 --> 00:42:59,510 Pas de soucis. 869 00:42:59,510 --> 00:43:01,339 Ce sera tout être-- ouais, quoi de neuf? 870 00:43:01,339 --> 00:43:07,087 >> Auditoire: Alors, dans la première ligne, si nous utilisions cet exemple, 871 00:43:07,087 --> 00:43:09,504 Que ferions-nous insérer dans cela? 872 00:43:09,504 --> 00:43:10,170 ANDI PENG: Ouais. 873 00:43:10,170 --> 00:43:13,000 874 00:43:13,000 --> 00:43:25,640 Vous souhaitez tout simplement appeler un strtok delim chaîne de virgule. 875 00:43:25,640 --> 00:43:30,260 Et chaîne est égale à section.7.php. 876 00:43:30,260 --> 00:43:35,244 Et puis vous êtes delim pourrait être égale à tout point. 877 00:43:35,244 --> 00:43:36,654 >> AUDIENCE: OK. 878 00:43:36,654 --> 00:43:39,010 >> ANDI PENG: Ouais. 879 00:43:39,010 --> 00:43:41,266 Juste comme ça. 880 00:43:41,266 --> 00:43:43,890 Toutes ces fonctions sont assez même quand nous allons à travers eux. 881 00:43:43,890 --> 00:43:45,514 Ils font juste des choses légèrement différentes. 882 00:43:45,514 --> 00:43:49,530 Mais ils vont tous vous rendre la vie beaucoup plus facile. 883 00:43:49,530 --> 00:43:53,940 Deuxième fonction, celle-ci est comme super, super, super important, 884 00:43:53,940 --> 00:43:58,254 est the-- tenir. 885 00:43:58,254 --> 00:44:07,560 886 00:44:07,560 --> 00:44:08,730 >> Oops. 887 00:44:08,730 --> 00:44:13,810 Recherches strchr pour la première occurrence-- effectivement, oui. 888 00:44:13,810 --> 00:44:16,385 Strchr est la fonction qui Je suis allé certainement juste. 889 00:44:16,385 --> 00:44:18,260 Donc ignorer ce que je disais pour la première fonction. 890 00:44:18,260 --> 00:44:20,980 Il est en fait appelé strchr. 891 00:44:20,980 --> 00:44:24,840 >> Donc ce qui est arrivé ici est si vous avez reçu une chaîne dans un char c, 892 00:44:24,840 --> 00:44:28,660 il serait tout simplement donner vous quels qu'ils soient. 893 00:44:28,660 --> 00:44:29,230 Ouais. 894 00:44:29,230 --> 00:44:33,700 Alors, pensez-y comme str, qui est une chaîne, et CHR en tant que char. 895 00:44:33,700 --> 00:44:38,621 Donc, tout ce que vous essayez de faire est de rechercher pour le cas où un caractère est dans une chaîne. 896 00:44:38,621 --> 00:44:41,120 Et il recherche la première occurrence du caractère 897 00:44:41,120 --> 00:44:43,601 c dans la chaîne str. 898 00:44:43,601 --> 00:44:46,463 >> AUDIENCE: [inaudible]. 899 00:44:46,463 --> 00:44:48,380 >> ANDI PENG: Yup. 900 00:44:48,380 --> 00:44:51,230 Et puis, si elle n'a pas trouvé , il va retourner NULL. 901 00:44:51,230 --> 00:44:54,313 Donc, quelque chose qui va être très utile pour vous les gars à faire le pset 902 00:44:54,313 --> 00:44:59,030 Si, par exemple, vous recherchez un l'extension comme un .docx pour un mot 903 00:44:59,030 --> 00:45:04,740 document ou un .pdf pour un document PDF, vous pouvez sorte de l'utiliser pour regarder 904 00:45:04,740 --> 00:45:08,720 pour tout ce qui est la suite chaque fois que vous voyez un point, non? 905 00:45:08,720 --> 00:45:11,880 Et donc à peu près, si vous fonctionner que grâce à la fonction, 906 00:45:11,880 --> 00:45:13,610 si elle renvoie NULL, alors vous savez qu'il 907 00:45:13,610 --> 00:45:17,292 ne pas trouver de point, ce qui signifie est clairement pas une extension de fichier valide. 908 00:45:17,292 --> 00:45:19,000 Ou si elle renvoie quelque chose, alors vous savez 909 00:45:19,000 --> 00:45:21,940 il va retourner tout ce qui est en fait après l'extension. 910 00:45:21,940 --> 00:45:24,190 Donc ceux d'entre vous qui avait commencé en regardant à travers recherche 911 00:45:24,190 --> 00:45:28,640 et analyser, cette fonction de va être super utile. 912 00:45:28,640 --> 00:45:32,010 Donc, nous allons en fait de démontrer à l'aide de cette. 913 00:45:32,010 --> 00:45:36,670 >> Pourquoi ne pas vous essayer d'écrire un gars fonction bool phrase char * s que 914 00:45:36,670 --> 00:45:39,610 retourne simplement true si s est un phrase et false sinon. 915 00:45:39,610 --> 00:45:44,110 916 00:45:44,110 --> 00:45:46,830 Donc, Hint, vous allez à utiliser probablement strchr. 917 00:45:46,830 --> 00:45:50,420 Ou vous venez de recherche dans le chaîne pour un certain caractère. 918 00:45:50,420 --> 00:45:54,950 Et donc dans une phrase, ce qui sépare une phrase 919 00:45:54,950 --> 00:45:57,510 à partir d'une non-phrase, ce caractère spécifique? 920 00:45:57,510 --> 00:45:58,260 PUBLIC: Un espace. 921 00:45:58,260 --> 00:45:59,343 ANDI PENG: Un espace, non? 922 00:45:59,343 --> 00:46:03,354 Et qu'est-ce qu'on va probablement envie de faire au sein de cette fonction ici? 923 00:46:03,354 --> 00:46:04,290 >> AUDIENCE: [inaudible]. 924 00:46:04,290 --> 00:46:07,623 >> ANDI PENG: Nous allons vouloir strchr chaîne pour l'apparence de l'espace. 925 00:46:07,623 --> 00:46:11,330 Parce que si elle retourne quelque chose, nous savons que ce doit être une phrase. 926 00:46:11,330 --> 00:46:14,510 Cela signifie que nous devons avoir un espace dans cette chaîne. 927 00:46:14,510 --> 00:46:17,660 >> Si il n'y a pas d'espace, alors nous savons que, hey, suppose qu'il est pas une chaîne. 928 00:46:17,660 --> 00:46:20,060 Il est probablement juste un très long mot. 929 00:46:20,060 --> 00:46:23,242 Donc, je vais vous donner les gars un couple minutes pour écrire cette fonction. 930 00:46:23,242 --> 00:46:44,398 931 00:46:44,398 --> 00:46:45,874 Ouais. 932 00:46:45,874 --> 00:46:47,970 >> Public: Avez-vous cette chaîne de l'utilisateur? 933 00:46:47,970 --> 00:46:48,440 >> ANDI PENG: Ouais. 934 00:46:48,440 --> 00:46:49,565 Donc, ceci est juste une fonction. 935 00:46:49,565 --> 00:46:54,586 Alors, imaginez l'intérieur de votre fonction principale vous avez déjà have-- allons-y ici. 936 00:46:54,586 --> 00:47:00,040 937 00:47:00,040 --> 00:47:00,540 D'ACCORD. 938 00:47:00,540 --> 00:47:05,270 Donc, je l'ai écrit ce programme où Je dois ma principale fonction où 939 00:47:05,270 --> 00:47:07,432 Je viens de créer deux chaînes. 940 00:47:07,432 --> 00:47:09,890 Le premier est Salut, mon nom Andi-- est clairement une phrase. 941 00:47:09,890 --> 00:47:13,240 Mon deuxième est juste Andi, clairement pas la peine. 942 00:47:13,240 --> 00:47:18,390 >> Et donc je suis exécutant à la fois de ceux cordes à travers cette fonction. 943 00:47:18,390 --> 00:47:20,540 Je veux que vous les gars pour écrire phrase froid. 944 00:47:20,540 --> 00:47:23,380 Et je stocker ces valeurs, et puis juste les imprimer. 945 00:47:23,380 --> 00:47:26,549 Alors, pensez que l'utilisateur est va passer dans une chaîne. 946 00:47:26,549 --> 00:47:29,590 Et puis vous allez à l'essentiel déterminer si elle est ou non une phrase 947 00:47:29,590 --> 00:47:31,131 et retourner true ou false en conséquence. 948 00:47:31,131 --> 00:48:41,850 949 00:48:41,850 --> 00:48:45,200 >> Si vous les gars veulent donner un bravo ou heads up, hochement de tête, 950 00:48:45,200 --> 00:48:49,080 est quiconque est prêt à démarrer ce qui serait bien. 951 00:48:49,080 --> 00:50:13,570 952 00:50:13,570 --> 00:50:15,200 Peut-être comme 30 secondes de plus? 953 00:50:15,200 --> 00:50:49,570 954 00:50:49,570 --> 00:50:50,070 Bien. 955 00:50:50,070 --> 00:50:52,870 Voyons voir si vous pouvez essayer écrit cette fonction. 956 00:50:52,870 --> 00:50:57,480 >> Donc pseudo coding-- je vais juste sorte de marcher à travers ce droit maintenant. 957 00:50:57,480 --> 00:51:00,570 Joli beaucoup, nous savons que le fonction que nous devons utiliser. 958 00:51:00,570 --> 00:51:04,390 Nous allons appeler cette fonction sur notre chaîne et la recherche d'un espace. 959 00:51:04,390 --> 00:51:08,682 Si elle retourne quelque chose, alors nous devons savent que, de toute évidence, cela est une phrase. 960 00:51:08,682 --> 00:51:09,640 Parce qu'il ya des espaces. 961 00:51:09,640 --> 00:51:10,930 Ensuite, nous allons retourner vrai. 962 00:51:10,930 --> 00:51:12,310 Sinon, nous allons retourner faux. 963 00:51:12,310 --> 00:51:14,393 Quelqu'un veut-il donner moi la première ligne de code 964 00:51:14,393 --> 00:51:16,890 que nous allons réellement à utiliser pour écrire cela? 965 00:51:16,890 --> 00:51:19,680 Il est en fait le plus dur ligne de code ainsi. 966 00:51:19,680 --> 00:51:21,026 Ouais. 967 00:51:21,026 --> 00:51:28,942 >> Audience: Si strtok s-- 968 00:51:28,942 --> 00:51:29,900 ANDI PENG: Juste strchr. 969 00:51:29,900 --> 00:51:35,354 AUDIENCE: [interposition VOIX] l'espace est pas égal à null. 970 00:51:35,354 --> 00:51:38,270 971 00:51:38,270 --> 00:51:40,710 >> ANDI PENG: Cool. 972 00:51:40,710 --> 00:51:41,470 Tout à fait exact. 973 00:51:41,470 --> 00:51:43,200 Tout le monde comprend que la première ligne? 974 00:51:43,200 --> 00:51:46,110 Nous allons appeler strstr, qui est une fonction qui effectue des recherches 975 00:51:46,110 --> 00:51:51,830 la chaîne s pour l'omble de l'espace. 976 00:51:51,830 --> 00:51:56,010 Et si il le trouve, il va retourner un pointeur à l'endroit où ce qui est. 977 00:51:56,010 --> 00:51:58,500 >> Si elle ne trouve pas, il va retourner NULL. 978 00:51:58,500 --> 00:52:02,530 Donc, si elle renvoie autre chose que NULL, alors nous savons qu'il a trouvé un espace. 979 00:52:02,530 --> 00:52:03,553 Cela a-t-il du sens? 980 00:52:03,553 --> 00:52:04,090 Frais. 981 00:52:04,090 --> 00:52:04,590 Bien. 982 00:52:04,590 --> 00:52:08,246 Donc, si nous savons qu'il a trouvé un espace, que voulons-nous faire? 983 00:52:08,246 --> 00:52:09,162 AUDIENCE: Retour vrai. 984 00:52:09,162 --> 00:52:09,787 ANDI PENG: Yup. 985 00:52:09,787 --> 00:52:11,940 Retour vrai. 986 00:52:11,940 --> 00:52:15,034 Et puis, quelqu'un veut finir la fonction pour moi? 987 00:52:15,034 --> 00:52:16,300 Ouais. 988 00:52:16,300 --> 00:52:19,720 Sinon, juste comme ça. 989 00:52:19,720 --> 00:52:20,780 Et essayez de le compiler cela. 990 00:52:20,780 --> 00:52:26,071 991 00:52:26,071 --> 00:52:28,000 >> Ouaip. 992 00:52:28,000 --> 00:52:33,099 Donc, comme vous pouvez le voir sur les gars de la sorties, rappelez-vous booléens en C 993 00:52:33,099 --> 00:52:34,390 sont toujours exprimées en binaire. 994 00:52:34,390 --> 00:52:35,100 1 est vrai. 995 00:52:35,100 --> 00:52:36,350 0 est faux. 996 00:52:36,350 --> 00:52:39,720 >> Si nous devions exécuter ce fonction sur une seule chaîne, qui 997 00:52:39,720 --> 00:52:42,900 est Salut, mon nom de Andi-- Il est clair que le résultat d'une sentence-- 998 00:52:42,900 --> 00:52:45,700 imprimé à 1 ce qui est vrai. 999 00:52:45,700 --> 00:52:48,420 Le second, qui est juste un mot, le résultat imprimé 1000 00:52:48,420 --> 00:52:50,630 à 0, ce qui est faux. 1001 00:52:50,630 --> 00:52:54,820 Tout le monde sorte claire de la façon dont cette fonction a été écrit? 1002 00:52:54,820 --> 00:52:55,800 Ouais. 1003 00:52:55,800 --> 00:52:59,770 >> AUDIENCE: pouvons-nous faire aussi, au lieu de ne correspond pas à pas, est égal à égal à 0, 1004 00:52:59,770 --> 00:53:03,677 de sorte qu'il est égal à? 1005 00:53:03,677 --> 00:53:04,260 PENG ANDI: Non 1006 00:53:04,260 --> 00:53:07,480 Parce strchr est une fonction. 1007 00:53:07,480 --> 00:53:09,940 Je vais revenir. 1008 00:53:09,940 --> 00:53:14,624 Alors, quel est le type de retour de notre fonction de strchr? 1009 00:53:14,624 --> 00:53:15,332 AUDIENCE: Oh, OK. 1010 00:53:15,332 --> 00:53:15,800 Ou NULL. 1011 00:53:15,800 --> 00:53:16,466 >> ANDI PENG: Ouais. 1012 00:53:16,466 --> 00:53:20,890 Il est un char * qui me dit que tout ce que cette fonction va revenir, 1013 00:53:20,890 --> 00:53:22,090 ça va être un pointeur. 1014 00:53:22,090 --> 00:53:24,860 Soit le pointeur va être pointant vers où il l'a trouvé, 1015 00:53:24,860 --> 00:53:27,550 ou il va revenir un pointeur NULL. 1016 00:53:27,550 --> 00:53:30,930 Dans les deux cas, ça va pour retourner un pointeur sur quelque chose. 1017 00:53:30,930 --> 00:53:34,354 >> Et si vous étiez à assimiler ce qui équivaut, est égale à 0, 1018 00:53:34,354 --> 00:53:36,020 vous allez obtenir une erreur de compilation. 1019 00:53:36,020 --> 00:53:37,645 Parce qu'il va retourner un pointeur. 1020 00:53:37,645 --> 00:53:40,240 Et vous allez essayer de comparer un pointeur sur un entier. 1021 00:53:40,240 --> 00:53:42,515 Et l'ordinateur est pas allez aimer ça. 1022 00:53:42,515 --> 00:53:45,630 Oui exactement. 1023 00:53:45,630 --> 00:53:46,540 Frais. 1024 00:53:46,540 --> 00:53:47,525 Tout le monde la bonne? 1025 00:53:47,525 --> 00:53:55,770 1026 00:53:55,770 --> 00:53:59,770 >> Et deuxièmement, nous allons aller sur une fonction appelée strstr. 1027 00:53:59,770 --> 00:54:02,020 Pas de soucis si ces fonctions sont vous confondent. 1028 00:54:02,020 --> 00:54:03,750 Ils me confondre. 1029 00:54:03,750 --> 00:54:07,250 En tant que tel, vous les gars pourrait avoir vu, ils sonnent tous peu près la même. 1030 00:54:07,250 --> 00:54:10,400 Juste quand vous êtes confus, tirer vers le haut la bibliothèque string.h. 1031 00:54:10,400 --> 00:54:13,290 Et vous les gars pouvez trier à travers lequel son qui. 1032 00:54:13,290 --> 00:54:18,910 >> Donc strstr, qui ne fait que des recherches une chaîne pour une toute autre chaîne. 1033 00:54:18,910 --> 00:54:21,980 Alors, où seulement strchr recherches pour un seul caractère, 1034 00:54:21,980 --> 00:54:24,090 Recherches strstr pour une chaîne entière. 1035 00:54:24,090 --> 00:54:30,440 Donc, je voulais regarder dans, je ne sais pas savoir, Salut, mon nom est Andi. 1036 00:54:30,440 --> 00:54:32,490 Et le nom de mon meilleur ami est également Andi. 1037 00:54:32,490 --> 00:54:37,180 >> Si je voulais chercher dans ce peine pour le mot entier d'Andi, 1038 00:54:37,180 --> 00:54:39,930 mon aiguille aurait été tout ce que vous cherchez. 1039 00:54:39,930 --> 00:54:43,440 Et quel que soit votre botte de foin est vous cherchez dans. 1040 00:54:43,440 --> 00:54:47,050 Donc, si vous êtes à la recherche d'un mot spécifique dans une phrase, 1041 00:54:47,050 --> 00:54:48,800 ce mot va être votre aiguille. 1042 00:54:48,800 --> 00:54:51,397 Et puis la phrase elle-même va être votre botte de foin. 1043 00:54:51,397 --> 00:54:53,230 Et donc il recherche juste la première occurrence 1044 00:54:53,230 --> 00:54:55,063 de l'aiguille de chaîne dans la botte de foin de chaîne. 1045 00:54:55,063 --> 00:54:57,140 Il renvoie le pointeur à la première occurrence. 1046 00:54:57,140 --> 00:55:00,510 Sauf, rappelez-vous, dans ce cas, il est le première occurrence de la chaîne entière 1047 00:55:00,510 --> 00:55:02,510 que vous êtes à la recherche pour, non seulement un caractère. 1048 00:55:02,510 --> 00:55:04,676 >> Et ce qui est presque le même chose que la fonction 1049 00:55:04,676 --> 00:55:09,100 nous venons de faire, juste avec un peu plus de spécificité. 1050 00:55:09,100 --> 00:55:12,730 Parce que vous êtes à la recherche pour plus que juste un caractère. 1051 00:55:12,730 --> 00:55:16,310 Et l'utilisation est exactement la même comme celui que nous venons de faire. 1052 00:55:16,310 --> 00:55:18,070 Tout le monde OK avec ça? 1053 00:55:18,070 --> 00:55:20,250 D'ACCORD. 1054 00:55:20,250 --> 00:55:23,560 >> Dernière celui que nous allons aller plus est strrchr, qui ne sont pas 1055 00:55:23,560 --> 00:55:26,320 confondre avec strstr ou strchr. 1056 00:55:26,320 --> 00:55:27,890 strrchr a une r supplémentaire dans il. 1057 00:55:27,890 --> 00:55:29,140 Soyez prudent lorsque vous tapez. 1058 00:55:29,140 --> 00:55:33,851 Vous pouvez vous retrouver, y compris un r supplémentaire compris ou non un r, 1059 00:55:33,851 --> 00:55:35,850 puis votre fonction est obtenue ne marchera pas. 1060 00:55:35,850 --> 00:55:37,183 Et vous allez être confus. 1061 00:55:37,183 --> 00:55:40,150 Veillez à ce que vous orthographe toutes ces fonctions à droite. 1062 00:55:40,150 --> 00:55:43,770 >> Donc, est l'exacte strrchr même chose que strchr 1063 00:55:43,770 --> 00:55:47,480 sauf qu'il cherche pas la première occurrence d'un caractère spécifique, 1064 00:55:47,480 --> 00:55:49,350 mais plutôt la dernière occurrence. 1065 00:55:49,350 --> 00:55:52,800 Et donc, dans ce sens, il est presque exactement la même. 1066 00:55:52,800 --> 00:55:54,620 Mais au lieu de se déplacer transmettre dans une chaîne, 1067 00:55:54,620 --> 00:55:57,230 vous allez être en mouvement en arrière dans une chaîne. 1068 00:55:57,230 --> 00:56:00,510 Exactement la même chose, vous êtes juste la recherche dans un ordre différent. 1069 00:56:00,510 --> 00:56:04,690 >> Et donc cela pourrait être super, super utile pour votre recherche 1070 00:56:04,690 --> 00:56:07,490 la fonction, le premier fonction sur votre pset. 1071 00:56:07,490 --> 00:56:12,710 Imaginons que nous devions écrire un fonction de l'extension vide dans lequel nous 1072 00:56:12,710 --> 00:56:17,850 passer un nom de fichier * char constant, juste une chaîne, un nom de fichier, 1073 00:56:17,850 --> 00:56:21,370 qui prend dans ce nom et gravures l'extension de ce fichier. 1074 00:56:21,370 --> 00:56:26,520 Ainsi, par exemple, si je devais passer dans la chaîne de pset7.zip, 1075 00:56:26,520 --> 00:56:30,004 il va imprimer simplement l'extension, qui est .zip. 1076 00:56:30,004 --> 00:56:31,920 Et cela fonctionnera pour toute sorte d'extension, 1077 00:56:31,920 --> 00:56:38,290 .docx pour Word ou PDF pour une PDF déposer ou .html pour un fichier HTML. 1078 00:56:38,290 --> 00:56:40,425 Joli beaucoup, écrire un fonction qui peut faire cela. 1079 00:56:40,425 --> 00:56:42,300 Je vais en fait passer à l'IDE. 1080 00:56:42,300 --> 00:56:54,560 1081 00:56:54,560 --> 00:56:56,740 On ne load-- là nous allons. 1082 00:56:56,740 --> 00:57:00,990 >> Donc, tout ce que je l'ai fait ici est créé un char *, une première chaîne, 1083 00:57:00,990 --> 00:57:01,930 appelé pset7.zip. 1084 00:57:01,930 --> 00:57:04,530 Je vais pour agrandir. 1085 00:57:04,530 --> 00:57:08,520 Je ai créé une deuxième chaîne appelé finalpaper.docx. 1086 00:57:08,520 --> 00:57:12,649 Et moi écrire une fonction que lorsque appelé va simplement imprimer 1087 00:57:12,649 --> 00:57:13,690 les extensions de fichier. 1088 00:57:13,690 --> 00:57:16,702 1089 00:57:16,702 --> 00:57:19,660 Peut-être prendre quelques minutes pour réfléchir sur la façon dont vous allez le faire. 1090 00:57:19,660 --> 00:57:22,510 Un peu plus difficile que le précédent, 1091 00:57:22,510 --> 00:57:24,770 mais l'utilisation est presque exactement le même. 1092 00:57:24,770 --> 00:57:29,670 1093 00:57:29,670 --> 00:57:30,170 Ouais. 1094 00:57:30,170 --> 00:57:37,540 Donc, écrire une extension de fonction appelée que, si je vous donne le nom d'un fichier, 1095 00:57:37,540 --> 00:57:41,340 si je devais vous donner pset7.zip-- I que vous souhaitez imprimer simplement le fichier .zip. 1096 00:57:41,340 --> 00:57:45,040 1097 00:57:45,040 --> 00:57:49,890 Si je donne vous aimez finalpaper.docx, Il suffit d'imprimer le .docx, 1098 00:57:49,890 --> 00:57:51,538 que l'extension de tout fichier. 1099 00:57:51,538 --> 00:59:03,720 1100 00:59:03,720 --> 00:59:07,790 >> Cette réalité seulement prend deux lignes de code. 1101 00:59:07,790 --> 00:59:10,692 Donc, essayez de voir si vous peut peut-être le faire à cela. 1102 00:59:10,692 --> 00:59:12,400 En fait, ce que prend une ligne de code. 1103 00:59:12,400 --> 00:59:14,074 Mais deux lignes est probablement plus standard. 1104 00:59:14,074 --> 00:59:20,408 1105 00:59:20,408 --> 00:59:22,574 Quelle fonction sommes-nous probablement allez vouloir appeler? 1106 00:59:22,574 --> 00:59:25,286 1107 00:59:25,286 --> 00:59:26,260 >> AUDIENCE: strrchr. 1108 00:59:26,260 --> 00:59:27,343 >> ANDI PENG: strrchr, à droite. 1109 00:59:27,343 --> 00:59:29,570 Parce que nous sommes à la recherche de la droite gauche. 1110 00:59:29,570 --> 00:59:32,107 1111 00:59:32,107 --> 00:59:33,940 Je ne vous donne gars un exemple de ce genre, 1112 00:59:33,940 --> 00:59:38,870 mais si je vous ai donné un exemple comme www.apple.com et je voulais juste 1113 00:59:38,870 --> 00:59:43,005 .com, ce serait un exemple de cas où vous voulez appeler la dernière instance 1114 00:59:43,005 --> 00:59:44,630 de la période et non la première, non? 1115 00:59:44,630 --> 00:59:47,470 Si vous étiez strchr appel, il serait vous ai donné l'apple.com. 1116 00:59:47,470 --> 00:59:49,966 >> Si vous avez appelé strrchr, il vous aurait donné le .com. 1117 00:59:49,966 --> 00:59:53,062 Et donc être prudent sur ce qui ways-- dans mon exemple, 1118 00:59:53,062 --> 00:59:55,520 vous pourriez probablement pourriez avoir juste qu'il écrit en utilisant strchr, 1119 00:59:55,520 --> 00:59:57,130 car il n'y a qu'un seul point. 1120 00:59:57,130 --> 00:59:59,790 Mais dans d'autres cas, qui peut ne pas être le cas. 1121 00:59:59,790 --> 01:00:04,960 Et il faut donc toujours essayer de concevoir votre code, donc that-- ouais? 1122 01:00:04,960 --> 01:00:07,365 >> Auditoire: Alors, dans le exemple vous venez de dire, 1123 01:00:07,365 --> 01:00:11,760 quand vous ne strrchr il serait donnez vous .com ou tout simplement venez? 1124 01:00:11,760 --> 01:00:13,960 >> ANDI Peng: Ce serait vous donner le .com. 1125 01:00:13,960 --> 01:00:14,794 >> AUDIENCE: OK. 1126 01:00:14,794 --> 01:00:15,460 ANDI PENG: Ouais. 1127 01:00:15,460 --> 01:00:18,090 1128 01:00:18,090 --> 01:00:19,744 Elle rappelle l'endroit où il l'a trouvé. 1129 01:00:19,744 --> 01:00:20,244 Ouais. 1130 01:00:20,244 --> 01:00:24,120 1131 01:00:24,120 --> 01:00:25,188 30 secondes peut-être? 1132 01:00:25,188 --> 01:00:25,688 Ouais. 1133 01:00:25,688 --> 01:00:56,640 1134 01:00:56,640 --> 01:00:58,500 Tout le monde peut être bon ou un peu plus de temps? 1135 01:00:58,500 --> 01:01:01,057 1136 01:01:01,057 --> 01:01:01,640 Vote à main levée? 1137 01:01:01,640 --> 01:01:02,320 Afficher de têtes? 1138 01:01:02,320 --> 01:01:04,801 1139 01:01:04,801 --> 01:01:05,300 Frais. 1140 01:01:05,300 --> 01:01:07,924 Tout le monde veut me donner le premier ligne de code pour ce programme? 1141 01:01:07,924 --> 01:01:11,861 1142 01:01:11,861 --> 01:01:12,777 AUDIENCE: [inaudible]. 1143 01:01:12,777 --> 01:01:16,190 1144 01:01:16,190 --> 01:01:20,160 >> ANDI PENG: Alors tout d'abord, nous allons briser peut-être ce vers le bas. 1145 01:01:20,160 --> 01:01:24,370 Alors, quel est le type de strrchr de retour? 1146 01:01:24,370 --> 01:01:26,150 Allons en arrière. 1147 01:01:26,150 --> 01:01:29,015 strrchr, quel est le type de retour? 1148 01:01:29,015 --> 01:01:29,640 AUDIENCE: Char * 1149 01:01:29,640 --> 01:01:31,270 PENG ANDI: Il est un char *, non? 1150 01:01:31,270 --> 01:01:35,760 Ce qui signifie que vous allez probablement à vouloir créer un autre type char * 1151 01:01:35,760 --> 01:01:40,400 du magasin chaque fois qu'il est retour, non? 1152 01:01:40,400 --> 01:01:43,200 Parce que si vous appelez la fonction strrchr, 1153 01:01:43,200 --> 01:01:47,030 ça va vous donner un pointeur vers où il a trouvé cette dernière période, 1154 01:01:47,030 --> 01:01:47,580 droit? 1155 01:01:47,580 --> 01:01:49,913 >> Mais vous allez vouloir stocker que quelque part, non? 1156 01:01:49,913 --> 01:01:52,612 Et alors comment pouvons-Code Nous cela dans notre programme? 1157 01:01:52,612 --> 01:01:54,320 Public: Vous faites le char * [inaudible]. 1158 01:01:54,320 --> 01:01:55,240 ANDI PENG: Yep. 1159 01:01:55,240 --> 01:01:57,120 AUDIENCE: [inaudible]. 1160 01:01:57,120 --> 01:01:58,000 ANDI PENG: strrchr. 1161 01:01:58,000 --> 01:01:58,390 Ouais. 1162 01:01:58,390 --> 01:01:59,306 Oh, manqué une r il. 1163 01:01:59,306 --> 01:02:02,877 AUDIENCE: Nom du fichier [inaudible]. 1164 01:02:02,877 --> 01:02:03,376 Qu'Est-ce que c'est? 1165 01:02:03,376 --> 01:02:04,420 Oh, il est est juste. 1166 01:02:04,420 --> 01:02:04,940 >> ANDI PENG: Oh, ça est juste. 1167 01:02:04,940 --> 01:02:05,610 Yup, désolé. 1168 01:02:05,610 --> 01:02:06,330 Ma faute. 1169 01:02:06,330 --> 01:02:08,370 Exemples ne correspondent pas. 1170 01:02:08,370 --> 01:02:12,130 >> Public: Et puis dot. 1171 01:02:12,130 --> 01:02:13,970 >> ANDI PENG: Yup. 1172 01:02:13,970 --> 01:02:16,570 Soyez prudent lorsque vous les gars soient: ici, laissez-moi un zoom avant. 1173 01:02:16,570 --> 01:02:22,355 1174 01:02:22,355 --> 01:02:24,400 Nous y voilà. 1175 01:02:24,400 --> 01:02:26,770 Soyez prudent lorsque vous les gars sont tapant, surtout quand 1176 01:02:26,770 --> 01:02:27,920 vous faites simplement un caractère. 1177 01:02:27,920 --> 01:02:32,480 Il est vraiment facile à accidentellement juste faire guillemets plutôt que seul. 1178 01:02:32,480 --> 01:02:35,212 >> Ça ne marchera pas. 1179 01:02:35,212 --> 01:02:36,670 Votre compilateur ne va se plaindre. 1180 01:02:36,670 --> 01:02:38,790 Et votre fonction est tout simplement pas à courir. 1181 01:02:38,790 --> 01:02:40,540 Et alors soyez prudent lorsque vous faites les choses 1182 01:02:40,540 --> 01:02:42,622 avec les caractères qu'il est apostrophes. 1183 01:02:42,622 --> 01:02:44,830 Et il en va de cette ligne de Code de sens pour tout le monde? 1184 01:02:44,830 --> 01:02:46,810 Nous créons un char * pointeur. 1185 01:02:46,810 --> 01:02:50,310 Parce que les déclarations de strrchr quelque chose de type pointeur. 1186 01:02:50,310 --> 01:02:53,440 >> Et donc nous allons appeler strchr sur s, ce qui est la chaîne, le fichier 1187 01:02:53,440 --> 01:02:55,140 nom, que nous passons en. 1188 01:02:55,140 --> 01:02:59,750 Et nous sommes à la recherche pour la dernière exemple d'une période, qui est 1189 01:02:59,750 --> 01:03:02,200 juste l'apostrophe dot apostrophe. 1190 01:03:02,200 --> 01:03:02,700 Ouais. 1191 01:03:02,700 --> 01:03:05,180 >> PUBLIC: Quand est-ce que nous utilisons des guillemets doubles et quand le faire, nous utilisons des guillemets simples? 1192 01:03:05,180 --> 01:03:05,320 >> ANDI PENG: Ouais. 1193 01:03:05,320 --> 01:03:07,180 Donc citations sont doubles toujours utilisé lorsque vous 1194 01:03:07,180 --> 01:03:10,120 avoir une chaîne de plus que juste un. 1195 01:03:10,120 --> 01:03:13,070 Donc, si vous faites strstr, qui est celui que vous 1196 01:03:13,070 --> 01:03:16,320 rechercher une chaîne pour chaîne, vous passerait de guillemets. 1197 01:03:16,320 --> 01:03:18,070 Mais chaque fois qu'il est juste un caractère unique, 1198 01:03:18,070 --> 01:03:19,870 vous voulez faire des guillemets simples. 1199 01:03:19,870 --> 01:03:22,880 >> Il est une bonne chose à garder à l'esprit. 1200 01:03:22,880 --> 01:03:25,864 Alors, maintenant que nous avons notre pointeur, que faisons-nous avec elle? 1201 01:03:25,864 --> 01:03:27,780 Je vous demande de gars l'imprimer, non? 1202 01:03:27,780 --> 01:03:30,940 Donc, [inaudible], vous voulez me donner la ligne de code? 1203 01:03:30,940 --> 01:03:31,780 >> AUDIENCE: printf-- 1204 01:03:31,780 --> 01:03:32,446 >> ANDI PENG: Ouais. 1205 01:03:32,446 --> 01:03:35,344 1206 01:03:35,344 --> 01:03:36,843 AUDIENCE: --vous besoin d'une place de titulaire. 1207 01:03:36,843 --> 01:03:37,340 ANDI PENG: Yup. 1208 01:03:37,340 --> 01:03:38,334 AUDIENCE: Imprimer la place de titulaire. 1209 01:03:38,334 --> 01:03:40,322 Je ne sais pas ce que l'endroit titulaire est, mais sert à rien. 1210 01:03:40,322 --> 01:03:40,819 >> D'ACCORD. 1211 01:03:40,819 --> 01:03:42,027 Passons maintenant, alors que, pour. 1212 01:03:42,027 --> 01:03:44,556 Public: Et puis comma-- 1213 01:03:44,556 --> 01:03:45,720 >> ANDI PENG: Pointeur, non? 1214 01:03:45,720 --> 01:03:47,970 >> AUDIENCE: Pointeur, yup. 1215 01:03:47,970 --> 01:03:51,140 >> ANDI PENG: Donc une sorte de question piège, a à faire avec des pointeurs et des chaînes 1216 01:03:51,140 --> 01:03:53,130 que nous avons sorte de déjà parlé. 1217 01:03:53,130 --> 01:03:57,766 Quel genre d'endroit titulaire-nous besoin d'un pointeur pour un char *? 1218 01:03:57,766 --> 01:03:59,574 >> AUDIENCE: [inaudible]. 1219 01:03:59,574 --> 01:04:00,240 ANDI PENG: Ouais. 1220 01:04:00,240 --> 01:04:02,522 Il est plus facile que vous pensez les gars il est. 1221 01:04:02,522 --> 01:04:03,230 AUDIENCE: String? 1222 01:04:03,230 --> 01:04:04,730 PENG ANDI: Il est juste une chaîne, exactement. 1223 01:04:04,730 --> 01:04:06,595 Car rappelez cordes ne existent pas vraiment. 1224 01:04:06,595 --> 01:04:09,430 Un char * est l'exacte même chose comme une chaîne. 1225 01:04:09,430 --> 01:04:14,461 Et si vraiment cette S est ce que auraient dû être utilisés tout au long. 1226 01:04:14,461 --> 01:04:14,960 D'ACCORD. 1227 01:04:14,960 --> 01:04:17,810 >> Voyons voir si nous pouvons essayer d'exécuter ce. 1228 01:04:17,810 --> 01:04:19,450 Faisons une extension de marque. 1229 01:04:19,450 --> 01:04:22,710 1230 01:04:22,710 --> 01:04:23,396 Frais. 1231 01:04:23,396 --> 01:04:28,830 Les gars, vous voyez comment je suis passé dans le psset7.zip et la finalpaper.docx, 1232 01:04:28,830 --> 01:04:32,500 et il se contente d'afficher .zip et .docx? 1233 01:04:32,500 --> 01:04:34,150 Donner un sens? 1234 01:04:34,150 --> 01:04:36,660 >> OK Donc, je pense que dans votre look up fonction dans votre pset vous êtes 1235 01:04:36,660 --> 01:04:41,050 va être demandé si le chaîne a une certaine fin, 1236 01:04:41,050 --> 01:04:42,800 vous devez donner un certain code d'erreur. 1237 01:04:42,800 --> 01:04:44,820 Et alors ce sera assez horrible. 1238 01:04:44,820 --> 01:04:47,350 Parce que si vous pouvez comprendre ce que l'extension est, 1239 01:04:47,350 --> 01:04:49,810 vous pouvez ensuite comparer cette l'extension pour voir si elle correspond en place 1240 01:04:49,810 --> 01:04:51,251 avec une certaine extension. 1241 01:04:51,251 --> 01:04:53,250 Et puis vous pouvez revenir un message d'erreur, non? 1242 01:04:53,250 --> 01:04:53,860 Ouais. 1243 01:04:53,860 --> 01:04:55,370 >> AUDIENCE: nous faisons donc pas avoir à ajouter 1 ou quoi que ce soit? 1244 01:04:55,370 --> 01:04:56,530 Le pointeur ira à the-- 1245 01:04:56,530 --> 01:04:56,660 >> PENG ANDI: Non. 1246 01:04:56,660 --> 01:04:57,530 >> AUDIENCE: --point après. 1247 01:04:57,530 --> 01:04:58,196 >> ANDI PENG: Ouais. 1248 01:04:58,196 --> 01:05:00,650 Elle rappelle exactement à où l'événement était. 1249 01:05:00,650 --> 01:05:04,010 Ainsi, par exemple ici, nous sommes la recherche pour la période. 1250 01:05:04,010 --> 01:05:06,597 Donc, il va revenir un pointeur sur la période. 1251 01:05:06,597 --> 01:05:08,930 Et puis il va imprimer à partir de la période. 1252 01:05:08,930 --> 01:05:10,260 >> Donc, vous ne devez ajouter 1. 1253 01:05:10,260 --> 01:05:15,000 Bien, il est tout à fait bien à, si vous êtes pas certain, à juste genre 1254 01:05:15,000 --> 01:05:16,070 de tester par vous-même. 1255 01:05:16,070 --> 01:05:17,590 Construire un exemple de programme. 1256 01:05:17,590 --> 01:05:20,240 Testez-le vous-même et voir où il est l'impression. 1257 01:05:20,240 --> 01:05:23,380 Voilà également pas une mauvaise façon de le faire. 1258 01:05:23,380 --> 01:05:26,040 >> Frais. 1259 01:05:26,040 --> 01:05:28,880 Et voilà à peu près tout Je devais pour vous les gars aujourd'hui. 1260 01:05:28,880 --> 01:05:31,440 1261 01:05:31,440 --> 01:05:33,300 Nous avons fait beaucoup de choses pset aujourd'hui. 1262 01:05:33,300 --> 01:05:35,720 Donc, en cas de doute, comme Je l'ai dit, regarde toujours 1263 01:05:35,720 --> 01:05:37,620 la bibliothèque string.h pour cette pset. 1264 01:05:37,620 --> 01:05:40,370 Il va y avoir beaucoup de fonction là-dedans qui peut être utile. 1265 01:05:40,370 --> 01:05:41,300 Certains peuvent ne pas être utile. 1266 01:05:41,300 --> 01:05:42,133 Je ne sais pas vraiment. 1267 01:05:42,133 --> 01:05:44,370 Wade à travers elle, il ya tout un tas d'entre eux. 1268 01:05:44,370 --> 01:05:49,100 strstr, strchr, sont strrchr super, super utile, ainsi que 1269 01:05:49,100 --> 01:05:52,080 les strcpys et strcasecmps que nous avons déjà utilisé. 1270 01:05:52,080 --> 01:05:56,510 >> Il est beaucoup juste de déconner avec cordes, déterminer si elles sont égales, 1271 01:05:56,510 --> 01:05:59,960 obtenir des trucs sur les chaînes, et être en mesure d'ouvrir des fichiers correctement. 1272 01:05:59,960 --> 01:06:02,252 Il ya beaucoup de fichier I / O. pset est vraiment pas si mal. 1273 01:06:02,252 --> 01:06:04,210 Vous allez prendre une regarder, télécharger, 1274 01:06:04,210 --> 01:06:05,590 et de voir tout un tas de code. 1275 01:06:05,590 --> 01:06:09,220 Pas de soucis, le code que vous écrire effectivement est pas mal du tout. 1276 01:06:09,220 --> 01:06:12,870 Si quelqu'un a des problèmes avec leur serveur, viennent me voir après l'article. 1277 01:06:12,870 --> 01:06:16,040 >> Apologize une fois de plus pour ne pas apportant des bonbons pour Halloween. 1278 01:06:16,040 --> 01:06:18,790 Je ne sais pas quel était le problème avec moi. 1279 01:06:18,790 --> 01:06:20,800 Mais nous allons avoir le double les bonbons prochaine fois. 1280 01:06:20,800 --> 01:06:25,620 Et bonne chance dans votre pset cette semaine. 1281 01:06:25,620 --> 01:06:27,170 Ouaip. 1282 01:06:27,170 --> 01:06:28,722