1 00:00:00,000 --> 00:00:05,616 2 00:00:05,616 --> 00:00:07,030 >> HANNAH BLUMBERG : 안녕하세요 여러분. 3 00:00:07,030 --> 00:00:09,530 우리는 시작하는거야 단 몇 분 일찍 4 00:00:09,530 --> 00:00:11,738 우리는 전체를 많이 갖고 있기 때문에 재료를 통해 얻을 수 있습니다. 5 00:00:11,738 --> 00:00:12,790 나는 한나입니다. 6 00:00:12,790 --> 00:00:13,865 나는 TF입니다. 7 00:00:13,865 --> 00:00:16,239 마리아에 합류 할 예정이다 우리 단지 몇 분. 8 00:00:16,239 --> 00:00:17,560 그녀는 바로 전에 절을 가르친다. 9 00:00:17,560 --> 00:00:19,351 나는 섹션의 권리를 가르 칠 후, 그래서 우리는거야 10 00:00:19,351 --> 00:00:21,200 시간 반에 유지합니다. 11 00:00:21,200 --> 00:00:25,490 >> 당신은 여기에 볼 수 있도록, 우리는 꽤있다 몇 가지 주제는 우리가 통과해야 12 00:00:25,490 --> 00:00:27,200 그래서 우리는 빨리 좀 갈 것. 13 00:00:27,200 --> 00:00:31,140 그러나 어떤 점에서 경우에 우리는 뭔가 말 너무 빨리 또는 당신이 이해하지 못하는, 14 00:00:31,140 --> 00:00:33,170 질문 중단 주시기 바랍니다. 15 00:00:33,170 --> 00:00:36,610 우리는이를 할 수 있도록하려면 여러분 모두에게 유용한 세션을 검토 16 00:00:36,610 --> 00:00:37,973 가능한 한. 17 00:00:37,973 --> 00:00:38,920 신난다. 18 00:00:38,920 --> 00:00:41,650 >> 그럼으로 바로 점프 할 수 일부 항목이 우리가 실제로 19 00:00:41,650 --> 00:00:46,980 아주, 아주 짧게에 대한 적용 퀴즈 0 개 세션에서 퀴즈 0. 20 00:00:46,980 --> 00:00:48,840 그래서 연결리스트로 시작. 21 00:00:48,840 --> 00:00:52,090 그래서 당신이 몇 가지가 있는지 확인 연결리스트에 대한 기본 지식 22 00:00:52,090 --> 00:00:55,110 과하고 편안 기본 작업의 일부. 23 00:00:55,110 --> 00:00:58,560 >> 그래서 그냥 검토 연결하기 목록 배열보다는 더 낫다 24 00:00:58,560 --> 00:01:01,020 그들은 동적으로 성장할 수 있기 때문이다. 25 00:01:01,020 --> 00:01:03,300 그래서 우리는 큰 장점이있다. 26 00:01:03,300 --> 00:01:06,031 우리는 그들이 사용하는 봤어요 해시 테이블 때 27 00:01:06,031 --> 00:01:08,280 정확히 얼마나 많은 몰라 상황이 우리가 원하는거야 28 00:01:08,280 --> 00:01:10,900 우리의 데이터 구조에 삽입합니다. 29 00:01:10,900 --> 00:01:15,700 불행하게도, 우리는 조각이 모든 메모리를 통해 연결리스트, 30 00:01:15,700 --> 00:01:20,820 그래서 우리는 필요하지 않습니다 일정한 시각 액세스를 할 수 31 00:01:20,820 --> 00:01:22,502 링크 된 목록의 모든 요소. 32 00:01:22,502 --> 00:01:24,210 를 찾기 위해 특정 요소, 우리 33 00:01:24,210 --> 00:01:26,510 모두를 반복해야 처음부터 방법. 34 00:01:26,510 --> 00:01:30,610 그래서 명심 대부분 그 기본 작업 1의 오메가이다. 35 00:01:30,610 --> 00:01:32,130 그래서 삽입은 1 걸릴 것입니다. 36 00:01:32,130 --> 00:01:37,520 삭제 걸릴 N 우리 때문에 것입니다 목록에서 찾아 가야한다. 37 00:01:37,520 --> 00:01:39,260 그리고 검색 N, 최악의 경우, 걸릴 수 있습니다. 38 00:01:39,260 --> 00:01:42,330 우리는 같은 일을 할 수 없습니다 연결리스트에 이진 검색 39 00:01:42,330 --> 00:01:45,101 때문에 우리는 할 수 없습니다 만 무작위로 중앙으로 이동합니다. 40 00:01:45,101 --> 00:01:45,600 시원한. 41 00:01:45,600 --> 00:01:48,160 42 00:01:48,160 --> 00:01:48,960 신난다. 43 00:01:48,960 --> 00:01:50,270 >> 스택의 약간. 44 00:01:50,270 --> 00:01:53,980 이것은, 다시, 퀴즈 0에 와서, 당신 때문에 그것은 슈퍼 편안해야한다. 45 00:01:53,980 --> 00:01:57,210 그러나 스택을 위해, 우리는 당신에게 트레이의 스택을 기억합니다. 46 00:01:57,210 --> 00:01:59,940 그리고 그 첫 번째가 될 것, 밖으로 지속됩니다. 47 00:01:59,940 --> 00:02:02,272 그래서 우리는 물건을 쌓아 스택의 다음 48 00:02:02,272 --> 00:02:04,980 우리는 무엇인가를 받으려고하는 경우 우리는 off--을 보여주고 호출하는 49 00:02:04,980 --> 00:02:06,581 stack-- 우리는 최고를 나서야. 50 00:02:06,581 --> 00:02:09,289 그리고 우리는 뭔가를 넣어하려는 경우 스택에, 우리는 그것을 밀어 호출합니다. 51 00:02:09,289 --> 00:02:13,170 그래서 항상 성장 할 것 트레이의 스택과 같은 바닥에서. 52 00:02:13,170 --> 00:02:14,540 신난다. 53 00:02:14,540 --> 00:02:17,607 >> 우리는 볼 스택 구현했습니다 모두 연결리스트와 배열에. 54 00:02:17,607 --> 00:02:19,440 당신이 실행하는 경우 배열, 당신이 원하는 55 00:02:19,440 --> 00:02:22,350 추적 할 수 있는지 확인하기 크기와 용량을 모두. 56 00:02:22,350 --> 00:02:27,540 그래서 크기는 현재이 될 것입니다 스택에 일의 수, 57 00:02:27,540 --> 00:02:32,900 용량 반면 총 수이다 일의 당신은 당신의 스택에 저장할 수 있습니다. 58 00:02:32,900 --> 00:02:34,220 시원한. 59 00:02:34,220 --> 00:02:35,767 >> 매우 유사하게, 우리는 큐가 있습니다. 60 00:02:35,767 --> 00:02:38,850 이 경우, 대신에 대해 생각 트레이의 스택은 줄 생각합니다. 61 00:02:38,850 --> 00:02:40,697 이것은 처음에 처음으로 밝혀 것입니다. 62 00:02:40,697 --> 00:02:42,780 당신이 일렬로 늘어서있어 경우에 따라서 가게에서 무엇인가, 63 00:02:42,780 --> 00:02:46,920 우리는 희망을 사람이 처음에 그 라인은 먼저 도움이 될 것입니다. 64 00:02:46,920 --> 00:02:49,350 >> 대신 푸시 말과 우리는 스택처럼 팝업, 65 00:02:49,350 --> 00:02:52,000 우리는 단지 대기열에서 말한다. 66 00:02:52,000 --> 00:02:54,970 그리고 또, 당신이있는 경우 배열이 구현, 67 00:02:54,970 --> 00:02:56,720 우리는 추적 할 필요 의뿐만 아니라 크기 68 00:02:56,720 --> 00:03:02,390 용량뿐만 아니라, 헤드, 어느 우리의 큐의 앞 될 것입니다. 69 00:03:02,390 --> 00:03:03,010 시원한. 70 00:03:03,010 --> 00:03:05,770 그 중 하나에 대한 질문? 71 00:03:05,770 --> 00:03:06,320 신난다. 72 00:03:06,320 --> 00:03:07,640 오른쪽을 따라 이동. 73 00:03:07,640 --> 00:03:08,564 >> 확인, 해시 테이블. 74 00:03:08,564 --> 00:03:10,605 그것으로 시작하는 위치를 여기 정말 흥미로운 얻을. 75 00:03:10,605 --> 00:03:14,150 그래서 해시 테이블은 하나의 구현 연관 배열의. 76 00:03:14,150 --> 00:03:16,700 그러니까 기본적으로 무슨 일 우리는이 입력을 가지고있다, 77 00:03:16,700 --> 00:03:18,750 그리고 우리는 해시를 제공합니다 말한다 기능, 78 00:03:18,750 --> 00:03:21,840 확인,이 곳에서이다 해시 테이블은 속한다. 79 00:03:21,840 --> 00:03:24,860 >> 간단한 해시 함수 그래서 우리가 말하는 보았으므로, 80 00:03:24,860 --> 00:03:28,170 좋아, 우리가 데려 가고 싶다는 생각 우리의 해시 테이블에 문자열. 81 00:03:28,170 --> 00:03:30,870 그리고 정말 간단한 아이디어 확인을 말할 수 있습니다, 82 00:03:30,870 --> 00:03:34,350 그냥으로 정렬 할 수 단어의 첫 글자. 83 00:03:34,350 --> 00:03:37,570 당신이 볼 수 있도록, 우리는 바나나을 우리는, 해쉬 함수를 통해 넣어 84 00:03:37,570 --> 00:03:40,190 그리고는, 헤이 말한다 인덱스 1에 가야한다. 85 00:03:40,190 --> 00:03:45,120 >> 그래서 우리는 기본적으로 해시 생각할 수 다른 버킷의 무리 표. 86 00:03:45,120 --> 00:03:49,880 그리고 그 버킷 각각 것입니다 연결리스트의 머리를 잡아. 87 00:03:49,880 --> 00:03:55,030 그리고 그 연결리스트에서 위치를 우리가 할 수있는 것입니다 실제로 데이터의 다른 조각을 넣어. 88 00:03:55,030 --> 00:03:57,820 >> 그래서 다이빙 조금 더 해시 함수로, 여기에 89 00:03:57,820 --> 00:03:59,870 예를 들어 나는 단지 우리가 말을 어디에 설명, 90 00:03:59,870 --> 00:04:02,460 확인, 첫 번째 편지를 가지고 우리가있어 단어의 91 00:04:02,460 --> 00:04:03,990 양동이로를 정렬하는 것. 92 00:04:03,990 --> 00:04:08,490 그래서 아마도, 26 버킷있을거야, 알파벳의 각 문자 하나. 93 00:04:08,490 --> 00:04:10,090 왜이 좋은 해시 함수가 아니다? 94 00:04:10,090 --> 00:04:13,461 무슨 일이 비 이상적이다? 95 00:04:13,461 --> 00:04:13,960 네. 96 00:04:13,960 --> 00:04:15,790 >> 청중 : 당신은거야 충돌이 있습니다. 97 00:04:15,790 --> 00:04:16,390 >> HANNAH BLUMBERG : 네, 정확히. 98 00:04:16,390 --> 00:04:18,000 당신은 충돌을 할 겁니다. 99 00:04:18,000 --> 00:04:18,954 그래서 한 가지입니다. 100 00:04:18,954 --> 00:04:21,620 어떻게 우리가 할 수있는 그리고 우리는 얘기하자 잠깐의 충돌을 해결. 101 00:04:21,620 --> 00:04:23,980 이 또 다른 문제점 특히 해시 함수 102 00:04:23,980 --> 00:04:25,980 우리의 다른 점이다 버킷은 될거야 103 00:04:25,980 --> 00:04:28,960 꽤 크게 다른 크기. 104 00:04:28,960 --> 00:04:33,840 >> 우리는 훨씬 거기 알고 X보다 시작하는 더 많은 단어, 105 00:04:33,840 --> 00:04:38,980 그래서 우리는 매우 할거야 우리의 해시 테이블에 불균형 버킷. 106 00:04:38,980 --> 00:04:40,050 시원한. 107 00:04:40,050 --> 00:04:41,340 그래서 그래, 다시하자 충돌 지점. 108 00:04:41,340 --> 00:04:42,900 충돌이 있다면 우리는 무엇을해야합니까? 109 00:04:42,900 --> 00:04:44,490 >> 우리는 몇 가지 다른 옵션이 있습니다. 110 00:04:44,490 --> 00:04:47,600 그래서 하나, 우리가 노력하고 가정 우리의 해시 테이블에 베리를 넣어. 111 00:04:47,600 --> 00:04:50,370 그리고 우리는 오, 우리가 원하는 참조 인덱스 1에 넣어, 112 00:04:50,370 --> 00:04:52,070 하지만 바나나는 이미 살고있다. 113 00:04:52,070 --> 00:04:53,110 우리 뭐 할까? 114 00:04:53,110 --> 00:04:54,560 우리는 두 가지 옵션이 있습니다. 115 00:04:54,560 --> 00:04:58,050 >> 번호 하나 확인, 우리가 말할 수있는 것입니다, 인덱스 1의 여지가 없습니다, 116 00:04:58,050 --> 00:05:03,210 하지만 그냥 통해 계속 찾아 보자 우리는 열려있는 다른 자리를 찾을 수있을 때까지. 117 00:05:03,210 --> 00:05:08,490 그래서 우리는 확인을 말할 것이다 의이 자리 3에 넣어 보자. 118 00:05:08,490 --> 00:05:09,240 즉, 하나의 옵션들 중 하나입니다. 119 00:05:09,240 --> 00:05:11,470 즉 프로빙 선형라고. 120 00:05:11,470 --> 00:05:15,500 >> 그리고 두 번째 옵션은, 음, 확인을 말하고있다 그냥이 버킷의 각을 만들어 보자 121 00:05:15,500 --> 00:05:17,470 연결리스트의 머리합니다. 122 00:05:17,470 --> 00:05:21,910 그리고 그것은 더가 있다면 괜찮습니다 양동이에 한 가지 이상. 123 00:05:21,910 --> 00:05:23,820 우리는 단지에가는거야 전면에 그것을 추가합니다. 124 00:05:23,820 --> 00:05:26,032 그래서 여기에 확인을 볼 수 있습니다, 우리는 베리를 삽입 할 때, 우리 125 00:05:26,032 --> 00:05:28,240 그냥 가지, 바나나했다 조금 위를 밀어 126 00:05:28,240 --> 00:05:29,842 거기에 베리를 던졌다. 127 00:05:29,842 --> 00:05:31,050 그리고 그것은 또한 완전히 괜찮습니다. 128 00:05:31,050 --> 00:05:32,830 이는 별도의 체인이라고합니다. 129 00:05:32,830 --> 00:05:38,100 당신은 가지 등이 생각할 수 연결리스트에 머리의 배열. 130 00:05:38,100 --> 00:05:41,950 해시에 대한 질문 테이블, 해시 함수? 131 00:05:41,950 --> 00:05:44,290 신난다. 132 00:05:44,290 --> 00:05:45,470 >> 나무와 시도합니다. 133 00:05:45,470 --> 00:05:47,287 그래서 나무는 어떤 종류입니다 데이터 구조 134 00:05:47,287 --> 00:05:49,453 하는 일종의있다 계층 구조 또는 어떤 종류의 135 00:05:49,453 --> 00:05:51,247 당신의 다른 개체에 순위. 136 00:05:51,247 --> 00:05:53,580 그리고이 슈퍼 될 것입니다 분명 우리는 예를 볼 때. 137 00:05:53,580 --> 00:05:56,960 그리고 우리는 함께, 시도를 보았다 해시 테이블, pset5--에서 138 00:05:56,960 --> 00:06:00,700 이는 다시 완전히 공정한 게임 이것은 또 다른 데이터로 quiz--에 대한 139 00:06:00,700 --> 00:06:03,110 구조가 우리가 할 수있는 다른 일을 저장합니다. 140 00:06:03,110 --> 00:06:06,782 사전의 경우, 우리는 단어의 무리를 저장. 141 00:06:06,782 --> 00:06:08,240 그럼 어떤 나무를 살펴 보자. 142 00:06:08,240 --> 00:06:10,190 그래서이 나무의 예입니다. 143 00:06:10,190 --> 00:06:13,105 또한, 구조의 종류를 갖는다 계층 구조 즉, 144 00:06:13,105 --> 00:06:15,920 당신은 그것을 볼 수있는 상단이 1 노드 145 00:06:15,920 --> 00:06:20,750 , 2, 3 위 순위의 일종을 가지고 이는 아르 4,​​ 5, 6, 7 위 146 00:06:20,750 --> 00:06:22,860 이는 8, 9 위이다. 147 00:06:22,860 --> 00:06:25,210 그게 다야 그래서 우리는 뜻 나무, 수 당신은 그래서 그냥 종류 148 00:06:25,210 --> 00:06:26,660 당신의 머리에서이 사진. 149 00:06:26,660 --> 00:06:29,050 >> 이제, 우리는 몇가 보다 전문화 된 나무. 150 00:06:29,050 --> 00:06:31,070 따라서 하나의 예는 이진 트리이다. 151 00:06:31,070 --> 00:06:33,290 이진 트리이다 다시, 단지가 될 것 152 00:06:33,290 --> 00:06:37,040 일종의 데이터 구조 계층 만, 각 노드 153 00:06:37,040 --> 00:06:38,650 대부분의 두 아이들을 가질 수 있습니다. 154 00:06:38,650 --> 00:06:41,530 단어 진에서 오는 곳이다. 155 00:06:41,530 --> 00:06:43,410 그래서 이것은 이진 트리의 예이다. 156 00:06:43,410 --> 00:06:45,720 그래서 나무의 작은 범주입니다. 157 00:06:45,720 --> 00:06:48,960 >> 이제 더 구체적인하자 및 이진 trees-- 이진 검색에 대해 이야기 158 00:06:48,960 --> 00:06:51,310 나무, 오히려. 159 00:06:51,310 --> 00:06:56,430 그래서 여기에 생각하지 않습니다 전용 모든 노드는 대부분 두 아이들이 160 00:06:56,430 --> 00:07:00,300 하지만 아이들의 모든 왼쪽 작은거야 161 00:07:00,300 --> 00:07:03,450 그리고 아이들의 모든 바로 더 클 것입니다. 162 00:07:03,450 --> 00:07:05,890 그래서 그냥 알 우리 이진 트리가있다 163 00:07:05,890 --> 00:07:08,650 숫자 사이에 관계가 없다. 164 00:07:08,650 --> 00:07:12,990 그러나 우리의 이진 검색에 나무, 우리는 참조 확인, 여기에 (44)이다. 165 00:07:12,990 --> 00:07:17,080 및 (44)의 왼쪽에있는 모든 숫자는 오른쪽에 작은 모든 것을 166 00:07:17,080 --> 00:07:17,920 더 큰 것입니다. 167 00:07:17,920 --> 00:07:20,130 >> 그리고 그 모든에서 보유 트리의 수준. 168 00:07:20,130 --> 00:07:24,810 그래서 여기에, 이것보다 작은 (22)이 22보다 크다. 169 00:07:24,810 --> 00:07:26,390 그리고 그 이진 검색 트리입니다. 170 00:07:26,390 --> 00:07:28,900 왜 우리는 그것이라고 생각 하는가 이진 검색 트리? 171 00:07:28,900 --> 00:07:30,651 어떤 알고리즘은 당신을 생각 나게 하는가? 172 00:07:30,651 --> 00:07:31,650 청중 : 이진 검색. 173 00:07:31,650 --> 00:07:32,480 HANNAH BLUMBERG : 이진 검색. 174 00:07:32,480 --> 00:07:35,150 당신이 찾고있는 경우 때문에 이 트리에서 특정 번호, 175 00:07:35,150 --> 00:07:38,800 모든 점에서, 당신은 노크 수 있습니다 위대한 나무의 오프 반. 176 00:07:38,800 --> 00:07:43,800 그리고 그것은 우리에게 뭔가를 줄 것 즉, 이진 검색처럼 많이 보인다. 177 00:07:43,800 --> 00:07:45,870 질문? 178 00:07:45,870 --> 00:07:47,570 좋아, 멋진. 179 00:07:47,570 --> 00:07:48,560 >> 좋아, 시도합니다. 180 00:07:48,560 --> 00:07:49,657 모두가 좋아. 181 00:07:49,657 --> 00:07:51,990 그래서이 예입니다 우리는 클래스의 무리를 보았다. 182 00:07:51,990 --> 00:07:54,710 그리고 다시, 이것은 또 다른입니다 우리는 데이터를 저장할 수있는 방법. 183 00:07:54,710 --> 00:07:57,530 딕셔너리의 경우에, 다시, 이것은 단지 문자열이 될 것입니다. 184 00:07:57,530 --> 00:08:00,870 그럼 실제로 어떤이를 보자 약간 낮은 수준에서처럼 보인다. 185 00:08:00,870 --> 00:08:03,690 >> 그럼 살펴 보자 트라이의 한 노드에서. 186 00:08:03,690 --> 00:08:07,532 그리고 우리는 확인이 일어나고, 참조 부울 및 노드하기 위해, 187 00:08:07,532 --> 00:08:09,170 노드에 대한 포인터. 188 00:08:09,170 --> 00:08:11,400 그리고 우리는 볼 부울 is_word이라고합니다. 189 00:08:11,400 --> 00:08:13,490 그래서 본질적으로, 그건 해당 것 190 00:08:13,490 --> 00:08:16,750 이 작은 삼각형에있는 당신이 여기 왔 경우, 말한다 191 00:08:16,750 --> 00:08:19,100 당신은 완전한 단어를 발견했습니다. 192 00:08:19,100 --> 00:08:23,670 >> 우리는 알고있다 "튜링"이상 여기에 완전한 단어입니다, 193 00:08:23,670 --> 00:08:28,030 반면 단지 T-U-R은 단어 아니다 우리는 그 작은 델타가 표시되지 않기 때문에. 194 00:08:28,030 --> 00:08:31,440 그리고 그 작은 델타, 다시, 이 is_word에 해당하고, 195 00:08:31,440 --> 00:08:34,480 이 부울 is_word. 196 00:08:34,480 --> 00:08:36,320 그리고 우리는 아이들의 배열을 가지고있다. 197 00:08:36,320 --> 00:08:39,860 당신은 각 레벨에 따라서 특정 노드가, 198 00:08:39,860 --> 00:08:42,470 및 해당 노드 점 전체 알파벳의 배열입니다. 199 00:08:42,470 --> 00:08:44,346 >> 그래서 당신을 다시 볼 수 있습니다, 이 picture-- 내가 해요 200 00:08:44,346 --> 00:08:48,170 다시 점프 유지 가서 forth-- 그 상단에 해당 배열 201 00:08:48,170 --> 00:08:51,640 다른 한 무리가 있습니다 그것의 떨어져오고 노드. 202 00:08:51,640 --> 00:08:57,140 당신이 원하는 경우는 26 또는 27이 여분의 문자를 포함합니다. 203 00:08:57,140 --> 00:09:01,320 그리고 이것은 우리를 제공합니다 우리의 데이터를 저장하는 방법 204 00:09:01,320 --> 00:09:04,450 에보고 할 수있는 방법 즉, 슈퍼 빠른 찾아 볼 수 있습니다. 205 00:09:04,450 --> 00:09:06,650 트라이의 조회 시간은 무엇입니까? 206 00:09:06,650 --> 00:09:07,970 >> 청중 : [들림]. 207 00:09:07,970 --> 00:09:08,300 >> HANNAH BLUMBERG : 네. 208 00:09:08,300 --> 00:09:09,550 이론적으로, 그것은 일정 시간이다. 209 00:09:09,550 --> 00:09:13,230 그것은 단지의 크기가 될 것 당신이보고 싶은 단어. 210 00:09:13,230 --> 00:09:15,950 우리는 엄청나게 많은 수를 추가하더라도 우리의 트라이에 더 많은 단어, 211 00:09:15,950 --> 00:09:18,160 그것은 우리를 데려 않을거야 더 이상 확인하려면 212 00:09:18,160 --> 00:09:19,690 주어진 단어 트라이에있는 경우. 213 00:09:19,690 --> 00:09:21,412 그래서 정말 좋은 데요. 214 00:09:21,412 --> 00:09:23,697 >> 청중 : 당신을 했 그 배열을 초기화? 215 00:09:23,697 --> 00:09:24,780 당신은 점 또는 두를 놓쳤다. 216 00:09:24,780 --> 00:09:26,130 당신은 단지에 대해 얘기 할 수 초인가? 217 00:09:26,130 --> 00:09:26,680 >> HANNAH BLUMBERG : 물론, 절대적으로. 218 00:09:26,680 --> 00:09:27,590 좋은 질문. 219 00:09:27,590 --> 00:09:31,140 문제는 우리가했다 야 배열을 가지고 220 00:09:31,140 --> 00:09:34,180 같은 노드 별을해야 할 것 바로, 단지 노드에 반대? 221 00:09:34,180 --> 00:09:35,180 시원한. 222 00:09:35,180 --> 00:09:37,990 그래서 여기에 우리가 무슨 말을하는지 우리의 배열은 단지이다 223 00:09:37,990 --> 00:09:40,035 다른 배열에 대한 포인터가 될 것. 224 00:09:40,035 --> 00:09:42,910 그래서 가지를 essentially-- 것 이 방법으로 연결리스트 같은 느낌 225 00:09:42,910 --> 00:09:46,620 여기서이 아이들의 각 바로 다음 노드를 가리 킵니다. 226 00:09:46,620 --> 00:09:49,030 >> 그리고 방법이 우리 실제로 확인, 헤이, 결정, 227 00:09:49,030 --> 00:09:52,320 우리는 전체를 통해 반복했습니다 단어를 사전에서이 단어는, 228 00:09:52,320 --> 00:09:54,476 우리는 단지이 is_word을 확인합니다. 229 00:09:54,476 --> 00:09:55,100 좋은 질문입니다. 230 00:09:55,100 --> 00:09:55,675 네. 231 00:09:55,675 --> 00:09:56,216 청중 : OK. 232 00:09:56,216 --> 00:09:57,470 그래서 트라이에 대한 런타임은 무엇입니까? 233 00:09:57,470 --> 00:09:58,386 >> HANNAH BLUMBERG : 물론. 234 00:09:58,386 --> 00:10:01,852 대한 트라이의 런타임 그래서 검색은 일정 시간이 될 것입니다. 235 00:10:01,852 --> 00:10:04,310 그래서 그것은 단지가 될 것 단어의 문자의 번호입니다. 236 00:10:04,310 --> 00:10:06,310 그것은에 의존 아니다 사전의 크기 237 00:10:06,310 --> 00:10:09,510 또는 데이터 구조의 크기. 238 00:10:09,510 --> 00:10:12,170 그래서 여기에 약간 간단한 예입니다. 239 00:10:12,170 --> 00:10:15,430 >> 이 경우, 당신은 볼 수 있습니다 단어 박쥐는 사전에 240 00:10:15,430 --> 00:10:18,900 당신은 줌을 가지고 있지만, 동물원 같은이 없습니다. 241 00:10:18,900 --> 00:10:20,050 어떻게 우리는 동물원을 만들 것? 242 00:10:20,050 --> 00:10:24,276 우리는 동물원을하는 추가하려면 어떻게 우리의 사전, 우리의 트라이에? 243 00:10:24,276 --> 00:10:24,776 네. 244 00:10:24,776 --> 00:10:27,014 >> 청중 : is_word 확인 사실 [들림]에 대해. 245 00:10:27,014 --> 00:10:27,930 HANNAH BLUMBERG : 좋은. 246 00:10:27,930 --> 00:10:31,731 그래서 우리는 Z-O-O를 말하고 싶지만, 그리고, 우리는 좋겠 뿐만 아니라 그 상자를 확인합니다. 247 00:10:31,731 --> 00:10:32,230 큰. 248 00:10:32,230 --> 00:10:35,160 249 00:10:35,160 --> 00:10:37,930 의 아주 간단히 비교해 보겠습니다 해시 테이블 대하려고합니다. 250 00:10:37,930 --> 00:10:39,770 시도는 정말 대단하다 때문에, 우리가 말했듯이, 251 00:10:39,770 --> 00:10:41,610 그들은 일정 시간 조회를 제공합니다. 252 00:10:41,610 --> 00:10:44,285 하지만 큰 단점 그들은 엄청난 것입니다. 253 00:10:44,285 --> 00:10:46,160 당신은 감각을 얻을 수 있습니다, 심지어 그것을보고로, 254 00:10:46,160 --> 00:10:48,454 그것은 걸릴 거예요 것을 메모리의 엄청난 금액. 255 00:10:48,454 --> 00:10:50,620 그래서 그들은 많이있을거야 해시 테이블보다 더 큰, 256 00:10:50,620 --> 00:10:52,270 하지만 그들은 줄거야 우리 훨씬 빠른 조회 시간. 257 00:10:52,270 --> 00:10:54,478 그래서 어떤 종류의 당신의 트레이드 오프, 당신이 걱정 무엇을, 258 00:10:54,478 --> 00:10:57,350 그것은 속도 나 메모리의 여부. 259 00:10:57,350 --> 00:11:02,251 그 중 하나에 대한 질문, C 데이터 구조의 모든. 260 00:11:02,251 --> 00:11:02,750 아름다운. 261 00:11:02,750 --> 00:11:03,250 그래. 262 00:11:03,250 --> 00:11:07,322 우리는 조금로 이동거야 마리아와 웹 개발의 비트. 263 00:11:07,322 --> 00:11:08,280 마리아 ZLATKOVA : 사랑스러운. 264 00:11:08,280 --> 00:11:09,036 그래. 265 00:11:09,036 --> 00:11:10,380 >> HANNAH BLUMBERG : 당신은 내 노트북​​을 사용할 수 있습니다. 266 00:11:10,380 --> 00:11:11,255 >> 마리아 ZLATKOVA : 반갑습니다. 267 00:11:11,255 --> 00:11:13,320 268 00:11:13,320 --> 00:11:14,912 그래 좋아. 269 00:11:14,912 --> 00:11:17,120 우리는 웹에 지금 이동 개발, 우리는 조금 이야기 270 00:11:17,120 --> 00:11:20,680 변경 권한에 대한 파일 및 디렉토리 271 00:11:20,680 --> 00:11:24,190 그래서 그들이 액세스 할 수 있습니다 다른 사용자에게, 세계, 272 00:11:24,190 --> 00:11:28,640 그리고되도록하는 우리는 어떻게 볼 수 있습니다 기본적으로 우리는 그들을 전달할 수 273 00:11:28,640 --> 00:11:32,600 우리는 웹 사이트와 같은 일을 개발할 때 것을 우리는 주로 해왔습니다. 274 00:11:32,600 --> 00:11:36,400 >> 그래서 우리는 chmod 명령을 보았다, 이는 기본적으로 변경 모드입니다. 275 00:11:36,400 --> 00:11:39,300 즉, 리눅스 명령이고 이 액세스 권한을 변경 276 00:11:39,300 --> 00:11:40,410 파일 시스템 개체. 277 00:11:40,410 --> 00:11:43,370 및 파일 시스템의 목적은 단지 디렉토리, 파일, 278 00:11:43,370 --> 00:11:46,810 아무것도 당신이 할 수있는 의 권한을 변경합니다. 279 00:11:46,810 --> 00:11:53,750 >> 그래서 파일 사용 권한을 확인합니다, 우리는 명령 LS, 목록, -​​l을 입력합니다. 280 00:11:53,750 --> 00:11:56,500 그리고 우리는 입력 할 때, 우리 일반적으로 일부 권한을 참조하십시오 281 00:11:56,500 --> 00:11:59,660 즉,이 같은 종류의보고 디렉토리 이름 앞에. 282 00:11:59,660 --> 00:12:01,260 그래서 D는 디렉토리를 가리 킵니다. 283 00:12:01,260 --> 00:12:05,930 그리고 우리는 세 가지가 화음 기본적으로 그 284 00:12:05,930 --> 00:12:11,675 하나의 권한을 참조하십시오 사용자, 그룹, 또는 세계. 285 00:12:11,675 --> 00:12:16,490 >> 권한의 종류가 우리가 할 수있는 사람들이 세 그룹이 286 00:12:16,490 --> 00:12:20,830 대한 W 읽기 중 R은있다 쓰기 및 실행을위한 X. 287 00:12:20,830 --> 00:12:23,650 그리고 우리에 대한 그를 가질 수 있습니다 그룹과 세계뿐만 아니라. 288 00:12:23,650 --> 00:12:26,940 까다로운 점은 때때로 우리는 chmod 명령을 입력 할 때, 289 00:12:26,940 --> 00:12:32,960 우리는 몇 가지 숫자를 입력합니다 즉, 3 비트 구성되었다. 290 00:12:32,960 --> 00:12:36,990 그래서 우리는 같이 할 수 777 그 기본적 291 00:12:36,990 --> 00:12:40,450 부가가치 지칭 이러한 화음의 각 292 00:12:40,450 --> 00:12:45,060 R 4를 참조 때문에, W는 것 2 참조, x는 1 참조 것, 293 00:12:45,060 --> 00:12:50,020 그래서, 각 숫자를 추가 할 때 누적 내려 와서 294 00:12:50,020 --> 00:12:52,750 0에서 7 사이의 누적 값. 295 00:12:52,750 --> 00:12:55,150 그래서 우리는 0을 가질 수 전혀 권한을. 296 00:12:55,150 --> 00:12:58,200 그리고 기본적으로 우리에게 줄 것이다 중 사용자의 권한, 297 00:12:58,200 --> 00:13:00,450 기 또는 세계. 298 00:13:00,450 --> 00:13:02,620 지금까지이에 대한 질문? 299 00:13:02,620 --> 00:13:05,331 >> 청중 : 읽기, 상기 4입니까? 300 00:13:05,331 --> 00:13:06,164 마리아 ZLATKOVA : 예. 301 00:13:06,164 --> 00:13:07,568 청중 : [들림]. 302 00:13:07,568 --> 00:13:08,504 HANNAH BLUMBERG : 아, 그래. 303 00:13:08,504 --> 00:13:11,790 청중 : 그리고 모든 사람을 추가하여 다른 사람들이 당신의 수를 나타냅니다. 304 00:13:11,790 --> 00:13:12,665 마리아 ZLATKOVA : 네. 305 00:13:12,665 --> 00:13:14,970 네. 306 00:13:14,970 --> 00:13:17,810 이들은 좋은 질문입니다. 307 00:13:17,810 --> 00:13:20,490 아름다운. 308 00:13:20,490 --> 00:13:25,340 다음으로, 우리는 HTML과에 뛰어 웹 개발에 대한 좀 더. 309 00:13:25,340 --> 00:13:27,990 그래서 HTML은 의미 하이퍼 텍스트 마크 업 언어. 310 00:13:27,990 --> 00:13:30,460 그리고 그 마크 업 표준은 언어 311 00:13:30,460 --> 00:13:32,720 그것은 웹 페이지를 만드는 데 사용되는 것을. 312 00:13:32,720 --> 00:13:35,750 >> 그것은 마크 업 언어라고 실제로 컴파일 아니기 때문에. 313 00:13:35,750 --> 00:13:40,310 이 방법을 몇 가지 코드가해야 말하지 않는다 실행 또는 그런 아무것도 될 수있다. 314 00:13:40,310 --> 00:13:44,800 그것은 단지 묘사와 어떻게 웹 설명 315 00:13:44,800 --> 00:13:46,840 페이지 설정해야합니다 그 요소들 각각과 316 00:13:46,840 --> 00:13:48,460 그들은 사용자에게보고하는 방법. 317 00:13:48,460 --> 00:13:53,090 318 00:13:53,090 --> 00:13:57,110 >> HTML 태그의 일부 그 우리 갔다는 다음과 같다. 319 00:13:57,110 --> 00:14:00,500 우리의 HTML 문서의 모든 DOCTYPE HTML을 시작했다. 320 00:14:00,500 --> 00:14:02,550 그런 다음 우리는 항상 HTML 태그가 있습니다. 321 00:14:02,550 --> 00:14:03,930 우리는 머리와 몸을 가지고있다. 322 00:14:03,930 --> 00:14:07,890 그리고 HTML을 가지고하는 것이 중요합니다 중첩 된 구조의 종류 323 00:14:07,890 --> 00:14:09,280 그것은 매우 분명하기 때문이다. 324 00:14:09,280 --> 00:14:13,200 그리고 그것은 매우 분명해진다 때를 실제로 가까운 태그를 열고해야합니다. 325 00:14:13,200 --> 00:14:18,400 그리고 우리는 항상 닫을 필요 우리가 연 태그. 326 00:14:18,400 --> 00:14:23,170 >> 그리고 여기에 우리는 유형의 일부가 우리가 갖고 싶어 앞서 가지. 327 00:14:23,170 --> 00:14:26,580 그래서 우리가, 예를 들어, CS50의 제목입니다. 328 00:14:26,580 --> 00:14:31,980 그리고 우리가 실제로 스타일 시트를 링크 할 수있다 329 00:14:31,980 --> 00:14:34,030 그것은 우리가 우리의 웹 사이트를 스타일 방법을 정의합니다. 330 00:14:34,030 --> 00:14:35,650 즉, CSS입니다. 331 00:14:35,650 --> 00:14:39,320 우리는 그것을 통해 갈거야 뿐만 아니라 슬라이드의 다음 커플. 332 00:14:39,320 --> 00:14:42,580 >> 신체 내에서, 우리는 설정 일부 클래스와 ID를. 333 00:14:42,580 --> 00:14:45,860 그리고 알리미로, 다시, ID는 고유의 클래스입니다 334 00:14:45,860 --> 00:14:47,390 여러 항목에 할당 할 수 있습니다. 335 00:14:47,390 --> 00:14:52,110 그리고는 것을 의미 우리는 클래스와 ID를 사용할 수 있습니다 336 00:14:52,110 --> 00:14:55,860 그래서 다른 structures-- 내 용 예를 들어, CSS 파일이나 스타일 내 337 00:14:55,860 --> 00:15:00,940 특정 요소를 참조 할 sheets-- 기본적으로 우리가 스타일을하고 싶은 말 338 00:15:00,940 --> 00:15:03,280 또는 일부 요소를 디자인 어떤 특별한 방법으로. 339 00:15:03,280 --> 00:15:06,440 그리고 우리는 그들에게 참조 자신의 ID와 클래스. 340 00:15:06,440 --> 00:15:09,870 그리고 우리는 또한 참조 할 수 있습니다 뿐만 아니라 태그에 의해 다른 것, 341 00:15:09,870 --> 00:15:13,830 하지만 ID와 클래스는 단지 우리에게 줄 다양성과 특히 우리 342 00:15:13,830 --> 00:15:15,850 를 참조 할 수 있습니다. 343 00:15:15,850 --> 00:15:19,620 >> 그래서 그냥 예. 344 00:15:19,620 --> 00:15:22,730 우리는 내 다시 할 수 있습니다 CSS 파일 어디 345 00:15:22,730 --> 00:15:25,770 몇 가지를 정의 할 style-- 색상, 글꼴 그래서, 346 00:15:25,770 --> 00:15:30,340 물건 우리가 할 수있는 that-- 같은 몸의 스타일을 정의합니다. 347 00:15:30,340 --> 00:15:32,640 그래서 그것을 정의 할 몸 전체 태그. 348 00:15:32,640 --> 00:15:36,160 그러나 우리는 또한 정의 할 수 있습니다 #title의 스타일. 349 00:15:36,160 --> 00:15:40,390 그리고 다시, 해시 태그는를 의미한다 우리 ID와 점은 우리의 클래스를 의미한다. 350 00:15:40,390 --> 00:15:44,760 >> 그리고 .INFO를 들어, 또한 일부 속성을 설정할 수 있습니다. 351 00:15:44,760 --> 00:15:49,750 우리가 갈 때 그리고 다시, 우리는했다 우리의 클래스는 정보와 우리의 ID 제목했다. 352 00:15:49,750 --> 00:15:53,422 그리고 우리는 우리가 참조 볼 수 있습니다 그들에게 #title와 .INFO에 의해. 353 00:15:53,422 --> 00:15:55,380 청중 : 당신은 말할 것 해시 태그 [? 저를 채택? ?] 354 00:15:55,380 --> 00:15:55,725 마리아 ZLATKOVA : 죄송합니다? 355 00:15:55,725 --> 00:15:58,120 청중 : 당신은 말할 것 해시 태그 [? 저를 채택? ?] 356 00:15:58,120 --> 00:16:01,400 마리아 ZLATKOVA : 해시 태그 ID, 그래서 #title을 의미 357 00:16:01,400 --> 00:16:07,890 어떤 요소를 의미한다 제목이라는 ID를 가지고 있습니다. 358 00:16:07,890 --> 00:16:10,735 그리고 그 점은 클래스를 의미한다. 359 00:16:10,735 --> 00:16:14,590 그래서 .INFO이 요소를 의미한다 그것은 클래스 정보를 가지고 있기 때문이다. 360 00:16:14,590 --> 00:16:15,090 예. 361 00:16:15,090 --> 00:16:17,905 >> 청중 : 왜 당신을 HTML로 구별? 362 00:16:17,905 --> 00:16:20,985 왜 어떤 일이 말을합니까 ID와 어떤 일이 클래스입니까? 363 00:16:20,985 --> 00:16:22,610 마리아 ZLATKOVA : 그건 너와 단지이야 364 00:16:22,610 --> 00:16:24,151 HANNAH BLUMBERG는 : 질문을 반복합니다. 365 00:16:24,151 --> 00:16:25,370 마리아 ZLATKOVA : 아, 죄송합니다. 366 00:16:25,370 --> 00:16:29,480 왜 우리는 특정 요소를 구별 할 ID와 클래스와 같은 다른 요소로? 367 00:16:29,480 --> 00:16:34,760 이 때문에 그건 단지 정말 자주 디자인 선택. 368 00:16:34,760 --> 00:16:38,520 그것은 당신에게 많이 제공 존재의 다양성 369 00:16:38,520 --> 00:16:43,250 나는이 특정 항목을 원하는 말할 수 그들이 원하기 때문에이 ID를 가질 370 00:16:43,250 --> 00:16:45,300 많은 일을 할 수 그것은, 내가 만 371 00:16:45,300 --> 00:16:50,010 스타일을 정의 할 특정 스타일 해당 항목에 대한 또는 색상 뭐든간에. 372 00:16:50,010 --> 00:16:52,630 그리고 그 방법은 그렇게하기 그냥에게 ID를주고있다. 373 00:16:52,630 --> 00:16:55,060 >> 그리고 내가 원하는 경우가합니다 다른 항목의 몇 374 00:16:55,060 --> 00:16:58,940 데, 그 대신 가는 their-- 설정 375 00:16:58,940 --> 00:17:03,840 대신하여 일을 태그 태그 때문에 376 00:17:03,840 --> 00:17:07,369 전체 태그 셀을 설정 모든 시간 동안 해당 태그가 사용됩니다, 377 00:17:07,369 --> 00:17:09,740 당신은 여러 항목에 클래스를 설정할 수 있습니다. 378 00:17:09,740 --> 00:17:15,109 그리고 바로 그 클래스에 액세스하고 말 나는이 클래스 그런 식으로 스타일을 원한다. 379 00:17:15,109 --> 00:17:17,579 >> 그리고 또, 클래스는 할 수 여러 다른 항목 수 380 00:17:17,579 --> 00:17:21,150 그리고 ID는 고유해야합니다. 381 00:17:21,150 --> 00:17:21,849 좋은 질문. 382 00:17:21,849 --> 00:17:25,339 다른 질문? 383 00:17:25,339 --> 00:17:26,220 확인을, 끝내. 384 00:17:26,220 --> 00:17:30,680 385 00:17:30,680 --> 00:17:35,330 다시 말하지만,이 방법이 선택기입니다 해시 태그와 CSS에서 참조, 386 00:17:35,330 --> 00:17:40,031 점과, 또는 아무것도없이 일부 태그의 스타일을 지정, 387 00:17:40,031 --> 00:17:40,530 몸있다. 388 00:17:40,530 --> 00:17:43,500 389 00:17:43,500 --> 00:17:47,860 그리고 여기에 우리가 일반적으로이 이 작업을 수행하는 방법의 구문. 390 00:17:47,860 --> 00:17:52,830 391 00:17:52,830 --> 00:17:55,680 >> 일부 최선을 반복합니다 HTML과 CSS에 대한 사례 392 00:17:55,680 --> 00:17:59,170 우리는에, 다시, 주변의 모든 필요 우리가 열고 HTML 태그. 393 00:17:59,170 --> 00:18:03,950 그리고 우리가 당신을 추천 무엇 최종 프로젝트 수행 394 00:18:03,950 --> 00:18:10,560 뿐만 아니라 CS50 금융에 관해서는, 확인하는 것입니다 당신의 HTML의 모든 유효성을 검사해야합니다. 395 00:18:10,560 --> 00:18:12,920 그리고 그 W3 검사기로 이루어집니다. 396 00:18:12,920 --> 00:18:16,940 >> 그리고 우리가했던 다음 무엇을 우리는 일을하는 것이 좋습니다 무엇 397 00:18:16,940 --> 00:18:19,790 그래서, 스타일을 분리한다 마크 업 HTML에서 CSS. 398 00:18:19,790 --> 00:18:24,210 방법에 관한 그래서 아무것도 페이지는 시각적으로 보이는 것입니다 399 00:18:24,210 --> 00:18:27,330 어떻게 수정 될 것 CSS 문서로 가야한다. 400 00:18:27,330 --> 00:18:33,880 그리고 마크 업이 어떻게 일을 말 서로에 대해 아르는 HTML이고 401 00:18:33,880 --> 00:18:37,550 그 안에 가야한다 당신의 HTML 문서의. 402 00:18:37,550 --> 00:18:38,590 질문? 403 00:18:38,590 --> 00:18:39,226 MHM. 404 00:18:39,226 --> 00:18:42,628 >> 청중 : 정확히 무엇을 것입니다 페이지 유효성 검사에 405 00:18:42,628 --> 00:18:47,945 우리가 유효성을 검사 할 때 [들림] 생성 HTML? 406 00:18:47,945 --> 00:18:49,850 >> 마리아 ZLATKOVA : 그래서 당신을 생각 뭐 .... 407 00:18:49,850 --> 00:18:53,020 그래서 정확히 것입니다 페이지 유효성 검사에 408 00:18:53,020 --> 00:18:55,570 왜 우리가 그렇게해야합니까? 409 00:18:55,570 --> 00:18:59,180 기본적으로, 우리는 그렇게 할 필요가 때문에 많은 시간, 브라우저, 410 00:18:59,180 --> 00:19:01,390 당신은 태그를 닫지 않는 경우 또는 그런 일, 411 00:19:01,390 --> 00:19:05,680 브라우저는 여전히에 가고 페이지를 렌더링하고 여전히 작동 할 수 있습니다, 412 00:19:05,680 --> 00:19:10,840 하지만 가장 좋은 방법은 있는지 확인의 당신은, 다시, 모든 태그를 닫은 413 00:19:10,840 --> 00:19:13,190 모든 요소가 있음 그들이해야하는 방법, 414 00:19:13,190 --> 00:19:18,470 그것은 기본적으로 야한다는 사전 설정됩니다 규칙. 415 00:19:18,470 --> 00:19:21,970 >> 그것은, 다시, 그냥 점은 당신이해야 416 00:19:21,970 --> 00:19:24,040 일을 할 학습 할, 갖는 반대로 417 00:19:24,040 --> 00:19:25,696 그런 sloppier 코드와 물건. 418 00:19:25,696 --> 00:19:26,688 네. 419 00:19:26,688 --> 00:19:27,680 아, 죄송합니다. 420 00:19:27,680 --> 00:19:29,221 나는 당신이 당신의 손을 올리는 생각했다. 421 00:19:29,221 --> 00:19:31,240 청중 : 아니, 난 그냥 [들리지이었다. 422 00:19:31,240 --> 00:19:33,800 >> 마리아 ZLATKOVA : OK. 423 00:19:33,800 --> 00:19:34,640 >> 청중 : 감사합니다. 424 00:19:34,640 --> 00:19:36,181 >> 마리아 ZLATKOVA : 물론, 감사합니다. 425 00:19:36,181 --> 00:19:41,680 그래서 다시, 방법으로 진행 정보 전송 426 00:19:41,680 --> 00:19:44,630 통신 모델 정보를 전송합니다. 427 00:19:44,630 --> 00:19:45,730 TCP / IP. 428 00:19:45,730 --> 00:19:48,600 TCP는 전송을 의미합니다 제어 프로토콜 및 IP 429 00:19:48,600 --> 00:19:51,260 인터넷 프로토콜을 말한다. 430 00:19:51,260 --> 00:19:54,275 그리고 그것은 단지를 말한다 그런데 데이터가 전달된다. 431 00:19:54,275 --> 00:19:59,470 432 00:19:59,470 --> 00:20:02,710 >> 우리는 일부 데이터가있는 경우 그 그래서 너와 전달해야 433 00:20:02,710 --> 00:20:06,770 당신은 특정 서버에 대한 요청을합니다. 434 00:20:06,770 --> 00:20:09,800 예를 들면, 우리 cs50.net에 액세스하려고, 435 00:20:09,800 --> 00:20:12,420 우리는 요청을 CS50 서버와 우리 436 00:20:12,420 --> 00:20:14,720 우리가 얻고 싶은 것을 볼 수 이러한 종류의 정보. 437 00:20:14,720 --> 00:20:19,294 다음이 프로토콜에 기초 이 정보가 전달되는 방법에 대한, 438 00:20:19,294 --> 00:20:21,460 서버는 정보를 제공합니다 다시 우리에게, 클라이언트. 439 00:20:21,460 --> 00:20:25,590 그리고 우리가 볼 수있어 페이지 정보 440 00:20:25,590 --> 00:20:26,390 다음을 사용합니다. 441 00:20:26,390 --> 00:20:29,300 442 00:20:29,300 --> 00:20:33,050 >> 그럼 하이퍼 텍스트 전송 프로토콜 또 다른 프로토콜이나 설정입니다 443 00:20:33,050 --> 00:20:37,470 규칙의 그 방법을 정의 웹 브라우저와 웹 서버 444 00:20:37,470 --> 00:20:38,890 의사 소통을해야한다. 445 00:20:38,890 --> 00:20:43,730 그리고이 모든 퍼팅 함께, HTTP, 다시, 446 00:20:43,730 --> 00:20:50,960 다만이 하이퍼 텍스트 (hyper text)가 정의하는 방법을 정의 우리가 작업했던 HTML로, 447 00:20:50,960 --> 00:20:59,500 그것이 당신에게 전달하는 방법과 어떻게 전달되는 데이터 448 00:20:59,500 --> 00:21:00,540 당신에게 가져옵니다. 449 00:21:00,540 --> 00:21:05,990 >> 너희들이 기억한다면 그게, 그 이유는 클래스에서, 우리는 요청을 많이했다 450 00:21:05,990 --> 00:21:08,970 우리는 구문을 많이했다 우리가있어 이러한 요청에 대한 451 00:21:08,970 --> 00:21:10,250 지금 이상 갈. 452 00:21:10,250 --> 00:21:13,270 그래서 다시, 우리는 때를 보내 서버에 요청, 453 00:21:13,270 --> 00:21:15,920 우리는 몇 가지를 정의해야합니다. 454 00:21:15,920 --> 00:21:18,520 그래서 우리는 유형을 찾을 필요 요청 우리가 설정하는 그. 455 00:21:18,520 --> 00:21:22,180 그리고 또, 우리가, 예를 들면, GET 메소드의 일종 456 00:21:22,180 --> 00:21:25,290 우리는 우리의 요청이 있는지 확인하십시오. 457 00:21:25,290 --> 00:21:31,710 >> 그리고 HTTP / 1.1 단지이다 우리가 현재 사용하고있는 프로토콜입니다. 458 00:21:31,710 --> 00:21:34,224 459 00:21:34,224 --> 00:21:36,890 대부분의 시간, 즉거야 우리가 사용하고있는 프로토콜. 460 00:21:36,890 --> 00:21:40,290 당신은 문제가 있다면 퀴즈에 그런. 461 00:21:40,290 --> 00:21:43,120 즉, 규칙의 것을 우리는 지금까지 가지고있다. 462 00:21:43,120 --> 00:21:46,580 >> 백 슬래시는 어떤 종류를 말한다 것들을 우리가 요청하고 있습니다. 463 00:21:46,580 --> 00:21:52,810 그 후, 우리는이 호스트, 예를 들면, 경우, 우리는 google.com로 이동하려는. 464 00:21:52,810 --> 00:21:57,070 그래서 이것은 호스트에 대한 값이다. 465 00:21:57,070 --> 00:21:59,330 이 요청의 유형 그가 전송 될 수있다. 466 00:21:59,330 --> 00:22:02,890 >> 응답의 종류와 그 수 전송, 다시,이 프로토콜에 기초 할 수, 467 00:22:02,890 --> 00:22:05,190 다시이며, HTTP / 1.1. 468 00:22:05,190 --> 00:22:07,150 그래서 HTTP 버전을 다시합니다. 469 00:22:07,150 --> 00:22:09,730 200 OK는 상태 코드이다. 470 00:22:09,730 --> 00:22:12,860 그리고 확인을 그냥 문구 그 상태 코드를 기반으로. 471 00:22:12,860 --> 00:22:15,520 >> 그리고 컨텐츠 유형 유형을 말한다 472 00:22:15,520 --> 00:22:20,295 즉, 즉 당신에게 반환됩니다 당신이받는 그 웹 페이지에 대한 473 00:22:20,295 --> 00:22:22,570 귀하의 브라우저가 나중에 렌더링 할 수 있습니다. 474 00:22:22,570 --> 00:22:24,401 그리고 그 텍스트 / HTML입니다. 475 00:22:24,401 --> 00:22:26,660 >> 청중 : 1.1이 무엇을 의미합니까? 476 00:22:26,660 --> 00:22:29,910 >> 마리아 ZLATKOVA : 그건 그냥있어 버전 동행입니다 오, 1.1은 무엇을 의미 하는가? 477 00:22:29,910 --> 00:22:37,075 그건 그냥 버전, HTTP입니다 우리가 사용하는 프로토콜의 버전입니다. 478 00:22:37,075 --> 00:22:37,700 좋은 질문입니다. 479 00:22:37,700 --> 00:22:38,366 다른 질문? 480 00:22:38,366 --> 00:22:41,222 481 00:22:41,222 --> 00:22:45,080 >> 청중 : 당신은 요약 할 수 콘텐츠 형식 진짜 빨리? 482 00:22:45,080 --> 00:22:48,150 >> 마리아 ZLATKOVA : 있도록 무엇 서버입니다. 483 00:22:48,150 --> 00:22:51,020 무엇 information--의 유형 콘텐츠 형식은 질문했다. 484 00:22:51,020 --> 00:22:53,400 그래서 유형이었다 당신이 돌아 오기 정보 485 00:22:53,400 --> 00:22:58,200 서버 유형에서 데이터 브라우저가 다음 수 486 00:22:58,200 --> 00:23:00,604 당신이 사용하고 있는지를 렌더링합니다. 487 00:23:00,604 --> 00:23:03,020 관객 : 어떤이인가요 프로토콜은 어떻게 말하고 있는가? 488 00:23:03,020 --> 00:23:03,390 마리아 ZLATKOVA : 죄송합니다? 489 00:23:03,390 --> 00:23:05,380 청중 : 프로토콜이 무슨 말인가요? 490 00:23:05,380 --> 00:23:05,915 마리아 ZLATKOVA : protocol-- 491 00:23:05,915 --> 00:23:07,940 청중 : 납치범 콘텐츠 형식이거나 뭐 ... 492 00:23:07,940 --> 00:23:12,040 마리아 ZLATKOVA : 프로토콜을 기반으로합니다 on--을 알려주는 프로토콜은 무엇인가? 493 00:23:12,040 --> 00:23:16,070 그건 그냥 방법 이 정보가 494 00:23:16,070 --> 00:23:18,610 당신에게 전달했다 기반 프로토콜의 어떤 종류에 495 00:23:18,610 --> 00:23:21,830 이 정보를했습니다 당신에게 다시 전달했다. 496 00:23:21,830 --> 00:23:23,500 그 말이 정렬합니까? 497 00:23:23,500 --> 00:23:28,320 498 00:23:28,320 --> 00:23:30,070 HANNAH BLUMBERG : 당신 프로토콜 생각할 수 499 00:23:30,070 --> 00:23:33,300 그럼하지 머 나는 교수를 생각 마란 그것을 바와 500 00:23:33,300 --> 00:23:36,910 같은 종류의 할까 .. 같은 클래스에서이 같은거야 인간의 핸드 쉐이크에 해당. 501 00:23:36,910 --> 00:23:44,930 같은, 이봐, 내가 요청 해요, 말과 나는 버전 1.1의 HTTP를 처리하는 방법을 알고있다. 502 00:23:44,930 --> 00:23:48,770 그리고 서버는 말한다 확인, 오, 난 - 둘 다 존재한다. 503 00:23:48,770 --> 00:23:51,337 또한 HTTP / 1.1에 대처하는 방법을 알고있다. 504 00:23:51,337 --> 00:23:53,170 그리고 난 줄거야 당신은 어떤 내용을 백업합니다. 505 00:23:53,170 --> 00:23:56,230 이 경우 일어나고 텍스트를 입력 / HTML이 될 수 있습니다. 506 00:23:56,230 --> 00:23:58,480 그래서 그것은 종류의 단지 방법 그들 중 communicating--에 대한 507 00:23:58,480 --> 00:24:00,480 >> 마리아 ZLATKOVA : 그것은 단지 당신이있어 것을 확인 508 00:24:00,480 --> 00:24:03,290 모두 동일한 따라 프로토콜과 그 모두 509 00:24:03,290 --> 00:24:06,620 클라이언트와 server-- 그래서 브라우저 및 server-- 510 00:24:06,620 --> 00:24:09,280 종류의 당신이있어 알고 에 대해 이야기하고있다 511 00:24:09,280 --> 00:24:12,557 데이터 전달의 규칙. 512 00:24:12,557 --> 00:24:17,022 >> 청중 : 그래서 컨텐츠 유형 part-- 콘텐츠 형식의 텍스트 / html-- 그건 513 00:24:17,022 --> 00:24:18,521 동일한 메시지의 별도의 부분? 514 00:24:18,521 --> 00:24:20,509 아니면 이제 200을 가정 해 봅시다의 일부입니다? 515 00:24:20,509 --> 00:24:22,010 (200)는 그들에게 그 또는 is--을 말해 주는가 516 00:24:22,010 --> 00:24:23,770 >> 마리아 ZLATKOVA : (200)은 모두 확인을 갔다 말한다. 517 00:24:23,770 --> 00:24:27,900 그리고 콘텐츠 유형의 일종이다 동일한 메시지의 별도의 부분, 518 00:24:27,900 --> 00:24:34,274 그리고 일을 말하는 것을 나는 반환 텍스트 / HTML의 유형이 있습니다. 519 00:24:34,274 --> 00:24:35,690 그것은 단지 더 많은 정보를 제공합니다. 520 00:24:35,690 --> 00:24:38,700 521 00:24:38,700 --> 00:24:39,995 추가 아무것도? 522 00:24:39,995 --> 00:24:40,495 그래. 523 00:24:40,495 --> 00:24:43,590 524 00:24:43,590 --> 00:24:46,530 >> 이에 대한 다른 질문? 525 00:24:46,530 --> 00:24:48,370 신난다. 526 00:24:48,370 --> 00:24:54,070 그래서 다른 HTTP 상태 그 우리는 200 OK 이외에 얻을 수 527 00:24:54,070 --> 00:24:59,500 우리는 아마 본 적이 것들 가능한 많이 403, 404이다. 528 00:24:59,500 --> 00:25:05,190 그래서 (404), 당신이하려고 한 경우 존재하지 않는 액세스 뭔가. 529 00:25:05,190 --> 00:25:10,460 예를 들면, 그래서 CS50 금융의 Pset, 530 00:25:10,460 --> 00:25:15,640 당신은 quote.html 렌더링 된 경우 당신은 그 파일을하지 않았다, 531 00:25:15,640 --> 00:25:19,740 대신 당신은, quote.php했다 404 초래 찾을 수 없음 532 00:25:19,740 --> 00:25:21,600 파일이 존재하지 않을 수도 있기 때문이다. 533 00:25:21,600 --> 00:25:25,690 >> (403)를 들어 것을 금지 권한을 의미한다. 534 00:25:25,690 --> 00:25:31,150 일부 파일에 의해하지 읽을 수 있다면 세계는, 당신은 (403)는 반환받을 수 있습니다. 535 00:25:31,150 --> 00:25:34,510 536 00:25:34,510 --> 00:25:37,810 일부 사람들이 수도 (301), 영구 이동을이거나 먹어; 537 00:25:37,810 --> 00:25:41,300 302, 실측치; 304 수정; 400 잘못된 요청; 538 00:25:41,300 --> 00:25:47,330 과에 대한 다음 내부 서버 오류 500, 503, 서비스를 사용할 수 없음. 539 00:25:47,330 --> 00:25:48,140 네. 540 00:25:48,140 --> 00:25:51,490 >> 청중 : 윌 우리는 예상 모든 상태를 기억? 541 00:25:51,490 --> 00:25:53,739 마리아 ZLATKOVA : 나는 것 그들을 당신의 컨닝 페이퍼에. 542 00:25:53,739 --> 00:25:55,146 [웃음] 543 00:25:55,146 --> 00:25:59,954 청중 : 우리가 할 것으로 예상된다 각 트리거 알아? 544 00:25:59,954 --> 00:26:00,995 마리아 ZLATKOVA : 그들은이 있습니까? 545 00:26:00,995 --> 00:26:03,870 HANNAH BLUMBERG : 우리가했습니다 것들에 대한 그래서 질문을 into-- 실행 전 ... - 546 00:26:03,870 --> 00:26:08,010 마리아 ZLATKOVA : 그들은이 예상된다 이러한 상태의 것을 하나 하나 알아 547 00:26:08,010 --> 00:26:09,330 코드에 의해 트리거 될 수 있는가? 548 00:26:09,330 --> 00:26:13,240 우리가 사용했던 것들에 대한 그래서 그리고 우연히, 나는 예, 말할 것입니다. 549 00:26:13,240 --> 00:26:16,610 그래서 우리는 확실히 200 봤어요 확인을하여 pset에를 강의. 550 00:26:16,610 --> 00:26:19,071 우리는 404 (403)을 보았다. 551 00:26:19,071 --> 00:26:20,550 다른 사람을 위해? 552 00:26:20,550 --> 00:26:22,690 >> HANNAH BLUMBERG : 나는 것 (500)는 공정한 게임을 보인다 말한다. 553 00:26:22,690 --> 00:26:23,330 >> 마리아 ZLATKOVA : 500, 그래. 554 00:26:23,330 --> 00:26:24,246 >> HANNAH BLUMBERG : 네. 555 00:26:24,246 --> 00:26:27,006 그냥 일반적인 감각을 가지고 그 원인이 무엇인지. 556 00:26:27,006 --> 00:26:28,880 또한 단지로이 이름, 당신은 할 수 종류의 557 00:26:28,880 --> 00:26:32,890 같은 추측 등을 무엇에 실제로 발생했습니다. 558 00:26:32,890 --> 00:26:36,919 예를 들어, 아마도, 이동 영구적 파일이 영구적으로 이동되었습니다. 559 00:26:36,919 --> 00:26:39,328 >> 청중 :하지만 이전에 시험, 정도가 있었다 560 00:26:39,328 --> 00:26:41,050 당신은 어떻게 대답 우리에게 기대합니까? 561 00:26:41,050 --> 00:26:42,883 >> HANNAH BLUMBERG : 그 제로 포인트의 가치가 있었다. 562 00:26:42,883 --> 00:26:45,870 주전자 (418)에 대한 질문 기술적으로 HTTP 상태입니다 563 00:26:45,870 --> 00:26:47,090 하지만 제로 포인트의 가치가 있었다. 564 00:26:47,090 --> 00:26:48,320 물론, 당신은 아니에요 그들을 알고 기대했다. 565 00:26:48,320 --> 00:26:49,670 >> 청중 : 그것은 진짜인가? 566 00:26:49,670 --> 00:26:51,970 >> HANNAH BLUMBERG : 그것은 진짜 하나는,하지만 아무것도 의미하지 않는다. 567 00:26:51,970 --> 00:26:52,700 그냥 농담이야. 568 00:26:52,700 --> 00:26:55,480 569 00:26:55,480 --> 00:26:57,010 인터넷의 사람들이 재미 있습니다. 570 00:26:57,010 --> 00:26:59,680 >> 마리아 ZLATKOVA : 위대한 질문들. 571 00:26:59,680 --> 00:27:01,452 다른 질문? 572 00:27:01,452 --> 00:27:04,891 >> 청중 : 내부 서버 오류가 무엇입니까? 573 00:27:04,891 --> 00:27:06,640 마리아 ZLATKOVA : 내부 서버 오류 단지 574 00:27:06,640 --> 00:27:10,050 당신이되었다는 것을 의미한다 통신 할 수 없습니다 575 00:27:10,050 --> 00:27:13,400 어떤 이유로 서버와. 576 00:27:13,400 --> 00:27:15,400 그래서 반드시이 아니다 할 무언가 577 00:27:15,400 --> 00:27:19,170 같은 클라이언트 또는 뭔가. 578 00:27:19,170 --> 00:27:22,170 나는 특정 예를 모르겠어요 우리가 설명을 통해 갔어요 것을, 579 00:27:22,170 --> 00:27:23,000 하지만 그래. 580 00:27:23,000 --> 00:27:23,250 >> HANNAH BLUMBERG : 물론. 581 00:27:23,250 --> 00:27:25,625 그래서 예를 들어, 같은하자 당신이 매시업 작업 한 말 582 00:27:25,625 --> 00:27:30,440 및 구글 서버가 일부 내려 갔다 이유, 정전,의 말을하자. 583 00:27:30,440 --> 00:27:33,400 즉, 내부 서버 것 오류 또는 어떤 종류의 당신이 좋아 동행입니다 584 00:27:33,400 --> 00:27:34,630 응답을 얻을 것이다. 585 00:27:34,630 --> 00:27:35,260 >> 마리아 ZLATKOVA : 네. 586 00:27:35,260 --> 00:27:37,050 당신이있을 때 그것은 단지 통신 할 수 없습니다 587 00:27:37,050 --> 00:27:40,299 어떤 이유로 인해위한 서버와 그것은 추락 또는 다른 이유. 588 00:27:40,299 --> 00:27:44,430 589 00:27:44,430 --> 00:27:47,690 그래서 PHP로 점프. 590 00:27:47,690 --> 00:27:49,930 PHP, HTML과는 달리,이다 프로그래밍 언어. 591 00:27:49,930 --> 00:27:54,820 그리고 우리는 그것 때문에 그것을 사용하기 시작 웹 개발에 매우​​ 유용합니다. 592 00:27:54,820 --> 00:27:56,940 >> 우리는 먼저 CS50 금융에 사용. 593 00:27:56,940 --> 00:28:02,240 그리고 그것은 기본적으로 우리가 가지고하는 데 도움이 함께이 마크 업, 디자인, 594 00:28:02,240 --> 00:28:07,460 우리는 실제로 정보를 사용하는 방법 웹 페이지에 일을 표시합니다. 595 00:28:07,460 --> 00:28:11,870 PHP 그래서 자체는 PHP를 의미한다 하이퍼 텍스트 전 처리기, 596 00:28:11,870 --> 00:28:15,360 그래서 그것은 그 자체로 재귀 backnorym입니다. 597 00:28:15,360 --> 00:28:22,330 그리고 PHP 태그를 열고 우리 왼쪽 물음표와 오른쪽 화살표 598 00:28:22,330 --> 00:28:23,060 그리고 PHP. 599 00:28:23,060 --> 00:28:25,890 >> 그래서 우리는 이미 한 무리를 보았다. 600 00:28:25,890 --> 00:28:29,150 이제, 우리는 그냥 갈거야 그것에 대해 기본적인 몇 가지. 601 00:28:29,150 --> 00:28:32,280 PHP로 변수 그래서 이름은 달러 기호로 시작합니다. 602 00:28:32,280 --> 00:28:35,660 우리는 다시 지정하지 변수는 더 이상 입력하십시오. 603 00:28:35,660 --> 00:28:38,450 우리는 C와 함께했던 것처럼, 우리는 그렇게 할 필요가 없습니다. 604 00:28:38,450 --> 00:28:41,670 605 00:28:41,670 --> 00:28:44,490 >> 우리는 다른 한 무리의 작업을 수행 할 수 있습니다 변수 물건. 606 00:28:44,490 --> 00:28:47,750 우리는 그들을 함께 넣을 수 있습니다 를 연결하여 607 00:28:47,750 --> 00:28:52,900 도트 표기법으로하는 우리는 다시 C로 할 수 없었다. 608 00:28:52,900 --> 00:28:57,490 다시 말하지만, 우리는 좀 더 다양한 기능을 가지고 변수의 관점에서 PHP로. 609 00:28:57,490 --> 00:29:00,080 다시, 우리는 주 기능이 없다. 610 00:29:00,080 --> 00:29:03,370 >> 그리고 PHP는 해석 컴파일 반대로, 611 00:29:03,370 --> 00:29:09,970 그래서 그냥 우리가 C 파일을 했는가 방법, 우리는 PHP를 위해 그렇게 할 필요가 없습니다. 612 00:29:09,970 --> 00:29:15,440 그러나 오히려 방법 언어 그 그 자체에 의해 실행되어, 그것을 해석된다. 613 00:29:15,440 --> 00:29:18,550 그리고 느슨한 타입 단지 우리 것을 의미한다 614 00:29:18,550 --> 00:29:22,490 변수를 지정할 필요가 없습니다 타입과 가변 형식 615 00:29:22,490 --> 00:29:25,415 런타임에서 이해된다. 616 00:29:25,415 --> 00:29:29,185 >> 청중 :하지만 당신을했다 점 연결에 의해 의미? 617 00:29:29,185 --> 00:29:30,060 마리아 ZLATKOVA : 물론. 618 00:29:30,060 --> 00:29:37,660 우리는 together-- 물건을 넣을 때 그래서 만약 우리가 어떤 변수를 가지고 그 619 00:29:37,660 --> 00:29:41,500 3의 값을 가지고 있었고, 우리는 다른 있었다 문자열의 값을 가지고 변수 620 00:29:41,500 --> 00:29:45,920 우리는 함께 변수를 넣을 수 그들 사이에 점을 넣어 621 00:29:45,920 --> 00:29:46,970 그들을 연접. 622 00:29:46,970 --> 00:29:52,670 아니면 우리를 만들 수 있습니다 변수라는 이름 623 00:29:52,670 --> 00:29:56,900 에 의해 함께 넣어 두 개의 문자열을 연결. 624 00:29:56,900 --> 00:30:00,680 >> 그래서 만약 우리가 두 번에 문자열을했다 따옴표는 그리고 우리는, 뒤에 점을 넣어 625 00:30:00,680 --> 00:30:03,660 그리고 우리는, 다른 문자열을했다 모두 문자열을 만들 것입니다. 626 00:30:03,660 --> 00:30:05,242 >> 청중 : OK. 627 00:30:05,242 --> 00:30:06,450 마리아 라트비아 : 그것은 분명했다? 628 00:30:06,450 --> 00:30:07,099 청중 : 네. 629 00:30:07,099 --> 00:30:07,890 마리아 ZLATKOVA : OK. 630 00:30:07,890 --> 00:30:08,766 네. 631 00:30:08,766 --> 00:30:11,146 >> 청중 : 당신이 말하는 해석보다는 컴파일, 632 00:30:11,146 --> 00:30:14,160 당신이 당신에 대해 얘기하지 않는 때와 같이 특정 될 필요 633 00:30:14,160 --> 00:30:15,906 그것은 C 대 PHP로 온다? 634 00:30:15,906 --> 00:30:18,085 635 00:30:18,085 --> 00:30:20,710 마리아 ZLATKOVA : 우리가 말할 컴파일에 반대 해석, 636 00:30:20,710 --> 00:30:21,850 우리는 무엇을 의미합니까? 637 00:30:21,850 --> 00:30:26,220 그래서 우리가 필요로하지 않는 것을 의미합니다 실행 파일은 PHP를 실행합니다. 638 00:30:26,220 --> 00:30:29,870 그것은 간다가 실행을 의미합니다. 639 00:30:29,870 --> 00:30:31,650 말이 돼? 640 00:30:31,650 --> 00:30:32,495 조금 더. 641 00:30:32,495 --> 00:30:34,620 HANNAH BLUMBERG : 그래서 당신 통역 생각할 수 642 00:30:34,620 --> 00:30:38,980 책임을 다른 프로그램으로 PHP를 통해 선으로 줄 예정위한 643 00:30:38,980 --> 00:30:42,745 반대로 실제로 그것을 실행 진까지 모두 컴파일합니다. 644 00:30:42,745 --> 00:30:46,050 실제로 아무것도 의미하지 않는다 우리가해야하는 방법에 대한 구체적인. 645 00:30:46,050 --> 00:30:49,470 우리는 여전히 정확해야하고, 그렇지 당신의 세미콜론을 잊지 확인 646 00:30:49,470 --> 00:30:51,470 당신은, 당신의 달러 기호가 그 같은 것들. 647 00:30:51,470 --> 00:30:52,240 좋은 질문. 648 00:30:52,240 --> 00:30:53,115 >> 마리아 ZLATKOVA : 네. 649 00:30:53,115 --> 00:30:55,590 그래서 라인 라인으로, 같은 C 파일과 달리, 650 00:30:55,590 --> 00:30:59,100 우리는 전체의 마지막을해야 우리는 실제로 그것을 실행하기 전에. 651 00:30:59,100 --> 00:31:00,360 즉, 가장 큰 차이점이다. 652 00:31:00,360 --> 00:31:02,655 그러나 다시, 우리는 할 수 없습니다 정말 덜 구체적으로. 653 00:31:02,655 --> 00:31:08,760 654 00:31:08,760 --> 00:31:13,950 그래서 PHP에서 배열은 대표 실제로 정렬 된지도. 655 00:31:13,950 --> 00:31:17,550 >> 키 배열 준 값 그래서. 656 00:31:17,550 --> 00:31:23,350 두 가지 방법을 선언합니다 배열이 구문에 기초하여, 657 00:31:23,350 --> 00:31:26,380 우리는 더 명시 될 수 있습니다 말에 우리는 배열을 가지고 658 00:31:26,380 --> 00:31:31,010 우리는 매핑이 키 1을 값 2를 매핑이 값 1, 키 2. 659 00:31:31,010 --> 00:31:34,660 아니면 우리는 단지 배열을 만들 수 있습니다 그 값 자체를 포함 660 00:31:34,660 --> 00:31:38,360 다음 키는 방식으로 이해했다. 661 00:31:38,360 --> 00:31:40,000 이에 대한 질문? 662 00:31:40,000 --> 00:31:42,500 >> 청중 : 어떤 것 키 두 번째 예에? 663 00:31:42,500 --> 00:31:47,100 664 00:31:47,100 --> 00:31:47,920 0, 1, 2, 3? 665 00:31:47,920 --> 00:31:50,650 666 00:31:50,650 --> 00:31:55,780 >> 마리아 ZLATKOVA는 예를 들어, 그것은 단지 이의 키는 필요하지 않습니다 667 00:31:55,780 --> 00:31:56,550 차이를 만들어라. 668 00:31:56,550 --> 00:32:01,720 그들은 얼마나 당신이 할 수있는 정의 그 안에 값을 사용합니다. 669 00:32:01,720 --> 00:32:08,660 그래서 만약 우리가 foreach는 있었다 PHP에서 루프하는 것 670 00:32:08,660 --> 00:32:14,760 우리는 모든 값을 통과 할 수 있도록, 우리는 모든 값을 통해 갈 수 있습니다, 671 00:32:14,760 --> 00:32:19,570 경우에도 우리는 있었다 또는 정의하지 않았다 사이트 내의 특정 키 672 00:32:19,570 --> 00:32:20,820 이전 구문. 673 00:32:20,820 --> 00:32:23,460 >> 그래서 심지어는 이런 종류의와 배열의, 우리는 여전히 수 674 00:32:23,460 --> 00:32:26,260 foreach 루프를 즉, 각각의 통과 675 00:32:26,260 --> 00:32:31,240 배열의 키 값. 676 00:32:31,240 --> 00:32:36,180 foreach는 구문 그래서 루프는, 우리는 배열을 시작합니다. 677 00:32:36,180 --> 00:32:38,720 678 00:32:38,720 --> 00:32:43,900 이 $에 도착 변수는 우리의 실제 배열입니다 우리는 이전에 정의 된 슬라이드 679 00:32:43,900 --> 00:32:47,550 말 그대로 간다 값 각 값을 통해, 680 00:32:47,550 --> 00:32:50,122 여부에 관계없이의 우리는 키를 가지고 여부. 681 00:32:50,122 --> 00:32:53,080 그리고 우리가 뭔가를 할 수있는 foreach 루프의 내부 값. 682 00:32:53,080 --> 00:32:57,730 그래서 다시, 경우를 우리는 배열을했다 이 여기에 created-- 같은 683 00:32:57,730 --> 00:33:03,270 그래서 우리는 foo에와 값의 키가 바, 바즈의 키와 qux--의 값 684 00:33:03,270 --> 00:33:09,730 우리는 foreach 루프를 가질 수 키 값으로 배열을 통해 진행 685 00:33:09,730 --> 00:33:11,900 다음 일을 할 키 및 / 또는 값. 686 00:33:11,900 --> 00:33:15,980 그러나 우리는 반드시 항상하지 않습니다 foreach는 그 루프가 있어야 687 00:33:15,980 --> 00:33:19,410 값으로 키 맵과 같은 배열을 통해 이동합니다. 688 00:33:19,410 --> 00:33:26,060 우리는 통과 할 수 있습니다 값으로 Foreach 루프 배열입니다. 689 00:33:26,060 --> 00:33:28,990 >> HANNAH BLUMBERG : 그리고 내 생각 귀하의 질문은, 이러시면 무엇 690 00:33:28,990 --> 00:33:31,229 암시 적 지수는 무엇입니까? 691 00:33:31,229 --> 00:33:31,895 청중 : 일종의. 692 00:33:31,895 --> 00:33:32,240 마리아 ZLATKOVA : 오. 693 00:33:32,240 --> 00:33:33,406 HANNAH BLUMBERG : 그래, 그래. 694 00:33:33,406 --> 00:33:36,150 그러니까 기본적으로, 당신은 지정하지 않는 경우 키, 그것은 01이 될 것. 695 00:33:36,150 --> 00:33:37,140 >> 마리아 ZLATKOVA : 네. 696 00:33:37,140 --> 00:33:41,718 그냥 C와 마찬가지로 제로의 당신이 키를 지정하지 않은 경우 인덱스. 697 00:33:41,718 --> 00:33:42,384 청중 : 죄송합니다. 698 00:33:42,384 --> 00:33:43,827 당신이 말하는 시도 할 수 조금 더 크게? 699 00:33:43,827 --> 00:33:45,270 나는 약간의 데 문제가 모든 것을 듣고. 700 00:33:45,270 --> 00:33:46,478 >> 마리아 ZLATKOVA : 나는 너무 미안 해요. 701 00:33:46,478 --> 00:33:48,439 그래 물론. 702 00:33:48,439 --> 00:33:50,230 그래서 당신은 나에게 원하는 게 다시 통해 이동? 703 00:33:50,230 --> 00:33:51,680 또는이 항아리입니다 704 00:33:51,680 --> 00:33:54,930 청중 : 이전 slide-- 경우에 따라서 당신은 단지 하나의 초 다시 갈 수있다. 705 00:33:54,930 --> 00:33:57,313 마리아 ZLATKOVA : 물론, 죄송합니다. 706 00:33:57,313 --> 00:33:59,237 청중 : 그래서 두 번째 여기에 배열하지 않습니다 707 00:33:59,237 --> 00:34:04,135 키 값을 가질 것, 일종의 [? 원인. ?] 708 00:34:04,135 --> 00:34:05,343 마리아 ZLATKOVA : 오른쪽, 오른쪽. 709 00:34:05,343 --> 00:34:07,608 청중 : 그래서 어떻게 작동합니까 당신이 말할 때 모든 또는 없음을합니다. 710 00:34:07,608 --> 00:34:08,969 나에게, 그 모양 에이 [? foo는?] 이미. 711 00:34:08,969 --> 00:34:10,093 >> 마리아 ZLATKOVA : 그래, 그래. 712 00:34:10,093 --> 00:34:12,969 그래서 또한, 이것은이다 이런 의미에서 주문한지도 713 00:34:12,969 --> 00:34:15,639 이 이해됩니다, 예를 들어, 인덱스 714 00:34:15,639 --> 00:34:20,159 여기에 0, 1, 2, 3과 같이 이해 될 수있다. 715 00:34:20,159 --> 00:34:25,929 다시 말하지만, 그 사람들을 보내고 인덱스는 우리의 것과 동일 716 00:34:25,929 --> 00:34:28,980 의 값에 매핑 키를 가진. 717 00:34:28,980 --> 00:34:34,710 그렇다면 우리의 키는 0-- 미안했다. 718 00:34:34,710 --> 00:34:36,524 >> HANNAH BLUMBERG : 아니, 이 여기에 분필입니다. 719 00:34:36,524 --> 00:34:36,929 사실은 정말 좋은 데요. 720 00:34:36,929 --> 00:34:37,460 >> 마리아 ZLATKOVA : 좋아요. 721 00:34:37,460 --> 00:34:38,260 그래. 722 00:34:38,260 --> 00:34:49,489 그래서 다시, $에 도착 0이 될 것이다 값 1의 키. 723 00:34:49,489 --> 00:34:51,138 0의 값은 1 열쇠가 될 것입니다. 724 00:34:51,138 --> 00:34:51,971 청중 : 미안 해요. 725 00:34:51,971 --> 00:34:53,190 그것은 눈에 보이지 않는입니다. 726 00:34:53,190 --> 00:34:53,659 >> HANNAH BLUMBERG : 신경 끄시 좋아. 727 00:34:53,659 --> 00:34:54,980 분필 나쁜 생각이었다. 728 00:34:54,980 --> 00:34:58,030 나는 그것을 다시 받아. 729 00:34:58,030 --> 00:35:01,425 당신은 키 생각할 수 값 1과 0 맵 등. 730 00:35:01,425 --> 00:35:02,300 마리아 ZLATKOVA : 네. 731 00:35:02,300 --> 00:35:04,630 그래서이 0이고, 이것은 1, 2, 3이다. 732 00:35:04,630 --> 00:35:05,760 다음은 키가 될 수 있습니다. 733 00:35:05,760 --> 00:35:10,020 당신은 그래 as-- 그들을 생각할 수 있습니다. 734 00:35:10,020 --> 00:35:12,740 그래서 그 대신 데 명시 적으로 키, 그들이있어 735 00:35:12,740 --> 00:35:17,180 종류의 것으로 이해 인덱스는 0에서 시작. 736 00:35:17,180 --> 00:35:21,630 737 00:35:21,630 --> 00:35:24,820 분필 도움이되지 않았다. 738 00:35:24,820 --> 00:35:25,722 네. 739 00:35:25,722 --> 00:35:30,914 >> 청중 : foreach 루프를 들어, 우리가 값을 확인하고자한다면, 740 00:35:30,914 --> 00:35:33,245 그것은 0 그냥 자동으로 인덱스 것? 741 00:35:33,245 --> 00:35:34,120 마리아 ZLATKOVA : 네. 742 00:35:34,120 --> 00:35:35,745 그것은 각 값을 통해 갈 것입니다. 743 00:35:35,745 --> 00:35:39,130 청중 : [들리지] 등 0 또는 그냥 0을 할 것인가? 744 00:35:39,130 --> 00:35:43,710 >> 마리아 ZLATKOVA : 당신은 것 다음, 달러 기호로 대답 745 00:35:43,710 --> 00:35:46,266 일부 변수 이름, 값. 746 00:35:46,266 --> 00:35:47,182 청중 : [들림]. 747 00:35:47,182 --> 00:35:50,048 748 00:35:50,048 --> 00:35:50,964 마리아 ZLATKOVA : 죄송합니다? 749 00:35:50,964 --> 00:35:52,839 청중 : 미안 해요, 난 단지 기억하려고. 750 00:35:52,839 --> 00:35:57,190 당신은 당신이 그것을 할 수있다 할 것입니다 어떻게 자동 인덱싱은 0이다? 751 00:35:57,190 --> 00:36:00,780 >> 마리아 ZLATKOVA : 그래서 당신은 어떻게 할 것 당신은 특정 키 이름을 가지고 있지 않은 경우? 752 00:36:00,780 --> 00:36:01,710 >> 청중 : 네. 753 00:36:01,710 --> 00:36:07,820 >> 마리아 ZLATKOVA : 당신은 그냥 define-- 것 그냥 몇 가지 이름으로 자신을 말한다. 754 00:36:07,820 --> 00:36:17,950 그래서 당신의 Pset에, 너희들은 수도 $ 행으로 foreach는 $ 행을 기억하고, 755 00:36:17,950 --> 00:36:24,610 우리는 우리 자신에게 말하는이 $ 행을 생성 우리는 $ 행으로 행을 가고 싶어. 756 00:36:24,610 --> 00:36:28,360 우리는하지 않았다하더라도 행이 규정이 명시 적으로 $, 757 00:36:28,360 --> 00:36:31,990 우리는 그냥 가서 수 이것은 우리의 열쇠가 될 수 있다고 758 00:36:31,990 --> 00:36:33,615 단지 각 값을 통해 이동합니다. 759 00:36:33,615 --> 00:36:37,295 760 00:36:37,295 --> 00:36:41,660 >> 청중 : 그래서 값이 새로운 변수가 우리는 [들림] 저장하기 위해 만드는? 761 00:36:41,660 --> 00:36:46,820 762 00:36:46,820 --> 00:36:49,990 >> 마리아 ZLATKOVA : 그래서 그것은 아니다 본질적으로 새로운 변수. 763 00:36:49,990 --> 00:37:00,310 그것은를 나타내는 변수이다 이들 각각에 배열의 내부. 764 00:37:00,310 --> 00:37:02,060 HANNAH BLUMBERG : 그것은 새로운 변수 이름. 765 00:37:02,060 --> 00:37:04,018 마리아 ZLATKOVA : 네, 그것은 새로운 변수 이름이다, 766 00:37:04,018 --> 00:37:06,680 하지만 그래 inherently-- 아니에요. 767 00:37:06,680 --> 00:37:08,950 그냥 새로운 변수이다 당신은 그렇게 할 수있다. 768 00:37:08,950 --> 00:37:12,680 그래서 얼마나 우리가했던 할 $ $ 행, 행으로 행 769 00:37:12,680 --> 00:37:17,980 새로운 변수 이름을였습니다 우리 우리의 foreach 루프에서 만들 수 있습니다. 770 00:37:17,980 --> 00:37:22,065 그것은 그 전에 전세에 존재하지 않습니다. 771 00:37:22,065 --> 00:37:25,777 >> 청중 : 당신은 통과 할 수 이 예제를 사용하여 각 논리? 772 00:37:25,777 --> 00:37:26,610 마리아 ZLATKOVA : MHM. 773 00:37:26,610 --> 00:37:31,240 774 00:37:31,240 --> 00:37:32,080 아, 죄송합니다. 775 00:37:32,080 --> 00:37:33,780 다음은 예입니다. 776 00:37:33,780 --> 00:37:34,280 확실한. 777 00:37:34,280 --> 00:37:38,950 이처럼 각 그렇게 array-- 즉,이 배열로 이동을 의미합니다 778 00:37:38,950 --> 00:37:43,930 그 value-- 키로거야 이 배열을 통해 이동합니다 779 00:37:43,930 --> 00:37:49,480 먼저 가서 foo를 얻을 키 foo는 그 값 바. 780 00:37:49,480 --> 00:37:51,570 그리고 두 번째에 루프의 반복, 781 00:37:51,570 --> 00:37:55,090 그것을 통해 이동 걸릴 거예요 키 바즈와 값 qux. 782 00:37:55,090 --> 00:38:00,512 그리고 당신은 뭔가를 할 수있는 그들 중 어느 하나 또는 둘 다. 783 00:38:00,512 --> 00:38:03,488 >> 청중 : 그래서 뒤에 아이디어 값에 키 포인트를 가지고, 784 00:38:03,488 --> 00:38:07,470 당신은 액세스 할 무엇을 끝낼 수 있습니까? 785 00:38:07,470 --> 00:38:10,680 >> 마리아 ZLATKOVA : 아이디어 무엇 의 핵심 포인팅이 가치를 가지는? 786 00:38:10,680 --> 00:38:16,400 그것은 또 다른 규칙, 서로의 배열을 통해가는 방법 787 00:38:16,400 --> 00:38:22,600 및 수있는 것은 중 하나에 액세스 할 수 키 또는 값 또는 둘 모두 그들을 사용합니다. 788 00:38:22,600 --> 00:38:27,100 >> 청중 :의 역할을 무엇인가 foreach 문에서 실행 주문? 789 00:38:27,100 --> 00:38:29,250 우리가 추가한다면 그래서 배열에 요소 후, 790 00:38:29,250 --> 00:38:32,140 그 첫 번째 것과 것 foreach는 배열에서 호출, 791 00:38:32,140 --> 00:38:33,750 또는 나중에 것입니까? 792 00:38:33,750 --> 00:38:37,770 >> 마리아 ZLATKOVA : 그래서 무엇이다 foreach는 그 순서 793 00:38:37,770 --> 00:38:39,210 루프에서 배열을 통해 간다? 794 00:38:39,210 --> 00:38:42,220 그것은 먼저 통과 마지막 요소에 요소, 795 00:38:42,220 --> 00:38:43,400 마지막으로 추가 된 요소. 796 00:38:43,400 --> 00:38:48,020 나중에에 요소를 추가하는 경우, 그들은 것 첫 번째 요소는 것이다 accessed-- 수 797 00:38:48,020 --> 00:38:51,410 첫 번째로 액세스 할 수 배열의 요소, 798 00:38:51,410 --> 00:38:57,620 다음은 각 통해 갈 것 님 지시의 종류와 요소 799 00:38:57,620 --> 00:39:02,930 주문하지만, 방법이 아니다 그 그들은 배열에 넣어왔다. 800 00:39:02,930 --> 00:39:06,855 >> 청중 : 그래서 새로운 요소 나중에 추가? 801 00:39:06,855 --> 00:39:10,680 그래서 그들은이 될 것이다 added--있어 [마지막 사람? 되풀이. ?] 802 00:39:10,680 --> 00:39:14,280 >> 마리아 ZLATKOVA : 새로운 요소 주는거 기본적으로, 새로운 요소를 추가 할 때, 803 00:39:14,280 --> 00:39:16,520 이들은 어레이의 단부에 추가? 804 00:39:16,520 --> 00:39:17,632 >> 청중 : 네. 805 00:39:17,632 --> 00:39:18,840 마리아 ZLATKOVA : 저는 그렇게 생각합니다. 806 00:39:18,840 --> 00:39:20,850 네. 807 00:39:20,850 --> 00:39:24,330 그리고 다음 foreach 루프와, 당신은 새로운 요소를 추가 한 후 808 00:39:24,330 --> 00:39:26,790 당신은 그들을 통해 이동 새로운 요소 것 809 00:39:26,790 --> 00:39:30,930 그것의 경우, 새로운 요소 accessed-- 수 마지막으로 추가, 그것은 마지막으로 액세스 할 수있다. 810 00:39:30,930 --> 00:39:34,416 >> 청중 : 당신은 그냥 예를 들어 줄 수 뭔가의 것 [들림] 811 00:39:34,416 --> 00:39:37,404 값이 뭔가 [들림] 또는 값 등, 812 00:39:37,404 --> 00:39:38,910 당신은 어떻게 포맷 것처럼? 813 00:39:38,910 --> 00:39:39,785 >> 마리아 ZLATKOVA : 물론. 814 00:39:39,785 --> 00:39:42,340 815 00:39:42,340 --> 00:39:46,410 나는의 예를 들어 줄 수있는 우리는 값으로 할 것? 816 00:39:46,410 --> 00:39:52,440 그래서 너희들은 잘 알고있을 것을 우리는 배열을 통해 갔어요된다 817 00:39:52,440 --> 00:39:55,380 기본적으로 인쇄 각 요소, 818 00:39:55,380 --> 00:40:00,910 예를 들어,의 일부로 정렬 된 목록 또는 뭔가. 819 00:40:00,910 --> 00:40:02,674 그 의미가 또는 우리가 원하는합니까 이러시면 820 00:40:02,674 --> 00:40:04,340 청중 : 우리는이 값을 인쇄 할 수 있습니까? 821 00:40:04,340 --> 00:40:13,220 마리아 ZLATKOVA : 그래, 우리가 인쇄 할 수 있습니다 다음 기본적으로 값을 $에 있기 때문에 822 00:40:13,220 --> 00:40:16,570 특정 값, 우리는 것 그것의 내부 값을 인쇄. 823 00:40:16,570 --> 00:40:20,150 그래서 만약 우리가 우리의 첫 번째 반복에 있었다 그리고 그것을 우리는 $ 값을 인쇄 824 00:40:20,150 --> 00:40:23,775 우리는 줄을 인쇄 할 것입니다. 825 00:40:23,775 --> 00:40:27,020 >> 청중 : 위해도가 있습니까 PHP에서 루프하거나 foreach는 루프? 826 00:40:27,020 --> 00:40:30,430 >> 마리아 ZLATKOVA :있다 또한 PHP에서 루프. 827 00:40:30,430 --> 00:40:33,399 그리고 그들의 논리는 대부분입니다 당신이 사용되어 한 내용과 동일합니다. 828 00:40:33,399 --> 00:40:34,690 청중 : 그 값이 null 그래서. 829 00:40:34,690 --> 00:40:35,090 마리아 ZLATKOVA : 그것은 같은처럼. 830 00:40:35,090 --> 00:40:35,590 네. 831 00:40:35,590 --> 00:40:37,747 청중 : 그냥 물어거야. 832 00:40:37,747 --> 00:40:39,695 그래서 당신을 선언 할 때 배열, 당신은 필요가 없습니다 833 00:40:39,695 --> 00:40:42,617 그에게 무슨 일이 일어나고 있는지 크기 말해 의미하는 것이 당신은 할 수 있습니다 834 00:40:42,617 --> 00:40:44,417 추가 요소 [들림]을 빼앗아. 835 00:40:44,417 --> 00:40:45,250 마리아 ZLATKOVA : 아, 그래. 836 00:40:45,250 --> 00:40:45,750 예. 837 00:40:45,750 --> 00:40:46,251 정확하게. 838 00:40:46,251 --> 00:40:48,875 우리는 배열을 선언 할 때, 그것이 무엇인지 크기 말을 할 필요가 없습니다, 839 00:40:48,875 --> 00:40:51,022 그래서 우리는 단지 요소를 추가 할 수 있습니다 나중에뿐만 아니라이 상. 840 00:40:51,022 --> 00:40:55,075 841 00:40:55,075 --> 00:40:55,700 더 많은 질문? 842 00:40:55,700 --> 00:40:59,870 843 00:40:59,870 --> 00:41:05,950 그래서 함께 PHP와 HTML을 가져, 우리가 잘 seen-- 한 844 00:41:05,950 --> 00:41:15,130 예를 들어,이 예에서, 우리가 입력 필드가 HTML 폼. 845 00:41:15,130 --> 00:41:18,830 >> 상기 입력 필드는 단지 이름 다음은 제출 버튼이 있습니다. 846 00:41:18,830 --> 00:41:26,040 누를 때 제출 버튼을, 우리의 hello.php 파일, 847 00:41:26,040 --> 00:41:32,130 양식 방법이기 때문에 얻을, 우리는 이름에서 무엇이든에 액세스 할 수 있습니다 848 00:41:32,130 --> 00:41:40,360 이것에 의해 전역 변수를 얻을 그 이 $ _GET 때문이다 구문 데로. 849 00:41:40,360 --> 00:41:44,520 그리고 우리는 무엇에 액세스 할 수 있습니다 이름 그 형태의 내부 사용자 입력 850 00:41:44,520 --> 00:41:47,410 그 필드의 이름을 지정하여. 851 00:41:47,410 --> 00:41:51,480 852 00:41:51,480 --> 00:41:55,060 >> 다른 질문이나 이 구체적인 예에​​ 대한 질문? 853 00:41:55,060 --> 00:41:58,275 >> 청중 : PHP는 어디에 있습니까? 854 00:41:58,275 --> 00:41:59,150 마리아 ZLATKOVA : 여기에. 855 00:41:59,150 --> 00:42:01,150 그래서 이것은 PHP를위한 우리의 여는 태그입니다. 856 00:42:01,150 --> 00:42:01,530 >> 청중 : 아, 맞다. 857 00:42:01,530 --> 00:42:02,363 >> 마리아 ZLATKOVA : 예. 858 00:42:02,363 --> 00:42:05,320 859 00:42:05,320 --> 00:42:09,609 >> HANNAH BLUMBERG : = 속기 이를 위해 PHP와 바로 에코입니다. 860 00:42:09,609 --> 00:42:10,150 청중 : 아. 861 00:42:10,150 --> 00:42:10,720 마리아 ZLATKOVA : 네, 죄송합니다. 862 00:42:10,720 --> 00:42:12,040 나는 분명히해야합니다. 863 00:42:12,040 --> 00:42:13,759 >> HANNAH BLUMBERG : 인쇄합니다. 864 00:42:13,759 --> 00:42:16,800 마리아 ZLATKOVA : 그것은 단지 함수의 즉, 우리가 뭔가를 인쇄 할 수 있습니다. 865 00:42:16,800 --> 00:42:19,795 866 00:42:19,795 --> 00:42:20,420 좋은 질문입니다. 867 00:42:20,420 --> 00:42:24,140 868 00:42:24,140 --> 00:42:25,495 그래서 그래 딴 데. 869 00:42:25,495 --> 00:42:31,940 >> 청중 :이 꽤 될 것입니다 PHP와 HTML의 손 코딩의 비트 870 00:42:31,940 --> 00:42:33,450 퀴즈 1? 871 00:42:33,450 --> 00:42:36,310 872 00:42:36,310 --> 00:42:38,810 마리아 ZLATKOVA은 :이있을 수 있습니다 해석의 상당량 873 00:42:38,810 --> 00:42:43,330 PHP와 HTML의, 반드시 코딩의 엄​​청난 양처럼, 874 00:42:43,330 --> 00:42:46,960 당신은 쓰기 할 수도 있지만 foreach 루프하지만, 루프. 875 00:42:46,960 --> 00:42:49,790 루프 중 어느 것을 우리 공정한 게임이 여기에 포함됩니다. 876 00:42:49,790 --> 00:42:51,889 그리고 그 대부분은 그것 뿐이다. 877 00:42:51,889 --> 00:42:53,430 HANNAH BLUMBERG는 : 나는 준비가 될 것이다. 878 00:42:53,430 --> 00:42:57,010 그 같은 방식으로 우리가 당신을하도록 요청 퀴즈 0에 C 함수의 무리를 작성, 879 00:42:57,010 --> 00:42:59,766 나는이 작업을 수행 할 준비가 될 것 PHP와 자바 스크립트 같은. 880 00:42:59,766 --> 00:43:00,640 마리아 ZLATKOVA : 네. 881 00:43:00,640 --> 00:43:03,210 HANNAH BLUMBERG : 나는 말할 것 우리가하지 않은 같은 little-- 882 00:43:03,210 --> 00:43:06,251 가는이 거대한 HTML 쓰기로 만들려면 즉 조금 그냥 있기 때문에 페이지 883 00:43:06,251 --> 00:43:08,240 지루한,하지만 당신은 부분이있을 수 있습니다. 884 00:43:08,240 --> 00:43:09,310 즉 완전히 공정한 게임이다. 885 00:43:09,310 --> 00:43:11,082 작은 HTML 페이지처럼, 완전히 공정한. 886 00:43:11,082 --> 00:43:11,623 청중 : OK. 887 00:43:11,623 --> 00:43:13,814 방법에 대한 자바 스크립트뿐만 아니라? 888 00:43:13,814 --> 00:43:14,730 HANNAH BLUMBERG : 네. 889 00:43:14,730 --> 00:43:15,250 자바 스크립트의 공정한 게임. 890 00:43:15,250 --> 00:43:15,635 >> 마리아 ZLATKOVA : 네. 891 00:43:15,635 --> 00:43:16,801 즉 완전히 공정한 게임이다. 892 00:43:16,801 --> 00:43:19,280 HANNAH BLUMBERG : 우리는거야 같은 10 분 그것. 893 00:43:19,280 --> 00:43:23,750 >> 마리아 ZLATKOVA : SQL, 다시, 구조적 쿼리 언어. 894 00:43:23,750 --> 00:43:28,651 그것은 기본적으로 우리는 데이터를 관리 할 수​​ 있도록 관계형 데이터베이스 관리 895 00:43:28,651 --> 00:43:29,150 체계. 896 00:43:29,150 --> 00:43:31,149 그건 그냥 기본적으로 의미 우리는 어떤 곳이 있는지 897 00:43:31,149 --> 00:43:37,980 우리가 할 수있는 몇 가지 데이터를 저장하기 위해 웹 사이트 또는 다른 형태의 사용. 898 00:43:37,980 --> 00:43:42,190 그리고 우리가 얻을 수있는 질문이 우리의 데이터베이스에서 정보, 899 00:43:42,190 --> 00:43:44,320 또는 그 정보를 삽입합니다. 900 00:43:44,320 --> 00:43:47,560 일반적인 ones-- 업데이트의 많은, INSERT는, 선택, 그리고 삭제합니다. 901 00:43:47,560 --> 00:43:50,790 >> 그래서 UPDATE, 이것은 구문 데이터베이스에 데이터를 업데이트합니다. 902 00:43:50,790 --> 00:43:53,330 903 00:43:53,330 --> 00:43:57,340 라는이 테이블 업데이트 SET 말하여 테이블, 904 00:43:57,340 --> 00:44:04,170 우리는 몇 가지 값을 설정할 수 있습니다 다른 동일한 뭔가 행. 905 00:44:04,170 --> 00:44:09,410 그래서 우리는 또한 일부 특정을 지정할 수 있습니다 우리가 수정할 항목 906 00:44:09,410 --> 00:44:11,240 그 어디에 사용 할 수 있습니다. 907 00:44:11,240 --> 00:44:16,380 그리고 우리는 우리가 단지에 지정할 수 있습니다 일부 행을 수정할 곳의 집, 908 00:44:16,380 --> 00:44:19,830 우리는 학생들의 테이블이 있다면 모든 학생들은 집이 있었다 909 00:44:19,830 --> 00:44:24,890 그래서 우리는 어떤 값을 수정할 것 집 Currier에 해당하는 경우, 910 00:44:24,890 --> 00:44:25,430 예를 들면. 911 00:44:25,430 --> 00:44:29,120 912 00:44:29,120 --> 00:44:31,800 >> INSERT, 우리는 삽입 할 수 있습니다 테이블에 특정 값. 913 00:44:31,800 --> 00:44:35,150 그래서 테이블에 삽입, 다음 값, 914 00:44:35,150 --> 00:44:39,080 다음 괄호 안에, 우리는 지정 이는 삽입 할 값. 915 00:44:39,080 --> 00:44:43,220 그래서 테이블, COL1 INTO 삽입 COL2, 값은 VAL1과 val2가있다. 916 00:44:43,220 --> 00:44:48,930 그래서이에 기본적으로 새로운 행을 삽입 값 1, 2를 포함하는 테이블 917 00:44:48,930 --> 00:44:50,850 칼럼 1 및 2 미만. 918 00:44:50,850 --> 00:44:54,760 >> 그리고 우리는 가서거야 이 보이는 방법에 대한 간단한 예제 919 00:44:54,760 --> 00:44:56,310 조금 우리의 데이타베이스 등을들 수있다. 920 00:44:56,310 --> 00:44:58,685 그러나 마지막 쿼리가 나는 우리가 이상 갈 것 같아요, 921 00:44:58,685 --> 00:45:01,450 SELECT, 그냥 우리를 수 테이블에서 데이터를 선택합니다 922 00:45:01,450 --> 00:45:03,080 아마도 나중에 그것을 사용할 수 있습니다. 923 00:45:03,080 --> 00:45:05,830 그리고 우리는이 작업을 수행하는 방법은 우리입니다 그냥 몇 가지 변수에 저장합니다. 924 00:45:05,830 --> 00:45:07,780 그리고 우리는 아마도 다시 사용할 수 있습니다. 925 00:45:07,780 --> 00:45:10,260 >> 그래서 선택 스타 모두 선택을 의미합니다. 926 00:45:10,260 --> 00:45:13,280 그건 그냥 속기의 모든 선택을위한. 927 00:45:13,280 --> 00:45:19,760 테이블 곳에서, 우리는을 찾고 있습니다 일부 특정 조건, 928 00:45:19,760 --> 00:45:22,290 그래서 열이 동일 곳 예를 들어 뭔가. 929 00:45:22,290 --> 00:45:24,410 우리는 단지를 원한다면 테이블에서 모두 선택, 930 00:45:24,410 --> 00:45:28,400 이것은 단지 모든 열을 선택 그리고 테이블의 모든 행. 931 00:45:28,400 --> 00:45:32,040 >> 그리고 테이블에서 삭제 WHERE COL 뭔가 같다, 932 00:45:32,040 --> 00:45:36,440 이것은 단지 일부를 삭제 우리 테이블에서 행 933 00:45:36,440 --> 00:45:38,860 여기서 우리는 몇 가지 특정한 조건이있다. 934 00:45:38,860 --> 00:45:41,870 이 경우, 조건 있는 열은 뭔가 같습니다. 935 00:45:41,870 --> 00:45:43,460 이러한 그래서 그냥 빨리 예. 936 00:45:43,460 --> 00:45:49,100 우리는 바로 여기에 우리 표가있는 경우 테이블에 삽입,이 값, 937 00:45:49,100 --> 00:45:50,400 즉, 새 행을 삽입합니다. 938 00:45:50,400 --> 00:45:56,380 우리는 자동 증가했다 경우에,이 것 만 0 ~ 1, 2, 우리의 ID를 증가. 939 00:45:56,380 --> 00:46:00,010 >> 우리는 학생들을 모두 선택한 경우, 그것을 다만 모든 필드와 모든 행을 반환합니다. 940 00:46:00,010 --> 00:46:02,430 어디 올해는 더 큰 2016 년 같거나, 941 00:46:02,430 --> 00:46:04,390 그건 그냥 반환 한나와 자신. 942 00:46:04,390 --> 00:46:08,360 그리고 우리는 단지 선택한 경우 학생들 해 ID와 해 943 00:46:08,360 --> 00:46:11,710 여기서 집은 캐 보트 하우스는,이다 다시, 한나와 자신을 반환합니다. 944 00:46:11,710 --> 00:46:14,430 >> 그 다음 우리는 학생에서 삭제 된 경우 여기서 이름은 롭과 동일 945 00:46:14,430 --> 00:46:16,760 즉, 전체 행을 삭제합니다. 946 00:46:16,760 --> 00:46:19,696 그리고 우리가 설정 한 경우 이름, UPDATE 학생 947 00:46:19,696 --> 00:46:21,570 세트 이름 Daven에 동일 어디 집 동일 948 00:46:21,570 --> 00:46:27,010 캐벗 집, 즉에 갈거야 그 행이 다음 이름을 업데이트합니다. 949 00:46:27,010 --> 00:46:31,470 >> 그리고 몇 SQL 데이터 유형은 CHAR, VARCHAR, INT, 및 FLOAT. 950 00:46:31,470 --> 00:46:32,760 이들은 공정한 게임이다. 951 00:46:32,760 --> 00:46:36,740 나는 또 다시 갈 것 그리고 당신이 알고 있어야합니다 952 00:46:36,740 --> 00:46:40,930 그리고, 당신의 컨닝 페이퍼에 그이 무엇 이러한 문자의 각 953 00:46:40,930 --> 00:46:44,140 사용 된 어떤 당신은 당신의 Pset에 그들을 사용 954 00:46:44,140 --> 00:46:48,050 당신이 잘 알고 있는지 확인하고 선택하는 데 편안 955 00:46:48,050 --> 00:46:51,450 PSET하여 상이한 데이터 유형에서. 956 00:46:51,450 --> 00:46:51,950 네. 957 00:46:51,950 --> 00:46:54,300 >> 청중 : 그 테이블에 무엇을 저장했다? 958 00:46:54,300 --> 00:46:57,119 그래, 어디에서이 표는 저장됩니까? 959 00:46:57,119 --> 00:46:59,160 마리아 ZLATKOVA : 음, 지금, 그것은 저장 아니에요. 960 00:46:59,160 --> 00:47:00,700 어쨌든, 여기서이 표는 저장됩니까? 961 00:47:00,700 --> 00:47:04,503 그러나 그것은 SQL 데이터베이스에 저장 될 수있다. 962 00:47:04,503 --> 00:47:07,330 >> 청중 : 어디 SQL 데이터베이스는 무엇입니까? 963 00:47:07,330 --> 00:47:11,200 컴퓨터에서 온라인 어딘가에, 서버? 964 00:47:11,200 --> 00:47:15,000 >> 마리아 ZLATKOVA : 그것은 될 수 있습니다 여러 가지의 수입니다. 965 00:47:15,000 --> 00:47:19,690 >> HANNAH BLUMBERG : 우리와 인터페이스했습니다 주로 phpMyAdmin을 사용하여 SQL 테이블. 966 00:47:19,690 --> 00:47:22,060 그래서 우리는 서버를 요청할 수 우리를 저장합니다. 967 00:47:22,060 --> 00:47:23,830 우리는 우리 자신의 컴퓨터에 저장할 수 있습니다. 968 00:47:23,830 --> 00:47:27,950 >> 마리아 ZLATKOVA : 그것은 단지에 따라 달라집니다 어떻게 당신은 자신을 위해 그것을 할 싶습니다. 969 00:47:27,950 --> 00:47:30,075 그러나 우리는 저장 한 그들, 한나가 언급 한 바와 같이, 970 00:47:30,075 --> 00:47:31,755 phpMyAdmin을,에있는 온라인입니다. 971 00:47:31,755 --> 00:47:36,550 972 00:47:36,550 --> 00:47:39,280 그리고 그 길을 우리가 사용 PHP와 SQL, 우리는 그것을 저장 973 00:47:39,280 --> 00:47:43,450 일부 변수로 우리는 무엇을 위해 쿼리했습니다. 974 00:47:43,450 --> 00:47:48,370 >> 우리가 역사를 선택하면 그래서 USER_ID는 세션 ID와 동일 여기서, 975 00:47:48,370 --> 00:47:53,900 그 모든 행을 선택할 것 특정 사람에 대한 사람 976 00:47:53,900 --> 00:47:58,327 역사에서 기록됩니다 테이블과 행로를 정렬 할 수 있습니다. 977 00:47:58,327 --> 00:48:00,410 알 수있는 멋진 일이다 CS50의 쿼리 기능이 978 00:48:00,410 --> 00:48:02,180 SQL 인젝션 태그를 보호합니다. 979 00:48:02,180 --> 00:48:07,420 그건 그냥 확인합니다 것을 의미합니다 입력 입력이 올바른지 980 00:48:07,420 --> 00:48:09,920 그 사람 누구 입력 들어가고 981 00:48:09,920 --> 00:48:15,100 입력에 시도되지 않은 일부 악성 코드는 하나 우리의 테이블을 드롭하기 982 00:48:15,100 --> 00:48:17,305 또는 모든 것을 삭제 저희 데이터베이스의 내부. 983 00:48:17,305 --> 00:48:20,060 984 00:48:20,060 --> 00:48:23,400 >> 의 빠른 개요 모델 뷰 컨트롤러 모델, 985 00:48:23,400 --> 00:48:27,360 그것은 조직의 단지 방법 코드에 대해 생각. 986 00:48:27,360 --> 00:48:29,100 그것은, 다시 디자인 패러다임이다. 987 00:48:29,100 --> 00:48:33,380 무슨 의미하는 것은 그 우리입니다 주는거 그것은 좋은 습관이다 988 00:48:33,380 --> 00:48:37,790 다른 부분을 구분 우리의 코드와 그들이 무엇을의 989 00:48:37,790 --> 00:48:40,530 이 세 가지 패러다임으로 제어 할 수 있습니다. 990 00:48:40,530 --> 00:48:46,700 >> 그래서 우리의 관점은 대부분 우리의 템플릿, 우리의 레이아웃 방법 991 00:48:46,700 --> 00:48:48,260 것을 우리는 우리의 코드의 모양을 설정합니다. 992 00:48:48,260 --> 00:48:55,190 즉, 대부분의 CSS 파일 및 방법 우리가 코드의 디자인을 규정하는 것이, 993 00:48:55,190 --> 00:48:55,710 원래. 994 00:48:55,710 --> 00:48:59,280 우리의 컨트롤러는 주로 무엇을이다 우리는 PHP 파일을 해왔습니다. 995 00:48:59,280 --> 00:49:03,030 그래서 다시 작업 우리가 가진 정보 996 00:49:03,030 --> 00:49:06,700 그리고 정의하는 방법이 정보는 사용 997 00:49:06,700 --> 00:49:10,660 다음 해당 정보를 전달 중 하나를보기 또는 모델 상. 998 00:49:10,660 --> 00:49:13,880 그리고 모델, 우리가했습니다 방법 IS를 사용하고하는 것은, 우리의 데이터베이스왔다 999 00:49:13,880 --> 00:49:17,510 그래서 우리의 정보입니다 이 곳이 있도록 저장 1000 00:49:17,510 --> 00:49:21,490 에 살고 중 어느 한 방법에 관한 코드 1001 00:49:21,490 --> 00:49:25,410 우리는 그 정보 또는를 얻을 우리는 그 정보를 업데이트 방법. 1002 00:49:25,410 --> 00:49:28,940 1003 00:49:28,940 --> 00:49:33,200 >> MVC 모델에 따라서, HTTP 요청은 웹 서버로 전송됩니다. 1004 00:49:33,200 --> 00:49:36,220 이어서, 제어기 해석 사용자로부터의 요구 1005 00:49:36,220 --> 00:49:38,260 다음 사용자 입력의 유효성을 검사합니다. 1006 00:49:38,260 --> 00:49:41,580 그것은 우리가 가지고있는 것을 선택이다 컨트롤러는 통신 1007 00:49:41,580 --> 00:49:44,000 모델, 뭔가 이렇게 우리의 데이터베이스와 같은 1008 00:49:44,000 --> 00:49:47,500 또는 일부 다른 기능 그 정보를 중계한다. 1009 00:49:47,500 --> 00:49:50,340 다음 마지막으로, 제어기 보기에 정보를 전달합니다 1010 00:49:50,340 --> 00:49:52,090 수 있도록하는 것은이 될 수 있습니다 렌더링하고 수 1011 00:49:52,090 --> 00:49:55,860 어떤 사람에게 볼 수있게 웹 페이지에 액세스. 1012 00:49:55,860 --> 00:49:58,440 1013 00:49:58,440 --> 00:50:01,340 >> 질문? 1014 00:50:01,340 --> 00:50:01,840 신난다. 1015 00:50:01,840 --> 00:50:04,530 1016 00:50:04,530 --> 00:50:08,469 그래서 다시, 모델 그 기능, 다시, 1017 00:50:08,469 --> 00:50:11,260 정보의 영구 저장소이며, 데이터 관리 및 조직화. 1018 00:50:11,260 --> 00:50:13,890 그리고 우리는 그렇게 본 적이 무엇을 지금까지 MySQL 데이터베이스입니다 1019 00:50:13,890 --> 00:50:16,200 임의의 데이터 파일을 사용할 수있다. 1020 00:50:16,200 --> 00:50:20,580 >> 보기, 정보의 프리젠 테이션에 사용자, UI, 또는 사용자 인터페이스. 1021 00:50:20,580 --> 00:50:22,350 그리고 이것의 예는 HTML입니다. 1022 00:50:22,350 --> 00:50:23,950 그리고 우리는 최소한의 PHP가있을 수 있습니다. 1023 00:50:23,950 --> 00:50:28,360 그래서 루프가 반복 데이터를 통해 그가 출력된다 1024 00:50:28,360 --> 00:50:30,720 도면의 일부로서, 인 제어기 대향. 1025 00:50:30,720 --> 00:50:35,660 그리고 우리의 PHP 파일의 다음 많은 컨트롤러 범주에 속한다. 1026 00:50:35,660 --> 00:50:38,410 그것은 단지 사용자 요청을 처리하고 모델에서 정보를 가져옵니다. 1027 00:50:38,410 --> 00:50:42,880 1028 00:50:42,880 --> 00:50:45,590 >> 문서에 점프 개체 모델이 바로 1029 00:50:45,590 --> 00:50:47,700 방법 HTML을 말한다 문서가 구성됩니다. 1030 00:50:47,700 --> 00:50:51,600 그리고 그들은 나무로 구성하고 계층 구조를 가지고 구조. 1031 00:50:51,600 --> 00:50:56,720 우리가에 액세스 할 수있는 경우 그래서 [들리지] 문서의 표현, 1032 00:50:56,720 --> 00:51:02,750 우리는 같은, 문서 작업을 할 우리는 기본적으로 개체를 조작 할 수 있습니다. 1033 00:51:02,750 --> 00:51:06,630 >> 그리고이 만들려면 조금 선명 때 1034 00:51:06,630 --> 00:51:10,540 우리는 많이 가지고 우리의 다른 태그 응답 1035 00:51:10,540 --> 00:51:12,590 우리의 트리에서 다른 경로로. 1036 00:51:12,590 --> 00:51:17,070 그리고이 예를 들어, 시작 문서 노드가 있습니다. 1037 00:51:17,070 --> 00:51:20,010 우리가 다음 우리의 HTML 노드 그 머리와 몸으로 분할합니다. 1038 00:51:20,010 --> 00:51:22,810 머리는 제목과이 제목은, 안녕하세요 세계가 포함되어 있습니다. 1039 00:51:22,810 --> 00:51:24,860 그리고 우리의 몸은 포함 안녕하세요, 세계뿐만 아니라. 1040 00:51:24,860 --> 00:51:28,700 1041 00:51:28,700 --> 00:51:31,900 >> 의에 따라서 질문 우리가 지금까지 덮여 것들? 1042 00:51:31,900 --> 00:51:35,891 그렇지 않은 경우, 한나는 것 자바 스크립트 인수. 1043 00:51:35,891 --> 00:51:36,390 신난다. 1044 00:51:36,390 --> 00:51:37,473 >> HANNAH BLUMBERG : OK, 멋진. 1045 00:51:37,473 --> 00:51:40,980 아무것도 PHP 또는 HTML과 함께 온다면, 또는 마리아가 적용되는 물건의, 1046 00:51:40,980 --> 00:51:42,700 우리는 항상 일시 정지 할 수 있습니다. 1047 00:51:42,700 --> 00:51:46,430 우리는 더 나은에 일을하는지 시간 다시, 정말 대단. 1048 00:51:46,430 --> 00:51:48,770 그냥 돌아갑니다 정말 빨리이에, 1049 00:51:48,770 --> 00:51:51,010 당신은 모든 보면 지난 해의 시험이 1050 00:51:51,010 --> 00:51:54,120 either-- 여기에 온다 일부 HTML은,이 그림을합니다. 1051 00:51:54,120 --> 00:51:58,380 아니면 여기이 그림은의 일부를 만들 HTML은, 그래서 확실히 그 연습. 1052 00:51:58,380 --> 00:52:01,500 그리고 그 한 보장된다 당신이 바로 얻을 수있는 질문입니다. 1053 00:52:01,500 --> 00:52:02,000 시원한. 1054 00:52:02,000 --> 00:52:04,510 그럼 자바 스크립트에 대해 이야기하자 그리고 조금의 방법 1055 00:52:04,510 --> 00:52:09,130 PHP와 같은 언어에서 다른 C, 우리는 사전에 본 두 언어. 1056 00:52:09,130 --> 00:52:10,780 그래서 번호 하나, 그것은 느슨한 타입입니다. 1057 00:52:10,780 --> 00:52:14,630 즉, PHP와 비슷하지만 C. 달리 1058 00:52:14,630 --> 00:52:15,890 >> 그것은 해석 언어입니다. 1059 00:52:15,890 --> 00:52:19,870 다시 말하지만, 그처럼 PHP, C. 그리고이 달리 1060 00:52:19,870 --> 00:52:24,630 우리가 그것을 use-- 할 수 있도록 것입니다 웹 페이지와 정말 잘 작동합니다. 1061 00:52:24,630 --> 00:52:28,350 그것은 우리가 조작 할 수있는 것 내용과 방법이 보인다 1062 00:52:28,350 --> 00:52:30,300 그것이 무엇을. 1063 00:52:30,300 --> 00:52:32,330 >> 우리는 아약스의 약간을 보게 될 것입니다. 1064 00:52:32,330 --> 00:52:36,140 그것은 우리가 통신 할 수 있습니다 비동기 적으로 다른 서버와 1065 00:52:36,140 --> 00:52:37,950 및 정보를 얻을 수 있습니다. 1066 00:52:37,950 --> 00:52:42,820 그리고이 점은 정말 PHP와 C에서 자바 스크립트를 분리 1067 00:52:42,820 --> 00:52:45,590 그것이 클라이언트 측 점이다. 1068 00:52:45,590 --> 00:52:49,860 모두 PHP와 C는 일반적으로 서버 쪽. 1069 00:52:49,860 --> 00:52:51,960 >> 대부분의 경우와 거의 어떤 1070 00:52:51,960 --> 00:52:53,900 우리는 이상에서, 본 적이 이 클래스, 자바 스크립트 1071 00:52:53,900 --> 00:52:57,040 즉, 클라이언트 측에 작용 브라우저가 실제로 그 1072 00:52:57,040 --> 00:52:58,597 그것을 실행에 대한 책임. 1073 00:52:58,597 --> 00:53:01,180 그리고 우리가하지 않는 것을 의미합니다 서버와 상호 작용해야합니다. 1074 00:53:01,180 --> 00:53:04,380 그래서 그것은 훨씬 빠를 수 있다는 것을 의미 실제로 때문에 그냥은, 크롬의 1075 00:53:04,380 --> 00:53:10,420 그것은 파이어 폭스,의, 사파리의 당신이 무엇을 실제로 사용하는 자바 스크립트를 실행. 1076 00:53:10,420 --> 00:53:12,290 >> 청중 : 비동기은 무엇을 의미합니까? 1077 00:53:12,290 --> 00:53:13,620 >> HANNAH BLUMBERG : 아, 무엇을 비동기 적으로 의미 하는가? 1078 00:53:13,620 --> 00:53:14,250 좋은 질문입니다. 1079 00:53:14,250 --> 00:53:17,890 비동기 means-- 물론, 그 내용에 1080 00:53:17,890 --> 00:53:22,140 우리는 확인한다 사용, 우리 웹 페이지를 작성하는 1081 00:53:22,140 --> 00:53:23,860 우리는 몇 가지 정보를 얻을 필요가있다. 1082 00:53:23,860 --> 00:53:28,250 매쉬업의 예에 따라서, 우리는 할 수 있습니다 몇 가지 정보 1083 00:53:28,250 --> 00:53:30,580 기사 제목이다. 1084 00:53:30,580 --> 00:53:33,330 이제, 우리는 하나의 옵션을 could-- 기적을하는 것입니다 1085 00:53:33,330 --> 00:53:37,940 그리고 그하자의 의미 중지, 문서를 가서, 1086 00:53:37,940 --> 00:53:41,275 다음 문서를 다시 가져 오기를 렌더링,하지만 그건 정말 느린 것입니다. 1087 00:53:41,275 --> 00:53:44,150 즉 나쁜 사용자 경험이 될 것입니다 그냥 앉아있을 것이기 때문에 1088 00:53:44,150 --> 00:53:46,630 뭔가의 응답을 기다리고있다. 1089 00:53:46,630 --> 00:53:50,020 >> 비동기 적으로 우리는 것이다 의미 우리의 사업에 대해 지속될, 1090 00:53:50,020 --> 00:53:52,529 페이지를 렌더링하고, 우리는 요청을 보내드립니다 1091 00:53:52,529 --> 00:53:54,570 그 종류의 것 백그라운드에서 일어난다. 1092 00:53:54,570 --> 00:53:57,610 나는 우리가 예를 사용하여 생각 롭를 호출하고 말하는 강의, 1093 00:53:57,610 --> 00:53:59,980 이봐, 당신은이를 찾아 볼 수 있습니다 나를 위해 나에게 돌아가, 1094 00:53:59,980 --> 00:54:02,870 그냥 날에 반대 전화를 기다리고. 1095 00:54:02,870 --> 00:54:07,020 그래서 비동기 적으로 그런 일을 의미합니다 우리로부터 멀리 배경 1096 00:54:07,020 --> 00:54:08,676 병행하여. 1097 00:54:08,676 --> 00:54:10,400 >> 좋은 질문입니다. 1098 00:54:10,400 --> 00:54:11,830 다른 건? 1099 00:54:11,830 --> 00:54:12,330 큰. 1100 00:54:12,330 --> 00:54:15,020 우리는에 더 많이 이동합니다 Ajax를 이용한 비동기식 요청. 1101 00:54:15,020 --> 00:54:18,287 >> 청중 : 않는 경우 JavaScript--합니까 이 모델 - 뷰 - 컨트롤러와 가을? 1102 00:54:18,287 --> 00:54:19,620 HANNAH BLUMBERG : 좋은 질문입니다. 1103 00:54:19,620 --> 00:54:23,320 어디에서 자바 스크립트 가을을한다 모델 - 뷰 - 컨트롤러와? 1104 00:54:23,320 --> 00:54:23,930 흠. 1105 00:54:23,930 --> 00:54:28,350 나는 fall-- 수 추측 그래서 우리는 일반적으로하지 않습니다 1106 00:54:28,350 --> 00:54:31,340 그로를 뭉개 버려 좋아 패러다임,하지만 난 말할 것 같아요, 1107 00:54:31,340 --> 00:54:34,280 확인, 자바 스크립트 그래서 실제로 수있는 것입니다 1108 00:54:34,280 --> 00:54:37,587 우리는 데이터를 수집 실제로 수행 데이터를 해석 1109 00:54:37,587 --> 00:54:38,920 데이터를 의미있는 일. 1110 00:54:38,920 --> 00:54:41,100 이런 식으로, 매우 제어 등이다. 1111 00:54:41,100 --> 00:54:43,900 >> 그러나 그것은 또한 우리를 허용하는거야 일 인쇄 일을 표시합니다. 1112 00:54:43,900 --> 00:54:47,021 이런 식으로, 매우보기 형상이다. 1113 00:54:47,021 --> 00:54:47,520 네. 1114 00:54:47,520 --> 00:54:51,710 그래서에서 PHP와 같은 종류의 그것은 가지를 모두 여기서 할 수 있습니다. 1115 00:54:51,710 --> 00:54:53,330 좋은 질문. 1116 00:54:53,330 --> 00:54:55,209 다른 건? 1117 00:54:55,209 --> 00:54:56,000 좋아, 최고. 1118 00:54:56,000 --> 00:54:57,120 오른쪽을 따라 이동. 1119 00:54:57,120 --> 00:54:59,110 >> 그럼 예를 보자 우리가 사용하는 방법 1120 00:54:59,110 --> 00:55:02,250 우리의 웹 프로그램 중 하나에서 자바 스크립트. 1121 00:55:02,250 --> 00:55:05,680 그래서 나는이 생각합니다 HTML의 무리와 함께 index.html을. 1122 00:55:05,680 --> 00:55:08,800 그리고 것은 내가 당신을 원해요 에 초점이 스크립트 태그입니다. 1123 00:55:08,800 --> 00:55:13,280 그리고 이것은 확인, 좀를 실행하려면 말한다 이 사는 곳 여기에 자바 스크립트입니다. 1124 00:55:13,280 --> 00:55:15,400 그것은 hello.js에 살고있다. 1125 00:55:15,400 --> 00:55:21,120 >> 매우 CSS처럼, 우리는 할 수 HTML 내에서 자바 스크립트를 넣어. 1126 00:55:21,120 --> 00:55:24,000 왜 우리는 그것을 분리 할 수​​ 있습니다? 1127 00:55:24,000 --> 00:55:24,500 네. 1128 00:55:24,500 --> 00:55:25,486 >> 청중 : 다시하기 쉬운? 1129 00:55:25,486 --> 00:55:26,402 >> HANNAH BLUMBERG : 네. 1130 00:55:26,402 --> 00:55:28,450 그것은에서 사용하기 쉽게 다른 웹 페이지를 참조하십시오. 1131 00:55:28,450 --> 00:55:29,980 그것은 청소기 물건을 유지합니다. 1132 00:55:29,980 --> 00:55:32,090 그냥 좋은 연습입니다. 1133 00:55:32,090 --> 00:55:32,590 신난다. 1134 00:55:32,590 --> 00:55:33,930 좋은 대답. 1135 00:55:33,930 --> 00:55:36,690 그래서 좋은, 그래서 이것은 것입니다 우리의 index.html을합니다. 1136 00:55:36,690 --> 00:55:39,430 그리고 여기까지 우리를이다 작은 작은 자바 스크립트 파일입니다. 1137 00:55:39,430 --> 00:55:42,410 >> 그리고 그것이 말하는 모두, 안녕하세요 세계 경고입니다. 1138 00:55:42,410 --> 00:55:46,040 그래서 무슨 일 때입니다 이 페이지 renders-- 1139 00:55:46,040 --> 00:55:49,680 그래서 당신은 어떤 웹 사이트로 이동하는 경우 이 모든 일이 일어날 것 is-- 1140 00:55:49,680 --> 00:55:53,330 좋아, 난,이 일어나고있다 대답 이 자바 스크립트 코드를 실행하는 것. 1141 00:55:53,330 --> 00:55:56,370 그리고이 자바 스크립트 코드 다만 경고 안녕하세요, 세계는 말한다. 1142 00:55:56,370 --> 00:55:59,090 그래서 난이 얻을거야 친화적 인 작은 팝업. 1143 00:55:59,090 --> 00:56:00,360 >> 시원한? 1144 00:56:00,360 --> 00:56:04,746 즉, 첫 번째 종류의 우리 같은입니다 자바 스크립트 프로그램, 우리의 안녕, 세계. 1145 00:56:04,746 --> 00:56:07,690 1146 00:56:07,690 --> 00:56:12,190 의에 대한 조금 더 살펴 보자 무엇 자바 스크립트의 구문은 다음과 같습니다. 1147 00:56:12,190 --> 00:56:16,330 구체적으로, 이제와 비교​​하자 우리가 전에 본 적이 C와 PHP,. 1148 00:56:16,330 --> 00:56:20,610 >> 자바 스크립트에서, 우리는 할 겁니다 VAR, 변수의 이름 다음 1149 00:56:20,610 --> 00:56:21,690 실제 값입니다. 1150 00:56:21,690 --> 00:56:26,170 그리고 우리는 단지 유형을 지정하지 PHP에서,하지만 매우 C에서와 달리 같은 1151 00:56:26,170 --> 00:56:28,850 우리가 원하는 예를 들어, 그래서 50 값을 저장하는, 1152 00:56:28,850 --> 00:56:32,490 C로, 우리가 말을 할 것이다, 이봐, C, 나는 정수를 원하는, 1153 00:56:32,490 --> 00:56:35,076 나는 그것을 호출하는거야 나는, 그 값은 50입니다. 1154 00:56:35,076 --> 00:56:36,450 PHP에서는 조금 더 쉽다. 1155 00:56:36,450 --> 00:56:41,880 우리 안녕하세요, 변수를 원하는 말 내가 전화해서 그 값은 50입니다. 1156 00:56:41,880 --> 00:56:45,890 매우 유사하게, 자바 스크립트, 우리 이봐, 내가 변수 내가 전화 싶은 말 1157 00:56:45,890 --> 00:56:47,080 그 값은 50입니다. 1158 00:56:47,080 --> 00:56:52,140 내가 사용하는 모든 이후의 시간 내가, 내가 VAR를 작성할 필요가 없습니다. 1159 00:56:52,140 --> 00:56:53,810 그것은 단지 내가 그 시점에서입니다. 1160 00:56:53,810 --> 00:56:58,660 C에서와 동일한 방식에 우리는 내가하는 int 말을하면, 우리는 그냥 사용합니다. 1161 00:56:58,660 --> 00:57:00,340 시원한? 1162 00:57:00,340 --> 00:57:01,800 괜찮아. 1163 00:57:01,800 --> 00:57:03,710 >> 루프로 이동, 다행히,이 거의 1164 00:57:03,710 --> 00:57:06,720 나는 그들이라고 생각 exactly-- 봐 것과 똑같은 1165 00:57:06,720 --> 00:57:09,799 루프처럼 보일거야 C 같은 어디를 루프 1166 00:57:09,799 --> 00:57:11,840 세 가지를해야 할 것입니다 , 초기화를 parts-- 1167 00:57:11,840 --> 00:57:13,640 조건 및 업데이트합니다. 1168 00:57:13,640 --> 00:57:15,340 while 루프, 그것은 동일한 보인다. 1169 00:57:15,340 --> 00:57:16,390 우리는 단지 그것을 조건을 제공합니다. 1170 00:57:16,390 --> 00:57:18,264 >> 그리고 DO 루프 동안, 다시, 정확히 같은. 1171 00:57:18,264 --> 00:57:20,190 우리는 조건을 제공합니다. 1172 00:57:20,190 --> 00:57:24,510 이제 나는 끝났다, 반복 싶어한다고 가정 해 봅시다 내가 뭔가 다섯 번을하고 싶었다. 1173 00:57:24,510 --> 00:57:27,840 C에서, 우리는 작성할 수 있습니다 초기화를 위해 내가 0 같습니다. 1174 00:57:27,840 --> 00:57:30,480 i가 5보다 작은, 내가 ++. 1175 00:57:30,480 --> 00:57:34,240 유일한 차이는, 자바 스크립트, 대신 내가 0에 해당하는 int 말하는, 1176 00:57:34,240 --> 00:57:36,820 우리는 var에 내가 0에 해당 말한다. 1177 00:57:36,820 --> 00:57:38,370 아름다운. 1178 00:57:38,370 --> 00:57:41,320 즉, 유일한 차이점입니다. 1179 00:57:41,320 --> 00:57:43,200 그 중 하나에 대한 질문? 1180 00:57:43,200 --> 00:57:44,160 네. 1181 00:57:44,160 --> 00:57:48,480 >> 청중 : PHP에서 그래서, 그것은 마찬가지예요 것은 제외하지만 변수처럼? 1182 00:57:48,480 --> 00:57:49,564 또는 VAR 예이었다? 1183 00:57:49,564 --> 00:57:50,480 HANNAH BLUMBERG : 네. 1184 00:57:50,480 --> 00:57:52,310 그래서 PHP, 그것은거야 달러 기호가 될 수 있습니다. 1185 00:57:52,310 --> 00:57:59,450 그래서 $ 나는 동등한 것 0, $ 내가 $ 내가 ++, 5 미만이다. 1186 00:57:59,450 --> 00:58:02,490 좋은 질문입니다. 1187 00:58:02,490 --> 00:58:04,570 >> 이제 대해 얘기하자 함수 선언. 1188 00:58:04,570 --> 00:58:07,010 C에서, 우리는 선언 할 때 기능, 우리는 그것에게 이름을 준 1189 00:58:07,010 --> 00:58:08,490 우리는 그것을 몇 가지 매개 변수를했다. 1190 00:58:08,490 --> 00:58:10,670 그리고 처음에, 우리는 유형을 썼다. 1191 00:58:10,670 --> 00:58:12,440 자바 스크립트에서, 우리 모두 쓰기된다해야 1192 00:58:12,440 --> 00:58:15,080 키워드 기능이 이봐, 자바 스크립트, 말한다 1193 00:58:15,080 --> 00:58:16,570 나는 함수를 정의하려고 해요. 1194 00:58:16,570 --> 00:58:18,520 >> 이 경우에는, 네임 합을 갖는다. 1195 00:58:18,520 --> 00:58:20,820 그리고 그것은 두 개의 인수, x와 y를합니다. 1196 00:58:20,820 --> 00:58:23,280 우리가 상관 없어 알 수 있습니다 x 및 y의 유형에 대한. 1197 00:58:23,280 --> 00:58:26,280 그냥 C처럼, 우리가 이 키워드 리턴, 1198 00:58:26,280 --> 00:58:29,140 그래서 우리는 뭔가를 할 수 반환 x와 y 등을들 수있다. 1199 00:58:29,140 --> 00:58:32,540 >> 그리고 지금 한 번 우리는이 첫 번째를 작성했습니다 기능, 우리는 어디 합계를 사용할 수 있습니다. 1200 00:58:32,540 --> 00:58:34,740 그리고 완전히 괜찮아요. 1201 00:58:34,740 --> 00:58:37,530 하나는 정말 멋진 일에 대한 C는 달리 매우입니다 자바 스크립트 1202 00:58:37,530 --> 00:58:40,770 인 기능을 할 수 값처럼 취급 될 수있다. 1203 00:58:40,770 --> 00:58:43,895 그래서 우리는 여기에 뭔가를 할 수 있습니다 내가 가정 어디이 up-- 포함 1204 00:58:43,895 --> 00:58:46,400 나는 VAR의 합을 은폐 part-- 우리는 방금 말한 1205 00:58:46,400 --> 00:58:49,850 기능 XY는 반환 X 플러스 Y 같습니다. 1206 00:58:49,850 --> 00:58:52,140 >> 즉, 호출 할 것입니다 것입니다 익명 함수. 1207 00:58:52,140 --> 00:58:53,920 이 이름이없는 함수입니다. 1208 00:58:53,920 --> 00:58:56,290 이 기능은 말한다 반면 합, ㅋ, ㅋ, ㅋ, 1209 00:58:56,290 --> 00:58:59,340 이 단지 기능을 말할 것입니다. 1210 00:58:59,340 --> 00:59:02,020 하지만 지금은이 경우에도 이 익명 함수, 1211 00:59:02,020 --> 00:59:03,630 그 기능은 정말 값입니다. 1212 00:59:03,630 --> 00:59:05,160 우리는 값처럼 처리 할 수​​ 있습니다. 1213 00:59:05,160 --> 00:59:10,180 >> 그래서 우리는 변수와 동일한에게에 저장할 수 있습니다 방법 우리는 변수에 50을 저장할 수 있습니다. 1214 00:59:10,180 --> 00:59:13,870 그래서 우리는 좋아, 내가 원하는 말할 수 변수, 그것은, 합계라고 1215 00:59:13,870 --> 00:59:16,011 그리고이 함수이다. 1216 00:59:16,011 --> 00:59:18,760 그래서이 두 가지가 실제로 똑같은 일을 할 것, 1217 00:59:18,760 --> 00:59:21,576 하지만 구문은 약간입니다 다른과 재미 노​​트 가지. 1218 00:59:21,576 --> 00:59:22,076 네. 1219 00:59:22,076 --> 00:59:25,548 >> 청중 : 당신이 호출 할 수 있도록 말함으로써 익명이었다 기능, 1220 00:59:25,548 --> 00:59:28,244 합 브래킷 2, 5? 1221 00:59:28,244 --> 00:59:29,160 HANNAH BLUMBERG : 네. 1222 00:59:29,160 --> 00:59:32,280 이 익명을 호출 할 수 있습니다 같은 방식으로 작동합니다. 1223 00:59:32,280 --> 00:59:33,350 당신은 합계 할 것 (2, 5) ;. 1224 00:59:33,350 --> 00:59:36,180 1225 00:59:36,180 --> 00:59:38,200 즉 완전히 잘 될 것입니다. 1226 00:59:38,200 --> 00:59:41,575 >> 나는 VAR의 합이 동일하지 않은 경우 기능, 난 그냥 삭제 한 경우 1227 00:59:41,575 --> 00:59:45,480 이 항아리 내가 내 손에 알고, 하지만 난 다음이 항아리를 삭제 척 1228 00:59:45,480 --> 00:59:46,964 그 기능은 일종의 다만 사라 졌어요. 1229 00:59:46,964 --> 00:59:49,630 당신은 다시 때문에 사용할 수 없다 당신은 그것의 이름이 없습니다. 1230 00:59:49,630 --> 00:59:53,497 그것은 뭔가를 참조하는 것이 어렵다 당신은 무엇을 호출 모른다. 1231 00:59:53,497 --> 00:59:54,080 좋은 질문. 1232 00:59:54,080 --> 00:59:54,580 네. 1233 00:59:54,580 --> 00:59:59,580 >> 청중 : 당신의 합계를 참조 할 수 있습니다 X 플러스 Y의 값이 다른 곳? 1234 00:59:59,580 --> 01:00:01,940 >> HANNAH BLUMBERG : 수 당신 다른 곳에서 참조 합 1235 01:00:01,940 --> 01:00:03,360 값 X 플러스 Y와? 1236 01:00:03,360 --> 01:00:05,130 난 당신이 무슨 뜻인지 전혀 모르겠어요. 1237 01:00:05,130 --> 01:00:10,582 >> 청중 : 그래서 당신의 과거 반 익명 함수 합이 같은지 1238 01:00:10,582 --> 01:00:14,452 익명의 함수이므로 합이다 당신이 주는거 이제 변수 1239 01:00:14,452 --> 01:00:15,410 HANNAH BLUMBERG : 오른쪽. 1240 01:00:15,410 --> 01:00:18,980 따라서 합계 변수이다, 하지만 ... 사실상이다 1241 01:00:18,980 --> 01:00:23,770 그래서 합은 그 변수입니다 가치 함수이다. 1242 01:00:23,770 --> 01:00:27,030 그래서 가지 인 기능이며, 이상한 것은 당신의 머리를 주위에 포장하기 1243 01:00:27,030 --> 01:00:29,880 우리가 놀았 던 이후 C 당신은 C로 할 수 없어 1244 01:00:29,880 --> 01:00:32,679 하지만 지금 우리는 전화를 요약 할 수 있습니다 우리가 여기에 합계를 호출 할 수 동일한 방법. 1245 01:00:32,679 --> 01:00:33,220 청중 : OK. 1246 01:00:33,220 --> 01:00:33,970 HANNAH BLUMBERG : 네. 1247 01:00:33,970 --> 01:00:34,553 좋은 질문. 1248 01:00:34,553 --> 01:00:35,438 네. 1249 01:00:35,438 --> 01:00:39,862 >> 청중 : 그래서 우리는 사용하지 마십시오 PHP 나 자바 스크립트의 프로토 타입? 1250 01:00:39,862 --> 01:00:42,070 HANNAH BLUMBERG : 아니, 우리 프로토 타입을 사용할 필요가 없습니다, 1251 01:00:42,070 --> 01:00:43,880 특히 자바 스크립트. 1252 01:00:43,880 --> 01:00:49,380 난 그래서 하나의 나쁜 연습 일 당신이 안된다는 말을하려고 1253 01:00:49,380 --> 01:00:52,620 당신은 var에 나는 = 50을 작성하지 않아도됩니다. 1254 01:00:52,620 --> 01:00:54,840 당신은 50 = 내가 일을 시작할 수 있었다. 1255 01:00:54,840 --> 01:00:57,490 그리고 그냥 전역 변수를 만들 것입니다. 1256 01:00:57,490 --> 01:01:00,550 >> 그것은 아주 나쁜 습관이다 결코 명시 적으로의 var에 내가 말을하지 1257 01:01:00,550 --> 01:01:01,800 그러나 당신이 할 수있는 일입니다. 1258 01:01:01,800 --> 01:01:03,591 인터프리터는 아니다 당신을 소리 것. 1259 01:01:03,591 --> 01:01:05,920 자바 스크립트는 꽤처럼 당신은 당신이 원하는 것을 할 수 있습니다. 1260 01:01:05,920 --> 01:01:09,301 1261 01:01:09,301 --> 01:01:09,800 아, 죄송합니다. 1262 01:01:09,800 --> 01:01:10,300 두 가지가있다. 1263 01:01:10,300 --> 01:01:12,150 오렌지 바지. 1264 01:01:12,150 --> 01:01:13,190 어서. 1265 01:01:13,190 --> 01:01:14,390 >> 청중 : 아니, 당신은 첫 번째 이동합니다. 1266 01:01:14,390 --> 01:01:16,765 >> 청중 : 아니, 난 그냥 말하고 있었다 나는 내 손을 위로하지 않았다. 1267 01:01:16,765 --> 01:01:20,248 1268 01:01:20,248 --> 01:01:20,748 그래. 1269 01:01:20,748 --> 01:01:26,604 당신이 전화를했다 경우에 따라서 그 처음은 지금, 합계 1270 01:01:26,604 --> 01:01:29,864 우리는 같은 방법으로 호출, X Y, 매번 같은? 1271 01:01:29,864 --> 01:01:30,780 HANNAH BLUMBERG : 네. 1272 01:01:30,780 --> 01:01:32,572 그래서이 두 가지 본질적으로 같은 일을. 1273 01:01:32,572 --> 01:01:35,113 청중 : 그리고 무슨 일이 장점이다 다른 하나를 사용? 1274 01:01:35,113 --> 01:01:37,500 HANNAH BLUMBERG : 없음 장점 어느 한쪽의 사용. 1275 01:01:37,500 --> 01:01:40,080 난 그냥 당신에게 두 가지를 보여주고 싶었어요 구문의 다른 조각. 1276 01:01:40,080 --> 01:01:42,770 시대의 많은 곳 익명 함수는 목적을 가지고 수행 1277 01:01:42,770 --> 01:01:48,220 경우 다른 인수 함수는 함수해야한다. 1278 01:01:48,220 --> 01:01:50,600 그리고 우리의 것을 볼 수 있습니다 Ajax를 잠깐. 1279 01:01:50,600 --> 01:01:53,577 >> 그 어떤 이해가되지 않은 경우 그래서, 당신의 머리 뒤쪽에 보관하십시오. 1280 01:01:53,577 --> 01:01:55,660 즉, 여기서 익명의 기능은 유용 할 수 있습니다 1281 01:01:55,660 --> 01:01:58,284 정말 가치가 있기 때문에 우리가있어 이후에 이름을 부여 1282 01:01:58,284 --> 01:01:59,443 한 번 사용하려고합니다. 1283 01:01:59,443 --> 01:02:00,370 네. 1284 01:02:00,370 --> 01:02:03,635 >> 청중 : 만약 x와 y 변경 후 에,뿐만 아니라 변경 요약 것인가? 1285 01:02:03,635 --> 01:02:06,510 HANNAH BLUMBERG : 만약 x와 y의 변화 나중에뿐만 아니라 변경 요약 것인가? 1286 01:02:06,510 --> 01:02:08,840 그래서 나는 실제로 , 뭔가를 생각한다 1287 01:02:08,840 --> 01:02:12,260 다시, 그냥 매우 다른 느낌 C.에서이 값이 아닙니다. 1288 01:02:12,260 --> 01:02:13,620 그것은 5 아니다. 1289 01:02:13,620 --> 01:02:15,550 그것은 단지 함수 자체입니다. 1290 01:02:15,550 --> 01:02:19,110 그래서 빨리 당신이 그것을 매개 변수 제공으로, 당신은 실제로 값을 계산합니다. 1291 01:02:19,110 --> 01:02:21,193 >> 마리아 ZLATKOVA : 그리고 당신은 함수를 호출 할 수 있습니다 1292 01:02:21,193 --> 01:02:23,272 어떤 가치를받을 수 있습니다. 1293 01:02:23,272 --> 01:02:24,230 HANNAH BLUMBERG : 오른쪽. 1294 01:02:24,230 --> 01:02:25,250 정확하게. 1295 01:02:25,250 --> 01:02:25,863 네. 1296 01:02:25,863 --> 01:02:27,946 >> 청중 : 당신이 만약 그러니 그냥 변수에 보관 1297 01:02:27,946 --> 01:02:31,430 VAR의 X 같은 두 values​​--의 합과 동일 1298 01:02:31,430 --> 01:02:32,420 >> HANNAH BLUMBERG : 네. 1299 01:02:32,420 --> 01:02:35,320 그래서 당신은 VAR의 합을 할 수 두 값의 합과 같다. 1300 01:02:35,320 --> 01:02:37,670 네. 1301 01:02:37,670 --> 01:02:38,680 다른 질문? 1302 01:02:38,680 --> 01:02:39,642 네. 1303 01:02:39,642 --> 01:02:42,047 >> 청중 :하지만 것 합과 합을 혼동? 1304 01:02:42,047 --> 01:02:45,062 당신이 당신의 변수 합계를 호출하는 경우처럼, 당신은 함수 합계를 호출? 1305 01:02:45,062 --> 01:02:45,895 HANNAH BLUMBERG : 음. 1306 01:02:45,895 --> 01:02:46,395 음. 1307 01:02:46,395 --> 01:02:51,253 당신이 뭔가를 한 경우 등 합계 합 2,5- 같음? 1308 01:02:51,253 --> 01:02:53,170 >> 청중 : 네. 1309 01:02:53,170 --> 01:02:56,465 >> HANNAH BLUMBERG : 나는 믿고 합계의 값을 덮어 쓰기한다. 1310 01:02:56,465 --> 01:02:59,290 그래서 또 다른 재미 자바 스크립트에 관한 일 1311 01:02:59,290 --> 01:03:02,950 하나의 변수가 취할 수 있다는 것입니다 다른 종류의 무리에. 1312 01:03:02,950 --> 01:03:03,790 나쁜 연습. 1313 01:03:03,790 --> 01:03:06,280 당신은 뭔가를하지 말아야 같은 당신은 단지 말. 1314 01:03:06,280 --> 01:03:10,240 >> 그러나 C에서, 내가 설정되어있는 경우 정수로 동일한, 1315 01:03:10,240 --> 01:03:13,570 우리는 결코 없다는 것을 알고 문자열이 될 것. 1316 01:03:13,570 --> 01:03:15,670 이 자바 스크립트의 경우가 아니다. 1317 01:03:15,670 --> 01:03:17,770 그래, 좋은 질문입니다. 1318 01:03:17,770 --> 01:03:20,151 다른 건? 1319 01:03:20,151 --> 01:03:20,650 괜찮아. 1320 01:03:20,650 --> 01:03:21,850 시간에 대한 모든 권리를하는. 1321 01:03:21,850 --> 01:03:23,050 유지하는 것. 1322 01:03:23,050 --> 01:03:25,200 괜찮아. 1323 01:03:25,200 --> 01:03:27,780 >> 우리는 배열을 보면 자바 스크립트에서, 여기에 1324 01:03:27,780 --> 01:03:30,250 문자열 배열의 빠른 예. 1325 01:03:30,250 --> 01:03:31,967 그리고 배열은 동적으로 증가 할 수 있습니다. 1326 01:03:31,967 --> 01:03:33,675 그들은이 없습니다 동일하게 고정 된 크기 1327 01:03:33,675 --> 01:03:37,990 그들은 C로 할 것을 우리는 액세스 할 수 있습니다 단지 대괄호 요소. 1328 01:03:37,990 --> 01:03:41,720 >> 즉, PHP와 많은처럼 많이 보인다 우리가이 경우에, 말할 수있는 C, 등, 1329 01:03:41,720 --> 01:03:48,360 나는 단어 자바 스크립트를 원한다면, 나는 것 0, 1, 2와 대괄호, 언 않습니다. 1330 01:03:48,360 --> 01:03:51,450 1331 01:03:51,450 --> 01:03:55,390 때 그리고 당신은 C로 기억한다면 배열의 길이를 얻고 싶었다, 1332 01:03:55,390 --> 01:03:56,820 정말 짜증나. 1333 01:03:56,820 --> 01:03:58,460 그러나 자바 스크립트에서, 아주 쉽게. 1334 01:03:58,460 --> 01:03:59,910 모든 우리가, .length. 1335 01:03:59,910 --> 01:04:01,120 그것을 길이를 제공합니다. 1336 01:04:01,120 --> 01:04:01,892 이게 다예요. 1337 01:04:01,892 --> 01:04:03,140 >> 청중 : 그건 간단합니다. 1338 01:04:03,140 --> 01:04:05,306 >> HANNAH BLUMBERG : 네, 있습니다 당신의 인생을 훨씬 쉽게. 1339 01:04:05,306 --> 01:04:08,950 1340 01:04:08,950 --> 01:04:11,560 확인이되지 object--. 1341 01:04:11,560 --> 01:04:15,480 자바 스크립트 느낌의 개체 C의 구조체처럼 많이 1342 01:04:15,480 --> 01:04:18,280 그리고 PHP의 연관 배열. 1343 01:04:18,280 --> 01:04:20,270 그래서 우리는 무엇을 본 적이 의 많은 JSON, 인 1344 01:04:20,270 --> 01:04:23,150 자바 스크립트 객체 표기법을 의미합니다. 1345 01:04:23,150 --> 01:04:25,550 그리고 기본적으로 방법 우리의 데이터를 구조화. 1346 01:04:25,550 --> 01:04:27,880 >> 그럼 예를 보자, 아마 가장 쉬운. 1347 01:04:27,880 --> 01:04:32,540 그래서 여기 오브젝트의 예 즉 CS50, 클래스를 저장합니다. 1348 01:04:32,540 --> 01:04:37,790 내가 클래스를 말할 때, 나는 물론 의미 아니, 그래 CS50을 과정을 그때 엔. 1349 01:04:37,790 --> 01:04:40,730 그리고 당신은 그것을 볼 수 있습니다 개체의 모든 1350 01:04:40,730 --> 01:04:43,526 포함 할 것입니다 중괄호. 1351 01:04:43,526 --> 01:04:48,260 >> 그리고 우리는 필드 이름을 연관 시작 또는 다른 값으로 키. 1352 01:04:48,260 --> 01:04:52,920 그래서 당신은 어떻게 이러한 종류의 볼을 시작할 수 있습니다 PHP에서 연관 배열 같은 느낌이 든다. 1353 01:04:52,920 --> 01:04:57,450 그래서 우리는 현장을 연결하는거야 또는 키 이름, 과정, 문자열, 1354 01:04:57,450 --> 01:04:58,510 CS50. 1355 01:04:58,510 --> 01:04:59,940 >> 우리는 강사가 될 것입니다. 1356 01:04:59,940 --> 01:05:00,940 우리는 TF가있을 것입니다. 1357 01:05:00,940 --> 01:05:05,240 우리의 Pset의 수를 할 겁니다 우리가 녹음 한 것입니다. 1358 01:05:05,240 --> 01:05:10,720 그리고주의해야 할 하나의 좋은 점은 모든입니다 이런 일들은 다른 유형이, 1359 01:05:10,720 --> 01:05:12,020 그 완전히 괜찮아요. 1360 01:05:12,020 --> 01:05:15,330 >> 그것은 사실, 개체에 대한 괜찮아요 그것은 아마 객체에 대한 기대거야 1361 01:05:15,330 --> 01:05:19,620 문자열의 조합을 가지고 숫자 및 부울 및 배열 1362 01:05:19,620 --> 01:05:23,420 그리고 어떤 다른 당신은 수도 개체 내부에 갖고 싶어. 1363 01:05:23,420 --> 01:05:28,570 그리고이 될 것 참고 이름이나 키, 그리고 우리 단지 1364 01:05:28,570 --> 01:05:30,300 조금 콜론이 동일하게 설정. 1365 01:05:30,300 --> 01:05:32,015 >> 청중 : 정확히 JSON은 무엇을 의미합니까? 1366 01:05:32,015 --> 01:05:33,890 HANNAH BLUMBERG : 무엇 정확히 JSON은 의미합니까? 1367 01:05:33,890 --> 01:05:36,470 JSON은 약자 자바 스크립트 객체 표기법. 1368 01:05:36,470 --> 01:05:38,430 그것은 형식의 단지 방법입니다. 1369 01:05:38,430 --> 01:05:40,040 네. 1370 01:05:40,040 --> 01:05:41,800 그것은 우리의 데이터를 포맷하는 방법입니다. 1371 01:05:41,800 --> 01:05:43,620 >> C에서는 구조체를합니다. 1372 01:05:43,620 --> 01:05:45,800 PHP에서는 연관 배열을합니다. 1373 01:05:45,800 --> 01:05:47,120 자바 스크립트에서, 우리는 개체가. 1374 01:05:47,120 --> 01:05:48,969 >> 청중 : 그래서 CS50는 객체이다? 1375 01:05:48,969 --> 01:05:51,010 HANNAH BLUMBERG : CS50는 이 경우 객체입니다. 1376 01:05:51,010 --> 01:05:54,830 1377 01:05:54,830 --> 01:05:57,880 이제, 우리가 어떻게에게 실제로 접근을 이러한 필드는 해당 필드를 변경하거나. 1378 01:05:57,880 --> 01:06:03,920 예를 들어, 우리가 결정한다고 가정 하나 적은 PSET 이번 학기를 원했다. 1379 01:06:03,920 --> 01:06:06,300 대신 아홉,​​ 우리는있어 다만 팔을해야 할 것. 1380 01:06:06,300 --> 01:06:08,240 우리는 어떻게 변경할 것인가? 1381 01:06:08,240 --> 01:06:09,436 >> 아, 잘못된 방법. 1382 01:06:09,436 --> 01:06:11,060 우리가 할 수있는 두 가지 방법이 있습니다. 1383 01:06:11,060 --> 01:06:13,490 첫째는 도트 인 표기와 두 번째 1384 01:06:13,490 --> 01:06:15,750 대괄호 표기법입니다. 1385 01:06:15,750 --> 01:06:19,720 따라서, 예를 들어, 나는 경우 변경하거나 접근하고 싶었다 1386 01:06:19,720 --> 01:06:26,820 우리의 CS50 객체의 psets를 필드, 내가 무엇을 할 것이라고하는 것은 CS50.psets입니다, 1387 01:06:26,820 --> 01:06:30,770 그래서 물체 점의 이름 필드 또는 키의 이름입니다. 1388 01:06:30,770 --> 01:06:37,120 >> 매우 유사하게, 그것은 정확히 동등한은 CS50을 수행하고 1389 01:06:37,120 --> 01:06:42,050 광장 중괄호,의 Pset. 1390 01:06:42,050 --> 01:06:42,837 시원한? 1391 01:06:42,837 --> 01:06:44,298 네. 1392 01:06:44,298 --> 01:06:47,707 >> 청중 : 그래서 JSON은 아직 기술적으로 자바 스크립트, 1393 01:06:47,707 --> 01:06:51,814 비록하여 pset에 우리 [들림]를 분리 해? 1394 01:06:51,814 --> 01:06:52,730 HANNAH BLUMBERG : 물론. 1395 01:06:52,730 --> 01:06:56,290 문제는 그래서입니다 자바 스크립트와 JSON 동등한? 1396 01:06:56,290 --> 01:07:00,750 그래서 JSON 표기법은 기본적입니다 우리가 작성하는 방법 1397 01:07:00,750 --> 01:07:02,700 자바 스크립트에서 객체. 1398 01:07:02,700 --> 01:07:05,190 그래서 그들은 정확히 같은 아니에요. 1399 01:07:05,190 --> 01:07:08,950 >> 내가 거기, 자바 스크립트를 말할 것입니다 자바 스크립트의 객체입니다. 1400 01:07:08,950 --> 01:07:12,590 JSON은 해당 개체를 받아 를 인쇄하고 표시 1401 01:07:12,590 --> 01:07:15,160 또는 좋은 방법에 저장합니다. 1402 01:07:15,160 --> 01:07:18,110 그래서 JSON은 프로그래밍되지 않습니다 언어 자바 스크립트는 방법. 1403 01:07:18,110 --> 01:07:20,900 그것은 단지 표기법의 자바 스크립트에서 우리의 객체. 1404 01:07:20,900 --> 01:07:21,400 네. 1405 01:07:21,400 --> 01:07:24,144 >> 청중 : 그래서 정확히 [들림] 완료? 1406 01:07:24,144 --> 01:07:25,060 HANNAH BLUMBERG : 물론. 1407 01:07:25,060 --> 01:07:27,727 그래서이 사실은 아무것도하지 않는다. 1408 01:07:27,727 --> 01:07:28,935 이 액세스 할 수있는 단지 방법입니다. 1409 01:07:28,935 --> 01:07:31,393 그래서 우리가 변경을 원 가정 해 봅시다 문제 세트 수 1410 01:07:31,393 --> 01:07:32,450 9-8. 1411 01:07:32,450 --> 01:07:34,383 우리가하는 일은 뭔가를 할 것입니다 CS50.psets = 8 ;. 같은 1412 01:07:34,383 --> 01:07:38,500 1413 01:07:38,500 --> 01:07:39,400 >> 그래, 좋은 질문입니다. 1414 01:07:39,400 --> 01:07:40,733 이 그냥 구문을 보여주는 것입니다. 1415 01:07:40,733 --> 01:07:43,620 실제로 유용한 아무것도하지 않습니다. 1416 01:07:43,620 --> 01:07:46,085 질문? 1417 01:07:46,085 --> 01:07:48,210 오른쪽을 따라 이동. 1418 01:07:48,210 --> 01:07:51,960 >> 그럼 방법에 대한 간단한 예제를 살펴 보자 나는 당신에게 그것을 이야기하기 때문에 자바 스크립트를 작동 1419 01:07:51,960 --> 01:07:55,170 수행이 모든 멋진 일들과 우리가 웹 페이지를 수정할 수 있습니다. 1420 01:07:55,170 --> 01:07:56,970 의 실제 행동을 보자. 1421 01:07:56,970 --> 01:07:59,850 그래서, 예를 들어,이 HTML 파일을 받아. 1422 01:07:59,850 --> 01:08:04,350 >> 그리고 난 당신이에 초점을 맞출 것입니다 버튼입니다이 특정 태그, 1423 01:08:04,350 --> 01:08:06,182 아이디 search_button와. 1424 01:08:06,182 --> 01:08:08,670 그냥 페이지에 있습니다. 1425 01:08:08,670 --> 01:08:10,690 그래서 지금 보자 무엇 우리가 실제로 할 수 있습니다. 1426 01:08:10,690 --> 01:08:12,560 >> 음, 때 가정 해당 버튼을 클릭, 1427 01:08:12,560 --> 01:08:16,010 우리는 alert--을 만들고 싶어 당신은 버튼을 클릭했습니다. 1428 01:08:16,010 --> 01:08:17,840 이제 우리가 할 수있는 방법을 알아 보자. 1429 01:08:17,840 --> 01:08:23,869 그래서이 일이 아니다 window.onload-- 있음 따라서, 수업 시간에 본 적이 1430 01:08:23,869 --> 01:08:26,180 퀴즈를 알 필요가 없습니다. 1431 01:08:26,180 --> 01:08:33,660 그러나 이것은 기본적으로 확인, 전화, 말한다 이 기능을 사용하면 윈도우가로드됩니다. 1432 01:08:33,660 --> 01:08:35,080 >> 그래서 그냥 종류의 설정 코드의입니다. 1433 01:08:35,080 --> 01:08:36,390 그것에 대해 너무 걱정하지 마십시오. 1434 01:08:36,390 --> 01:08:39,170 내가 당신이 초점을 맞추고 자하는 것은 여기에있다. 1435 01:08:39,170 --> 01:08:44,020 우리는 VAR의 searchButton 같 말 document.getElementById를 search_button. 1436 01:08:44,020 --> 01:08:46,450 >> 당신이 짐작 그래서, 어떤이가하는 것은, 그것이 말하는입니다 1437 01:08:46,450 --> 01:08:50,920 확인 요소를 찾아 이동 아이디 search_button와. 1438 01:08:50,920 --> 01:08:52,790 그리고 지금 우리는이 그리고 난 실제 요소 1439 01:08:52,790 --> 01:08:56,279 에 저장하려고 변수 searchButton. 1440 01:08:56,279 --> 01:09:00,651 그리고 지금 우리는 실제로 요소를 사용할 수 있습니다 및 변경, 또는 그 값에 액세스, 1441 01:09:00,651 --> 01:09:01,359 그런 것들. 1442 01:09:01,359 --> 01:09:04,649 우리는 실제로 시작할 수 있습니다 웹 페이지와 결합. 1443 01:09:04,649 --> 01:09:10,330 >> 그래서 여기에 나는 지금 내가 가지고있는 것을 확인, 말 이 클릭되는 버튼, 1444 01:09:10,330 --> 01:09:12,859 이 익명 함수를 호출합니다. 1445 01:09:12,859 --> 01:09:16,811 그래서이 곳 익명 기능은 유용하게된다. 1446 01:09:16,811 --> 01:09:18,060 그리고 기능은 무엇입니까? 1447 01:09:18,060 --> 01:09:20,529 음, 그냥이를 호출 경고 기능과는 말한다 1448 01:09:20,529 --> 01:09:22,910 당신은 검색 버튼을 클릭했습니다. 1449 01:09:22,910 --> 01:09:29,670 >> 나는 곳으로 이동한다면 어떤 일이 일어날 것입니다 이 HTML이 살고 내가 버튼을 클릭, 1450 01:09:29,670 --> 01:09:33,729 나는 멋진 작은 경고를 얻을 수 있습니다 그 버튼을 클릭했다. 1451 01:09:33,729 --> 01:09:40,710 그래서 것들에 초점을 here-- 중요 document.getElementById 1452 01:09:40,710 --> 01:09:44,960 특정 HTML을 가져옵니다 지정된 ID를 가진 요소입니다. 1453 01:09:44,960 --> 01:09:48,529 그리고 지금 우리가 설정할 수 있습니다 때 무슨 일이 발생하지 1454 01:09:48,529 --> 01:09:50,702 특정 요소를 클릭합니다. 1455 01:09:50,702 --> 01:09:52,670 >> 청중 : 우리가이 모든 것을 넣어 있나요? 1456 01:09:52,670 --> 01:09:53,162 >> HANNAH BLUMBERG : 죄송합니다? 1457 01:09:53,162 --> 01:09:55,130 >> 청중 : 우리가해야합니까 물리적으로 그 모든 코드? 1458 01:09:55,130 --> 01:09:56,340 >> HANNAH BLUMBERG : 우리가해야합니까 물리적으로 그 모든 코드? 1459 01:09:56,340 --> 01:09:56,839 네. 1460 01:09:56,839 --> 01:09:58,120 짜증나는 이런 종류의 아닌가요? 1461 01:09:58,120 --> 01:10:00,032 이 코드가 많이있다. 1462 01:10:00,032 --> 01:10:01,574 >> 청중 : 당신은 뭔가를 가져올 수 있습니다. 1463 01:10:01,574 --> 01:10:02,532 HANNAH BLUMBERG : 오른쪽. 1464 01:10:02,532 --> 01:10:03,610 우리는 무언가를 사용할 수 있습니다. 1465 01:10:03,610 --> 01:10:08,140 그리고 particular--에 오, 그건 말해 나는 부분을 가르 칠해야합니다. 1466 01:10:08,140 --> 01:10:11,061 특히,하자 jQuery를 라이브러리를 사용, 1467 01:10:11,061 --> 01:10:13,060 그 정말 때문에 긴 정말 짜증나 1468 01:10:13,060 --> 01:10:16,860 나는 그것을 단순화 할 수 있도록하려면 그것은 짧고 쓰기 쉽게. 1469 01:10:16,860 --> 01:10:19,810 >> 그래서 jQuery를은 자바 스크립트 라이브러리입니다. 1470 01:10:19,810 --> 01:10:24,930 그래서 자바 스크립트 프로그래밍입니다 언어; jQuery를이 라이브러리입니다. 1471 01:10:24,930 --> 01:10:27,190 그리고 그것은 쉽게 물건을 잔뜩 있습니다. 1472 01:10:27,190 --> 01:10:33,230 그것은 변화와 가로 질러 갈 수 있습니다 HTML 문서를 훨씬 쉽게. 1473 01:10:33,230 --> 01:10:35,030 >> 이 이벤트 처리 용이합니다. 1474 01:10:35,030 --> 01:10:37,580 그것은 쉽게 애니메이션을 만든다 그것은 쉽게 Ajax를 만든다. 1475 01:10:37,580 --> 01:10:40,140 그래서이 두 가지에 뛰어 보자 지금은 그런 것들. 1476 01:10:40,140 --> 01:10:40,900 실례합니다. 1477 01:10:40,900 --> 01:10:42,620 우리가하기 전에 다음과 같은 몇 가지 기본적인 구문. 1478 01:10:42,620 --> 01:10:46,870 >> 이것은 대부분의가 부르는입니다 jQuery 라이브러리는 다음과 같다. 1479 01:10:46,870 --> 01:10:50,520 우리는이 달러를 사용 sign-- PHP에 어떤 연결 흔적, 1480 01:10:50,520 --> 01:10:56,030 단지 이름을 inconvenient-- 선택, 점, 다음 작업. 1481 01:10:56,030 --> 01:10:58,860 그래서 몇 가지를 살펴 보자 그 구체적인 예. 1482 01:10:58,860 --> 01:11:02,980 >> 그래서이 실제로 동일 이벤트 슬라이드에서 코드입니다. 1483 01:11:02,980 --> 01:11:08,740 그래서이 긴, 추악한 일이된다 이 훨씬 좋네요, 작은 것. 1484 01:11:08,740 --> 01:11:10,370 그럼이 분해 해보자. 1485 01:11:10,370 --> 01:11:17,090 이 확인 jQuery--이 달러 말한다 , JQuery와 sign-- 나에게 창을 찾을 수 있습니다. 1486 01:11:17,090 --> 01:11:18,480 그래서 선택입니다. 1487 01:11:18,480 --> 01:11:21,800 >> 이로드되면,이 함수를 호출합니다. 1488 01:11:21,800 --> 01:11:23,880 그래서 모든 내부입니다. 1489 01:11:23,880 --> 01:11:24,380 그래. 1490 01:11:24,380 --> 01:11:25,740 여태까지는 그런대로 잘됐다? 1491 01:11:25,740 --> 01:11:26,750 괜찮아. 1492 01:11:26,750 --> 01:11:32,970 >> 이제, jQuery를, 날을 찾을 수 아이디 search_button와 것. 1493 01:11:32,970 --> 01:11:36,090 그리고 그것은 무엇을 클릭하면, 이 함수를 호출합니다. 1494 01:11:36,090 --> 01:11:37,900 그리고이 함수의 정확히 같은. 1495 01:11:37,900 --> 01:11:41,052 그냥 경고의 조금을, 당신은 검색 버튼을 클릭했습니다. 1496 01:11:41,052 --> 01:11:42,650 >> 그래서 정말 좋은 데요. 1497 01:11:42,650 --> 01:11:46,260 정말 응축 우리의 코드를 단순화합니다. 1498 01:11:46,260 --> 01:11:49,030 나는 알고 않았다 방법 그것은 아이디 search_button의 1499 01:11:49,030 --> 01:11:50,960 및 클래스 search_button을 좋아하지? 1500 01:11:50,960 --> 01:11:52,024 >> 청중 : 해시 태그? 1501 01:11:52,024 --> 01:11:52,940 HANNAH BLUMBERG : 네. 1502 01:11:52,940 --> 01:11:56,450 이 해시 기호, 그냥 CSS처럼. 1503 01:11:56,450 --> 01:12:00,080 , 때 그래서 CSS로 기억 ID로 뭔가를 선택하고 싶었, 1504 01:12:00,080 --> 01:12:01,590 우리는 파운드 기호를 사용했다. 1505 01:12:01,590 --> 01:12:05,400 그리고 우리는 선택하고 싶어 할 때 클래스에 의해 무엇인가, 우리는 도트​​를 사용합니다. 1506 01:12:05,400 --> 01:12:06,870 큰. 1507 01:12:06,870 --> 01:12:08,230 이해가? 1508 01:12:08,230 --> 01:12:11,500 그래서 jQuery를가하도록되어 우리의 인생을 더 쉽게합니다. 1509 01:12:11,500 --> 01:12:12,000 네. 1510 01:12:12,000 --> 01:12:15,660 >> 청중 : 그래서는 조금 혼란 스러워요 익명 함수의 작동 방법. 1511 01:12:15,660 --> 01:12:19,027 이 anonymouse의 이름을 마 기능, 작동? 1512 01:12:19,027 --> 01:12:20,594 얼마나이라고? 1513 01:12:20,594 --> 01:12:21,510 HANNAH BLUMBERG : 물론. 1514 01:12:21,510 --> 01:12:25,812 그래서 기능은 키워드입니다 내가 함수를 정의하려고 해요 말했다. 1515 01:12:25,812 --> 01:12:26,520 청중 : OK, 오. 1516 01:12:26,520 --> 01:12:27,353 HANNAH BLUMBERG : OK? 1517 01:12:27,353 --> 01:12:32,120 그리고 우리는로 전달 인수의가 보자 이러시면 1518 01:12:32,120 --> 01:12:37,040 클릭 기능이 내부 one--. 1519 01:12:37,040 --> 01:12:39,420 그래서 그래, 그 기능 때문에, 이 익명 함수, 1520 01:12:39,420 --> 01:12:40,910 실제 인수가됩니다. 1521 01:12:40,910 --> 01:12:43,632 그래서, 자바 스크립트에 기억 우리 값으로 기능을 처리 할 수​​ 있습니다. 1522 01:12:43,632 --> 01:12:44,340 청중 : OK, 오. 1523 01:12:44,340 --> 01:12:45,256 HANNAH BLUMBERG : 네. 1524 01:12:45,256 --> 01:12:46,035 나는 것을 좋아 "오." 1525 01:12:46,035 --> 01:12:47,490 좋은. 1526 01:12:47,490 --> 01:12:49,915 다른 질문? 1527 01:12:49,915 --> 01:12:50,505 시각? 1528 01:12:50,505 --> 01:12:51,380 마리아 ZLATKOVA : 좋은. 1529 01:12:51,380 --> 01:12:52,760 좋다. 1530 01:12:52,760 --> 01:12:54,210 >> HANNAH BLUMBERG : 신난다. 1531 01:12:54,210 --> 01:12:55,720 빠른 유용 jQuery를. 1532 01:12:55,720 --> 01:12:57,559 나는 갈 않을거야 이 모든 통해. 1533 01:12:57,559 --> 01:12:59,350 이 슬라이드가 될 것입니다 온라인 조금 위로 1534 01:12:59,350 --> 01:13:02,040 나중에, 그래서 당신은 확인할 수 있습니다 조금 나중에 알아. 1535 01:13:02,040 --> 01:13:07,120 그러나 기본적으로, 일반 우리가 말할 곳 패턴은 보유 1536 01:13:07,120 --> 01:13:11,510 이봐, 확인, jQuery를, 여기의 내 여기에 선택과 행동이다. 1537 01:13:11,510 --> 01:13:15,940 그리고 당신은 액세스 등의 작업을 수행 할 수 있습니다 폼의 값은, 일부 액세스 HTML 1538 01:13:15,940 --> 01:13:19,195 때 사용자를 발생하는 제어 형태, 그런 일을 제출합니다. 1539 01:13:19,195 --> 01:13:20,106 네. 1540 01:13:20,106 --> 01:13:22,090 >> 청중 : 그렇게 시험은, 우리가 필요 해요 1541 01:13:22,090 --> 01:13:25,066 에서 꽤 많이 알고 jQuery를 문서. 1542 01:13:25,066 --> 01:13:31,018 그래서 우리는 jQuery를 붙여 넣기 / 복사 주어진 우리의 치트 시트 문서, 1543 01:13:31,018 --> 01:13:32,506 어디 라인이 그려? 1544 01:13:32,506 --> 01:13:33,957 마찬가지로 얼마나 많은 우리가 알 필요가 있습니까? 1545 01:13:33,957 --> 01:13:35,290 HANNAH BLUMBERG : 좋은 질문입니다. 1546 01:13:35,290 --> 01:13:37,765 문제는 본질적으로 주어진 1547 01:13:37,765 --> 01:13:41,330 jQuery를 문서에 액세스 할 수 없습니다 시험하는 동안, 얼마나 당신을해야 1548 01:13:41,330 --> 01:13:41,830 알고 있다? 1549 01:13:41,830 --> 01:13:45,540 우리는 당신이 와서 기대하지 않을 것이다 어떤 임의의 기능까지 1550 01:13:45,540 --> 01:13:47,240 우리는 Google에 당신을 기대할 수있다. 1551 01:13:47,240 --> 01:13:52,930 >> 공정한 게임 것들 내가 것입니다 일반 구문의 단지 종류의 말 1552 01:13:52,930 --> 01:13:58,310 ID가 선택 할 수있는과 그래서 그냥 CSS처럼 그 수업에 의해. 1553 01:13:58,310 --> 01:14:01,876 그리고 실제 기능 스스로가, 우리는 가능성이 말해주지. 1554 01:14:01,876 --> 01:14:02,376 네. 1555 01:14:02,376 --> 01:14:05,591 >> 청중 : 그래서 당신은 선택 클래스 점을 의미 할 것입니다. 1556 01:14:05,591 --> 01:14:06,840 HANNAH BLUMBERG : 예, 정확하게. 1557 01:14:06,840 --> 01:14:07,340 좋다. 1558 01:14:07,340 --> 01:14:10,461 당신이 클래스에 의해 선택하면, 그것은거야 대신 파운드 기호의 점한다. 1559 01:14:10,461 --> 01:14:10,960 네. 1560 01:14:10,960 --> 01:14:12,710 >> 청중 : 당신이겠습니까 차이 가서 1561 01:14:12,710 --> 01:14:14,310 ID에 의해 클래스 선택 사이? 1562 01:14:14,310 --> 01:14:14,560 >> HANNAH BLUMBERG : 물론. 1563 01:14:14,560 --> 01:14:17,510 선택 차이점 별로 ID와 선택. 1564 01:14:17,510 --> 01:14:20,685 마리아는 말했다 그래서 조금 일찍,가 1565 01:14:20,685 --> 01:14:26,280 하나의 HTML 요소가 될 수 지정된 ID와, 클래스 반면, 1566 01:14:26,280 --> 01:14:29,740 이 그룹 무리 우리를 수 서로의 다른 요소, 1567 01:14:29,740 --> 01:14:34,300 그래서 관련된 것들 하지만 정확히 같은. 1568 01:14:34,300 --> 01:14:35,685 그 질문에 대답합니까? 1569 01:14:35,685 --> 01:14:36,200 신난다. 1570 01:14:36,200 --> 01:14:37,194 네. 1571 01:14:37,194 --> 01:14:40,680 >> 청중 : 여러 가지고 어떤 경우 같은 클래스에있는 것들? 1572 01:14:40,680 --> 01:14:42,150 >> HANNAH BLUMBERG : 어떻게됩니까 여러 가지가있는 경우 그 1573 01:14:42,150 --> 01:14:43,280 같은 클래스는? 1574 01:14:43,280 --> 01:14:45,829 따라서, 예를 들어, 우리는이 있다면 다만, 순수 자바 스크립트를 사용하여 1575 01:14:45,829 --> 01:14:48,120 우리는 같은 것을 할 것 document.getElementsByClass. 1576 01:14:48,120 --> 01:14:52,280 1577 01:14:52,280 --> 01:14:56,320 그리고 실제로 수행 한 후 무엇을 복귀 요소들의 어레이이다. 1578 01:14:56,320 --> 01:14:59,517 >> 그리고 당신은 반복 할 중 하나가 그들에게 당신이 원하는 어느 찾거나. 1579 01:14:59,517 --> 01:15:01,350 그것은 포기하지 않을거야 당신은 하나의 요소입니다. 1580 01:15:01,350 --> 01:15:03,450 그것은 당신에게 줄거야 요소의 배열. 1581 01:15:03,450 --> 01:15:05,280 좋은 질문입니다. 1582 01:15:05,280 --> 01:15:07,700 다른 건? 1583 01:15:07,700 --> 01:15:09,520 신난다. 1584 01:15:09,520 --> 01:15:12,860 >> 그래서 나는 당신이 잘 알고 있다면 생각 어떤 jQuery를 당신은 PSET에서 본 1585 01:15:12,860 --> 01:15:15,600 당신은 갈 수 있어야한다. 1586 01:15:15,600 --> 01:15:16,325 문제? 1587 01:15:16,325 --> 01:15:17,610 아니, 오. 1588 01:15:17,610 --> 01:15:18,859 난 정말 가르 칠해야합니다. 1589 01:15:18,859 --> 01:15:19,358 편하게 하다. 1590 01:15:19,358 --> 01:15:20,035 그것은 괜찮을거야. 1591 01:15:20,035 --> 01:15:20,660 나는 거기에 도착합니다. 1592 01:15:20,660 --> 01:15:24,670 1593 01:15:24,670 --> 01:15:26,870 >> 의 아약스 대해 얘기하자. 1594 01:15:26,870 --> 01:15:31,350 그래서 아약스 할까 .. 잘 될 것입니다, 의가 무엇의 약자인지 시작하자. 1595 01:15:31,350 --> 01:15:32,350 그것은 약자입니다. 1596 01:15:32,350 --> 01:15:35,855 그것은 비동기 의미 자바 스크립트와 XML. 1597 01:15:35,855 --> 01:15:39,800 그리고 XML은 기본적으로 될 것입니다 [들리지] 우리의 데이타의 타입. 1598 01:15:39,800 --> 01:15:42,100 그러나 우리는 실제로 XML을 사용하지 않았습니다. 1599 01:15:42,100 --> 01:15:43,430 대신, 우리는 단지 JSON을 사용합니다. 1600 01:15:43,430 --> 01:15:48,350 >> 그러니까 기본적으로, 그것은 일부 data--의 비동기식 자바 스크립트, 데이터, 1601 01:15:48,350 --> 01:15:50,040 이 경우, JSON에서. 1602 01:15:50,040 --> 01:15:52,820 그리고 우리의 목표는 우리가 언급로 조금 일찍, 1603 01:15:52,820 --> 01:15:56,880 을 만들 수있을 것입니다 요청, 그 요청을 할 수있다 1604 01:15:56,880 --> 01:16:00,700 에서의 일 배경,하지만 계속 1605 01:16:00,700 --> 01:16:02,550 우리가하고자 한 무엇이든. 1606 01:16:02,550 --> 01:16:06,650 그리고 그 정보는 다음 경우 준비, 우리는 그것을 통합 할 수 있습니다. 1607 01:16:06,650 --> 01:16:08,470 >> 그래서 어떤이를 보자 실제로처럼 보인다. 1608 01:16:08,470 --> 01:16:11,210 그리고이, 당신은해야합니다 익숙한 조금 1609 01:16:11,210 --> 01:16:13,680 pset8에서, 하나는 그냥 못했습니다. 1610 01:16:13,680 --> 01:16:16,200 그래서 여기에 유효한 jQuery를이다 기능을 우리가 수도 1611 01:16:16,200 --> 01:16:18,250 이 달러 기호 비슷해 알고 싶어요. 1612 01:16:18,250 --> 01:16:21,500 그래서 jQuery를 기능, .getJson는 말한다. 1613 01:16:21,500 --> 01:16:25,020 >> 그리고 무엇이 기능을 수행하는 것은입니다 URL 및 일부 parameters-- 소요 1614 01:16:25,020 --> 01:16:28,000 그래서 경우에 생각 pset8, 그것은 마치, 1615 01:16:28,000 --> 01:16:33,520 URL이 articles.php이었고, 매개 변수는 = 일부 우편 번호를 이동했다. 1616 01:16:33,520 --> 01:16:41,580 그리고 그것은 확인에 대한 요청을 말한다 지정된 파라미터 URL을. 1617 01:16:41,580 --> 01:16:43,480 그리고 그것은 단지 발생합니다. 1618 01:16:43,480 --> 01:16:47,730 >> 이 완료되면, 그것의 하나 성공적으로 완료로 이동 1619 01:16:47,730 --> 01:16:49,370 아니면 실패 할 것입니다. 1620 01:16:49,370 --> 01:16:53,480 그래서이 호출하는 것과 동일 롭과는 뭔가를 물어. 1621 01:16:53,480 --> 01:17:00,260 그가 다시 호출 할 때 그리고, 그는의 하나 나는 끝났어요 아니면 실패 말을하려고. 1622 01:17:00,260 --> 01:17:04,030 >> 당신이있어 경우에 따라서 다, 당신이 좋아, 난 끝났어요, 말. 1623 01:17:04,030 --> 01:17:05,980 그리고 당신은이 함수를 호출합니다. 1624 01:17:05,980 --> 01:17:08,915 이 경우, 일 것 어떤 정보를 가져 기능. 1625 01:17:08,915 --> 01:17:12,890 우리가 일반적으로 신경 하나는, 데이터입니다 우리가 실제로 반환 된 데이터 1626 01:17:12,890 --> 01:17:15,900 .getJSON 호출의 결과. 1627 01:17:15,900 --> 01:17:17,470 >> 그리고 당신은 그것으로 뭔가를 할 수 있습니다. 1628 01:17:17,470 --> 01:17:23,670 pset8의 경우 그래서, 우리가 목록으로 표시됩니다. 1629 01:17:23,670 --> 01:17:29,050 실패는 기능이 될 것입니다 요청이 실패하면 그이라고 1630 01:17:29,050 --> 01:17:30,450 어떤 이유. 1631 01:17:30,450 --> 01:17:35,104 및 pset8의 경우, 우리는 단지 그것을 CONSOLE.LOG. 1632 01:17:35,104 --> 01:17:36,020 그에 대한 질문? 1633 01:17:36,020 --> 01:17:36,300 네. 1634 01:17:36,300 --> 01:17:39,633 >> 청중 : 우리는 단지 기능 세타를 사용할 수 대신 기능, textStatus, jqHXR. 1635 01:17:39,633 --> 01:17:43,464 1636 01:17:43,464 --> 01:17:44,380 HANNAH BLUMBERG : 물론. 1637 01:17:44,380 --> 01:17:46,713 그래서 그래, 나는 PSET 생각, 우리는 단지 기능 데이터를 보았다. 1638 01:17:46,713 --> 01:17:48,700 그래서 그냥 확인, 예 가까이 대고있다. 1639 01:17:48,700 --> 01:17:50,510 그것은 우리가 PSET에서 본거야. 1640 01:17:50,510 --> 01:17:51,480 즉 완전히 괜찮아요. 1641 01:17:51,480 --> 01:17:54,210 >> 당신이 원하는 경우 이러한 단지이다 자세한 내용을 꺼내, 1642 01:17:54,210 --> 01:17:57,190 이러한 것들 그 당신은 .getJSON에서 얻을 수 있습니다. 1643 01:17:57,190 --> 01:17:59,040 좋은 질문. 1644 01:17:59,040 --> 01:17:59,706 다른 건? 1645 01:17:59,706 --> 01:18:00,206 네. 1646 01:18:00,206 --> 01:18:01,787 >> 청중 : 그래서 .getJSON 아약스입니까? 1647 01:18:01,787 --> 01:18:02,620 HANNAH BLUMBERG : OK. 1648 01:18:02,620 --> 01:18:05,700 그래서이 까다로운 부분의 종류입니다. 1649 01:18:05,700 --> 01:18:12,390 그것은 수있는 jQuery를 함수입니다 당신은 비동기 호출을 할 수 있습니다. 1650 01:18:12,390 --> 01:18:16,080 그리고 그 비동기 호출은, 그건 우리가 아약스로 참조했습니다. 1651 01:18:16,080 --> 01:18:16,850 네. 1652 01:18:16,850 --> 01:18:20,185 그건 나에게 정말 오랜 시간이 걸렸습니다 내가 학생 때 따로 빼냅니다. 1653 01:18:20,185 --> 01:18:21,560 청중 : 다시 그런 말을 할 수 있습니까? 1654 01:18:21,560 --> 01:18:22,476 HANNAH BLUMBERG : 네. 1655 01:18:22,476 --> 01:18:23,630 다시는 그런 말을 할 수 있습니까? 1656 01:18:23,630 --> 01:18:29,010 이 .getJSON 함수 그것은 jQuery를 함수입니다. 1657 01:18:29,010 --> 01:18:31,970 그리고 그것은 만들 것 비동기 호출. 1658 01:18:31,970 --> 01:18:35,700 그리고 이러한 비동기 호출, 우리는했습니다 아약스와 같은 사람들을 언급하고. 1659 01:18:35,700 --> 01:18:39,610 1660 01:18:39,610 --> 01:18:41,872 >> 다른 질문? 1661 01:18:41,872 --> 01:18:43,330 우리는 왼쪽으로 단지 몇 분 있습니다. 1662 01:18:43,330 --> 01:18:45,080 그리고 마리아의이가는 보안 마무리 1663 01:18:45,080 --> 01:18:47,464 그리고, 우리는거야 단지에 대한 수행 할 수 있습니다. 1664 01:18:47,464 --> 01:18:48,630 마리아 ZLATKOVA : 신난다, 확인을 클릭합니다. 1665 01:18:48,630 --> 01:18:54,030 그래서 이것은 단지 몇을 is-- 초 중이를 통해 볼 수 있습니다. 1666 01:18:54,030 --> 01:18:56,750 그리고 이것은 정말 좋은 일이 아니다. 1667 01:18:56,750 --> 01:18:59,430 왜 누군가가 나를 알 수 있습니까? 1668 01:18:59,430 --> 01:19:05,650 무엇 foo는에서 일어나는 월 수있다 잠재적으로 나쁜 일이 발생, 1669 01:19:05,650 --> 01:19:06,770 그는 무엇이라고? 1670 01:19:06,770 --> 01:19:07,270 네. 1671 01:19:07,270 --> 01:19:10,391 청중 : 만약의 인수 12 개 이상의 자에 전달, 1672 01:19:10,391 --> 01:19:11,454 그것은 오버 플로우 수 있습니다. 1673 01:19:11,454 --> 01:19:12,370 마리아 ZLATKOVA : 오른쪽. 1674 01:19:12,370 --> 01:19:14,180 완전한. 1675 01:19:14,180 --> 01:19:15,384 뭐라고 해요? 1676 01:19:15,384 --> 01:19:16,300 당신은 그것을 언급했다. 1677 01:19:16,300 --> 01:19:16,840 >> 청중 : 버퍼 오버 플로우. 1678 01:19:16,840 --> 01:19:18,381 >> 마리아 ZLATKOVA : 아, 그래, 버퍼 오버 플로우. 1679 01:19:18,381 --> 01:19:21,230 그래서 뭔가입니다 우리 버퍼 오버 플로우로를 참조하십시오. 1680 01:19:21,230 --> 01:19:25,500 그리고 우리는, foo는의 내부를 볼 수 우리는 우리의 버퍼, C를 정의한 1681 01:19:25,500 --> 01:19:27,240 (12)의 크기. 1682 01:19:27,240 --> 01:19:32,680 그러나, 메인, 우리는하지 않습니다 전혀 방법으로 확인 1683 01:19:32,680 --> 01:19:36,480 여부 있도록 argv1-- 두 번째 인수했다. 1684 01:19:36,480 --> 01:19:39,630 우리는 여부를 확인하지 않는 그것의 크기는 적절하다. 1685 01:19:39,630 --> 01:19:43,380 >> 그래서 만약 우리가 있었다 특히 악의적 인 사용자 1686 01:19:43,380 --> 01:19:47,170 이었다 일부 인수에 넣어 사람 (12)보다 더 길게하고 잠재적 1687 01:19:47,170 --> 01:19:50,850 그 경계를 넘어 인수, 약간의 실행 코드가 있었다 1688 01:19:50,850 --> 01:19:55,570 그는 나쁜 일을하려고했던 것을 그것으로; 다음이, 어떤 일이 일어날 것 1689 01:19:55,570 --> 01:19:59,310 수익을 재정의 foo는 함수의 주소, 1690 01:19:59,310 --> 01:20:04,370 경우에 기능을 일으키는 그 코드를 실행하도록 복귀. 1691 01:20:04,370 --> 01:20:07,540 그리고 나쁜 일이 일어날 수 있습니다. 1692 01:20:07,540 --> 01:20:09,850 이 모든 사람에게 의미가 있습니까? 1693 01:20:09,850 --> 01:20:12,424 >> 그리고 우리는이에 대해 어떻게 보호 할 수 있습니까? 1694 01:20:12,424 --> 01:20:13,090 어떤 제안? 1695 01:20:13,090 --> 01:20:16,480 1696 01:20:16,480 --> 01:20:21,890 기본적으로, 내부 잠재적 foo는 어떻게 1697 01:20:21,890 --> 01:20:28,294 우리는 확인하고 점검 할 수 있습니다 것을에게 그런 일이 없다? 1698 01:20:28,294 --> 01:20:33,879 >> 청중 : 크기 12를 초과하면, 당신은 추가 메모리를 할당 할 것인가? 1699 01:20:33,879 --> 01:20:37,170 마리아 ZLATKOVA : 제안은, 할당 크기의 추가 메모리를 초과했습니다. 1700 01:20:37,170 --> 01:20:39,800 사실, 우리는 뭔가를 할 수있는 뿐만 아니라보다 간단 많이합니다. 1701 01:20:39,800 --> 01:20:44,870 우리는 단지 문자열 길이를 얻을 수 있습니다 입력 인수의, 1702 01:20:44,870 --> 01:20:48,590 그 이하인지 확인 이상 또는 12-- 같음 1703 01:20:48,590 --> 01:20:50,790 우리가 원하는 무슨이다 우리가 원하지 않기 때문에 할 수 1704 01:20:50,790 --> 01:20:52,373 그것은 우리의 버퍼의 범위를 초과. 1705 01:20:52,373 --> 01:20:55,690 그리고 그렇지 않은 후, 우리 인수와 함께 작업 할 수 있습니다. 1706 01:20:55,690 --> 01:21:00,296 만약 그렇다면 그 다음, 우리가 실제로 원하는 사용자에 잠재적 여보 쇼입니다. 1707 01:21:00,296 --> 01:21:01,670 그러나 이것은 우리가 그렇게 할 것입니다 방법이다. 1708 01:21:01,670 --> 01:21:02,443 네. 1709 01:21:02,443 --> 01:21:04,360 >> 청중 : 당신이 할 수 방어 적이기 진짜 빨리 설명? 1710 01:21:04,360 --> 01:21:05,443 마리아 ZLATKOVA : 아, 죄송합니다. 1711 01:21:05,443 --> 01:21:06,040 네. 1712 01:21:06,040 --> 01:21:11,290 방어 적이기 확인, 어떤 is-- 죄송합니다. 1713 01:21:11,290 --> 01:21:15,850 방어 적이기는 무엇이든한다 줄에, 어떤이 전달됩니다 1714 01:21:15,850 --> 01:21:18,050 명령 행 인수로 foo는 상. 1715 01:21:18,050 --> 01:21:19,440 그래서 argv1를 취할 것입니다. 1716 01:21:19,440 --> 01:21:21,420 Argv1 여기에 줄이라고합니다. 1717 01:21:21,420 --> 01:21:24,453 그래서 줄을 것 및 그것은 C에 복사하는 것입니다. 1718 01:21:24,453 --> 01:21:25,402 >> 청중 : OK. 1719 01:21:25,402 --> 01:21:28,360 마리아 ZLATKOVA : 그리고 그것은 것 세 번째 인수는 단지 의미 copy-- 1720 01:21:28,360 --> 01:21:30,601 얼마나로는 C로 복사하는 것입니다. 1721 01:21:30,601 --> 01:21:31,142 청중 : 아. 1722 01:21:31,142 --> 01:21:33,030 그래서 하나의 복사 다음의 모든. 1723 01:21:33,030 --> 01:21:34,310 >> 마리아 ZLATKOVA : 네, 그것은 전부를 복사하다. 1724 01:21:34,310 --> 01:21:34,810 네. 1725 01:21:34,810 --> 01:21:38,400 1726 01:21:38,400 --> 01:21:41,910 첫째, 우리는 줄이 있지 않은지 확인 이 포인터이기 때문에 동일한 null로. 1727 01:21:41,910 --> 01:21:44,680 그 다음 우리는 바의 문자열 길이를 얻을. 1728 01:21:44,680 --> 01:21:47,530 우리는 그것의 있는지 확인 12 이하. 1729 01:21:47,530 --> 01:21:50,070 그리고 우리는했습니다 때문에 확인했다, 우리가 실제로 할 수있는 1730 01:21:50,070 --> 01:21:53,122 방어 적이기과하면 해당 괜찮아 있는지 확인하십시오. 1731 01:21:53,122 --> 01:21:53,705 질문? 1732 01:21:53,705 --> 01:21:56,280 1733 01:21:56,280 --> 01:21:58,690 큰. 1734 01:21:58,690 --> 01:22:00,400 나는이 참 또는 거짓 질문이 있습니다. 1735 01:22:00,400 --> 01:22:05,470 사람이 바로 말해 줄 수 이러한 사실 또는 거짓인지? 1736 01:22:05,470 --> 01:22:07,460 예, 그것은 거짓입니다. 1737 01:22:07,460 --> 01:22:07,960 정확하게. 1738 01:22:07,960 --> 01:22:09,330 둘 다 false입니다. 1739 01:22:09,330 --> 01:22:12,682 하나의 암호를 사용하여 그래서 결코 정말 좋은 생각이다 1740 01:22:12,682 --> 01:22:14,890 누군가가 알고 있다면 때문에 비밀번호, 그들은 단지 수 1741 01:22:14,890 --> 01:22:16,260 다른 모든 계정에 액세스 할 수 있습니다. 1742 01:22:16,260 --> 01:22:19,260 그리고 아이콘은 아무것도하지 않고 보안을 보장합니다. 1743 01:22:19,260 --> 01:22:24,900 우리는 일반적으로 HTTPS를 찾아야한다 대신에 HTTP 및 URL의. 1744 01:22:24,900 --> 01:22:28,560 >> 의 그리고 다른 유형 우리가 언급했던 공격, 1745 01:22:28,560 --> 01:22:31,390 다윗은 언급했다고 SQL 주입 공격을 강의. 1746 01:22:31,390 --> 01:22:37,310 우리는 이미 보았다 우리는이 설마 또 ... 경우 CS50 쿼리 기능을 확인하십시오 SQL을 만든다 1747 01:22:37,310 --> 01:22:39,530 주입 공격이 발생할 수 없습니다. 1748 01:22:39,530 --> 01:22:42,640 그러나 우리는 CS50를 사용하지 않은 경우, 인용, 인용을 끝내 "쿼리" 1749 01:22:42,640 --> 01:22:46,830 우리는 확인해야 할 것입니다 그 사용자 입력은 실제로 어떤 SQL 아니다 1750 01:22:46,830 --> 01:22:49,670 모든 원인이됩니다 쿼리 우리 테이블은 삭제합니다 1751 01:22:49,670 --> 01:22:54,070 나에게 나쁜 일을 우리의 데이터베이스와 함께 일어난다. 1752 01:22:54,070 --> 01:22:56,790 >> 세션 하이재킹은 다른 타입의 공격 1753 01:22:56,790 --> 01:23:05,940 그 때 어떤 나쁜 일이 사람은 일부 피해자의 세션을 사용 1754 01:23:05,940 --> 01:23:08,740 ID는 로그인 정보에 액세스한다. 1755 01:23:08,740 --> 01:23:13,620 그래서 아주 사소한 예입니다 같은 우리가 공용 컴퓨터를 사용하는 경우, 1756 01:23:13,620 --> 01:23:21,120 다음 나쁜 사람의 다음 기록 그들은 저장되는 쿠키가 있습니다. 1757 01:23:21,120 --> 01:23:23,380 그리고 쿠키가 세션에 대해 변경되지 않습니다. 1758 01:23:23,380 --> 01:23:27,620 >> 그 다음 우리는 피해자에 이동했다 다음 웹 사이트에 로그인합니다. 1759 01:23:27,620 --> 01:23:30,290 쿠키는 변경되지 않습니다 특정 세션. 1760 01:23:30,290 --> 01:23:33,060 그리고 피해자에 로그인 다음 웹 사이트 및 나뭇잎. 1761 01:23:33,060 --> 01:23:36,190 그리고 그 사람은 누가 돌아갑니다 다음 여전히 자신의 세션 ID를 사용할 수 있습니다 1762 01:23:36,190 --> 01:23:37,430 자신의 정보에 액세스 할 수 있습니다. 1763 01:23:37,430 --> 01:23:40,050 그래서의 한 예이다 그런 일이 수 있는지. 1764 01:23:40,050 --> 01:23:45,570 >> 그리고 나는 너무 많이 걱정하지 것이다 특정 코드 또는 아무것도에 대한 1765 01:23:45,570 --> 01:23:49,270 이 발생할 수있는 그런, 하지만 생각의 일종을 가지고 무엇을 1766 01:23:49,270 --> 01:23:51,400 이에 포함 된 변수입니다. 1767 01:23:51,400 --> 01:23:53,897 그리고 헤더를 조작 데이터는 다른 타입의 공격 인 1768 01:23:53,897 --> 01:23:55,230 즉 다윗에 대해 이야기했다있다. 1769 01:23:55,230 --> 01:23:59,730 그리고 그것은 단지를 말한다 때 일어날 수있는 일 1770 01:23:59,730 --> 01:24:04,300 응답, HTTP 우리의 헤더의 내부 응답 1771 01:24:04,300 --> 01:24:05,720 제대로 소독되지 않습니다. 1772 01:24:05,720 --> 01:24:14,340 >> 예컨대 fields-- 중 어느 누군가가 머리글 중 하나를 덮어 쓰는 경우 1773 01:24:14,340 --> 01:24:18,860 값보다 더 많은 것을 포함합니다 그들이 contain--해야하며, 실제로 1774 01:24:18,860 --> 01:24:22,720 , (200), 예를 들면, 포함 확인 상태 코드, 그들은 다음 1775 01:24:22,720 --> 01:24:26,890 악의적 할 수 물건은 그들에 생각하지 않을 때. 1776 01:24:26,890 --> 01:24:30,815 하지만 너무 걱정하지 것이다 특정 코드에 대한 많은 1777 01:24:30,815 --> 01:24:34,110 즉,이 발생할 수 있습니다 이해의 단지 종류 1778 01:24:34,110 --> 01:24:37,290 같은 높은 수준의 것들. 1779 01:24:37,290 --> 01:24:39,570 >> 나는이 모든 생각 우리는 포함해야한다는 것을. 1780 01:24:39,570 --> 01:24:40,090 놀랄 만한. 1781 01:24:40,090 --> 01:24:43,310 누구나 어떤에 대한 질문이 우리가 다루는 것들? 1782 01:24:43,310 --> 01:24:44,213 네. 1783 01:24:44,213 --> 01:24:48,077 >> 청중 : 그래서 한 종류의 더 물류 질문입니다. 1784 01:24:48,077 --> 01:24:53,400 콘텐츠는 주로 집중 퀴즈 1 일 이후 일에? 1785 01:24:53,400 --> 01:24:55,730 >> 마리아 ZLATKOVA : 그래서 질문은, 콘텐츠 인 1786 01:24:55,730 --> 01:24:59,720 퀴즈 1 일 이후 일에 주로 초점을 맞추고? 1787 01:24:59,720 --> 01:25:06,070 그래서 초점은 후에이다 예외 퀴즈 1 1788 01:25:06,070 --> 01:25:10,914 우리는 사물에 초점을 맞출 필요가 있음 pset5 및 데이터 구조의 많은 1789 01:25:10,914 --> 01:25:11,580 우리가 덮여있다. 1790 01:25:11,580 --> 01:25:14,300 그리고 우리는 말할 수 없다 우리 전에 어떤 것도 무시할 수 있습니다 1791 01:25:14,300 --> 01:25:17,120 그것뿐만 아니라 그것을 바탕으로 구축 때문. 1792 01:25:17,120 --> 01:25:21,845 >> 그래서에 초점 플러스 pset5 물질 연결리스트, 스택을 포함하는 등, 1793 01:25:21,845 --> 01:25:23,720 큐, 모든 한나를 통해 갔다. 1794 01:25:23,720 --> 01:25:24,050 >> HANNAH BLUMBERG : 오른쪽. 1795 01:25:24,050 --> 01:25:27,450 그래, 우리는 모든 C 물건을 비켜갔습니다 아주 아주 빨리 시작. 1796 01:25:27,450 --> 01:25:29,090 하지만를 검토해야합니다. 1797 01:25:29,090 --> 01:25:32,700 돌아가서 퀴즈 0 리뷰를 볼. 1798 01:25:32,700 --> 01:25:36,110 >> 몇 가지 더 물류 정보, 다만 동안 우리는 관심을 가지고있다. 1799 01:25:36,110 --> 01:25:39,100 우리는 근무 시간을해야 할 것 모두 월요일과 화요일 밤에. 1800 01:25:39,100 --> 01:25:41,540 그들은 MD 119에있을 것입니다. 1801 01:25:41,540 --> 01:25:44,220 이 때문에, 모든 웹 사이트에 당신은, 걱정이 들리지 않는 경우. 1802 01:25:44,220 --> 01:25:45,266 >> 마리아 ZLATKOVA : 8시 30분부터 11시까지. 1803 01:25:45,266 --> 01:25:46,260 >> HANNAH BLUMBERG : 네, 8시 30분부터 11시까지. 1804 01:25:46,260 --> 01:25:46,910 우리는 거기에있을 것이다. 1805 01:25:46,910 --> 01:25:48,368 우리는 질문에 대한 답변이있을 것이다. 1806 01:25:48,368 --> 01:25:49,480 그것은 꽤 진정과 재미 있어요. 1807 01:25:49,480 --> 01:25:53,240 너희들은 어떤 질문을 할 수 당신은 퀴즈 1에 있는지. 1808 01:25:53,240 --> 01:25:55,740 그리고 퀴즈 1에있다 수요일 그래서 행운을 빕니다. 1809 01:25:55,740 --> 01:25:59,770 당신은 아마, 문의 사항이있는 경우 여기에 일대일를 우리에게 이야기를 온다. 1810 01:25:59,770 --> 01:26:00,880 시원한. 1811 01:26:00,880 --> 01:26:01,630 정말 감사합니다. 1812 01:26:01,630 --> 01:26:02,880 >> 마리아 ZLATKOVA : 감사합니다 너무 많은, 사람. 1813 01:26:02,880 --> 01:26:03,480 >> 청중 : 야호. 1814 01:26:03,480 --> 01:26:05,930 >> [박수 갈채] 1815 01:26:05,930 --> 01:26:07,530