1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [음악 연주] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 HANNAH : 안녕하세요, 여러분. 5 00:00:12,700 --> 00:00:15,866 당신에게와 주셔서 너무 많은 사람을 감사 퀴즈 하나에 대한 역겨운 날씨 6 00:00:15,866 --> 00:00:16,910 세션을 검토합니다. 7 00:00:16,910 --> 00:00:20,020 너희들은, 퀴즈 알다시피 하나는이 수요일이다. 8 00:00:20,020 --> 00:00:22,209 그래서 우리는 갈거야 주제의 무리를 통해. 9 00:00:22,209 --> 00:00:24,000 다빈 : 이봐, 내가 말할 수있는 진짜 빨리 무엇인가? 10 00:00:24,000 --> 00:00:25,215 HANNAH : 네, 다빈의가는 진짜 빨리 뭔가 대답. 11 00:00:25,215 --> 00:00:25,780 다빈 : 죄송합니다. 12 00:00:25,780 --> 00:00:29,490 그냥 진짜 빨리, 당신은 질문이있는 경우 퀴즈에 대해, 당신은 온라인으로 갈 수 있습니다. 13 00:00:29,490 --> 00:00:32,420 퀴즈에 대해 2014 퀴즈 하나로 이동합니다. 14 00:00:32,420 --> 00:00:34,680 그것은 약 물류 있어요 어디로, 때 이동합니다. 15 00:00:34,680 --> 00:00:38,100 당신이 동시에 등록하는 경우, 우리는있어 5시 30 분 메이크업 퀴즈를해야 할 것. 16 00:00:38,100 --> 00:00:40,350 아니면 나에게 문제를 전송하는 경우, 당신은 몇 가지 다른 문제가 있습니다. 17 00:00:40,350 --> 00:00:42,640 그러나 5:30 메이크업입니다 수요일에 시간. 18 00:00:42,640 --> 00:00:44,540 하지만 당신은 질문이있는 경우, 질문이 있으시면, 19 00:00:44,540 --> 00:00:45,748 온라인은 모든 물류가 있습니다. 20 00:00:45,748 --> 00:00:47,690 그래서 그곳에 먼저 확인합니다. 21 00:00:47,690 --> 00:00:49,070 >> HANNAH : 신난다. 22 00:00:49,070 --> 00:00:53,030 그래서 여기에 주제의 큰 목록입니다 우리는 오늘을 통해 갈 거라고. 23 00:00:53,030 --> 00:00:57,390 나는 C의 모든 다루려고 첫 번째 열입니다 물건. 24 00:00:57,390 --> 00:01:00,710 그래서 C 물건 것을 우리 퀴즈 제로 후 덮여. 25 00:01:00,710 --> 00:01:05,459 링크 된 목록을 시작으로, 어떤 포인터를 포함한다. 26 00:01:05,459 --> 00:01:07,668 >> 좋아, 그래서 우리는 이것을보고 마지막 검토 세션에서, 27 00:01:07,668 --> 00:01:10,000 그래서 나는 통해 갈거야 이 조금 더 빠르다. 28 00:01:10,000 --> 00:01:13,500 당신이 나를 원한다면 그냥 손을 들어 느려지거나 더 뭔가를 해결합니다. 29 00:01:13,500 --> 00:01:17,150 그러나 우리는 때문에 링크리스트를 사용하십시오 우리는 배열을 C에서 시작했다. 30 00:01:17,150 --> 00:01:20,920 그리고 배열은 훌륭하지만, 문제점은 고정 된 크기를 가지고있다. 31 00:01:20,920 --> 00:01:24,925 연결리스트는 우리가 만들 수 있습니다 동적 데이터 구조 크기. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> 그리고 우리는 우리의 기본 동작을 가지고, 삽입, 삭제 및 검색 할 수 있습니다. 34 00:01:32,320 --> 00:01:36,780 그리고 우리는에 삽입 할 수 있습니다 최악의 경우 일정 시간 35 00:01:36,780 --> 00:01:39,140 우리는 처음에 넣어합니다. 36 00:01:39,140 --> 00:01:45,220 최악의 삭제 및 검색 오 n 개의 시간의 큰 경우. 37 00:01:45,220 --> 00:01:47,140 그래서 다시, 그냥 플립합니다 이 사진을 통해, 38 00:01:47,140 --> 00:01:50,860 나는 우리가 지난 시간을보고 알아,하지만 우리 우리의 연결리스트를 추적 할 39 00:01:50,860 --> 00:01:53,440 추적함으로써 우리의 연결리스트의 머리. 40 00:01:53,440 --> 00:01:55,580 우리는 것을 알고 있기 때문에 우리의 각 노드 하나 41 00:01:55,580 --> 00:01:58,610 단지를 가리려고하고있다 우리의 링크 목록에서 다음 노드. 42 00:01:58,610 --> 00:02:00,460 >> 그래서 우리가 추적 방법입니다. 43 00:02:00,460 --> 00:02:02,910 이러한는 아닐지라도 메모리의 연속 조각, 44 00:02:02,910 --> 00:02:07,410 우리는 단지에서 찾을 수 다른 화살표를 따라. 45 00:02:07,410 --> 00:02:09,800 여기에 우리의 구조 연결리스트 노드. 46 00:02:09,800 --> 00:02:11,440 우리는이 마지막 시간을 보았다. 47 00:02:11,440 --> 00:02:13,080 우리는 우리의 구조체 노드를 가지고있다. 48 00:02:13,080 --> 00:02:14,340 그리고 그것은 두 가지 속성이 있습니다. 49 00:02:14,340 --> 00:02:17,020 번호 하나, 실제 값은 우리가 저장할. 50 00:02:17,020 --> 00:02:18,290 이 경우는 정수이다. 51 00:02:18,290 --> 00:02:21,100 그것은 문자열을 수 있습니다, 그것은 수 당신이 원하는대로 숯이 될 수도 있습니다. 52 00:02:21,100 --> 00:02:24,710 그리고 우리는 추적해야 우리의 링크 된리스트에서 다음 노드. 53 00:02:24,710 --> 00:02:29,797 그래서이 될 것 다음 노드 포인터. 54 00:02:29,797 --> 00:02:31,880 당신이 일을 한 경우 검색은 내가 전에 말했듯이, 같은 55 00:02:31,880 --> 00:02:34,900 당신은 당신의 화살표를 따라해야 할 것이다. 56 00:02:34,900 --> 00:02:40,720 삽입, 당신은 추적 할 것 목록의 나머지는 어디에. 57 00:02:40,720 --> 00:02:44,150 그리고 당신은 머리를 리디렉션 할 우리의 새로운 요소를 가리 키도록하는 58 00:02:44,150 --> 00:02:46,640 이 경우, 하나 다음 하나를 가리 킵니다 59 00:02:46,640 --> 00:02:49,480 링크 된리스트의 나머지. 60 00:02:49,480 --> 00:02:52,996 그래서 다시, 나는이 조금 알고 퀴즈 0에서 반복의 비트. 61 00:02:52,996 --> 00:02:55,370 그래서 우리는 매우 조심해야 주문에 관한 한 우리 62 00:02:55,370 --> 00:03:00,390 우리가하지 않는 때문에 이러한 pointings을 리스트의 뒤쪽의 트랙을 잃는다. 63 00:03:00,390 --> 00:03:04,122 와 확인, 질문 그냥 단독으로 연결리스트? 64 00:03:04,122 --> 00:03:06,060 신난다, OK, 멋진. 65 00:03:06,060 --> 00:03:09,410 >> 그래서 지금, 우리는 뭔가에 갈거야 단지 약간 더 복잡, 66 00:03:09,410 --> 00:03:10,920 이중 연결리스트. 67 00:03:10,920 --> 00:03:13,680 유지 이외에 그래서 다음 노드의 선로, 68 00:03:13,680 --> 00:03:16,220 우리는 또한 추적 할 이전 노드. 69 00:03:16,220 --> 00:03:19,580 우리가 있다면 그리고 이것은, 우리를 수 우리의 연결리스트의 어떤 시점에서, 70 00:03:19,580 --> 00:03:23,110 뿐만 아니라 앞으로 이동하지만, 또한 거꾸로 반복. 71 00:03:23,110 --> 00:03:25,220 우리가 보았 듯이 때문에 단일 연결리스트, 72 00:03:25,220 --> 00:03:27,980 우리는 몇 가지 노드에서 있었고, 경우 갑자기, 우리는 결정 73 00:03:27,980 --> 00:03:30,160 사실은 가고 싶은 내 앞에 노드를 오른쪽으로, 74 00:03:30,160 --> 00:03:32,034 모든 가야 할 것 다시 머리로가는 길 75 00:03:32,034 --> 00:03:35,710 당신이 발견 될 때까지 반복 적용 당신이 찾고있는 노드입니다. 76 00:03:35,710 --> 00:03:37,680 >> 그래서이 일을하게 우리가있는 한 약간 쉽게 77 00:03:37,680 --> 00:03:39,670 반복하려고 우리의 링크 목록을. 78 00:03:39,670 --> 00:03:47,870 그러나 하나의 추적 것을 요구 더 포인터, 그래서 하나 이상의 노드 스타. 79 00:03:47,870 --> 00:03:50,830 좋아, 그래서 여기에 재미있는 부분을 온다. 80 00:03:50,830 --> 00:03:55,600 우리는 구현 연습거야 이중 연결리스트에 대한 제거합니다. 81 00:03:55,600 --> 00:03:58,660 그래서이 뭔가입니다 퀴즈 완전히 공정한 게임. 82 00:03:58,660 --> 00:04:00,750 그것은 지난 퀴즈에 나타났다. 83 00:04:00,750 --> 00:04:04,220 그래서 확실히 준비 C.에서 약간의 부호화 84 00:04:04,220 --> 00:04:07,900 모두와 함께 잊지 마십시오 이 재미있는 PHP와 자바 스크립트, 85 00:04:07,900 --> 00:04:10,560 우리는 아직도 기억해야 C.을 그래서 솔질하는 86 00:04:10,560 --> 00:04:12,146 경우 녹슨 느낌이있어. 87 00:04:12,146 --> 00:04:14,580 >> 좋아, 우리는이 작업을 수행 할 수 있는지 보자. 88 00:04:14,580 --> 00:04:16,312 시원하고 확인을 클릭합니다. 89 00:04:16,312 --> 00:04:18,600 그래서 우리는 시도거야 여기에서 마우스 오른쪽 버튼을 편집하려면 90 00:04:18,600 --> 00:04:20,707 계획대로 희망이 간다. 91 00:04:20,707 --> 00:04:23,915 좋아, 사람이 나를주고 싶어 않습니다 내가 시작하는 방법에 관한 제안? 92 00:04:23,915 --> 00:04:27,030 난 단지 가정 결정은 내가 이미입니다 93 00:04:27,030 --> 00:04:30,180 구조 정의, 하나는 내가 마지막 페이지에 보여 주었다 94 00:04:30,180 --> 00:04:31,420 마지막 슬라이드에. 95 00:04:31,420 --> 00:04:39,250 그리고 연결된 내 머리를 저장 해요 일부 포인터의 목록은 목록을했다. 96 00:04:39,250 --> 00:04:42,190 그 누구도 날이 시작하기 원합니까? 97 00:04:42,190 --> 00:04:45,410 >> 청중 : 당신은 새를 만들 수 있습니다 노드 목록을 호출? 98 00:04:45,410 --> 00:04:46,410 >> HANNAH : 멋진, 그래서 우리가 창조하는거야 99 00:04:46,410 --> 00:04:47,951 새로운 노드 목록을 크롤링. 100 00:04:47,951 --> 00:04:48,570 나는 그것을 좋아한다. 101 00:04:48,570 --> 00:04:50,799 그 확인의 경우 그냥 포인터를 호출합니다. 102 00:04:50,799 --> 00:04:52,340 어디 그것은 원래 시작해야합니까? 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> 청중 : 아마 목록의 머리. 105 00:04:59,840 --> 00:05:00,590 HANNAH : 아름다운. 106 00:05:00,590 --> 00:05:03,670 우리는 머리에서 시작하려는 나는 목록에 저장 될 것입니다 말했다. 107 00:05:03,670 --> 00:05:04,170 신난다. 108 00:05:04,170 --> 00:05:05,220 지금까지, 너무 좋아. 109 00:05:05,220 --> 00:05:08,260 그리고 지금, 우리의 목표이다 목록을 반복 110 00:05:08,260 --> 00:05:12,870 우리는 노드를 찾을 때까지 우리 삭제할 값 n. 111 00:05:12,870 --> 00:05:13,540 OK? 112 00:05:13,540 --> 00:05:15,910 >> 그래서 지금 어디 부분이다 우리는을 통해 반복 할 수 있습니다. 113 00:05:15,910 --> 00:05:19,488 누구를 제안 할 수 있습니다 방법을 반복하는? 114 00:05:19,488 --> 00:05:20,979 >> 청중 : 루프. 115 00:05:20,979 --> 00:05:21,840 >> HANNAH : 루프. 116 00:05:21,840 --> 00:05:22,620 나는 그것을 사랑 해요. 117 00:05:22,620 --> 00:05:25,550 특히, 우리는 while 루프를 시도 할 수 있습니다. 118 00:05:25,550 --> 00:05:30,919 OK, 우리는 우리가 도달 한 것을 알고있다 우리의 목록 때 무슨 말? 119 00:05:30,919 --> 00:05:32,210 청중 : 포인터가 null의 경우. 120 00:05:32,210 --> 00:05:33,418 HANNAH : 포인터가 null의 경우. 121 00:05:33,418 --> 00:05:34,320 아름다운, 나는 그것을 사랑 해요. 122 00:05:34,320 --> 00:05:35,110 시원하고 확인을 클릭합니다. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 내 경계 중괄호 인 경우 너무 미안하다 종류의 화면에서 떨어지는. 125 00:05:43,190 --> 00:05:44,090 우리는 그것을 다시 가져왔다. 126 00:05:44,090 --> 00:05:46,610 시원하고 확인을 클릭합니다. 127 00:05:46,610 --> 00:05:48,690 다음은 뭡니까? 128 00:05:48,690 --> 00:05:51,950 >> 그래서 우리는 우리가 삭제할 알고 n 값을 갖는 노드. 129 00:05:51,950 --> 00:05:56,340 그래서이 사건 곳을 찾을 수 있습니다 우리는 실제로 우리의 노드를 찾을 수 있습니다. 130 00:05:56,340 --> 00:05:57,840 그래서 내가 어떻게 확인까요? 131 00:05:57,840 --> 00:06:02,210 난 그냥 포인터 경우, 다음 경우를 말하고 싶지만 I 포인터에서 값을 얻으려면, 132 00:06:02,210 --> 00:06:08,940 난 그냥, N 화살표 않는다 N, 파라미터 같음 133 00:06:08,940 --> 00:06:14,490 우리는이 함수에 준, 우리가 실제로 삭제하려는 노드입니다. 134 00:06:14,490 --> 00:06:17,090 여기까지 질문? 135 00:06:17,090 --> 00:06:18,360 좋아. 136 00:06:18,360 --> 00:06:24,140 좋아, 그럼 이제 빠른 그림을 그려 보자 보드에 위해이를 시각화한다. 137 00:06:24,140 --> 00:06:30,710 >> 그럼 우리의 사랑스러운 노드가 말할 수 있습니다. 138 00:06:30,710 --> 00:06:34,480 그리고이 값을 가지고, 난 그냥 네 말을합니다. 139 00:06:34,480 --> 00:06:40,340 그리고 다음을 가리키는 우리의 연결리스트에 노드입니다. 140 00:06:40,340 --> 00:06:42,220 그리고 전에 아무것도 없다. 141 00:06:42,220 --> 00:06:45,800 그래서 우리는 우리의 이전을 아무것도 가리키는. 142 00:06:45,800 --> 00:06:48,110 이 경우, 우리는 거꾸로 가리. 143 00:06:48,110 --> 00:06:50,960 OK, 단지 설정 내 여기에 목록을 연결. 144 00:06:50,960 --> 00:06:53,630 그리고 우리는 포인트 목록을 가지고 이 구조로 시작합니다. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 나는 한 번 더 그릴 것 완전성을 위해. 147 00:07:00,485 --> 00:07:04,209 148 00:07:04,209 --> 00:07:06,117 확인을 클릭합니다. 149 00:07:06,117 --> 00:07:07,480 나는이 앞으로하겠다. 150 00:07:07,480 --> 00:07:09,550 그리고 나는 그 한 명을하겠다. 151 00:07:09,550 --> 00:07:10,360 죄송합니다, 죄송합니다. 152 00:07:10,360 --> 00:07:12,710 그래, 거꾸로이있어. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 다시 작업을 수행합니다. 155 00:07:16,967 --> 00:07:18,330 OK, 거기에 우리가 간다. 156 00:07:18,330 --> 00:07:19,910 좋아, 그것을 얻었다. 157 00:07:19,910 --> 00:07:21,780 OK, 여기에 우리의 사진입니다. 158 00:07:21,780 --> 00:07:24,860 >> 좋아, 그럼 우리는 두 가지 사례를 고려하는 것이 좋습니다. 159 00:07:24,860 --> 00:07:27,330 첫번째 경우는 경우이다 노드 우리는 삭제할 160 00:07:27,330 --> 00:07:29,420 우리의 목록의 가장 처음에 있습니다. 161 00:07:29,420 --> 00:07:34,070 그리고, 두 번째 경우 우리가 원하는 그것은 다른 곳의 경우 고려해야 할 것이다. 162 00:07:34,070 --> 00:07:37,660 나는이 완전히 이해 지저분한 내 모든 지우기와 그리기, 163 00:07:37,660 --> 00:07:40,400 그러나 희망 우리는하려고합니다 일부 코드이 명확하게. 164 00:07:40,400 --> 00:07:45,450 >> OK, 그래서이 사건을 커버 할 수 여기서 우리는, 우리의 노드를 발견 165 00:07:45,450 --> 00:07:48,900 그것은 매우에 있어요 우리의 연결리스트의 시작. 166 00:07:48,900 --> 00:07:50,810 사람은 나에게 줄 에 관해서는 여기 제안 무엇 167 00:07:50,810 --> 00:07:54,684 사실 우리의 노드를 제거해야합니까? 168 00:07:54,684 --> 00:07:55,970 그것은 조금 까다로운. 169 00:07:55,970 --> 00:07:56,470 OK? 170 00:07:56,470 --> 00:07:59,628 >> 청중 : 당신을해야 그 전에 될 노드 171 00:07:59,628 --> 00:08:01,794 그것을 가리 확인 그 후 것 하나, 172 00:08:01,794 --> 00:08:03,004 와 노드를 가지고 그 그 후하고 만들 것 173 00:08:03,004 --> 00:08:04,554 그것은 전에 노드를 가리 킵니다. 174 00:08:04,554 --> 00:08:05,220 HANNAH : 그렇지. 175 00:08:05,220 --> 00:08:10,640 좋아, 그럼이 경우입니다 그 곳은 우리는 두 가지 사례를 가지고있다. 176 00:08:10,640 --> 00:08:14,100 우리는 경우가 우리가 찾는 노드 177 00:08:14,100 --> 00:08:18,270 리스트의 앞이다. 178 00:08:18,270 --> 00:08:23,110 확인을 누른 다음 경우 당신을 설명, 오른쪽, 그렇지? 179 00:08:23,110 --> 00:08:24,500 이 목록에서 다른 곳입니다. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 그래서 당신이 말한, 우리는 필요 이전 노드를 보면, 182 00:08:32,840 --> 00:08:36,500 이전 노드를 만들 다음 노드를 가리 킵니다. 183 00:08:36,500 --> 00:08:40,510 그래서 우리가있어 가정 해 봅시다 다섯 꺼내려고 184 00:08:40,510 --> 00:08:43,059 여기에 내 매우 지저분한 도면. 185 00:08:43,059 --> 00:08:47,530 우리는이 있는지 확인하려면 네 이제 여섯 가리 킵니다. 186 00:08:47,530 --> 00:08:49,590 여섯 네의 다음 포인트. 187 00:08:49,590 --> 00:08:52,150 그리고 4-6의 이전 점. 188 00:08:52,150 --> 00:08:53,960 즉, 우리의 목표는 바로 여기? 189 00:08:53,960 --> 00:08:56,150 이것은 내가 당신을 생각하다 저쪽 말했다. 190 00:08:56,150 --> 00:08:58,450 >> OK, 그래서 첫 번째 조각을 얻을 수 있습니다. 191 00:08:58,450 --> 00:09:02,300 이의는하자 이전 포인터 이전. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 그래서 다음 네 가지의 무엇을 가리켜 야? 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 정확히,이 경우, 여섯. 196 00:09:14,900 --> 00:09:18,470 그래서 우리는 다음, 포인터를 말해야한다. 197 00:09:18,470 --> 00:09:20,600 OK? 198 00:09:20,600 --> 00:09:21,150 좋아. 199 00:09:21,150 --> 00:09:24,870 그래서이 추한 그림을 제거하자 그리고 약간 더 좋은 하나를 그려보십시오. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 우리는 여기에 우리의 목록 헤드를 가지고있다. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 그리고 그 첫 번째 노드를 가리키는 우리 말 우리의 연결리스트는 4 개입니다. 204 00:09:42,740 --> 00:09:45,620 여기에 우리의 두 번째 노드, 다섯입니다. 205 00:09:45,620 --> 00:09:47,307 그리고 우리의 제 3 노드, 여섯. 206 00:09:47,307 --> 00:09:50,265 그냥 똑같은을 그리는 시도 사진, 조금 더 깨끗하게. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 좋아, 그럼 네의 다음 원래 다섯 가리 킵니다. 209 00:09:56,280 --> 00:09:58,620 여섯 다섯의 다음 포인트. 210 00:09:58,620 --> 00:10:00,170 다섯 여섯의 이전 점. 211 00:10:00,170 --> 00:10:02,470 그리고 5 대 4로의 이전 점. 212 00:10:02,470 --> 00:10:03,360 그래서 훨씬 좋네요! 213 00:10:03,360 --> 00:10:04,530 시원하고 확인을 클릭합니다. 214 00:10:04,530 --> 00:10:07,770 >> 그래서 지금, 우리가 무슨 짓을했는지 그냥 여기에,이 코드 줄, 215 00:10:07,770 --> 00:10:12,680 이는 이전 포인터 말한다 다음, 그래서 그게 무슨 뜻 이죠? 216 00:10:12,680 --> 00:10:17,540 우리가보고있는 경우 그 의미 다섯, 이전 노드로 이동 217 00:10:17,540 --> 00:10:21,970 그리고 지금은 다음에해야이다 다섯의 다음을 가리 킵니다. 218 00:10:21,970 --> 00:10:27,840 그래서 본질적으로 무엇을 그 일의 즉,이 화살표를 삭제하는 것입니다 219 00:10:27,840 --> 00:10:29,640 그리고 오른쪽 다섯 건너 뛸 만들기. 220 00:10:29,640 --> 00:10:31,360 알아 들었나? 221 00:10:31,360 --> 00:10:33,200 그게 조금 스케치 할 수 있습니다 알고 있습니다. 222 00:10:33,200 --> 00:10:34,480 좀 머리 끄덕임을 참조하십시오. 223 00:10:34,480 --> 00:10:35,390 잘 됐네. 224 00:10:35,390 --> 00:10:36,670 시원하고 확인을 클릭합니다. 225 00:10:36,670 --> 00:10:39,590 이제 다음 단계는 무엇인가? 226 00:10:39,590 --> 00:10:42,060 >> 나는 다음을 다시 설정했습니다. 227 00:10:42,060 --> 00:10:45,297 자, 어떤 다른 화살표 내가 변경해야합니까? 228 00:10:45,297 --> 00:10:46,130 여기이 사람. 229 00:10:46,130 --> 00:10:47,560 식스의 이전. 230 00:10:47,560 --> 00:10:50,620 우리는 여섯의 이전하지 않으 더 이상 다섯 가지를 가리 키도록. 231 00:10:50,620 --> 00:10:54,580 우리는 4 개의 지적하고 싶어요. 232 00:10:54,580 --> 00:10:56,190 그 사진은 의미가 있습니까? 233 00:10:56,190 --> 00:10:58,370 그래서 지금 우리가 실제로 다섯 밖으로 걸릴 수 있습니다. 234 00:10:58,370 --> 00:10:59,370 그래서 그 조각을 얻을 수 있습니다. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 내가 전에 무엇을해야합니까 여섯의 이전 네하십니까? 237 00:11:11,180 --> 00:11:14,360 거기에 어떤 아이디어? 238 00:11:14,360 --> 00:11:17,369 >> 청중 : 사이의 노드 무료 이 null로 설정하여? 239 00:11:17,369 --> 00:11:17,910 HANNAH : 차가운. 240 00:11:17,910 --> 00:11:21,100 확실히, 우리의 최종 목표는 노드를 무료로 될 것이다. 241 00:11:21,100 --> 00:11:22,490 그래서 우리는 바로 여기에 있다고 할 수 있습니다. 242 00:11:22,490 --> 00:11:23,540 무료 포인터. 243 00:11:23,540 --> 00:11:24,810 물론. 244 00:11:24,810 --> 00:11:29,160 그러나 심지어 그 전에, 의는 우리의 목표를 오른쪽으로 그냥 ...하자 245 00:11:29,160 --> 00:11:38,730 여기에 다음 포인터를 설정하는 것입니다 동일한 이전 이전 포인터. 246 00:11:38,730 --> 00:11:40,760 나는이 덮여지고 알고있다. 247 00:11:40,760 --> 00:11:45,440 좋아, 멋진 take-- 수 있습니다. 248 00:11:45,440 --> 00:11:46,990 모든 사람이 수익을 볼 수 있습니까? 249 00:11:46,990 --> 00:11:47,840 아니면 슈퍼 작은입니까? 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> 우리가 실행하기 전에 그래서 여기에이 라인, 우리가 원하는 252 00:11:54,300 --> 00:11:58,375 있는지 확인하십시오 포인터는 다음에 널 (null)이 아닙니다. 253 00:11:58,375 --> 00:12:00,500 포인터가 다음 경우 때문에 오류의 널 (null), 어떤 종류의 254 00:12:00,500 --> 00:12:02,727 내가하려 할 때 얻을 것이다 널 포인터를 참조? 255 00:12:02,727 --> 00:12:03,560 청중 : 원세그 오류. 256 00:12:03,560 --> 00:12:05,660 HANNAH : SEG 오류, 아름다운. 257 00:12:05,660 --> 00:12:09,690 그래서 만약 OK, 문제가 아닙니다 null의 경우, 우리는 다시 설정할 수 있습니다. 258 00:12:09,690 --> 00:12:14,420 그리고 우리는 네 다시 여섯 점을 가지고있다. 259 00:12:14,420 --> 00:12:17,440 이 시점까지 질문까지? 260 00:12:17,440 --> 00:12:17,940 네? 261 00:12:17,940 --> 00:12:19,814 >> 청중 : 처음에 if 문을했다 262 00:12:19,814 --> 00:12:23,817 화살표가 의미 다음, 또는 [들리지? 263 00:12:23,817 --> 00:12:25,150 한나 : 나는 포인터 화살표 N을 의미했다. 264 00:12:25,150 --> 00:12:30,270 그러니까 기본적으로, 내가 할 노력하고있어 , 난 현재 노드 말을한다 265 00:12:30,270 --> 00:12:34,100 이상 반복, 현재 노드 그 내가 포인터를 저장하고있어,보고있어. 266 00:12:34,100 --> 00:12:37,630 그리고 포인터의를 알고 싶어요 이 경우, n은 값. 267 00:12:37,630 --> 00:12:39,500 내가보고 싶어입니다 내가보고있는 노드 268 00:12:39,500 --> 00:12:42,790 노드의 I 삭제하는 것을 목표로하고있어? 269 00:12:42,790 --> 00:12:47,657 우리가 여기 N 포인터 것도 그런 이유입니다. 270 00:12:47,657 --> 00:12:49,857 >> 청중 : 그래서 화살표 것 n으로, 당신은 값을 설정 271 00:12:49,857 --> 00:12:52,058 n은이라는 노드에 저장? 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> HANNAH : 그래서 내가 경우처럼 이 연결리스트를 거치지 274 00:12:58,820 --> 00:13:00,310 다섯 가리키는. 275 00:13:00,310 --> 00:13:03,600 나는 경우, 그 값을 얻고 싶다면 나는 그 숫자 5를 원한다면 276 00:13:03,600 --> 00:13:06,400 나는 포인터 화살표 N을 수행해야합니다. 277 00:13:06,400 --> 00:13:06,900 쿨? 278 00:13:06,900 --> 00:13:07,900 그래. 279 00:13:07,900 --> 00:13:11,200 >> 관객 : 변수의 이름을 n은? 280 00:13:11,200 --> 00:13:11,700 HANNAH : 예. 281 00:13:11,700 --> 00:13:14,870 우리가 하나를 다시 플립한다면 슬라이드, n은 이름입니다 282 00:13:14,870 --> 00:13:18,660 내부 값 우리의 연결리스트에 노드입니다. 283 00:13:18,660 --> 00:13:21,510 그리고 나는 조금을 얻을 수있어 약간 혼동 또한 우리 때문에 284 00:13:21,510 --> 00:13:24,680 일을 요구하고있다 우리는 N을 삭제할 것인지. 285 00:13:24,680 --> 00:13:26,717 그래서 그게 어디 있죠 한 라인에서 온다. 286 00:13:26,717 --> 00:13:27,671 그래? 287 00:13:27,671 --> 00:13:31,010 >> 청중 : 당신은 무엇을해야합니까 [들림] 그들은 어떻게 작동하는지? 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 포인터 [들리지? 290 00:13:35,780 --> 00:13:37,520 >> HANNAH : 물론. 291 00:13:37,520 --> 00:13:40,027 당신이하는 .. 어느 선을 이야기하고 있습니까? 292 00:13:40,027 --> 00:13:41,526 청중 : 마지막 줄 [들림]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> HANNAH : 물론, OK. 295 00:13:45,250 --> 00:13:48,540 그래서이 그림에서 살펴 보자 순서는이를 설명하려고합니다. 296 00:13:48,540 --> 00:13:51,030 나는 위해, 미안 해요 카메라, 질문이었다 297 00:13:51,030 --> 00:13:54,580 우리는 포인터를 설명 할 수 다음 포인터가 이전 화살표. 298 00:13:54,580 --> 00:14:01,510 OK, 그래서 우리는 5시에있어 가정 해 봅시다 우리의 목표는 다섯을 삭제하는 것입니다. 299 00:14:01,510 --> 00:14:07,240 그래서, 다음 포인터 이들 중 어느 세 개의 노드는 우리를 주는가? 300 00:14:07,240 --> 00:14:10,840 그건 바로, 여섯 번째 노드 우리에게 가져다? 301 00:14:10,840 --> 00:14:16,490 >> OK, 이제 우리는 요구하고 여섯의 이전합니다. 302 00:14:16,490 --> 00:14:17,060 OK? 303 00:14:17,060 --> 00:14:20,210 그리고 우리는이를 재설정하고 네 동일하게, 304 00:14:20,210 --> 00:14:23,214 이는 다섯의 이전을 우연히. 305 00:14:23,214 --> 00:14:25,180 나는 영웅이지, 알고 하드를 추적합니다. 306 00:14:25,180 --> 00:14:29,286 난 정말 당신이 그림을 그릴 추천 이 같은 질문을받을 경우. 307 00:14:29,286 --> 00:14:30,242 네? 308 00:14:30,242 --> 00:14:32,617 >> 청중 : 그 이유는 그 우리는 [들림] 없어요? 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> HANNAH : 그렇지. 311 00:14:38,570 --> 00:14:44,800 질문은 그래서, 왜 할 우리는 여기에서 확인해야하지? 312 00:14:44,800 --> 00:14:48,160 왜 우리는 확인 할 필요가 없습니다 이전 포인터를 null 같지? 313 00:14:48,160 --> 00:14:50,070 우리가했습니다 나죠 이미 분리 314 00:14:50,070 --> 00:14:52,490 경우 경우 포인터의 맨 처음에. 315 00:14:52,490 --> 00:14:54,060 아주 좋은 질문입니다. 316 00:14:54,060 --> 00:14:56,880 여기에 다른 건? 317 00:14:56,880 --> 00:14:57,380 시원하고 확인을 클릭합니다. 318 00:14:57,380 --> 00:14:58,360 그래서 그것을 마무리 할 수​​ 있습니다. 319 00:14:58,360 --> 00:14:59,890 우리는 거의 다 왔어. 320 00:14:59,890 --> 00:15:01,310 >> 어떤 경우에 따라서는 머리에 무엇입니까? 321 00:15:01,310 --> 00:15:03,360 무엇을 대신하는 경우 다섯을 삭제하는, 322 00:15:03,360 --> 00:15:06,240 우리는 실제로 네를 삭제하고 싶어? 323 00:15:06,240 --> 00:15:07,270 나는 무엇을해야 할 것인가? 324 00:15:07,270 --> 00:15:09,610 글쎄, 내가 무엇에 내 머리를 재설정 할? 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 그것을 밖으로 외쳐? 327 00:15:15,585 --> 00:15:16,710 청중 : 그 뒤에 하나. 328 00:15:16,710 --> 00:15:17,460 HANNAH : 아름다운. 329 00:15:17,460 --> 00:15:26,430 OK, 그래서 우리는 지적 할 목록을 원하는 무엇이든 우리의 포인터 다음 노드입니다. 330 00:15:26,430 --> 00:15:29,040 좋은. 331 00:15:29,040 --> 00:15:30,810 그리고 단지 완전성의 용 위해서, 우리는 것 332 00:15:30,810 --> 00:15:35,590 우리의 목록만큼 그것을 확인하려면 한 우리의 목록이 아니므로, null가 아닌 333 00:15:35,590 --> 00:15:42,730 빈, 우리는 설정하려면 null로 우리의 이전과 동일. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 질문 지금까지? 336 00:15:50,230 --> 00:15:53,205 하나의 단계 나서 ...? 337 00:15:53,205 --> 00:15:55,530 >> 청중 :이 경우 을까 목록은 널 (null)와 같지? 338 00:15:55,530 --> 00:15:56,950 >> 한나 : 네, 당신은 완전히 맞아. 339 00:15:56,950 --> 00:15:58,130 정말 죄송 해요. 340 00:15:58,130 --> 00:16:00,040 가 목록은 널 (null)와 같지. 341 00:16:00,040 --> 00:16:01,915 신난다. 342 00:16:01,915 --> 00:16:04,245 모든 화면에이 가지고하려고합니다. 343 00:16:04,245 --> 00:16:06,870 그것은 종류의 떨어짐. 344 00:16:06,870 --> 00:16:07,730 죄송합니다, 여러분. 345 00:16:07,730 --> 00:16:11,874 그리고 적어도 마지막하지만, 모든 우리는 반환입니다해야 해요. 346 00:16:11,874 --> 00:16:12,840 확인을 클릭합니다. 347 00:16:12,840 --> 00:16:15,400 즉, 많은 가득했다 정말 빠르게한다. 348 00:16:15,400 --> 00:16:16,800 이 이상을 찾아 두 번째를 가져 가라. 349 00:16:16,800 --> 00:16:18,216 당신은 질문이있는 경우 말해. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 그래? 352 00:16:20,732 --> 00:16:26,940 >> 청중 : 목록에있는 경우 머리는 신경 끄시 고, 대기 그러고 나서 .... 353 00:16:26,940 --> 00:16:27,700 >> HANNAH : OK, 좋은. 354 00:16:27,700 --> 00:16:30,987 목록 머리에있는 경우 그래서이, 우리는 우리가 삽입 무엇을 제거합니다. 355 00:16:30,987 --> 00:16:31,486 그래? 356 00:16:31,486 --> 00:16:33,777 >> 청중 : 당신은 설명 할 수 다시 if 문 첫 번째? 357 00:16:33,777 --> 00:16:36,149 N에 대한 포인터가 N과 같으면? 358 00:16:36,149 --> 00:16:36,690 HANNAH : 물론. 359 00:16:36,690 --> 00:16:42,780 그래서이 모든 기능의 우리의 목표는 n 값을 가진 노드를 삭제합니다. 360 00:16:42,780 --> 00:16:47,460 그래서 만약 우리가있는 한 우리는, 발견 우리의 목록을 반복, 361 00:16:47,460 --> 00:16:51,770 n 값을 가진 노드는, 그건 하나는 우리가 삭제할. 362 00:16:51,770 --> 00:16:57,286 그래서 삭제의 모든 발생 그 큰 if 문 내부. 363 00:16:57,286 --> 00:16:58,593 그 의미가 있습니까? 364 00:16:58,593 --> 00:16:59,480 쿨. 365 00:16:59,480 --> 00:16:59,990 그래? 366 00:16:59,990 --> 00:17:02,864 >> 청중 : 아마 당신이 볼 수 없습니다 그것은,하지만 당신은 또한 라인이 필요하지 않습니다 367 00:17:02,864 --> 00:17:06,024 목록을 스크롤 하시나요? 368 00:17:06,024 --> 00:17:06,690 HANNAH : 신난다. 369 00:17:06,690 --> 00:17:10,896 이제 조금이를 데려 오게하고 우리는 아래에서 그 권리를 던질거야. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 아마 보드했습니다 것 약간 더 좋은 생각이었다. 372 00:17:15,490 --> 00:17:17,829 그래서 내가 어떻게 앞으로 포인터를 움직일 것입니다? 373 00:17:17,829 --> 00:17:20,184 >> 청중 : 포인터 포인터 더하기 하나는 동일합니다. 374 00:17:20,184 --> 00:17:21,599 >> HANNAH : 아름다운. 375 00:17:21,599 --> 00:17:25,050 그래서 우리를 수 순회를 통해 계속합니다. 376 00:17:25,050 --> 00:17:26,251 확인을 클릭합니다. 377 00:17:26,251 --> 00:17:27,750 청중 :이 다른 않을까요? 378 00:17:27,750 --> 00:17:29,028 HANNAH : 한 번 더? 379 00:17:29,028 --> 00:17:32,444 청중 :이되지 않을까 경우 큰 오래 된 후 다른 380 00:17:32,444 --> 00:17:35,519 문 [들리지? 381 00:17:35,519 --> 00:17:36,310 HANNAH : 어떤 부분? 382 00:17:36,310 --> 00:17:38,350 미안 해요. 383 00:17:38,350 --> 00:17:41,800 >> 청중 : 통과, 거기에 다른이어야한다? 384 00:17:41,800 --> 00:17:43,550 HANNAH : 당신은 절대적으로 다른 사람을 가질 수있다. 385 00:17:43,550 --> 00:17:46,930 나는 반환 권리를 가지고 있기 때문에 거기, 당신은 다른 필요하지 않습니다. 386 00:17:46,930 --> 00:17:48,760 하지만 그래, 좋은 질문입니다. 387 00:17:48,760 --> 00:17:50,170 그래, OK? 388 00:17:50,170 --> 00:17:52,878 청중 : 우리는 포인터 생각할 수 그 목록을 이동 389 00:17:52,878 --> 00:17:56,610 값에 복용으로 리스트의 각 노드는? 390 00:17:56,610 --> 00:18:00,650 아니면 우리가로 생각한다 목록에 외부의 종류? 391 00:18:00,650 --> 00:18:02,350 >> 한나 : 어느 하나가 괜찮습니다, 나는 생각한다. 392 00:18:02,350 --> 00:18:05,880 내가 상상하는 방법입니다 나는 OK, I 포인터 오전 말한다. 393 00:18:05,880 --> 00:18:06,520 그리고이 날 것입니다. 394 00:18:06,520 --> 00:18:07,150 이 내 손이다. 395 00:18:07,150 --> 00:18:09,960 나는 다른 가리거야 내가 통해 반복 할 것. 396 00:18:09,960 --> 00:18:12,270 첫째, 지적거야 리스트의 헤드. 397 00:18:12,270 --> 00:18:14,144 그리고 그 난 나에게 말한다 네 가리 것. 398 00:18:14,144 --> 00:18:18,060 그래서 나, 목록 외부에 존재하는 I는 각각의 요소를 가리킬 수있다. 399 00:18:18,060 --> 00:18:19,520 그래서 포인터로 자신의 생각합니다. 400 00:18:19,520 --> 00:18:21,645 청중 : 그래서 삭제 이들 요소들 중 하나, 401 00:18:21,645 --> 00:18:23,404 당신은 말하자면, 자신을 삭제합니다. 402 00:18:23,404 --> 00:18:24,070 HANNAH : 그렇지. 403 00:18:24,070 --> 00:18:25,920 그래서 당신은 일을 삭제 당신이 가리키는 것입니다. 404 00:18:25,920 --> 00:18:28,340 예 그래서 우리는 우리가 어디있어 보았다 405 00:18:28,340 --> 00:18:31,670 다섯을 삭제하는, 내가 다섯을 가리키는하고있을 때, 406 00:18:31,670 --> 00:18:34,200 나는를 삭제하려면 것은 내가 가리키는거야. 407 00:18:34,200 --> 00:18:35,870 정확히 맞아. 408 00:18:35,870 --> 00:18:36,577 네? 409 00:18:36,577 --> 00:18:39,410 청중 : 우리가 알아서 했 N이 목록에없는 경우? 410 00:18:39,410 --> 00:18:40,460 HANNAH : n이 목록에없는 경우? 411 00:18:40,460 --> 00:18:43,501 일어날 모든 것은 당신이있어입니다 을 통해 반복 처리 반복하는 것 412 00:18:43,501 --> 00:18:47,616 를 통해, 다음, 당신은거야 되는 널 (null)을 포인터에 도착하고, 413 00:18:47,616 --> 00:18:48,990 그리고 당신은 할 것입니다. 414 00:18:48,990 --> 00:18:50,812 >> 청중 : 그래서 우리가 할 아무것도 반환하는 방법? 415 00:18:50,812 --> 00:18:51,520 HANNAH : 우리는 할 수 있습니다. 416 00:18:51,520 --> 00:18:54,500 방법이 정의되어있는 경우에는 그 기능, 그냥 반환하는 말 417 00:18:54,500 --> 00:18:55,770 에 관계없이 무효. 418 00:18:55,770 --> 00:18:58,360 그러나 당신이 뭔가를 할 수 정수를 반환 등 419 00:18:58,360 --> 00:19:00,920 그리고 돌아왔다 실패하면 1 음. 420 00:19:00,920 --> 00:19:03,070 뭐 그런. 421 00:19:03,070 --> 00:19:04,494 질문은 예 거라도? 422 00:19:04,494 --> 00:19:05,410 청중 : [들리지? 423 00:19:05,410 --> 00:19:05,993 HANNAH : 죄송합니다? 424 00:19:05,993 --> 00:19:07,419 청중 : [들리지? 425 00:19:07,419 --> 00:19:07,960 HANNAH : 물론. 426 00:19:07,960 --> 00:19:11,730 우리가 일단 그래서 actual--의 이동의 수행이 모든 작업 427 00:19:11,730 --> 00:19:16,530 모든 화살표 주위, 우리의 전체 목표는 노드를 제거하는 것이 었습니다 428 00:19:16,530 --> 00:19:18,230 것을 우리는 찾고 있습니다. 429 00:19:18,230 --> 00:19:21,610 이 경우 그래서, 해제 포인터, 내가 다섯을 가리키는거야 경우, 430 00:19:21,610 --> 00:19:24,670 그것은이 중간 노드를 삭제 같다. 431 00:19:24,670 --> 00:19:27,250 즉, 무료 포인터 부분입니다. 432 00:19:27,250 --> 00:19:29,090 즉, 메이크업 감각? 433 00:19:29,090 --> 00:19:31,390 >> 청중 : 그래서 심지어 생각 당신은하지 [들림]나요? 434 00:19:31,390 --> 00:19:36,060 >> 한나 : 그래서 우리는 처음에 가정 우리가했다 일부 목록을했다 already-- 435 00:19:36,060 --> 00:19:37,220 그들은 함께이 넣어했다. 436 00:19:37,220 --> 00:19:39,761 그래서를 구축하기 위해 목록, 그들은 [들림] 한 거 같아요. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 쿨. 439 00:19:42,750 --> 00:19:44,490 이와 다른 건? 440 00:19:44,490 --> 00:19:46,386 네? 441 00:19:46,386 --> 00:19:49,204 >> 청중 : 무엇 목록 경우 널 라인과 동일하지 않는 이유는 무엇입니까? 442 00:19:49,204 --> 00:19:49,704 [들리지? 443 00:19:49,704 --> 00:19:52,289 444 00:19:52,289 --> 00:19:53,080 HANNAH : 바로 여기? 445 00:19:53,080 --> 00:19:53,840 청중 : 네. 446 00:19:53,840 --> 00:19:57,370 HANNAH : OK, 모든 내가 뭘 난 그냥 확인하고 있어요된다 447 00:19:57,370 --> 00:20:03,250 제가이 역 참조 목록에 전에, 나는 이전에 액세스하기 전에, 448 00:20:03,250 --> 00:20:07,210 그렇지 않은 것을 나는 있는지 확인하려면 널 (null) 그래서 나는 독방 감금 오류를 얻을하지 않습니다. 449 00:20:07,210 --> 00:20:08,400 쿨. 450 00:20:08,400 --> 00:20:10,820 >> OK, 나는이 꽤 있었는지 많은 통해 얻을 수 있습니다. 451 00:20:10,820 --> 00:20:14,950 그래서이 슬라이드가 될 것입니다 귀하에게 제공. 452 00:20:14,950 --> 00:20:17,341 그래서 당신은 더 상세하게 통과 할 수 있습니다. 453 00:20:17,341 --> 00:20:17,841 네? 454 00:20:17,841 --> 00:20:19,749 >> 청중 : 왜 목록 [들리지? 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 HANNAH : 물론. 457 00:20:24,670 --> 00:20:27,390 그래서 목록은 정말 가리키는 바로 여기에이 요소, 458 00:20:27,390 --> 00:20:29,200 리스트 내의 첫번째 요소. 459 00:20:29,200 --> 00:20:30,748 그래서 이전을 가질 수 없습니다. 460 00:20:30,748 --> 00:20:31,736 네? 461 00:20:31,736 --> 00:20:35,194 >> 청중 : 포인터 포인트를합니까 메모리에 같은 주소로? 462 00:20:35,194 --> 00:20:38,404 동일한 가리 않는다 노드와 메모리의 주소 463 00:20:38,404 --> 00:20:40,640 이 가리키는 야? 464 00:20:40,640 --> 00:20:43,865 >> HANNAH : 네, 포인트 메모리에이 노드에. 465 00:20:43,865 --> 00:20:47,190 >> 청중 : 오른쪽, 그래서 때 [들리지? 466 00:20:47,190 --> 00:20:50,580 >> HANNAH : 의미에서, 예. 467 00:20:50,580 --> 00:20:51,280 확인을 클릭합니다. 468 00:20:51,280 --> 00:20:52,997 좋아,이와 함께 이동하자. 469 00:20:52,997 --> 00:20:55,330 그리고 당신은 더 질문이있는 경우, 마지막에 곁에, 470 00:20:55,330 --> 00:20:57,130 우리는 다시 그것을 통해 갈 수 있습니다. 471 00:20:57,130 --> 00:20:58,120 시원하고 확인을 클릭합니다. 472 00:20:58,120 --> 00:21:00,490 이제, 우리는 이동하세요 테이블, 시도를 해시합니다, 473 00:21:00,490 --> 00:21:04,940 나무, 당신은 슈퍼 가지고있는 P-설정, 다섯 철자에 익숙. 474 00:21:04,940 --> 00:21:11,020 >> 그래서 해시 테이블은이다 단일 연결리스트와 배열 475 00:21:11,020 --> 00:21:14,050 또는 이중 그것의 떨어져오고 연결리스트. 476 00:21:14,050 --> 00:21:16,380 그래서 우리는 몇 가지 종류가 연관 배열의. 477 00:21:16,380 --> 00:21:21,280 그리고 우리는 알 방법이 어떤 버킷에 들어갈 배열, 478 00:21:21,280 --> 00:21:24,137 우리는 해시 함수를 사용한다. 479 00:21:24,137 --> 00:21:26,470 이 경우, 수있는 사람 어떤 해시 함수를 추측 480 00:21:26,470 --> 00:21:28,636 단지 일부에 기초 할 것 입력과 출력의? 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> 청중 : 알파벳의 편지 번호. 483 00:21:33,194 --> 00:21:33,860 HANNAH : 그렇지. 484 00:21:33,860 --> 00:21:36,160 그냥 알파벳 순서에 넣습니다. 485 00:21:36,160 --> 00:21:39,280 로 시작하는 모든 이 제 버킷에 넣고. 486 00:21:39,280 --> 00:21:43,340 B와 다에 넣고 두번째 버킷 등, 등. 487 00:21:43,340 --> 00:21:45,620 신난다, OK. 488 00:21:45,620 --> 00:21:48,980 그리고 해시 함수는 임의 단어에 걸리는 기능 489 00:21:48,980 --> 00:21:51,910 당신에게 무슨 가에 속하는 버킷. 490 00:21:51,910 --> 00:21:55,150 에있는 항목 그래서 우리의 배열이에 속한다. 491 00:21:55,150 --> 00:21:58,080 >> 그래서 때마다 나는 내 줄 해시, 단어를 작동 492 00:21:58,080 --> 00:22:00,660 그것은 나에게 동일하게 말해야한다 매번 놓습니다. 493 00:22:00,660 --> 00:22:03,270 우리는 해시 함수를 사용한다면 이전 슬라이드에서 494 00:22:03,270 --> 00:22:05,950 여기서 우리는별로 정렬하고 알파벳의 첫 글자, 495 00:22:05,950 --> 00:22:08,230 내가 줄 때마다 내 해시 함수 "사과" 496 00:22:08,230 --> 00:22:10,180 항상 0을 날 다시 제공해야합니다. 497 00:22:10,180 --> 00:22:12,890 내가 사과해야한다면 내 해시 테이블에 넣어, 498 00:22:12,890 --> 00:22:17,700 내 해시 함수에 "사과"를 주면, 그것은 양동이 0에 넣어 이동 말해야한다. 499 00:22:17,700 --> 00:22:19,980 내가 찾고 있어요 경우 내 해시 테이블에 사과 500 00:22:19,980 --> 00:22:24,340 나는 어디에서 힘 사과, 말 라이브, 당신은 당신의 해시 함수를 부탁드립니다. 501 00:22:24,340 --> 00:22:26,900 그리고 공을 양동이로 이동했다. 502 00:22:26,900 --> 00:22:29,150 좋아? 503 00:22:29,150 --> 00:22:32,660 해시 함수와 질문이 있으십니까? 504 00:22:32,660 --> 00:22:34,570 신난다. 505 00:22:34,570 --> 00:22:37,320 >> 여기에 약간 이상이다 자세한 설명 506 00:22:37,320 --> 00:22:39,570 해시 함수의 모양에의. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 좋아. 509 00:22:42,960 --> 00:22:45,960 해시 이제 문제 기능은 이상적인 세계에 510 00:22:45,960 --> 00:22:48,870 우리는 단지 하나를해야 각 양동이 것. 511 00:22:48,870 --> 00:22:50,900 그러나 현실에서, 거기에 뿐만 아니라 하나의 단어 512 00:22:50,900 --> 00:22:54,280 그이 아니다 A. 시작 B. 그래서 시작 하나의 단어 513 00:22:54,280 --> 00:22:56,960 이 경우, 만약 갑자기 "베리"를 얻을 514 00:22:56,960 --> 00:22:58,710 우리는 그것을 넣을 우리의 해시 테이블에, 515 00:22:58,710 --> 00:23:03,640 우리는 아, 아니, 바나나는, 참조 이미, 우리는 무엇을 볼까? 516 00:23:03,640 --> 00:23:05,900 >> 음, 우리는 두 가지 옵션이 있습니다. 517 00:23:05,900 --> 00:23:07,990 첫 번째 옵션은 선형, 프로빙하는 518 00:23:07,990 --> 00:23:11,100 그냥 찾아 가서 의미 다음 빈 양동이입니다. 519 00:23:11,100 --> 00:23:14,100 다음 빈 배열 항목을 찾아 이동합니다. 520 00:23:14,100 --> 00:23:15,750 그리고 그냥 "베리"를 넣어. 521 00:23:15,750 --> 00:23:18,880 그래서 나는 그것이하기로했다 알고 양동이 하나에 바나나과 함께 할 것입니다. 522 00:23:18,880 --> 00:23:22,155 그러나 단지, 양동이 세에 넣어 버킷 때문에 세 가지가 비어 있습니다. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 또 다른 옵션은 아마 당신은 구현 무엇 525 00:23:26,680 --> 00:23:29,220 당신의 P-세트, 당신의 별도의 체인을 가지고 있었다. 526 00:23:29,220 --> 00:23:33,990 그래서 각각의 버킷, 어레이 요소의 각각, 527 00:23:33,990 --> 00:23:38,410 뿐만 아니라 하나의 단어를 보유하고 있지만, 실제로 단어 목록에 대한 포인터를 보유하고있다. 528 00:23:38,410 --> 00:23:41,880 당신이 있다면 너무 당신의 해시 테이블에 바나나 529 00:23:41,880 --> 00:23:44,740 당신은 갑자기 원 베리, 아무 문제를 추가합니다. 530 00:23:44,740 --> 00:23:51,110 그냥 말, 또는에에 베리를 추가 시작, 링크 된 목록. 531 00:23:51,110 --> 00:23:54,040 OK, 끝내. 532 00:23:54,040 --> 00:23:58,490 해시 질문 테이블 우리가 가기 전에? 533 00:23:58,490 --> 00:23:59,850 >> 좋아. 534 00:23:59,850 --> 00:24:01,070 나무와 시도. 535 00:24:01,070 --> 00:24:07,980 OK, 그래서 이것은 또 다른 옵션이었다 사전을 구현. 536 00:24:07,980 --> 00:24:09,100 당신은 시도를 만들었을 수도. 537 00:24:09,100 --> 00:24:13,420 그래서 나무의 특별한 종류이다 그 다단계 해시 테이블처럼 동작. 538 00:24:13,420 --> 00:24:16,862 그래서 당신은 사진을 볼 수 있습니다 당신은 배열을 어디에 539 00:24:16,862 --> 00:24:19,320 배열의 무리를 가리키는 배열의 무리를 가리키는 540 00:24:19,320 --> 00:24:20,390 배열의 무리를 가리키는. 541 00:24:20,390 --> 00:24:23,140 그리고 우리는 정확히 어떤 것을 볼 수 있습니다 미래의 슬라이드처럼 보일 것이다. 542 00:24:23,140 --> 00:24:26,070 그리고 더 일반적으로, 나무 다만 어떤 데이터 구조 543 00:24:26,070 --> 00:24:29,710 된 데이터는 일부 계층 구조로 구성. 544 00:24:29,710 --> 00:24:32,610 그래서 우리는 우리가 본 곳 이해의 일종 545 00:24:32,610 --> 00:24:36,130 최상위 레벨의 다음 단계, 다음 단계, 다음 단계. 546 00:24:36,130 --> 00:24:39,690 그래서 이것은 아마도 가장 분명하다 몇 가지 구체적인 예제와 함께. 547 00:24:39,690 --> 00:24:40,880 그래서 여기에 우리의 나무입니다. 548 00:24:40,880 --> 00:24:42,970 당신은 그것을 볼 수 있습니다 특정 레벨을 가지고 549 00:24:42,970 --> 00:24:45,480 우리는 루트 노드, 하나를 시작하는 것이. 550 00:24:45,480 --> 00:24:47,640 그리고 우리는 우리의 트리를 통해 아래로 갈 수 있습니다. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> 이진 트리입니다 나무의 특정 유형. 553 00:24:53,910 --> 00:24:56,770 그리고 만 사양 이진 트리 554 00:24:56,770 --> 00:25:01,130 각 노드가 가지고 있다는 것입니다 대부분 두 잎에서. 555 00:25:01,130 --> 00:25:03,960 그래서 당신은 어떤을보고하지 않을거야 이 노드들은 서너개의 가질 556 00:25:03,960 --> 00:25:06,880 또는 잎의 다른 번호입니다. 557 00:25:06,880 --> 00:25:11,310 그리고 더 구체적인 이진 검색 트리입니다 558 00:25:11,310 --> 00:25:18,010 여기서의 왼쪽에있는 모든 노드 노드는 값이 작은해야 할 것입니다. 559 00:25:18,010 --> 00:25:21,180 그리고에 대한 모든 값 오른쪽으로 더 큰 될 것입니다. 560 00:25:21,180 --> 00:25:26,900 당신은 (44)은 우리의 루트에 참조한다면, 왼쪽, 11, 22 및 33 561 00:25:26,900 --> 00:25:28,940 우리의 루트가 아닌 모든 적습니다. 562 00:25:28,940 --> 00:25:33,890 그리고 오른쪽에 있습니다 번호 66, 55, 77 bigger--. 563 00:25:33,890 --> 00:25:37,380 그리고이 속성은 마찬가지 트리의 모든 수준에서. 564 00:25:37,380 --> 00:25:42,690 >> 우리가 내려 가서 그럼 언제 여전히 22, 11, 33, 11 565 00:25:42,690 --> 00:25:46,950 보다 작게 22 33는 22보다 크다. 566 00:25:46,950 --> 00:25:50,160 그리고이보다 쉽게​​ 검색 할 수 있습니다 우리는 숫자를 찾고 있다면 때문에, 567 00:25:50,160 --> 00:25:53,877 우리가 정확히 알고있는 가지가 아래로 따라합니다. 568 00:25:53,877 --> 00:25:56,210 그래서 이것은 당신을 생각 나게한다 이진 검색의 약간. 569 00:25:56,210 --> 00:25:56,967 그래? 570 00:25:56,967 --> 00:25:58,835 >> 청중 : 그래서 당신이있어 바이너리를 묘사 571 00:25:58,835 --> 00:26:00,587 당신은 대부분 두 잎에서 가지며? 572 00:26:00,587 --> 00:26:01,170 HANNAH : 그래 그래. 573 00:26:01,170 --> 00:26:02,580 관객 : 덜을 수 있을까요? 574 00:26:02,580 --> 00:26:03,121 HANNAH : 네. 575 00:26:03,121 --> 00:26:06,720 그래서 당신은,의, 예를 들어 봅시다 사물의 짝수 없었다 576 00:26:06,720 --> 00:26:11,791 당신은 채울 수없는 모든 하나 하나가있는 경우 잎, 괜찮아요. 577 00:26:11,791 --> 00:26:12,290 OK? 578 00:26:12,290 --> 00:26:12,789 신난다. 579 00:26:12,789 --> 00:26:15,930 나무에 다른 질문? 580 00:26:15,930 --> 00:26:16,670 확인을 클릭합니다. 581 00:26:16,670 --> 00:26:20,110 >> 돌아 가기 우리의 시도에 내가 말하고으로 조금 이전에 대한, 582 00:26:20,110 --> 00:26:23,900 우리는 어떻게 이러한 멀티 레벨 배열을 가지고있다. 583 00:26:23,900 --> 00:26:26,280 이 경우 그래서, 우리는 정상에서 시작합니다. 584 00:26:26,280 --> 00:26:29,030 그리고 우리는 아래로 주어진 단어를 따를 수 있습니다. 585 00:26:29,030 --> 00:26:30,780 그럼 우리가 원하는 가정 해 봅시다 튜링을 확인합니다. 586 00:26:30,780 --> 00:26:34,380 우리는 T에서 시작, 그것을 아래로 따라 U를 포함하는 배열에, 587 00:26:34,380 --> 00:26:37,350 우리 때까지 아래로 따라 이 작은 델타에 도달하는 588 00:26:37,350 --> 00:26:39,060 우리가, 그래, 당신이 단어를 발견 알려줍니다. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 시도에 대한 명확한? 591 00:26:44,120 --> 00:26:48,138 아무것도 저기 이동? 592 00:26:48,138 --> 00:26:48,908 네? 593 00:26:48,908 --> 00:26:51,866 청중 : 델타의 상징합니까 시도 내에서 공간을 차지해야? 594 00:26:51,866 --> 00:26:54,532 HANNAH : 네, 그래서 그것은하지 않습니다 반드시 심지어 델타해야합니다. 595 00:26:54,532 --> 00:26:57,760 그러나 우리는 몇 가지 방법에 필요 우리가 computer-- 미안하다고, 596 00:26:57,760 --> 00:27:01,130 그래서 우리는 TUR 단어 아니라는 것을 알고. 597 00:27:01,130 --> 00:27:04,180 할 수 있기 때문에의는 우리가하지 않은 말 델타의 개념, 개념 598 00:27:04,180 --> 00:27:09,850 축하합니다, 당신은 단어를 발견, 그것은, T-U-R을 통과하고 반복 것 599 00:27:09,850 --> 00:27:11,300 다음 나는 그것을 발견, 멋진 말! 600 00:27:11,300 --> 00:27:12,670 이 단어해야합니다. 601 00:27:12,670 --> 00:27:13,720 하지만 정말 아니다. 602 00:27:13,720 --> 00:27:15,310 우리는 전체 튜링 단어가되고 싶어요. 603 00:27:15,310 --> 00:27:17,760 그래서 우리는에서 뭔가가 있어야합니다 라고 말, 축하, 604 00:27:17,760 --> 00:27:19,051 당신은 합법적 인 단어를 발견했습니다. 605 00:27:19,051 --> 00:27:21,680 청중 : 당신이 좋아했다 그래서 만약 알파벳 26 글자, 606 00:27:21,680 --> 00:27:24,560 실제로 것 당신의 시도는 27 키? 607 00:27:24,560 --> 00:27:26,010 >> HANNAH : 최고, 그래. 608 00:27:26,010 --> 00:27:28,210 그래서 사실은 생각 다음 슬라이드에있을 것입니다. 609 00:27:28,210 --> 00:27:29,440 짜잔! 610 00:27:29,440 --> 00:27:32,880 당신은이 있으면 어디 당신의 시도에서 노드, 당신은있어 611 00:27:32,880 --> 00:27:35,800 대신 26 27 아이를 가질 것. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 그와 질문? 614 00:27:40,050 --> 00:27:40,550 그래? 615 00:27:40,550 --> 00:27:44,569 청중 : 왜 시도는 너무 차지 않은 공간 [들림]로 당신은 이동? 616 00:27:44,569 --> 00:27:47,629 왜 [들림]로 간주됩니다? 617 00:27:47,629 --> 00:27:48,170 HANNAH : 물론. 618 00:27:48,170 --> 00:27:48,790 의 돌아 가자. 619 00:27:48,790 --> 00:27:52,350 질문은, 왜 시도는 훨씬 더 큰 620 00:27:52,350 --> 00:27:54,620 해시 테이블과 같은보다. 621 00:27:54,620 --> 00:27:57,790 이 수준의 각 그래서, 심지어 그들이 여기 그려하지 않는 경우 622 00:27:57,790 --> 00:28:01,250 당신은 모든 26 문자를해야합니다. 623 00:28:01,250 --> 00:28:04,420 이유 그리고 당신은 할 수 없습니다 나는, 튜링에 대한 오, 말,하지만 같은 624 00:28:04,420 --> 00:28:07,570 그 중 하나를 할 필요가 없습니다 U. 음의 수준에 같은 일, 625 00:28:07,570 --> 00:28:11,390 갑자기 경우 추가 싶어 T-H처럼 무언가, 626 00:28:11,390 --> 00:28:14,800 당신이해야 할 것 그 단어를 추가하는 기능을 제공합니다. 627 00:28:14,800 --> 00:28:17,330 모든 단일 문자에 따라서, 당신은 할거야 628 00:28:17,330 --> 00:28:19,730 한 무리를하는 그것의 떨어져오고 배열. 629 00:28:19,730 --> 00:28:24,060 그래서 당신은 말이죠 볼 수 있습니다 정말 큰, 정말 빨라요. 630 00:28:24,060 --> 00:28:26,560 다른 질문? 631 00:28:26,560 --> 00:28:28,980 좋아. 632 00:28:28,980 --> 00:28:29,832 그래? 633 00:28:29,832 --> 00:28:33,210 >> 청중 : 때 시도는 해시 테이블보다 빠르다? 634 00:28:33,210 --> 00:28:36,280 >> HANNAH : 때 시도는 해시 테이블보다 빠르다? 635 00:28:36,280 --> 00:28:39,120 그래서 만약 당신이 정말로 있었다 나쁜 해시 함수. 636 00:28:39,120 --> 00:28:41,840 그래서 내가 좋아했다 가정 해 봅시다, 여기 해시 함수입니다. 637 00:28:41,840 --> 00:28:43,660 그게 어떤 단어 당신이 저를주고, 난 항상 해요 638 00:28:43,660 --> 00:28:47,740 배열 항목을 0에 넣어 것. 639 00:28:47,740 --> 00:28:52,000 그래서 우리는 퍼팅으로 끝날 하나의 큰 긴 연결리스트의 모든. 640 00:28:52,000 --> 00:28:58,740 그리고 조회 시간은 최악 걸릴 것 n은 우리의 목록의 맨 마지막에 있다면. 641 00:28:58,740 --> 00:29:03,150 시도, 우리는 단지 반복해야 단어의 문자를 통해. 642 00:29:03,150 --> 00:29:07,080 우리는 무리를 추가 그래서 경우에도 우리의 시도에 더 많은 단어, 643 00:29:07,080 --> 00:29:09,620 그것은 더 이상 우리를받지 않을 것 특정 단어를 찾을 수 있습니다. 644 00:29:09,620 --> 00:29:11,750 >> 우리가 할 일은 들면, 예컨대,이 경우, 645 00:29:11,750 --> 00:29:17,170 이제 우리는 줌을 찾고 가정 해 봅시다, 우리는 반복 할 것 646 00:29:17,170 --> 00:29:19,840 Z-O-O-M, 네 글자. 647 00:29:19,840 --> 00:29:22,250 그래서 그건 단지 단어 줌의 길이. 648 00:29:22,250 --> 00:29:25,400 그것은 얼마나 많은 문제가되지 않습니다 더 많은 단어는 우리는이 시도에 넣어. 649 00:29:25,400 --> 00:29:30,225 우리는 항상 그것을 얻을 수 이 네 단계. 650 00:29:30,225 --> 00:29:31,215 신난다. 651 00:29:31,215 --> 00:29:32,205 네? 652 00:29:32,205 --> 00:29:34,185 >> 청중 : 그래서 [들리지] 오른쪽 배열입니다? 653 00:29:34,185 --> 00:29:35,322 >> HANNAH : 그래 그래. 654 00:29:35,322 --> 00:29:37,155 청중 : 당신이 있다면 [들림]을 찾고, 655 00:29:37,155 --> 00:29:40,929 당신은 통과 할 것 배열은 [들리지 찾는 방법은? 656 00:29:40,929 --> 00:29:41,470 HANNAH : 물론. 657 00:29:41,470 --> 00:29:44,000 청중 : 그 시간이 더 걸릴하지 않습니다? 658 00:29:44,000 --> 00:29:46,370 HANNAH : 나는 갈거야 경우 내 배열은 항상 말 659 00:29:46,370 --> 00:29:49,250 A, B, C, D가 될 것, E, F, G, 어쩌구 저쩌구, 660 00:29:49,250 --> 00:29:51,630 나는 항상 알고있는 경우에 그래서이다 똑같은 순서로, 661 00:29:51,630 --> 00:29:53,880 나는 항상 알고있는 경우입니다 알파벳 순서로, 662 00:29:53,880 --> 00:29:57,860 난 그냥 O는 숫자입니다 말할 수 있습니다 그래서 그래서 알파벳. 663 00:29:57,860 --> 00:29:59,620 그냥 그 장소로 이동합니다. 664 00:29:59,620 --> 00:30:01,860 와, 기억 때문에 배열, 우리는 액세스 할 수 있습니다 665 00:30:01,860 --> 00:30:06,590 상수에 해당 배열의 요소 우리가 찾고있는 곳에 우리가 알고있는 경우 시간. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 그래? 668 00:30:09,580 --> 00:30:12,005 >> 청중 : 이전에 [들림] (27)를 밀어 669 00:30:12,005 --> 00:30:14,430 하지만 첫 번째 26. 670 00:30:14,430 --> 00:30:15,400 >> HANNAH : 죄송합니다? 671 00:30:15,400 --> 00:30:18,800 >> 청중 : 첫 번째 아닌가요 한 0, 그래서 26되지 않을 것? 672 00:30:18,800 --> 00:30:24,900 >> HANNAH : 우리가 27을 말할 때 물론, 그래서, 그게 우리가 (26)를 통해 0와 indices 줄 것. 673 00:30:24,900 --> 00:30:28,220 그러나 실제로 계산하는 경우 그 가운데는 2​​7이 될 것. 674 00:30:28,220 --> 00:30:30,007 좋은 질문입니다. 675 00:30:30,007 --> 00:30:30,590 다른 건? 676 00:30:30,590 --> 00:30:31,200 그래? 677 00:30:31,200 --> 00:30:34,420 >> 청중 : 그래서 시도는 해시 테이블보다 느린? 678 00:30:34,420 --> 00:30:37,920 >> 한나 : 시도는에, 될거야 이론보다 빠른 해시 테이블 679 00:30:37,920 --> 00:30:39,760 하지만 더 많은 메모리를 차지합니다. 680 00:30:39,760 --> 00:30:40,534 그래? 681 00:30:40,534 --> 00:30:41,450 청중 : [들리지? 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> HANNAH : 미안 해요 나는, 나는 당신을 듣지 않았다. 684 00:30:47,484 --> 00:30:48,400 청중 : [들리지]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 25 0 당신에게 26을 제공합니다. 687 00:30:54,100 --> 00:30:56,958 >> HANNAH : 0-25 것 오른쪽, 당신에게 26을 제공합니다. 688 00:30:56,958 --> 00:30:58,457 >> 청중 : 그리고 [들림]. 689 00:30:58,457 --> 00:30:59,040 HANNAH : 오른쪽. 690 00:30:59,040 --> 00:31:04,760 그래서 우리는시 지정하는 숫자입니다 우리의 배열에있는 사물의 수입니다. 691 00:31:04,760 --> 00:31:07,260 우리가 27이 있다면 그래서, 그것은이다 우리에게 줄 것 0 692 00:31:07,260 --> 00:31:10,620 (26)를 통해, 어떤을 줄 것이다 이 경우 미국 방,, 693 00:31:10,620 --> 00:31:12,770 나는 아포스트로피를 포함하지 않는거야. 694 00:31:12,770 --> 00:31:17,040 그래서 우리는 25를 통해 0이 있어요 알파벳의 첫 26 글자, 695 00:31:17,040 --> 00:31:18,990 알파벳 또는 모두 26 글자. 696 00:31:18,990 --> 00:31:21,190 그리고 그 마지막을 것은, 항목 26입니다 697 00:31:21,190 --> 00:31:24,598 체크 될 것 마크, 또는 델타. 698 00:31:24,598 --> 00:31:26,960 다른 건? 699 00:31:26,960 --> 00:31:29,130 신난다. 700 00:31:29,130 --> 00:31:30,020 내 공간을 잃었다. 701 00:31:30,020 --> 00:31:31,020 시원하고 확인을 클릭합니다. 702 00:31:31,020 --> 00:31:33,240 >> 그래서 우리는 이미 다루었 다. 703 00:31:33,240 --> 00:31:37,430 그러나 큰 무역 오프 시도 및 해시 테이블 사이 704 00:31:37,430 --> 00:31:39,720 시도가에 제공한다는 것입니다 이론, 일정 조회 705 00:31:39,720 --> 00:31:42,890 배하지만 메모리의 전체를 많이 사용합니다. 706 00:31:42,890 --> 00:31:46,495 자, 이제 우리는 약간있다 덜 복잡한 구조, 707 00:31:46,495 --> 00:31:49,640 우리는 C와 함께 할 것입니다, 우리는 오른쪽을 따라 이동합니다. 708 00:31:49,640 --> 00:31:51,930 >> 스택 그래서, 우리는 이것을보고 여기서 강의에 당신 709 00:31:51,930 --> 00:31:55,020 같은 뭔가를 트레이 곳의 스택 710 00:31:55,020 --> 00:31:57,330 당신이 넣어 마지막 일 스택에 가고 711 00:31:57,330 --> 00:31:59,500 이륙 첫 번째 일이 될 수 있습니다. 712 00:31:59,500 --> 00:32:02,880 그래서 정말 스택을 정의 무엇 마지막은 당신이에 넣어 것입니다 713 00:32:02,880 --> 00:32:06,080 첫 번째가 될 것입니다 점은 이륙. 714 00:32:06,080 --> 00:32:09,279 그리고 우리가 사용하는 용어 경우 우리는 무언가를 넣어거야, 715 00:32:09,279 --> 00:32:12,070 우리는에 무언가를 추가하려고하는 경우 우리의 스택, 우리는 밀고 있음을 호출합니다. 716 00:32:12,070 --> 00:32:14,970 그리고 우리는 무언가를 가지고가는 경우 오프, 우리는 터지는를 호출합니다. 717 00:32:14,970 --> 00:32:17,080 그리고 우리는 거라면 우리를 스택을 구현 718 00:32:17,080 --> 00:32:20,660 추적해야 할 필요가 크기와 용량을 모두. 719 00:32:20,660 --> 00:32:24,940 요소의 총 개수 우리 수 있도록 보유 및 요소의 현재 수 720 00:32:24,940 --> 00:32:27,880 것을 우리는 들고 있습니다. 721 00:32:27,880 --> 00:32:29,885 >> 그리고 매우 유사하게, 우리는 큐가 있습니다. 722 00:32:29,885 --> 00:32:34,510 그리고 유일한 차이점 대신 스택입니다 723 00:32:34,510 --> 00:32:37,630 우리는 말했다 우리가 넣어 마지막 일 우리가 이륙 최초의 일이다. 724 00:32:37,630 --> 00:32:40,940 그래서 큐와, 우리가 지금까지 해왔 먼저 725 00:32:40,940 --> 00:32:43,129 를 될 것입니다 우선 우리는 꺼내. 726 00:32:43,129 --> 00:32:45,420 그래서 이것은 당신이 있다면처럼 실제로 가게에서 안감 727 00:32:45,420 --> 00:32:48,140 당신은 도움을 받고있어, 라인에서 다음 첫 번째 사람 728 00:32:48,140 --> 00:32:50,880 도움이 될 수있는 첫 번째 사람이되어야한다. 729 00:32:50,880 --> 00:32:52,220 그래서 큐 것입니다. 730 00:32:52,220 --> 00:32:55,880 >> 그래서 우리는 추적 할 필요가 크기, 용량, 머리 우리가에 있기 때문에 731 00:32:55,880 --> 00:33:01,130 전면 떨어져 모두 걸릴 것 대신에 위로의리스트. 732 00:33:01,130 --> 00:33:03,480 그에 대한 질문? 733 00:33:03,480 --> 00:33:06,330 당신을 귀찮게 모든 C 질문? 734 00:33:06,330 --> 00:33:09,590 데이터 구조, 그 재미 물건의? 735 00:33:09,590 --> 00:33:10,530 좋아, 좋아. 736 00:33:10,530 --> 00:33:14,120 그래서 앨리슨에 넘겨 것 좀 더 프로그래밍에 뛰어. 737 00:33:14,120 --> 00:33:15,965 >> 앨리슨 : 아, 우리가 볼 수 있습니다. 738 00:33:15,965 --> 00:33:17,370 우리는 내가 여기에 얼마나 잘 볼 수 있습니다. 739 00:33:17,370 --> 00:33:21,410 좋아, 내가 시도하고 비행거야 이 물건을 통해, 여러분. 740 00:33:21,410 --> 00:33:24,540 한나는 매우 갔다 그녀의 모든 일에 깊이. 741 00:33:24,540 --> 00:33:26,900 나는 제공하기 위해 노력하겠습니다 당신은 빠른 폭발 개요 742 00:33:26,900 --> 00:33:31,290 우리는 모두와 함께 다빈 얻을 수 있도록 재미 자바 스크립트와 보안 물건 743 00:33:31,290 --> 00:33:33,380 어쩌면 당신이 실제로 에 대한 자세한 내용을 듣고 싶습니다. 744 00:33:33,380 --> 00:33:36,600 >> OK, 한나 말했듯이, 경우 당신은 질문이, 745 00:33:36,600 --> 00:33:39,170 내가 너무 빨리거야, 알려 주시기 바랍니다. 746 00:33:39,170 --> 00:33:42,114 나는 필요에 따라 질문에 대답합니다. 747 00:33:42,114 --> 00:33:45,280 시작 그래서, 우리는 시작하는거야 바로 첫 번째 것들 중 아마 하나 748 00:33:45,280 --> 00:33:48,730 당신은 웹 배운 프로그래밍, 권한. 749 00:33:48,730 --> 00:33:52,720 그래서 chmod를, 너희들은 했어야 모든 웹이의 주인 750 00:33:52,720 --> 00:33:54,870 만약 여러분의 프로그래밍 최근에하고 있었다. 751 00:33:54,870 --> 00:33:57,320 그것은 기본적으로 그냥 명령이다 그 권한을 변경 752 00:33:57,320 --> 00:34:00,779 또는 액세스 권한 우리의 파일 시스템 개체. 753 00:34:00,779 --> 00:34:02,570 물론, 실제로 당신이 있다면, 이러한 참조 754 00:34:02,570 --> 00:34:04,910 이들과 어떤 문제가 문제 세트 중, 755 00:34:04,910 --> 00:34:11,460 당신은, 긴 LS의 -l을 사용했을 수 있습니다 이 등으로보기 종류를 얻을 수 있습니다, 756 00:34:11,460 --> 00:34:14,209 당신은 실제로 모든 볼 곳 파일에 대한 권한을 설정합니다. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> 그리고 정말, 우리는 갈거야 꽤 빨리를 통해 단지 예쁜 759 00:34:20,732 --> 00:34:21,940 많은 이들 각각이 무엇을 의미하는지. 760 00:34:21,940 --> 00:34:24,481 그래서 우리는 바로 여기 거라고이있는 그냥 디렉토리를 의미합니다. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 물론 여기, 우리는 rwx로 참조하는 읽을 수있는, 쓰기 및 실행이다. 763 00:34:31,739 --> 00:34:37,090 이러한 또한 비트로 표현 될 수있다, 저희는 다음 페이지에 얻을 것이다. 764 00:34:37,090 --> 00:34:40,699 우리가 본 각각의 화음 여기에, 그래서 세 화음을합니다. 765 00:34:40,699 --> 00:34:48,120 우리는 R 아무것도 x와 R을 RWX 한 아무것도 첫 번째 파일 X가 없습니다. 766 00:34:48,120 --> 00:34:49,690 그것은이 일반적인 구조입니다. 767 00:34:49,690 --> 00:34:50,940 >> 그래서 우리는 몇 가지 디렉토리가 있습니다. 768 00:34:50,940 --> 00:34:53,999 우리는 어떤 사용자 그룹을 가질 이러한 권한. 769 00:34:53,999 --> 00:34:57,040 이러한 권한이 일부 그룹, 및 세계 권한이 있는지. 770 00:34:57,040 --> 00:34:59,420 당신은 트라이어드 이러한 생각할 수 있습니다. 771 00:34:59,420 --> 00:35:01,130 당신은 3 비트 이러한 생각할 수 있습니다. 772 00:35:01,130 --> 00:35:04,060 그래서 그들은 값을 저장할 수 어디서든 0에서 최대 773 00:35:04,060 --> 00:35:07,350 7, 이는 왜 때때로 우리는 당신이 chmod를 수행했다 774 00:35:07,350 --> 00:35:17,510 대신 어떤 RW chmod를 600. 775 00:35:17,510 --> 00:35:19,170 우리는이 예에 얻을 것이다. 776 00:35:19,170 --> 00:35:24,260 그러나 기본적으로, 당신은 생각할 수 다만 RWX 이들 중 어느 하나, 777 00:35:24,260 --> 00:35:28,520 또는 당신은 몇 가지로 생각할 수 있습니다 숫자 그 다음이 첫 번째 778 00:35:28,520 --> 00:35:31,480 사이의 숫자를 나타냅니다 0에서 7이 두 번째 779 00:35:31,480 --> 00:35:33,970 사이의 숫자를 나타냅니다 0, 7, 세번째 780 00:35:33,970 --> 00:35:38,245 OK, 0에서 7 사이의 숫자를 나타냅니다? 781 00:35:38,245 --> 00:35:42,700 >> r은 4의 값 w가 값 2, 및 X가 782 00:35:42,700 --> 00:35:49,230 이유를 1의 값을 갖는다 여기 권한은 700 chmod를 할 것입니다. 783 00:35:49,230 --> 00:35:53,520 여기이 경우, 우리를 말한다 때문에 첫 번째 비트가에 뒤집혀있다. 784 00:35:53,520 --> 00:35:55,380 그래서 우리는 읽기 (4)를 가지고있다. 785 00:35:55,380 --> 00:35:58,730 두 번째 비트는 동안 뒤집어 지금 우리는 6이 때문에, 2 인, w. 786 00:35:58,730 --> 00:36:02,070 그리고 세 번째 비트가 뒤집혀 1 X, 대한, 그래서 우리는 일곱을 얻는다. 787 00:36:02,070 --> 00:36:04,820 그리고 물론, 우리 그룹 우리의 세계는 각각 0이다. 788 00:36:04,820 --> 00:36:07,770 그래서도이고 chmod를 700에 해당. 789 00:36:07,770 --> 00:36:12,081 그리고 나는 확실히하려고 할 것입니다 그 간의 매핑을 이해합니다. 790 00:36:12,081 --> 00:36:14,080 그것을 가지고 있는지 확실하지 않습니다 전에 퀴즈에 와서, 791 00:36:14,080 --> 00:36:18,590 그러나이 될 것입니다 내가 요청할 수 있습니다 질문입니다. 792 00:36:18,590 --> 00:36:22,110 >> 조금만도 가고 여기에서 더 chmod를, 여기에 793 00:36:22,110 --> 00:36:27,730 매우 일반적입니다 chmod를 호출의 구조. 794 00:36:27,730 --> 00:36:29,500 그래서 물론, 우리는 여기에 chmod를했다. 795 00:36:29,500 --> 00:36:34,410 이것이 의미하는 것을 참고, 누가 우리는 이러한 권한을주고있다 796 00:36:34,410 --> 00:36:36,570 또는 누가 우리는이 복용 거리에서 권한을 설정합니다. 797 00:36:36,570 --> 00:36:44,330 그래서 우리가 여기 권한에있다, 같은 우리는 당신이 플러스 X chmod를 준, 798 00:36:44,330 --> 00:36:45,440 우리가 곧 볼 수있다. 799 00:36:45,440 --> 00:36:48,460 다만 이러한 특정을 적어 모든 사람에게 권한을 부여합니다. 800 00:36:48,460 --> 00:36:49,600 모두에게 부여합니다. 801 00:36:49,600 --> 00:36:55,370 그래서 당신은 아주 잘 유 플러스 X를 가질 수 또는 g 플러스 X 또는 O 플러스 X 또는 여러 802 00:36:55,370 --> 00:36:55,870 그. 803 00:36:55,870 --> 00:36:59,280 첫 번째 부분은 항상되도록 참조 할 것. 804 00:36:59,280 --> 00:37:03,220 누가 우리는 이러한 권한을주고있다 사람이나 우리는 거리에서 그들을 복용? 805 00:37:03,220 --> 00:37:04,850 >> 두번째 연산자이다. 806 00:37:04,850 --> 00:37:07,350 그래서 너희들은 대부분 플러스로 다루었 다. 807 00:37:07,350 --> 00:37:12,140 이 권한을 제공합니다 누구든지 당신이 그들을 제공하고, 808 00:37:12,140 --> 00:37:14,840 마이너스 반면, 논리적으로 제거합니다. 809 00:37:14,840 --> 00:37:16,880 이 그래서 아무것도 너무 끔찍한. 810 00:37:16,880 --> 00:37:23,060 그리고 모드들 우리가 무슨 얘기를하다 읽기, 쓰기, 또는 실행에. 811 00:37:23,060 --> 00:37:29,070 그래서 플러스 x는 실행을 적어 모든 사람에게 권한을 부여합니다. 812 00:37:29,070 --> 00:37:33,430 그리고, 물론, 그 위에 특정 파일이나 디렉토리. 813 00:37:33,430 --> 00:37:33,980 OK? 814 00:37:33,980 --> 00:37:36,010 chmod를 좋은 모두? 815 00:37:36,010 --> 00:37:37,850 너무 나쁜? 816 00:37:37,850 --> 00:37:42,417 >> OK, 당신의이, HTML 때문에 이전에 충분한 마이 스페이스의 나이를 바꿔 ..? 817 00:37:42,417 --> 00:37:44,750 나는 나의 섹션이 보내 말 그대로 사람들의 절반 818 00:37:44,750 --> 00:37:45,790 내가 미친 것처럼 나를 바라 보았다. 819 00:37:45,790 --> 00:37:47,498 그리고, 사람, 마치 우리는 오래된 아니에요. 820 00:37:47,498 --> 00:37:48,910 어서. 821 00:37:48,910 --> 00:37:53,360 그래서 하이퍼 텍스트 마크 업 언어, 그것은 정직하게 당신을 위해 단지 방법 822 00:37:53,360 --> 00:37:57,990 웹에서 어떤 일을 표시합니다. 823 00:37:57,990 --> 00:37:59,210 그래서 마크 업 언어입니다. 824 00:37:59,210 --> 00:38:00,640 이 스크립트 언어 아니다. 825 00:38:00,640 --> 00:38:02,160 거기에 어떤 논리가 없습니다. 826 00:38:02,160 --> 00:38:05,710 그것은을 변경 단순히 방법 뭔가가 표시됩니다. 827 00:38:05,710 --> 00:38:07,670 OK, 그래서 중요 차이는 확인합니다. 828 00:38:07,670 --> 00:38:12,030 이것은 마크 업 언어 여길 하지 스크립트 언어. 829 00:38:12,030 --> 00:38:15,100 >> 그래서 여기에 우리는 우리의 HTML 태그를 가지고있다. 830 00:38:15,100 --> 00:38:20,390 이 슬라이드에 아마 대부분입니다 당신이 잘 알고 있어야 사람 831 00:38:20,390 --> 00:38:22,390 와 정말 편안하게. 832 00:38:22,390 --> 00:38:25,700 그래서 분명히, 우리가 우리의 HTML 태그, 어떤 833 00:38:25,700 --> 00:38:29,930 그 모든 일을 지정 사이에이 두 HTML됩니다. 834 00:38:29,930 --> 00:38:33,070 우리는 몇 가지 링크를 가지고있는 분명히 당신에게 줄 것이다 835 00:38:33,070 --> 00:38:34,990 외부 웹 페이지로 연결되는 링크. 836 00:38:34,990 --> 00:38:37,520 일부 제목, 여기에 우리의 머리 이내. 837 00:38:37,520 --> 00:38:40,020 그리고 우리는 우리의 몸을 가지고 헤더 인 H1, 838 00:38:40,020 --> 00:38:42,260 그래서 그것은 좋은 만들거야 그리고 대담하고 큰. 839 00:38:42,260 --> 00:38:46,040 그리고, 우리는 몇 가지가 문단 페이지. 840 00:38:46,040 --> 00:38:49,000 당신은 아마 알아야한다 물건을 잘 알고 있어야 841 00:38:49,000 --> 00:38:54,030 이미지를 삽입하는 방법입니다 같은 거기에 다른 헤더 클래스? 842 00:38:54,030 --> 00:38:57,240 나는 확실히 될 것 사업부 편안. 843 00:38:57,240 --> 00:39:00,840 따라서 이러한 태그를 가지고 다수 당신은 잘 알고 있어야합니다 것을. 844 00:39:00,840 --> 00:39:04,370 그러나 물론, 모든 것을에서와 같이 CS (50)는 목록이 전부인 것은 아니다. 845 00:39:04,370 --> 00:39:08,200 그래서 당신이에 브러시해야합니다. 846 00:39:08,200 --> 00:39:13,260 >> CSS, 그래서 CSS, 당신의 시계 경우 2 주 전에서 내 세미나, 847 00:39:13,260 --> 00:39:16,250 정말 그냥하는 방법입니다 웹 페이지의 스타일을? 848 00:39:16,250 --> 00:39:18,950 OK, 그래서 우리는 약간의 마크 업 언어를 가지고있다. 849 00:39:18,950 --> 00:39:23,220 그냥 텍스트를 돌봐 HTML, 그리고 페이지에 어디있을. 850 00:39:23,220 --> 00:39:25,760 그러나 CSS는 꽤 만드는 것 정말. 851 00:39:25,760 --> 00:39:30,690 당신은 당신의 HTML에서이있을 수 있습니다 파일, 그러나 우리는 나중에 대해 이야기로, 852 00:39:30,690 --> 00:39:32,660 나는 수도 확신 그 다음 슬라이드 될 853 00:39:32,660 --> 00:39:35,620 일반적인 방법이며, 실제로 우리가 정말 격려 연습, 854 00:39:35,620 --> 00:39:40,670 당신이 유지하는 그들을 분리 때 MVC 그 전체의 패러다임에 대해 이야기. 855 00:39:40,670 --> 00:39:42,490 즉,이은에 공급 정말로이다. 856 00:39:42,490 --> 00:39:46,110 >> 그래서 CSS는 단지 방법입니다 상황이 꽤 보이게. 857 00:39:46,110 --> 00:39:50,500 여기 물건, 같은 몸과 #title 및 .INFO, 858 00:39:50,500 --> 00:39:54,340 이러한 선택기 무엇이라고 그들은 특정 일을 선택하면된다 859 00:39:54,340 --> 00:39:59,260 HTML 파일 내 그리고 어떤 스타일을 적용, 860 00:39:59,260 --> 00:40:04,090 당신이 무엇을 원하는 것들의 종류, 웹의 특정 요소에 861 00:40:04,090 --> 00:40:04,590 페이지. 862 00:40:04,590 --> 00:40:08,820 그래서 여기, 우리가 배경 색상 및 색상 863 00:40:08,820 --> 00:40:12,450 및 폰트 패밀리가되고있어 그 몸에 무엇이든에 적용. 864 00:40:12,450 --> 00:40:15,530 우리가 여기 뒤돌아 경우 그래서, 그것을 제목에 적용되지 않습니다. 865 00:40:15,530 --> 00:40:22,340 그것은 단지 무엇인지에 적용됩니다 이 몸 선택기에서, OK? 866 00:40:22,340 --> 00:40:25,250 >> 여기에 제목이있다 같은 일이 될 것, 867 00:40:25,250 --> 00:40:28,410 텍스트의 색상 블루 만 가고있는 868 00:40:28,410 --> 00:40:33,870 내 어떤 영향을합니다 표제 선택기. 869 00:40:33,870 --> 00:40:36,580 뿐만 아니라 여기에 정보로서, 텍스트, 핑크 될 것입니다 870 00:40:36,580 --> 00:40:38,600 바로 여기에 무엇이든의 정보,. 871 00:40:38,600 --> 00:40:40,860 유일하게 그 그래서 이 페이지에 핑크 것 872 00:40:40,860 --> 00:40:44,100 날짜, 2014년 11월 17일 (월요일)입니다. 873 00:40:44,100 --> 00:40:48,770 좋아, 그럼 CSS는 단지 방법입니다 예 시달리고보다 효율적으로 제어 할? 874 00:40:48,770 --> 00:40:51,850 >> 청중 : 왜해야합니까 제목 해시를 사용 하는가? 875 00:40:51,850 --> 00:40:55,170 >> HANNAH : 다음 슬라이드, 약속! 876 00:40:55,170 --> 00:40:56,810 우리는 거기에 도착합니다. 877 00:40:56,810 --> 00:40:59,830 우리는 해시를 사용해야 그래서이다. 878 00:40:59,830 --> 00:41:03,429 그래서 선택기 세 가지에 걸릴 우리가 당신들에게 이야기 형태. 879 00:41:03,429 --> 00:41:05,595 나는 더 많은 것을 배우고 싶은 fyou, 많은 거기 밖으로있다. 880 00:41:05,595 --> 00:41:07,540 큰 CSS 문서가있다. 881 00:41:07,540 --> 00:41:12,680 이렇게하는 태그 명은, 거기 HTML 단지 일반 태그. 882 00:41:12,680 --> 00:41:17,210 H1, P, DIV, H2 그래서, 사물의 그 종류. 883 00:41:17,210 --> 00:41:20,320 그리고 우리는있는 그대로 그 이름을 지정할 수 있습니다. 884 00:41:20,320 --> 00:41:22,650 우리가 여기에 참조 그래서 본체는, 그 태그의 정상. 885 00:41:22,650 --> 00:41:26,660 그래서 우리는 몸을 넣을 수 있습니다 우리는 우리의 CSS 파일에 얘기. 886 00:41:26,660 --> 00:41:29,730 >> 제목, 전체 이유와 우리 이 해시가있는 우리는 무엇이야이 887 00:41:29,730 --> 00:41:31,010 ID 생각했다. 888 00:41:31,010 --> 00:41:35,400 그래서 ID는 항상해야한다 HTML 페이지 내에서 고유 889 00:41:35,400 --> 00:41:37,930 당신이 때 너무 이를 참조하면 890 00:41:37,930 --> 00:41:41,990 당신은 단지 참조하려고한다는 사실을 알려 하나의 특정 일에. 891 00:41:41,990 --> 00:41:46,270 와, 여기이 경우에 따라서 우리의 여기 H1, CS (50) 리뷰 세션, 892 00:41:46,270 --> 00:41:47,810 우리는 제목의 ID를 가지고 있습니다. 893 00:41:47,810 --> 00:41:54,280 그냥 참조하기 위해 그래서 우리의 HTML의 조각, 우리는 해시 타이틀을한다. 894 00:41:54,280 --> 00:41:58,080 그냥 규칙에 따라 ID가 지정되어 있습니다 그들의 앞에 해시. 895 00:41:58,080 --> 00:42:01,650 동일한 방식으로, 우리는 참조 여기에 정보는 클래스입니다. 896 00:42:01,650 --> 00:42:06,070 그리고 CSS와 클래스입니다 점 클래스로 지정 897 00:42:06,070 --> 00:42:08,895 또는 그 클래스가 어떤 점. 898 00:42:08,895 --> 00:42:10,850 그래서 여기에이 경우에는 정보이다. 899 00:42:10,850 --> 00:42:13,090 >> 그래서 나는 그것을 다시 받아. 900 00:42:13,090 --> 00:42:16,200 이 두 가지 것 여기에 우리의 CSS 핑크 901 00:42:16,200 --> 00:42:18,430 그들은 둘 다 정보의 클래스가 있기 때문이다. 902 00:42:18,430 --> 00:42:23,070 그리고 우리의 CSS 파일에, 우리는 지정했다 정보의 종류와 그 아무것도 903 00:42:23,070 --> 00:42:24,120 분홍색이어야한다. 904 00:42:24,120 --> 00:42:25,968 그 의미가 있습니까? 905 00:42:25,968 --> 00:42:27,435 네? 906 00:42:27,435 --> 00:42:30,731 >> 청중 : 당신이 있다면 만들려면 몸에 흰색의 모든, 907 00:42:30,731 --> 00:42:32,814 그리고 당신은 만들려고 푸른 그 안에 무엇인가, 908 00:42:32,814 --> 00:42:34,770 즉, 문제가 발생할 것인가? 909 00:42:34,770 --> 00:42:37,310 >> HANNAH : 그래서 CSS는 CSS 스타일 시트. 910 00:42:37,310 --> 00:42:40,730 그래서 무엇이든은을 향 바닥은 우선합니다. 911 00:42:40,730 --> 00:42:44,080 그래서 몸으로 뭔가를 할 경우, 당신은 모든 흰색 확인 912 00:42:44,080 --> 00:42:49,300 다음 나중에 당신은 제목을 변경 또는 신체 내에서 텍스트를 변경, 913 00:42:49,300 --> 00:42:50,560 그것은 그것을 덮어 씁니다. 914 00:42:50,560 --> 00:42:55,360 쪽으로 그래서 아무것도 바닥은 우선합니다. 915 00:42:55,360 --> 00:42:56,730 네? 916 00:42:56,730 --> 00:42:59,627 >> 청중 : 그리고 ID는, 고유 하지만 클래스는 더 할 수 있는가? 917 00:42:59,627 --> 00:43:00,210 HANNAH : 오른쪽. 918 00:43:00,210 --> 00:43:06,320 그래서 ID는 고유해야하고, 클래스는 할 수 당신이 원하는만큼 많은 일을 참조하십시오. 919 00:43:06,320 --> 00:43:07,580 다른 질문? 920 00:43:07,580 --> 00:43:09,800 예. 921 00:43:09,800 --> 00:43:11,210 >> 청중 : [들리지]. 922 00:43:11,210 --> 00:43:13,509 나는 궁금 해요 그 차이가 있습니다. 923 00:43:13,509 --> 00:43:15,217 한나 : 미안 해요, 질문이 뭐였죠? 924 00:43:15,217 --> 00:43:18,960 청중 : 작은있다 "F"자본 "F." 925 00:43:18,960 --> 00:43:21,440 HANNAH : 그래서 차이 작은 "F"과 자본 사이의 "F" 926 00:43:21,440 --> 00:43:22,606 변화를하지 않아야합니다. 927 00:43:22,606 --> 00:43:26,330 그래서 "F"(15) 중 어느 방법이 될 것입니다. 928 00:43:26,330 --> 00:43:28,130 쿨, 다른 건? 929 00:43:28,130 --> 00:43:29,930 좋은 모두, CSS? 930 00:43:29,930 --> 00:43:30,850 네? 931 00:43:30,850 --> 00:43:31,790 >> 청중 : 죄송합니다. 932 00:43:31,790 --> 00:43:35,550 당신은 클래스와 ID를 가질 수 있습니까? 933 00:43:35,550 --> 00:43:38,030 >> HANNAH : 예, 당신은 할 수 있습니다. 934 00:43:38,030 --> 00:43:40,420 상황이 클래스와 ID 모두를 가질 수 있습니다. 935 00:43:40,420 --> 00:43:44,670 그리고 나는 매우 좋습니다 자신의 이러한 테스트. 936 00:43:44,670 --> 00:43:50,480 당신이하여 최선을 바로 배울 CSS 무언가 매우 간단한 웹 페이지, 937 00:43:50,480 --> 00:43:53,440 일부 CSS를 그리기, 단지 그들이 상호 작용하는 방법을보고. 938 00:43:53,440 --> 00:43:56,970 그리고 당신은 아주 좋은를 얻을 수 있습니다 그것이 어떻게 작동하는지에 대한 직관적 인 감각. 939 00:43:56,970 --> 00:43:58,810 >> OK, CSS 좋은 사람? 940 00:43:58,810 --> 00:44:01,280 당신은 모든 만들거야 이제 CSS와 아름다운 웹 사이트. 941 00:44:01,280 --> 00:44:05,460 OK, 모범 사례, 단지 명심해야 할 것들, 것들 942 00:44:05,460 --> 00:44:09,810 우리가 도킹 왜 ... 그 얘기입니다 당신 디자이너와 이것 저것합니다. 943 00:44:09,810 --> 00:44:11,820 그래서 모든 HTML 태그를 닫습니다. 944 00:44:11,820 --> 00:44:14,840 당신이 열려있는 몸을한다면, 가까운 몸이 있어야합니다. 945 00:44:14,840 --> 00:44:18,180 당신은 개방 단락이있는 경우, 단락 끝이 있어야합니다. 946 00:44:18,180 --> 00:44:19,555 페이지 유효성을 검사 확인합니다. 947 00:44:19,555 --> 00:44:23,330 너희들은 아주 잘 알고 있어야합니다 에서이와 P-설정 일곱 948 00:44:23,330 --> 00:44:26,350 CS (50) 금융과 W3 유효성 검사기와. 949 00:44:26,350 --> 00:44:28,340 그리고 내가 전에 말했듯이 우리의 큰 패러다임의 하나 950 00:44:28,340 --> 00:44:33,780 CSS으로 나만의 스타일을 분리한다 HTML입니다 마크 업에서. 951 00:44:33,780 --> 00:44:36,900 그리고, 물론, 우리가 여기로이 위대한 XKCD. 952 00:44:36,900 --> 00:44:38,280 야호, 희극! 953 00:44:38,280 --> 00:44:41,340 >> OK, TCP / IP. 954 00:44:41,340 --> 00:44:44,650 이들과 HTTP 사이, 기본적으로 그들은 두 프로토콜이야. 955 00:44:44,650 --> 00:44:46,810 그래서 그냥 생각할 수 이들 일련의 규칙으로서 956 00:44:46,810 --> 00:44:50,110 어떻게 일을 지배하는 그 인터넷을 통해 이동합니다. 957 00:44:50,110 --> 00:44:53,410 그래서 송신 제어 프로토콜 또는 인터넷 프로토콜 958 00:44:53,410 --> 00:44:57,280 확인하는 단지 방법입니다 이 어디로 가야 데이터 가져 959 00:44:57,280 --> 00:45:00,030 우리는 알고 있음 우리는 지금까지 데이터가 누락하고 있습니다. 960 00:45:00,030 --> 00:45:03,520 그래서 너희들 경우하면 강의를 다시 생각한다 데이비드와 전 몇 주 961 00:45:03,520 --> 00:45:06,980 여기서 우리는 그들이는 4 개의 봉투를했다 네 가지 중 하나처럼 번호가되었다, 962 00:45:06,980 --> 00:45:11,300 네의 2, 4 세, 네 네,이 규칙의 단지 세트입니다. 963 00:45:11,300 --> 00:45:13,830 우리는 OK, 우리가 때마다있어, 말했다 하나 이상의 패킷을 전송하는, 964 00:45:13,830 --> 00:45:16,610 우리는 번호를하려고 그것이 무엇인지 번호가 그것을 965 00:45:16,610 --> 00:45:19,040 얼마나 많은 총이 사용자는 받아야합니다. 966 00:45:19,040 --> 00:45:22,540 >> 그리고 이것은 단지 말하고 누구 데이터 그들이 여부를 수신 967 00:45:22,540 --> 00:45:26,120 경우 모든 또는 입수했습니다 뭔가가 길을 따라 길을 잃었다. 968 00:45:26,120 --> 00:45:28,840 그리고 그들은 다시 요청해야합니다. 969 00:45:28,840 --> 00:45:31,140 이건 정말 규칙 단지 집합입니다. 970 00:45:31,140 --> 00:45:33,650 즉, OK, 생각할 수있는 방법? 971 00:45:33,650 --> 00:45:37,700 또한, 상기 포트를 지정하는 너희들은, 내가 강의하는 동안 알고 있는데 ... 972 00:45:37,700 --> 00:45:39,170 그들은 포트의 전체 목록을했다. 973 00:45:39,170 --> 00:45:41,630 그러나 우리는 지금 여기가 없습니다. 974 00:45:41,630 --> 00:45:45,290 >> 그래서 하이퍼 텍스트 전송 프로토콜 다시, 다른 프로토콜의 것이다. 975 00:45:45,290 --> 00:45:48,630 그래서 다른 일련의 규칙이다 그이 경우, 적용, 976 00:45:48,630 --> 00:45:51,130 하이퍼 텍스트는 어떻게 전달된다. 977 00:45:51,130 --> 00:45:54,340 그래서 그냥 브라우저를 할 수 있습니다 웹 서버 이야기합니다. 978 00:45:54,340 --> 00:45:56,910 우리가 여기에서 말한대로, 그것은이다 인간의 핸드 쉐이크있다. 979 00:45:56,910 --> 00:46:00,480 그것은 지배하는 단지 방법 어떻게 웹 서버 인 980 00:46:00,480 --> 00:46:02,690 브라우저와 상호 작용하는 것. 981 00:46:02,690 --> 00:46:05,660 그리고 우리는 예 단지 몇 가지있다. 982 00:46:05,660 --> 00:46:09,100 우리는 여기에 몇 가지 요청이 여기서 GET는 방법이다. 983 00:46:09,100 --> 00:46:13,760 우리는 인 HTTP 1.1을 우리 프로토콜 버전. 984 00:46:13,760 --> 00:46:17,230 그리고, 호스트는, 무엇 인 우리가 실제로 액세스하기 위해 노력 중입니다. 985 00:46:17,230 --> 00:46:21,800 그리고, 당신이 여기에서 보는 바와 같이, 우리 이 200 몇 가지 응답을 얻을 986 00:46:21,800 --> 00:46:25,032 우리의 HTTP 응답 코드로서 OK. 987 00:46:25,032 --> 00:46:27,240 우리는 내가 갈거야 큰 목록을 가지고 1 초에 최대 당겨 988 00:46:27,240 --> 00:46:29,430 너희들은 잘 알고 있어야합니다 것을. 989 00:46:29,430 --> 00:46:35,750 그리고 우리는이 콘텐츠 형식의 텍스트 / HTML을 이는 단지 데이터의 유형을 말한다 990 00:46:35,750 --> 00:46:39,990 우리는 OK, 서버로부터 수신하는? 991 00:46:39,990 --> 00:46:44,230 이 호스트 및 콘텐츠 유형 HTTP 헤더의 일부입니다. 992 00:46:44,230 --> 00:46:49,610 당신은 적은 또는 작은을 가질 수있다 의 상황에 필요한 무엇 993 00:46:49,610 --> 00:46:50,580 당신이 상대하고. 994 00:46:50,580 --> 00:46:53,371 때때로 당신은 많이있을 것이다 서버에서 오는 정보를 제공합니다. 995 00:46:53,371 --> 00:46:56,040 어쩌면 그들은 많이 요청하고 사용자로부터의 정보. 996 00:46:56,040 --> 00:46:57,600 그것은 상황에 따라 달라집니다. 997 00:46:57,600 --> 00:47:01,144 당신이 CS (50) 연구를 보면, 그에 더 많은있다. 998 00:47:01,144 --> 00:47:03,060 하지만 우리가 얻을 수있는 여지가 그래서 나는거야,를 통해 999 00:47:03,060 --> 00:47:05,760 오른쪽 전방 경우 이동 즉, 사람들과 함께 OK인가? 1000 00:47:05,760 --> 00:47:07,960 쿨. 1001 00:47:07,960 --> 00:47:08,460 기다려. 1002 00:47:08,460 --> 00:47:11,182 나는 확실히 것을 가지고 허 집게 리아의 전체 목록! 1003 00:47:11,182 --> 00:47:13,140 이 이유를 모르겠어요 여기에 모든 방법. 1004 00:47:13,140 --> 00:47:15,660 나는 말 그대로 이동 생각 나는 sitting--을 동안 1005 00:47:15,660 --> 00:47:16,540 >> 다빈 : 당신이 그것을 가르쳐 하시겠습니까? 1006 00:47:16,540 --> 00:47:17,420 당신은 내가 가르쳐 하시겠습니까? 1007 00:47:17,420 --> 00:47:20,010 >> 청중 : 나는 우리가 할 수 있다고 생각 단지 시작하는 그들에게 보여. 1008 00:47:20,010 --> 00:47:22,210 난 당신이에 갈 수 의미 또한 그들,하지만 1009 00:47:22,210 --> 00:47:26,030 그것은 내가 있기 때문에 더 의미가 만든 생각 단지 HTTP 상태에 대해 얘기했다. 1010 00:47:26,030 --> 00:47:28,200 그래서 여기에 전체 목록입니다. 1011 00:47:28,200 --> 00:47:31,730 나는 일이되어 무슨 일이 일어나고 있는지 추측 다빈은 나중에 들어갈 것입니다. 1012 00:47:31,730 --> 00:47:35,330 그러나 전체 목록은있다 맛의 미리보기를 제공합니다. 1013 00:47:35,330 --> 00:47:41,640 OK, 우리는 이것이 것입니다 blow--거야 여느 때처럼 PHP의 충돌 과정이어야합니다. 1014 00:47:41,640 --> 00:47:44,874 >> 그래서 PHP, 하이퍼 텍스트 전 처리기, 그것은 재귀 backronym이다, 1015 00:47:44,874 --> 00:47:46,540 하는 그것이 다른 뭔가를 지명되었다 의미합니다. 1016 00:47:46,540 --> 00:47:49,050 그리고 그들은이 같은했다 정말 이해가되지 않습니다. 1017 00:47:49,050 --> 00:47:52,210 그래서 그들은 단지이게 뭐지라는 이름의 그리고 약어이었다 1018 00:47:52,210 --> 00:47:54,840 그래서 그들은 그냥 PHP 만든 하이퍼 텍스트 전 처리기, 어떤 1019 00:47:54,840 --> 00:47:55,980 다만 이해되지 않는다. 1020 00:47:55,980 --> 00:47:57,714 재미있는 이야기. 1021 00:47:57,714 --> 00:47:58,880 그것은 프로그래밍 언어이다. 1022 00:47:58,880 --> 00:48:02,360 내가 강조 그래서 많은 HTML은 프로그래밍 언어 아니다 1023 00:48:02,360 --> 00:48:05,350 이것은 마크 업 언어, PHP 야 프로그래밍 언어이다. 1024 00:48:05,350 --> 00:48:07,422 당신이 알고 어떻게 논리가 있기 때문에. 1025 00:48:07,422 --> 00:48:08,380 조건문이있다. 1026 00:48:08,380 --> 00:48:12,750 우리는 변수가 우리 반면, HTML에서 그런 일이 하나도 없다. 1027 00:48:12,750 --> 00:48:16,960 >> 좋아, 우리는이 작은이 비트는 여기에는 PHP의 맛처럼. 1028 00:48:16,960 --> 00:48:20,510 그래서 기본 변수 이름 달러 기호로 시작합니다. 1029 00:48:20,510 --> 00:48:21,500 그것과 같은 많은 사람들이. 1030 00:48:21,500 --> 00:48:22,371 우리 돈을 생각 나게한다. 1031 00:48:22,371 --> 00:48:22,995 그것은 모든 좋아요. 1032 00:48:22,995 --> 00:48:25,280 우리 모두는 PHP를 할 수 있습니다. 1033 00:48:25,280 --> 00:48:28,020 그래서 우리는을 지정하지 더 이상 변수의 유형입니다. 1034 00:48:28,020 --> 00:48:29,995 그것은 런타임에 결정됩니다. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 인터프리터는 같은 것입니다 오, 우리는을 통해 실행하겠습니다 1037 00:48:35,890 --> 00:48:39,565 하고 상황에 따라, 우리는 유형의 종류를 볼 수 있습니다 1038 00:48:39,565 --> 00:48:41,560 이러한 변수가 있어야합니다. 1039 00:48:41,560 --> 00:48:42,815 더 주요 기능은 없습니다. 1040 00:48:42,815 --> 00:48:43,690 상황이 바로 실행됩니다. 1041 00:48:43,690 --> 00:48:47,851 에서 가져 오기와 너희들 당신의 P-설정 마지막으로, 당신은이를 알 수 있습니다. 1042 00:48:47,851 --> 00:48:49,350 주요 기능은 정말 없었다. 1043 00:48:49,350 --> 00:48:52,070 당신은 쓴 당신이 원했던 일. 1044 00:48:52,070 --> 00:48:53,280 그리고 그냥 가지 일어났다. 1045 00:48:53,280 --> 00:48:56,760 그래서 당신을 위해 PHP입니다. 1046 00:48:56,760 --> 00:48:59,180 >> 배열은 매우 유사하다. 1047 00:48:59,180 --> 00:49:01,270 우리는 여전히이 브래킷을 가지고있다. 1048 00:49:01,270 --> 00:49:05,940 여기, 우리는 몇 가지 변수가 도착 불리고, 그것은 동일 야 1049 00:49:05,940 --> 00:49:08,540 난 ... 우리는 우리의 정상이 대괄호 표기법. 1050 00:49:08,540 --> 00:49:10,630 그리고 우리는 몇 가지 중요한 가치를 가지고있다. 1051 00:49:10,630 --> 00:49:14,630 그리고 큰 차이 C와 PHP 배열 사이 1052 00:49:14,630 --> 00:49:19,330 우리는이 associate--을 가질 수 있다는 것입니다 우리는 키 값을 연결할 수 있습니다. 1053 00:49:19,330 --> 00:49:22,440 그래서 대신에 그냥 가지고 인덱스가 배열 1054 00:49:22,440 --> 00:49:26,630 숫자 나 위치에 의해 배열에서 해당 요소의, 1055 00:49:26,630 --> 00:49:29,060 우리가 실제로 열쇠로 연결할 수 있습니다. 1056 00:49:29,060 --> 00:49:36,700 우리가 말할 수있는 경우, OK, 내가 원하는대로 값은 과일과 연결되어 있습니다. 1057 00:49:36,700 --> 00:49:39,280 어쩌면 우리는 과일 바나나에갔습니다. 1058 00:49:39,280 --> 00:49:41,760 그래서 우리에게 바나나를 돌려주는 것입니다. 1059 00:49:41,760 --> 00:49:44,100 >> 그러나 기본적으로는, 가장 이것에 대해 강력한 것 1060 00:49:44,100 --> 00:49:47,960 입니다 너희들이 기억한다면 여기서 우리는 기본적으로 강의에서 데모 1061 00:49:47,960 --> 00:49:53,050 재 작성 PHP에서 철자하고, 전 ... 조회는 정말로 좋아 1062 00:49:53,050 --> 00:49:55,007 이 키는 존재 하는가? 1063 00:49:55,007 --> 00:49:56,590 즉,의 힘을 정말 친절 하시네요. 1064 00:49:56,590 --> 00:49:58,560 당신은 반복 할 필요가 없습니다 당신의 배열을. 1065 00:49:58,560 --> 00:50:00,311 당신은 알 필요가 없습니다 어떤 공간이에 있습니다. 1066 00:50:00,311 --> 00:50:01,976 그것은 끝이나 시작 부분에있을 수 있습니다. 1067 00:50:01,976 --> 00:50:04,790 만큼 당신이 키를 알고 그는 값과 연결된, 1068 00:50:04,790 --> 00:50:09,740 PHP는 그 값을 침을 수 오른쪽 OK, 당신을 철회? 1069 00:50:09,740 --> 00:50:12,960 >> 그리고, 우리 또한 단지 이 단지 우리 때문에 1070 00:50:12,960 --> 00:50:16,750 키 값 쌍을 가질 수 있습니다 당신이이 의미하는 것은 아니다. 1071 00:50:16,750 --> 00:50:19,180 또한 단지 만들 수 있습니다 일반 배열 여기에 같은, 1072 00:50:19,180 --> 00:50:21,540 그것의 바닥에 하나, 둘, 셋, 넷. 1073 00:50:21,540 --> 00:50:22,510 사람들은 우리의 가치입니다. 1074 00:50:22,510 --> 00:50:25,320 그리고 사실, 자신의 키가 인덱스입니다. 1075 00:50:25,320 --> 00:50:26,830 그래서 하나의 키가 0이 될 것이다. 1076 00:50:26,830 --> 00:50:28,610 두 가지의 키는 하나가 될 것입니다. 1077 00:50:28,610 --> 00:50:31,910 등등 등등,하지 않는 한 명시 적으로 키를 할당, 1078 00:50:31,910 --> 00:50:34,630 당신은을 가정 할 수 값은 단지 그들의 인덱스입니다. 1079 00:50:34,630 --> 00:50:37,290 즉, 모든 사람에게 의미가 있습니까? 1080 00:50:37,290 --> 00:50:38,070 질문은 없나? 1081 00:50:38,070 --> 00:50:38,930 신난다. 1082 00:50:38,930 --> 00:50:44,420 >> OK, foreach는이에 대한 방법입니다 당신의 배열을 통해 반복. 1083 00:50:44,420 --> 00:50:47,490 그래서 우리는 여기에 뭔가를 그냥 일반적인 구조. 1084 00:50:47,490 --> 00:50:51,020 너무 foreach는, 이름 우리의 배열, 어떤으로 1085 00:50:51,020 --> 00:50:53,930 각을 호출 할 배열의 요소, 1086 00:50:53,930 --> 00:50:57,270 우리는 뭔가를 할 수 있습니다 그 요소 또는 값. 1087 00:50:57,270 --> 00:50:58,680 그래서 우리는 여기에 예를 가지고있다. 1088 00:50:58,680 --> 00:51:05,770 우리는 연관이 이 두 항목으로 배열 1089 00:51:05,770 --> 00:51:10,080 바 foo에와 관련되는 그리고 바즈와 관련되는 qux. 1090 00:51:10,080 --> 00:51:12,180 그래서 키는 foo에와 바즈 있습니다. 1091 00:51:12,180 --> 00:51:13,650 값은 바 qux 있습니다. 1092 00:51:13,650 --> 00:51:18,560 그래서 foreach는, 우리는 우리의 배열을 여기서, 키 값 쌍으로. 1093 00:51:18,560 --> 00:51:21,560 이 액세스 할 수있게 해준다 키와 값을 모두. 1094 00:51:21,560 --> 00:51:23,680 아마 당신이 원하는 값,이 경우에 1095 00:51:23,680 --> 00:51:27,640 당신은 도착처럼 할 수 다음 $ 값과 같이 1096 00:51:27,640 --> 00:51:30,640 다만 값 액세스 당신은을 통해 반복으로. 1097 00:51:30,640 --> 00:51:32,600 하지만 어쩌면, 일부 이유는, 당신은 키를 원하는, 1098 00:51:32,600 --> 00:51:35,460 내가 선택한 이유는 대신이 예. 1099 00:51:35,460 --> 00:51:40,240 그래서 당신은 실제로 조작 할 수 있습니다 이 경우 키와 값. 1100 00:51:40,240 --> 00:51:41,070 OK? 1101 00:51:41,070 --> 00:51:41,905 질문? 1102 00:51:41,905 --> 00:51:44,279 >> 청중 : 당신이 원한다면 그냥 키를 것 조작 1103 00:51:44,279 --> 00:51:45,910 당신이해야 할 foreach-- 1104 00:51:45,910 --> 00:51:47,360 >> 앨리슨 : 오른쪽. 1105 00:51:47,360 --> 00:51:50,560 그래서 당신이 원한다면 단지 키를 조작, 1106 00:51:50,560 --> 00:51:53,680 당신은 여전히​​이 필요 구문 당신에 있는지를 1107 00:51:53,680 --> 00:51:56,930 무언가로 도착을 가지고, 한 가지, 그것은이다 1108 00:51:56,930 --> 00:52:00,070 가는 당신이 원하는 가정 값이 아닌 키. 1109 00:52:00,070 --> 00:52:06,780 그래서 당신은 그냥 같이있는 경우 어쩌면이 $ 요소처럼 그대로 도착, 1110 00:52:06,780 --> 00:52:11,670 당신이 요청한다고 가정 것 각 지점에서 바로 값. 1111 00:52:11,670 --> 00:52:13,879 명시 적으로 원하는 작업 키 뭔가를, 1112 00:52:13,879 --> 00:52:16,170 당신이가는하지 않더라도 값으로 아무것도 할, 1113 00:52:16,170 --> 00:52:18,430 이 구조를 필요 우리는 여기에 있다고 1114 00:52:18,430 --> 00:52:22,330 위치를 명시 적으로 요구하고 키 값 모두. 1115 00:52:22,330 --> 00:52:24,170 좋은 질문입니다. 1116 00:52:24,170 --> 00:52:25,940 다른 건? 1117 00:52:25,940 --> 00:52:27,490 쿨. 1118 00:52:27,490 --> 00:52:29,911 >> 좋아, PHP와 HTML. 1119 00:52:29,911 --> 00:52:31,410 아, 우리가 돌​​아 왔어요 P-설정을 다시 일곱. 1120 00:52:31,410 --> 00:52:35,380 그래서이 조금 익숙 할 것이다. 1121 00:52:35,380 --> 00:52:41,760 그래서 몇 가지 간단한 HTML 양식입니다 그 인사의 일부 입력 이름이 있습니다. 1122 00:52:41,760 --> 00:52:43,820 그리고 우리는 우리가 GET의 우리의 방법을 참조하십시오. 1123 00:52:43,820 --> 00:52:47,430 그리고 우리는 우리의 P-세트에서 기억한다면, 이 양식이 제출 될 때, 1124 00:52:47,430 --> 00:52:58,130 그것은이 $의 _GET라는 배열을 보냅니다 이러한 입력 또는 변수에서의 모든 1125 00:52:58,130 --> 00:53:00,490 해야 형태 우리의 PHP에서 조작 할 수 있습니다. 1126 00:53:00,490 --> 00:53:03,320 이 경우, 사용자 그래서 이름에 둘 것입니다. 1127 00:53:03,320 --> 00:53:04,370 그들은 제출. 1128 00:53:04,370 --> 00:53:07,810 그리고 우리는 우리가 여기에 몇 가지 배열을 얻을 것을 알 수있다. 1129 00:53:07,810 --> 00:53:09,080 우리는 우리의 GET 배열을 가지고있다. 1130 00:53:09,080 --> 00:53:11,510 그리고 우리는 이름을 액세스 할 수 있습니다. 1131 00:53:11,510 --> 00:53:15,070 >> 그래서 말로는, OK, 나에게주는 이름과 연결된 값, 1132 00:53:15,070 --> 00:53:16,550 여기에 키있는 이름을 지정합니다. 1133 00:53:16,550 --> 00:53:21,400 그리고는 직접 매핑 무엇 우리는 우리의 입력 이름이 말했다. 1134 00:53:21,400 --> 00:53:28,960 그래서 이것은 당신에게 열쇠를주고 있었다 무엇 여기에 배열 될 것입니다. 1135 00:53:28,960 --> 00:53:31,220 즉, 모든 사람에게 의미가 있습니까? 1136 00:53:31,220 --> 00:53:32,070 네? 1137 00:53:32,070 --> 00:53:36,240 >> 청중 : 이름에 참조가 나올까요 [들림]에 보라색 라인? 1138 00:53:36,240 --> 00:53:37,740 >> 앨리슨 : 그것은 여기를 참조합니다. 1139 00:53:37,740 --> 00:53:43,840 그래서 여기이 필드, 그것은 여기에이 이름을 참조합니다. 1140 00:53:43,840 --> 00:53:47,800 그래서이 이름을 수 있었다 전화 번호 또는 어떤 추천. 1141 00:53:47,800 --> 00:53:51,790 이 이름은 실제로 무엇을 말한다 이 필드를 호출? 1142 00:53:51,790 --> 00:53:53,600 당신은 어떻게 가고있다 이 필드를 참조하십시오? 1143 00:53:53,600 --> 00:53:57,670 그리고이 이름은 우리가있어, 같은 실제로 이 필드를 말하는 것은 이름이라고합니다. 1144 00:53:57,670 --> 00:53:59,224 즉, 우리가 그것을 액세스 할거야 방법입니다. 1145 00:53:59,224 --> 00:54:02,070 >> 청중 : 그래서 좋아한다 입력 이름은 밥과 동일, 그리고 ... 1146 00:54:02,070 --> 00:54:04,380 >> 앨리슨 : 오른쪽 다음, 거기 밥을 얻을 것입니다. 1147 00:54:04,380 --> 00:54:06,090 정확히. 1148 00:54:06,090 --> 00:54:07,800 모두 멋진? 1149 00:54:07,800 --> 00:54:10,990 좋아, 그래서, POST 대 GET 이러한 두 가지 주요 방법입니다 1150 00:54:10,990 --> 00:54:14,880 것을 우리는 HTTP 요청에서 데이터를 전달합니다. 1151 00:54:14,880 --> 00:54:17,370 너희들은 봤어야 이러한 희망의 모두. 1152 00:54:17,370 --> 00:54:20,940 GET와, 정보 그래서 URL을 통해 전달됩니다. 1153 00:54:20,940 --> 00:54:23,490 그래서 당신은 구글을​​ 할 경우 검색, 유튜브, 당신은거야 1154 00:54:23,490 --> 00:54:25,130 아마 물음표를 알 수 있습니다. 1155 00:54:25,130 --> 00:54:28,230 그리고, 모든 단어 것을 그냥 거기에 넣어. 1156 00:54:28,230 --> 00:54:31,410 그리고, POST가 데이터를 전달 HTTP 메시지 본문. 1157 00:54:31,410 --> 00:54:36,922 그래서 GET과는 달리, 당신은 가지 고려 데이터는 사용자에게 표시된다. 1158 00:54:36,922 --> 00:54:38,630 하지만 정말이야 이해하는 것이 중요합니다 1159 00:54:38,630 --> 00:54:44,040 이 여전히 있다는 GET만큼 안전하지 않은. 1160 00:54:44,040 --> 00:54:48,780 내가 사용하고 싶은 비유 경우입니다 당신은 당신의 은행 계좌 번호를 1161 00:54:48,780 --> 00:54:52,795 그리고 당신은 외부에 쓰기 봉투, 그건 꽤 위험한입니다. 1162 00:54:52,795 --> 00:54:55,920 당신이 인 경우의 조각에 쓰기 종이 봉투 안에 넣어, 1163 00:54:55,920 --> 00:54:58,850 여전히 때문에 정말 안전하지 않은 당신이해야 할 모든 것을 열어입니다 1164 00:54:58,850 --> 00:55:03,480 실제 내용을 보면 메시지의 것을 볼 수 있습니다. 1165 00:55:03,480 --> 00:55:08,310 그래서이 "숨겨진"이고에 같은 사람 이 안전하다고 생각하지만 정말 아니다. 1166 00:55:08,310 --> 00:55:11,000 그리고 나는 확신 다빈 것 어쩌면 그 이상으로 얻을. 1167 00:55:11,000 --> 00:55:12,850 그러나 그것은 중요 구별로 만들려면 1168 00:55:12,850 --> 00:55:15,820 정말 좋은 일이 이해합니다. 1169 00:55:15,820 --> 00:55:19,220 >> OK, SQL은 쿼리 언어를 구조화. 1170 00:55:19,220 --> 00:55:22,220 모든 물건이 우리는 아주 최근에 본 적이! 1171 00:55:22,220 --> 00:55:25,400 그래서 기본적으로 단지 설계, 분명히, 데이터를 관리. 1172 00:55:25,400 --> 00:55:30,560 너희들과 많은 경험을했다 PHP MyAdmin와 테이블이. 1173 00:55:30,560 --> 00:55:34,100 그리고 네 일반적인 쿼리가 있습니다 우리가 원하는 것을 너희들은 알고 있습니다. 1174 00:55:34,100 --> 00:55:37,304 그래서 갱신, 삽입이있다, 선택하고 삭제합니다. 1175 00:55:37,304 --> 00:55:38,970 그래서 당신은 정말 잘 사람들을 알고 있는지 확인하십시오. 1176 00:55:38,970 --> 00:55:40,960 우리는 갈거야 정말 빨리 그들을 통해. 1177 00:55:40,960 --> 00:55:44,340 >> 그럼으로, 정말, 업데이트 무엇 당신은 그것을하지 생각 1178 00:55:44,340 --> 00:55:46,740 그냥 데이터베이스에 데이터를 업데이트합니다. 1179 00:55:46,740 --> 00:55:48,750 그래서 우리는 여기에 몇 가지 예를 가지고있다. 1180 00:55:48,750 --> 00:55:53,310 이것은 일반적이며 업데이트 쿼리의 구조. 1181 00:55:53,310 --> 00:55:56,150 그래서 우리는 테이블을 업데이트 것을 우리에 대해 얘기하고. 1182 00:55:56,150 --> 00:56:00,520 그리고 우리는 특정 설정하려면 값, 특정 열 1183 00:56:00,520 --> 00:56:02,600 특정 값과 동일. 1184 00:56:02,600 --> 00:56:07,500 그래서 이것은 단지 변경, 테이블을 업데이트 이 경우 모든 행의 값. 1185 00:56:07,500 --> 00:56:13,690 이 하나의 여기로 가면, 실제 예를 들어, 우리는 insert-- 죄송합니다. 1186 00:56:13,690 --> 00:56:17,630 즉, 슬라이드 전진 나없이 그것을 실현. 1187 00:56:17,630 --> 00:56:22,230 >> 그래서이 업데이트 테이블은 동일 COL1 설정 집이 동일 곳 val1을합니다 "커리어를." 1188 00:56:22,230 --> 00:56:25,300 어떤이 하나가하는 것은 그것은 단지 그것을 만 변경 1189 00:56:25,300 --> 00:56:28,130 특정 장소에서이 값을 업데이트합니다. 1190 00:56:28,130 --> 00:56:32,300 그래서 처음에, 이러한 변경 테이블의 모든 값, 1191 00:56:32,300 --> 00:56:32,860 OK? 1192 00:56:32,860 --> 00:56:35,820 그것은이를 변경할 것 모든 단일 항목에 대한 열 1193 00:56:35,820 --> 00:56:37,020 모든 단일 행. 1194 00:56:37,020 --> 00:56:40,840 이 경우, 당신은 할 수 규정으로 생각합니다. 1195 00:56:40,840 --> 00:56:44,020 그래서 그것은 단지 변경할 것 매우 특별한 장소에서. 1196 00:56:44,020 --> 00:56:47,840 에 따라서 P-설정, 때를 일곱 아마도 현금의 양을 업데이트 1197 00:56:47,840 --> 00:56:53,050 사용자가 가진 것을, 당신은 아마했다 일부 ID, 오른쪽 세션 ID와 동일 어디? 1198 00:56:53,050 --> 00:56:55,280 >> 에 당신이 원하는하지 않았기 때문에 현금의 양을 변경할 1199 00:56:55,280 --> 00:56:57,630 모든 사람을위한 사람 당신의 웹 사이트를 사용하고 있었다. 1200 00:56:57,630 --> 00:57:00,480 당신은 하나를 위해 변경을 원 특정 사람, 그 사람이되고 1201 00:57:00,480 --> 00:57:02,410 누구든지하면 그 시간에 그것을 사용했다. 1202 00:57:02,410 --> 00:57:04,320 오른쪽? 1203 00:57:04,320 --> 00:57:07,510 좋아, 그럼, 인서트를 삽입 테이블에 특정 값. 1204 00:57:07,510 --> 00:57:11,650 이것은 당신이있을 때처럼 새로운 사용자를 생성. 1205 00:57:11,650 --> 00:57:14,240 여기에 일반 구조 어떤 테이블에 삽입된다 1206 00:57:14,240 --> 00:57:15,680 우리에 대해 얘기하고. 1207 00:57:15,680 --> 00:57:18,910 값,되는 값이 우리가 실제로 삽입 할. 1208 00:57:18,910 --> 00:57:23,060 OK, 우리는 여기에서 볼 정도로, 우리 테이블에 삽입했다. 1209 00:57:23,060 --> 00:57:27,790 이와 특정 컬럼입니다 그들의 맞습니다 값. 1210 00:57:27,790 --> 00:57:29,940 그래서이, 삽입 말한다 포함하는 새로운 행 1211 00:57:29,940 --> 00:57:33,660 값 VAL1과 val2만큼 아래 이러한 특정 열. 1212 00:57:33,660 --> 00:57:39,240 >> 아마 당신은 단지 채우려 이 행의 절반 것들을 밖으로. 1213 00:57:39,240 --> 00:57:41,150 즉,이 부분은 여기에 당신이 할 수거야. 1214 00:57:41,150 --> 00:57:43,280 그것은 실제로 당신을 수 어느 부분을 결정합니다. 1215 00:57:43,280 --> 00:57:44,244 네? 1216 00:57:44,244 --> 00:57:52,150 >> 청중 : 수 당신 만 [들림] 행 [들림] 세포? 1217 00:57:52,150 --> 00:57:55,000 >> 앨리슨 : 만 기입하면 당신의 행의 특정 부분, 1218 00:57:55,000 --> 00:57:57,480 해당 셀의 나머지는 비어있다. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 만큼 당신이 그들에게 허용하는 비어있는, 그것은 문제가되지 않습니다. 1221 00:58:05,660 --> 00:58:09,570 당신이 그들에 액세스하려고하면, 그건 일부 빈 요소를 반환 할 것. 1222 00:58:09,570 --> 00:58:13,850 그러나 아는 것이 중요합니다 특정 테이블에 그, 1223 00:58:13,850 --> 00:58:16,690 그들은 null이 될 수 있어야합니다. 1224 00:58:16,690 --> 00:58:18,890 당신은에 실행 한 수 당신의 P-설정시 문제 1225 00:58:18,890 --> 00:58:21,320 우리는 어떤을 허용하지 않았기 때문에 당신의 가치는 null. 1226 00:58:21,320 --> 00:58:26,110 하지만 당신은을 지정할 수 있습니다 테이블의 옵션 값. 1227 00:58:26,110 --> 00:58:29,640 >> OK를 선택, 그래서이입니다 점점 단지 방법 1228 00:58:29,640 --> 00:58:33,790 테이블에서 특정 데이터에 당신이 원하는 어떤 식별자. 1229 00:58:33,790 --> 00:58:37,990 테이블 곳에서 그래서 선택 스타 COL, 뭔가 그냥 의미와 동일 1230 00:58:37,990 --> 00:58:43,820 나에게 관련된 모든 데이터를 제공 여기서이 특정 열은 사실이다. 1231 00:58:43,820 --> 00:58:49,020 따라서이 경우에는 별 것 OK, 당신에게 전체 행을 반환? 1232 00:58:49,020 --> 00:58:54,880 >> 그리고,이 경우, 행을 선택 스타 표는 당신에게 전체 테이블을 제공합니다. 1233 00:58:54,880 --> 00:58:58,940 그리고, 분명히 그냥 삭제 테이블에서 행을 삭제합니다. 1234 00:58:58,940 --> 00:59:01,320 그래서 테이블에서 삭제 어떤 테이블 우리가있어 1235 00:59:01,320 --> 00:59:06,830 여기서 몇 가지 구체적인를 참조 식별자 또는 일부 조건은 사실이다. 1236 00:59:06,830 --> 00:59:07,720 네? 1237 00:59:07,720 --> 00:59:08,700 >> 청중 : 질문. 1238 00:59:08,700 --> 00:59:10,699 왜 두 번 사용하는 인용하고 있는지 여부 1239 00:59:10,699 --> 00:59:13,600 큰 따옴표 나 할 따옴표, 그것은 차이가 있습니까? 1240 00:59:13,600 --> 00:59:18,235 >> 앨리슨 : 큰 따옴표 또는 작은 따옴표 SQL에서 차이가 없다. 1241 00:59:18,235 --> 00:59:19,610 나는 또 다른 질문을보고 생각했다. 1242 00:59:19,610 --> 00:59:20,814 네? 1243 00:59:20,814 --> 00:59:25,070 >> 청중 : 그것은 무엇에 영향을주지 않음 쿼리에서 탈출되는? 1244 00:59:25,070 --> 00:59:27,945 >> 앨리슨 : 롭? 1245 00:59:27,945 --> 00:59:31,410 >> ROB : 당신은에 의해 무슨 뜻 이죠 쿼리에서 탈출? 1246 00:59:31,410 --> 00:59:36,870 >> 청중 : 누군가가있는 경우 형태로 단일 쿼리 집게 리아 1247 00:59:36,870 --> 00:59:39,862 >> ROB : 누군가가한다면 에 작은 따옴표를 넣어, 1248 00:59:39,862 --> 00:59:43,560 다음으로 당신이 살균하고로 귀하의 의견은, 그것은 중요하지 않습니다. 1249 00:59:43,560 --> 00:59:46,205 하지만 당신은 하나를 사용하는 경우 견적 당신은 잘못이다 1250 00:59:46,205 --> 00:59:47,914 사용자의 입력을 탈출, 다음 예, 그들은 필요 1251 00:59:47,914 --> 00:59:51,079 휴식하기 위해 작은 따옴표를 넣어 코드. 큰 따옴표를 사용하는 경우, 1252 00:59:51,079 --> 00:59:53,580 그들은 배를 둘 필요가 당신의 암호를 해독하기 위해 인용. 1253 00:59:53,580 --> 00:59:56,163 그러나 한 당신은 일을 탈출로 제대로, 그건 문제가되지 않습니다. 1254 00:59:56,163 --> 00:59:59,220 그냥 번역 할 것 어쨌든 올바른 기호에. 1255 00:59:59,220 --> 01:00:02,332 >> 청중 : 탈출이 무엇을 의미합니까? 1256 01:00:02,332 --> 01:00:04,040 앨리슨 : 음, 같은 살균과 탈출. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 우리가 시험, 위대한 XKCD 만화 당신이 그들이 어디에 올려 것을, 1259 01:00:13,820 --> 01:00:15,629 호 ... 1260 01:00:15,629 --> 01:00:16,670 ROB : 그것은 마지막 슬라이드입니다. 1261 01:00:16,670 --> 01:00:18,500 앨리슨 : 정말, 마지막 슬라이드입니까? 1262 01:00:18,500 --> 01:00:20,200 세상에. 1263 01:00:20,200 --> 01:00:21,780 거기에서 우리는 완벽한 이동합니다. 1264 01:00:21,780 --> 01:00:27,900 좋아, 그럼 기본적으로, 당신은 삽입 할 수 이 SQL 쿼리에 뭔가 1265 01:00:27,900 --> 01:00:30,560 어디 당신을 나누기 코드, 다윗이 보였다으로 1266 01:00:30,560 --> 01:00:38,460 수업 시간에, 우리는 몇 가지 하나가있는 경우 인용 1 일 같고 우리의 코드의 경우, 1267 01:00:38,460 --> 01:00:41,230 우리는 바로 그에 복사하고, 우리는 끝 따옴표를, 1268 01:00:41,230 --> 01:00:44,740 무슨 일이 우리가 얻을 수 있습니다 일부 표현이 1269 01:00:44,740 --> 01:00:48,680 참으로 평가하는 것 누군가가 우리의 데이터베이스를 입력 할 수 1270 01:00:48,680 --> 01:00:51,720 및 데이터를 얻을 것을 우리 그들이 싶어하지 않습니다. 1271 01:00:51,720 --> 01:00:54,240 그래서 입력을 살균 그냥 확인하는 의미 1272 01:00:54,240 --> 01:00:57,680 우리는이 탈출되어 있는지 문자들을 지정 1273 01:00:57,680 --> 01:01:01,720 문자가 아닌 것 같은 그 허용해야한다 1274 01:01:01,720 --> 01:01:04,990 문자 그대로 수 우리의 SQL 문으로. 1275 01:01:04,990 --> 01:01:09,980 >> 그래서 큰 일이 우리가 말했다 너희들이 사용되어야한다고 1276 01:01:09,980 --> 01:01:13,650 HTML 특수 문자는 있었다 이는 뭔가 1277 01:01:13,650 --> 01:01:15,730 당신은보고 싶을 수도있다. 1278 01:01:15,730 --> 01:01:17,240 OK, 삭제합니다. 1279 01:01:17,240 --> 01:01:19,450 데이터 타입이 모든 온라인 것이다. 1280 01:01:19,450 --> 01:01:23,510 우리가 15 분 왼쪽했기 때문에, 난 바로이 통과 것. 1281 01:01:23,510 --> 01:01:28,500 PHP와 SQL, 기본적으로이입니다 단지 우리는 쿼리 기능을 활용하는 1282 01:01:28,500 --> 01:01:31,520 방지 도왔다 이러한 악의적 인 공격. 1283 01:01:31,520 --> 01:01:33,970 그래서 때마다 사용 쿼리, 우리는 확인하고 있었다 1284 01:01:33,970 --> 01:01:36,560 것들은 살균과 이것 저것했다. 1285 01:01:36,560 --> 01:01:41,070 >> MVC는 단지 디자인 패러다임 그래서 모델, 뷰, 컨트롤러. 1286 01:01:41,070 --> 01:01:44,200 이 일을 계속하는 단지 방법 이 좋은 동일하게 분할 1287 01:01:44,200 --> 01:01:47,100 우리는 인수 분해하는 경향 기능에 밖으로 코드. 1288 01:01:47,100 --> 01:01:53,390 이것은 단지 웹 디자인 프레임 워크입니다 그 같은 일을 할 수 있습니다. 1289 01:01:53,390 --> 01:01:54,760 나는이를 건너 뛸거야. 1290 01:01:54,760 --> 01:01:58,530 >> 이것은 뭔가 제가 슈퍼 편안 할 것이다. 1291 01:01:58,530 --> 01:02:01,132 그것은이 좋은 작은 테이블입니다. 1292 01:02:01,132 --> 01:02:03,090 그것은 당신에게 기능을 제공합니다 모델의 예. 1293 01:02:03,090 --> 01:02:05,473 난 그냥이를 통해 내가 있기 때문에거야 정말 다빈이 얘기하고 싶어. 1294 01:02:05,473 --> 01:02:07,140 당신은 질문이있는 경우, 주시기 바랍니다. 1295 01:02:07,140 --> 01:02:07,931 나는 후 여기에있을 것이다. 1296 01:02:07,931 --> 01:02:10,360 그냥 얘기 온. 1297 01:02:10,360 --> 01:02:13,380 즉, 우리는 HTTP 상태를 가지고있다. 1298 01:02:13,380 --> 01:02:16,270 그리고 다빈의 불어 것 15 분이를 통해. 1299 01:02:16,270 --> 01:02:17,560 이 위대한 사람이 될 것입니다. 1300 01:02:17,560 --> 01:02:18,893 >> 다빈 : OK. 1301 01:02:18,893 --> 01:02:20,312 어, 마이크? 1302 01:02:20,312 --> 01:02:22,210 그래. 1303 01:02:22,210 --> 01:02:23,336 미안 해요. 1304 01:02:23,336 --> 01:02:24,460 앨리슨 : 길을 준비합니다. 1305 01:02:24,460 --> 01:02:25,335 다빈 : 아니, 난 준비 됐어. 1306 01:02:25,335 --> 01:02:25,860 난 준비 됐어. 1307 01:02:25,860 --> 01:02:28,790 이 해 보자. 1308 01:02:28,790 --> 01:02:29,290 그것은 준비. 1309 01:02:29,290 --> 01:02:30,041 확인을 클릭합니다. 1310 01:02:30,041 --> 01:02:30,540 미안 해요. 1311 01:02:30,540 --> 01:02:31,664 나는 나 자신에 커피를 쏟았. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 좀 더 있을지 모르겠어요 내가 바보 보이는 것이 화가, 1314 01:02:38,210 --> 01:02:40,600 또는 더 이상 커피를 필요가 없습니다. 1315 01:02:40,600 --> 01:02:44,480 어쨌든, 그냥 빨리 발표 시트에 대해 사람들이 있습니다. 1316 01:02:44,480 --> 01:02:47,994 그래서 너희들이이 시트는 아니다 퀴즈에 무슨 공식. 1317 01:02:47,994 --> 01:02:49,660 이 퀴즈에 무슨 공식이다. 1318 01:02:49,660 --> 01:02:52,520 또한, 웹 사이트에, 우리는 이야기 당신은 OK,이 퀴즈에있을 것입니다. 1319 01:02:52,520 --> 01:02:55,020 작은 컨닝 페이퍼에 따라서 당신은 공식되지 있습니다. 1320 01:02:55,020 --> 01:02:56,690 그리고에 실수가있다. 1321 01:02:56,690 --> 01:03:01,490 그래서 최고의 단지 맹목적으로 그것을 사용하지. 1322 01:03:01,490 --> 01:03:04,390 그래서 그래, 그럴 겁니다. 1323 01:03:04,390 --> 01:03:05,980 그럼이 진짜 빨리 들어갈 수 있습니다. 1324 01:03:05,980 --> 01:03:07,420 >> 그래서 HTTP 상태. 1325 01:03:07,420 --> 01:03:10,430 그래서이 때 발생 웹 사이트는 모든 모든 권리입니다. 1326 01:03:10,430 --> 01:03:11,144 모든 게 OK. 1327 01:03:11,144 --> 01:03:13,310 모든 것이 다시 온다 당신은 당신이 그것을 할 수있는 방법을 원한다. 1328 01:03:13,310 --> 01:03:15,370 당신은 200 OK를 얻을. 1329 01:03:15,370 --> 01:03:19,250 (301)는, 여기서 우리는 (301) 그 전에 본 적 있어요? 1330 01:03:19,250 --> 01:03:20,890 무슨 일이야, 기다려? 1331 01:03:20,890 --> 01:03:23,250 미안 해요. 1332 01:03:23,250 --> 01:03:24,980 우리는 보안 동안 나는 주석 강의를 보았다. 1333 01:03:24,980 --> 01:03:30,690 그래서 만약 그래서 보안 동안, 다윗의 입력 HTTP하고, cs50.net로 이동하려 1334 01:03:30,690 --> 01:03:31,940 당신은 (301)가 이동 보게 될 것입니다. 1335 01:03:31,940 --> 01:03:32,440 왜? 1336 01:03:32,440 --> 01:03:35,570 이 리디렉션 것 때문에 우리의 HTTPS에 자동으로. 1337 01:03:35,570 --> 01:03:38,649 >> 그래서 (301)는 단지 그것의 이동 기본적으로 리디렉션. 1338 01:03:38,649 --> 01:03:40,190 그리고 당신은 이런 식으로 생각 할 수 있습니다. 1339 01:03:40,190 --> 01:03:43,790 2 년대로 시작하는 상태의 모든, 사람들은 모든 게 OK, OK, 같다. 1340 01:03:43,790 --> 01:03:46,530 시작 상태의 모든 3, 그 리디렉션합니다. 1341 01:03:46,530 --> 01:03:49,571 4로 시작하는 상태 수단이 클라이언트 오류의 어떤 종류가있다. 1342 01:03:49,571 --> 01:03:52,440 5로 시작하는 상태, 즉, 서버 오류의 일종이다. 1343 01:03:52,440 --> 01:03:54,680 그래서 당신은 가지 헤어 그런 상태. 1344 01:03:54,680 --> 01:03:59,120 그래서 304에 있으므로, 수정하지 아니하여 server.c의 P-세트, 그래서 당신을 가정 해 봅시다 1345 01:03:59,120 --> 01:04:00,600 로드 cat.html. 1346 01:04:00,600 --> 01:04:03,360 모든 것이 다시 온다 당신은 200S는 OK, 큰 얻을. 1347 01:04:03,360 --> 01:04:04,540 >> 의 당신이 그것을 새로 고쳐 봅시다. 1348 01:04:04,540 --> 01:04:07,310 음, 내부 cat.html, 당신은 JPEG있다. 1349 01:04:07,310 --> 01:04:09,520 음, JPEG는 아니다 가는 것은 다시로드 얻을 수 있습니다. 1350 01:04:09,520 --> 01:04:12,140 당신은 다른를 게시하지 않을거야 서버에 GET 요청, 1351 01:04:12,140 --> 01:04:13,980 다음 다시 모든 정보를 얻을 수 있습니다. 1352 01:04:13,980 --> 01:04:17,560 그냥 그 이미지는 나중에 ... 것 가는 것은 컴퓨터에 캐시합니다. 1353 01:04:17,560 --> 01:04:19,540 그리고 그 이미지는 304이 될 것입니다. 1354 01:04:19,540 --> 01:04:20,720 그래서 수정 아니에요. 1355 01:04:20,720 --> 01:04:24,600 아웃 한 후 닫으면, 분명 쿠키는 다음 새로 고침 1356 01:04:24,600 --> 01:04:27,490 해당 페이지를로드하려고 다시, 당신은 200S를 보게 될 것입니다. 1357 01:04:27,490 --> 01:04:28,910 당신은 (304)를 참조하지 않을거야. 1358 01:04:28,910 --> 01:04:32,340 >> 400 잘못된 요청, 실제 빠른,이 마음 1359 01:04:32,340 --> 01:04:34,880 를 보낼 거라고 서버에 JSON 객체 1360 01:04:34,880 --> 01:04:38,090 와 JSON 객체는 올바르지 당신은 그런 일을 볼 수 있습니다. 1361 01:04:38,090 --> 01:04:39,000 403, 금지. 1362 01:04:39,000 --> 01:04:40,330 때 당신은 금지를 볼 것인가? 1363 01:04:40,330 --> 01:04:41,394 아마 아마? 1364 01:04:41,394 --> 01:04:42,060 청중 : chmod를. 1365 01:04:42,060 --> 01:04:42,950 다빈 : chmod를, 그래. 1366 01:04:42,950 --> 01:04:44,730 그래서 당신은 설정하지 않은 제대로 권한을 설정합니다. 1367 01:04:44,730 --> 01:04:45,577 404 찾을 수 없습니다. 1368 01:04:45,577 --> 01:04:46,410 그냥 거기입니다. 1369 01:04:46,410 --> 01:04:48,670 잘못된 URL을 입력한다면. 1370 01:04:48,670 --> 01:04:53,500 (500), 내부 서버 오류, 서버 아마 제대로 구성되지 않았습니다. 1371 01:04:53,500 --> 01:04:56,260 당신의 끝에 뭔가 아니지만, 서버 측에서 뭔가. 1372 01:04:56,260 --> 01:04:57,240 그리고 503? 1373 01:04:57,240 --> 01:04:59,502 많은 사람들이 보았다 마지막으로 P-세트 503s. 1374 01:04:59,502 --> 01:05:00,460 때 일어날까요? 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 나는 속삭임을 들었다. 1377 01:05:05,660 --> 01:05:07,767 >> 청중 : 때 구글 당신이 로봇있어 결정한다. 1378 01:05:07,767 --> 01:05:10,350 다빈 : 네, 때 구글은 결정 당신은 당신이 503s를 얻을 로봇이야. 1379 01:05:10,350 --> 01:05:11,560 그래서 과부하입니다. 1380 01:05:11,560 --> 01:05:14,620 당신은 서버에서 요청한 경우 너무, 보통 일시적이다. 1381 01:05:14,620 --> 01:05:15,560 그리고 당신의 대부분은 그것을 알아 차렸다. 1382 01:05:15,560 --> 01:05:16,185 그래서 당신은 503를 보았다. 1383 01:05:16,185 --> 01:05:19,282 당신은 조금 촬영 한 수 휴식 후 503s 멀리 갔다 1384 01:05:19,282 --> 01:05:20,490 모든 것이 괜찮습니다. 1385 01:05:20,490 --> 01:05:26,640 >> 별점 : 진짜 빨리, 너희들은 어떻게해야합니까 아마 500이 마지막 문제 설정? 1386 01:05:26,640 --> 01:05:27,954 네? 1387 01:05:27,954 --> 01:05:30,906 >> 청중 : 보통 경우 서버가 잘못 파일이 1388 01:05:30,906 --> 01:05:34,650 또는 [들림] 그 기계 [들림]. 1389 01:05:34,650 --> 01:05:38,870 >> 별점 : 그래서 그것은 구성 될 수 있습니다 당신의 서버에있는 PHP에 문제가있을 수 있습니다. 1390 01:05:38,870 --> 01:05:42,250 하지만 뭔가 수 있습니다 당신의 잊어 세미콜론 등을들 수있다. 1391 01:05:42,250 --> 01:05:44,130 당신이 PHP를 입력하는 경우, 일부 잘못된 구문 1392 01:05:44,130 --> 01:05:46,000 당신에게 그런 일을하실 수 있습니다. 1393 01:05:46,000 --> 01:05:46,960 OK? 1394 01:05:46,960 --> 01:05:48,610 >> 다빈 : 차가운. 1395 01:05:48,610 --> 01:05:51,180 당신은 내가 AJAX 때까지 그냥 할 하시겠습니까? 1396 01:05:51,180 --> 01:05:52,950 >> 별점 : [들림]. 1397 01:05:52,950 --> 01:05:53,450 다빈 : OK. 1398 01:05:53,450 --> 01:05:54,230 그래서 DOM은 무엇인가? 1399 01:05:54,230 --> 01:05:55,290 DOM은 무엇을 의미합니까? 1400 01:05:55,290 --> 01:05:56,990 >> 청중 : 문서 객체 모델. 1401 01:05:56,990 --> 01:05:57,490 다빈 : 반갑습니다. 1402 01:05:57,490 --> 01:06:00,775 그리고 왜 우리는 그것을 좋아합니까? 1403 01:06:00,775 --> 01:06:02,670 신난다. 1404 01:06:02,670 --> 01:06:06,651 마우스 오른쪽 단추로, 그것은 그래서 그냥 액세스 우리를 수 HTML은 매우 신속하게 페이지에 액세스 할 수 있습니다. 1405 01:06:06,651 --> 01:06:07,150 왜? 1406 01:06:07,150 --> 01:06:09,980 우리가 치료하고 있기 때문에 우리의 페이지, 우리의 HTML 태그를 처리, 1407 01:06:09,980 --> 01:06:11,730 치료 다 마치 그들은 개체를하고 있습니다. 1408 01:06:11,730 --> 01:06:13,710 그들이있는 것처럼 우리는 그들을 치료하는 경우 객체, 우리는 무엇을 할 수 있습니까? 1409 01:06:13,710 --> 01:06:15,210 음, 우리는 그들에 함수를 호출 할 수 있습니다. 1410 01:06:15,210 --> 01:06:16,460 그리고 이것이 왜 중요합니까? 1411 01:06:16,460 --> 01:06:19,200 음, 우리는 사용하려고하고 있기 때문에 자바 스크립트는 우리의 HTML을 업데이트하려면 1412 01:06:19,200 --> 01:06:20,500 이러한 개체를 업데이트합니다. 1413 01:06:20,500 --> 01:06:23,869 우리가 물체처럼 취급한다면, 우리는 그들에 함수를 호출 할 수 있습니다. 1414 01:06:23,869 --> 01:06:26,660 나는이 조금 들어갈거야 내가 자바 스크립트로 갈 때 더, 1415 01:06:26,660 --> 01:06:30,510 하지만 당신은 모든처럼 본 적이 document.getElementById를. 1416 01:06:30,510 --> 01:06:32,870 그래서 문서는이다 요소는, ID에 의해 요소를 얻을 1417 01:06:32,870 --> 01:06:35,087 그래서 당신은 볼거야 HTML 태그의 일부 ID합니다. 1418 01:06:35,087 --> 01:06:36,920 그리고, 당신은 할 수있다 그에게 뭔가. 1419 01:06:36,920 --> 01:06:40,089 예를 들어, document.body 등에 당신은 아이를 추가 할 수 있습니다. 1420 01:06:40,089 --> 01:06:41,630 그래서 당신은 문서를 찾을 것입니다. 1421 01:06:41,630 --> 01:06:42,340 당신은 문서를 가지고있다. 1422 01:06:42,340 --> 01:06:43,629 당신은 시체를 찾을 것입니다. 1423 01:06:43,629 --> 01:06:44,420 당신은 시체를 발견. 1424 01:06:44,420 --> 01:06:46,545 그리고, 당신은 갈거야 거기에 어떤 함수를 호출합니다. 1425 01:06:46,545 --> 01:06:50,312 그래서 아이를 추가, 당신은 추가 할 수 있습니다 몸 내부의 끝에 약간의 HTML. 1426 01:06:50,312 --> 01:06:52,520 그러니까 기본적으로, 당신은 그저 객체처럼 치료. 1427 01:06:52,520 --> 01:06:54,515 당신은 HTML을 치료하고 객체 같은 태그. 1428 01:06:54,515 --> 01:06:57,071 그리고 그것은 매우 쉽게 빠른 그들을 통해 이동합니다. 1429 01:06:57,071 --> 01:06:59,070 그러나 그것은 또한 당신을 수 있습니다 그들에 함수를 호출합니다 1430 01:06:59,070 --> 01:07:04,410 그래서 당신은 조작 할 수 있습니다 및 요소를 변경합니다. 1431 01:07:04,410 --> 01:07:10,162 >> 게이브는이 감안할 때, 왜 자바 스크립트입니다 좋은 언어는 HTML과 상호 작용? 1432 01:07:10,162 --> 01:07:12,870 사람들이 선택되었을 때 승률이 있습니다 브라우저의 언어, 1433 01:07:12,870 --> 01:07:14,990 클라이언트 측, 자바 스크립트는 정말 좋은 1434 01:07:14,990 --> 01:07:16,765 그것은 개체를 처리 정말 좋습니다. 1435 01:07:16,765 --> 01:07:20,620 그리고 개체는 가지처럼된다 HTML에 표시되는 개체, 1436 01:07:20,620 --> 01:07:23,940 그래서 자바 스크립트를 매우 쉽게 처리의 종류를 할 수 있습니다. 1437 01:07:23,940 --> 01:07:24,440 다빈 : 반갑습니다. 1438 01:07:24,440 --> 01:07:25,670 그래서 여기에 그냥 예입니다. 1439 01:07:25,670 --> 01:07:29,020 그래서, 작년의 퀴즈 생각 아니면 2 년 전, 우리 1440 01:07:29,020 --> 01:07:30,840 트리를 만들 수 물었다. 1441 01:07:30,840 --> 01:07:32,660 그래서 당신이 할 거라고 정확히이다. 1442 01:07:32,660 --> 01:07:34,255 그래서 당신은 문서 함께 시작합니다. 1443 01:07:34,255 --> 01:07:36,130 그리고 당신 기본적으로 그냥 태그 봐. 1444 01:07:36,130 --> 01:07:38,100 당신은 우리를 본다면 HTML 태그로 시작합니다. 1445 01:07:38,100 --> 01:07:41,660 그리고, 당신은 방법에 대한 단서를 얻을 수 들여 쓰기에 따라이 작업을 수행. 1446 01:07:41,660 --> 01:07:43,870 지점 그래서 머리 종류 끕니다. 1447 01:07:43,870 --> 01:07:46,242 머리 속에, 우리가 제목에 대한 또 다른 태그입니다. 1448 01:07:46,242 --> 01:07:47,450 그럼, 우리는 제목 태그가 있습니다. 1449 01:07:47,450 --> 01:07:49,760 그리고 그 안에, 우리는 몇 가지 문자열을 가지고있다. 1450 01:07:49,760 --> 01:07:52,210 그래서 우리는 대표 원의 문자열. 1451 01:07:52,210 --> 01:07:54,010 그리고 모든 태그는 사각형에 있습니다. 1452 01:07:54,010 --> 01:07:56,270 >> 그리고 당신은 보면, 우리의 경우 트리로이 생각, 1453 01:07:56,270 --> 01:07:58,730 과의 그 HTML이 가정 해 봅시다 부모, 다음 머리와 몸 1454 01:07:58,730 --> 01:07:59,772 형제 자매가 될 것입니다. 1455 01:07:59,772 --> 01:08:01,813 그들은 모두가 될거야 그 부모의 자식. 1456 01:08:01,813 --> 01:08:03,620 그들이이기 때문에 그래서 두 형제, 그들이있어 1457 01:08:03,620 --> 01:08:06,590 가지 옆에 될 것 우리의 트리 모델에 서로. 1458 01:08:06,590 --> 01:08:08,590 그리고, 당신 기본적으로 똑같은 일을. 1459 01:08:08,590 --> 01:08:13,512 그래서 어려운, 그러나 우리는 요구하지 퀴즈에 앞서이 같은 질문. 1460 01:08:13,512 --> 01:08:15,220 별점 : 누구를합니까 지금까지 질문이? 1461 01:08:15,220 --> 01:08:16,357 그것은 좋은가요? 1462 01:08:16,357 --> 01:08:16,856 다빈 : 차가운. 1463 01:08:16,856 --> 01:08:19,630 1464 01:08:19,630 --> 01:08:21,600 자바 스크립트, OK, 좋은 물건. 1465 01:08:21,600 --> 01:08:24,069 그래서 자바 스크립트, 자바 스크립트는 무엇인가? 1466 01:08:24,069 --> 01:08:28,370 음, 자바 스크립트는 신기 했어 복잡하지만, 이러한 1467 01:08:28,370 --> 01:08:30,727 하이라이트 중 일부입니다 것을 명심해야한다. 1468 01:08:30,727 --> 01:08:31,810 첫째,이 느슨한 타입입니다. 1469 01:08:31,810 --> 01:08:33,529 그게 무슨 뜻 이죠? 1470 01:08:33,529 --> 01:08:35,596 그래서 PHP 무슨 일이야, 네 그러죠? 1471 01:08:35,596 --> 01:08:39,854 >> 청중 : 당신은 명시 적으로 필요가 없습니다 그것이 변수의 유형 상태. 1472 01:08:39,854 --> 01:08:40,479 다빈 : 완벽한. 1473 01:08:40,479 --> 01:08:43,270 그래서 그는 당신이하지 않아도 말했다 명시 적 변수의 타입을 명시. 1474 01:08:43,270 --> 01:08:44,160 그게 바로 권리입니다. 1475 01:08:44,160 --> 01:08:49,700 내가 INT가 있다면 그래서 C에서, 내가 50에 해당, 다음 PHP에, 그냥이처럼, $ I, 1476 01:08:49,700 --> 01:08:50,550 (50)와 동일합니다. 1477 01:08:50,550 --> 01:08:54,319 그리고 자바 스크립트에서, 호출은 어떤 것입니까? 1478 01:08:54,319 --> 01:08:55,260 바르, 맞죠? 1479 01:08:55,260 --> 01:08:56,566 var에 내가 50에 해당 것처럼 것. 1480 01:08:56,566 --> 01:08:58,649 하지만 당신은 할 필요가 없습니다 같은, OK, 이것은 INT이다. 1481 01:08:58,649 --> 01:09:00,350 OK,이 문자열입니다. 1482 01:09:00,350 --> 01:09:01,731 필요는 수행되지 않습니다. 1483 01:09:01,731 --> 01:09:02,939 그것은 해석 된 언어입니다. 1484 01:09:02,939 --> 01:09:04,904 이 사실은 무엇을 의미할까요? 1485 01:09:04,904 --> 01:09:06,340 >> 청중 : 컴파일하지 않습니다. 1486 01:09:06,340 --> 01:09:10,470 >> 다빈이 : 무엇을 의미 컴파일하지 않는 이유는 무엇입니까? 1487 01:09:10,470 --> 01:09:11,392 그래? 1488 01:09:11,392 --> 01:09:15,336 >> 청중 : 당신은 필요가 없습니다 코드를 구조 조정 1489 01:09:15,336 --> 01:09:18,294 하기에 준비하기 컴퓨터를 실행합니다. 1490 01:09:18,294 --> 01:09:23,144 그것은 단지의 시간에 찍은거야 실행과 컴퓨터 [들림]. 1491 01:09:23,144 --> 01:09:25,560 다빈 : 네, 그래서가는거야 통역을 통해 전달합니다. 1492 01:09:25,560 --> 01:09:26,750 하지만 당신은 정확히 맞아. 1493 01:09:26,750 --> 01:09:28,319 그래서 당신은 결코 않을거야 오른쪽 컴파일하는 방법? 1494 01:09:28,319 --> 01:09:30,399 때하고 있던 당신의 PHP와 자바 스크립트 코드, 1495 01:09:30,399 --> 01:09:31,365 당신은 컴파일을 호출되지 않습니다. 1496 01:09:31,365 --> 01:09:33,779 당신은 같은 것을 호출되지 않습니다 하거나 그런 건. 1497 01:09:33,779 --> 01:09:34,800 이 해석됩니다 때문입니다. 1498 01:09:34,800 --> 01:09:37,319 그래서 브라우저를 통과 할 때마다, 그것은 통역을 통해 간다. 1499 01:09:37,319 --> 01:09:40,370 그리고 그것을 해석하는 것 단지 바로 당신을 위해 실시간으로. 1500 01:09:40,370 --> 01:09:43,770 그래서 일부 긍정과 부정은 무엇인가 해석 언어를 갖는 것 1501 01:09:43,770 --> 01:09:45,258 및 컴파일 된 언어를 가진? 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 그래서 무슨 일이야, 그래 compiling--? 1504 01:09:50,540 --> 01:09:52,444 >> 청중 : 해석은 느립니다. 1505 01:09:52,444 --> 01:09:53,319 다빈 : 어떤 의미에서? 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> 청중 : 당신 후 컴파일, 당신은 필요가 없습니다 1508 01:09:59,091 --> 01:10:04,400 실행하기 위해 여분의 단계를 수행합니다 그것은,이 [들리지] 반면. 1509 01:10:04,400 --> 01:10:05,570 >> 다빈 : 오른쪽, 완벽한. 1510 01:10:05,570 --> 01:10:08,386 그래서 당신은 말 기본적으로 그 컴파일, 1511 01:10:08,386 --> 01:10:10,760 당신이 컴파일 할 때, 당신은이 초기 비용이 많이, 맞죠? 1512 01:10:10,760 --> 01:10:11,760 당신은 그것을 컴파일하는 것입니다. 1513 01:10:11,760 --> 01:10:13,750 하지만 당신은 컴파일 후, 컴파일러를 최적화하는 것입니다. 1514 01:10:13,750 --> 01:10:14,840 그것은 빠르고 될 것. 1515 01:10:14,840 --> 01:10:16,170 그것은 기본적으로에거야 그것이 될 수있는 한 빨리. 1516 01:10:16,170 --> 01:10:18,830 당신을 절대로 해석하지으로 그 선행 비용이. 1517 01:10:18,830 --> 01:10:22,260 그보다는 약간 느린 될 것 당신이 그것을 해석 매번. 1518 01:10:22,260 --> 01:10:24,940 그리고 당신이해야 돼요 그것을 매번 해석한다. 1519 01:10:24,940 --> 01:10:27,114 그래서이 갖는 대신 한 시간 비용, 지금은있어 1520 01:10:27,114 --> 01:10:29,530 해석해야 할 것 마다 페이지를 렌더링한다. 1521 01:10:29,530 --> 01:10:31,890 >> 그래서 통역 때문에 좋은 당신은 그것을 컴파일 할 필요는 없습니다, 1522 01:10:31,890 --> 01:10:33,980 하지만 그들은 그 모든 나쁜 것 그것의 페이지로드 시간이 1523 01:10:33,980 --> 01:10:35,771 해야 할 것 이 자바 스크립트를 해석한다. 1524 01:10:35,771 --> 01:10:40,520 그리고 약간 느리게 실행 것 당신이 그것을 컴파일한다면보다. 1525 01:10:40,520 --> 01:10:43,044 당신이, 오, communicate-- 기다릴 수 있습니다. 1526 01:10:43,044 --> 01:10:44,960 를 조작하는 데 사용 내용과 모양. 1527 01:10:44,960 --> 01:10:46,043 우리는 그것에 대해 이야기했다. 1528 01:10:46,043 --> 01:10:47,250 그것은 DOM을 사용합니다. 1529 01:10:47,250 --> 01:10:49,930 AJAX, 우리는에거야 약간의 AJAX. 1530 01:10:49,930 --> 01:10:51,520 그리고 나서, 그것은 클라이언트 팀. 1531 01:10:51,520 --> 01:10:53,110 그래서 PHP는 서버 측이다. 1532 01:10:53,110 --> 01:10:54,360 자바 스크립트는 클라이언트 측이다. 1533 01:10:54,360 --> 01:10:57,780 그 긍정적 인은 무엇입니까? 1534 01:10:57,780 --> 01:10:58,280 그것은을 말한다. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 그것은 바로, 더 빠르다? 1537 01:11:02,780 --> 01:11:05,282 그것은 더 빠른 인명 피해가 없는지 ... 당신이이 없기 때문에. 1538 01:11:05,282 --> 01:11:07,490 당신은 의사 소통을 할 필요가 없습니다 다른 장치. 1539 01:11:07,490 --> 01:11:08,790 당신은 단지에있어 경우 클라이언트, 당신이 무슨 상관이야 1540 01:11:08,790 --> 01:11:11,280 이동해야 할 것 및 서버에 무엇이 있는지 1541 01:11:11,280 --> 01:11:13,150 다음 다시보고 또는 그런 일. 1542 01:11:13,150 --> 01:11:15,410 그래서 클라이언트 측 경향 조금 빠르다. 1543 01:11:15,410 --> 01:11:17,910 >> 별점 : 그래,하지만이 PHP는 의미하지 않는다 1544 01:11:17,910 --> 01:11:20,440 자바 스크립트보다 더 빨리 등의 아무것도. 1545 01:11:20,440 --> 01:11:23,270 그들은 같은에서 가지 실행 속도가 모두있어 때문에 1546 01:11:23,270 --> 01:11:24,490 인터프리터 언어. 1547 01:11:24,490 --> 01:11:26,680 느린 것은 여기서 요청이다. 1548 01:11:26,680 --> 01:11:28,870 그래서 당신은 실제로거야 브라질에 걸쳐 모든 방법 1549 01:11:28,870 --> 01:11:31,460 몇 가지 정보를 얻을 수 있습니다 그이 살고있다. 1550 01:11:31,460 --> 01:11:34,590 그러나 PHP와 자바 스크립트, 그들은 가지 동일한 속도에서 실행됩니다. 1551 01:11:34,590 --> 01:11:37,930 그것은하지 하나입니다입니다 다른 것보다 더 빨리. 1552 01:11:37,930 --> 01:11:40,600 여기이, 또한, 트릭 질문입니다. 1553 01:11:40,600 --> 01:11:47,338 그래서 자바 스크립트가된다 결코 참 또는 거짓 기계어 코드? 1554 01:11:47,338 --> 01:11:48,590 >> 청중 : 거짓. 1555 01:11:48,590 --> 01:11:49,090 별점 : 거짓. 1556 01:11:49,090 --> 01:11:51,298 그것은 기계가한다 코드 기계 코드이기 때문에 1557 01:11:51,298 --> 01:11:53,210 유일한 것은 기계가 이해하고 있습니다. 1558 01:11:53,210 --> 01:11:55,800 그것은 컴파일되지 비록, 여전히 기계 코드해진다 1559 01:11:55,800 --> 01:11:59,120 인터프리터가 단지 때문에 한 행씩 프로그램 1560 01:11:59,120 --> 01:12:02,170 과에 그 라인을 변환 뭔가 컴퓨터가 이해하고 있습니다. 1561 01:12:02,170 --> 01:12:02,825 OK? 1562 01:12:02,825 --> 01:12:03,325 쿨. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> 다빈 : 여기에 그냥 아주 기본적인 세계 자바 스크립트 프로그램을 안녕하세요. 1565 01:12:12,890 --> 01:12:15,590 당신은 본 적이 그렇다 니 그래서 나도 몰라. 1566 01:12:15,590 --> 01:12:17,630 하지만 당신은 여기 HTML있다. 1567 01:12:17,630 --> 01:12:21,020 그리고 대신 실제로 퍼팅 스크립트 태그에 자바 스크립트, 1568 01:12:21,020 --> 01:12:22,810 그래서 당신은 일반적으로 머리에 넣어 것입니다. 1569 01:12:22,810 --> 01:12:24,030 당신은 스크립트 태그가 있습니다. 1570 01:12:24,030 --> 01:12:24,870 당신은 거기에 놓습니다. 1571 01:12:24,870 --> 01:12:28,350 여기서 우리가했던 모든 우리는 감옥에 ... 연결 한한다 그래서 우리는 자바 스크립트 파일에 연결 한 1572 01:12:28,350 --> 01:12:29,137 이 같은. 1573 01:12:29,137 --> 01:12:30,470 그리고이 모든 오른쪽 짓을했는지? 1574 01:12:30,470 --> 01:12:34,740 그래서이 때 jQuery를하고 사용하고 있던 마지막으로 P-세트 underscore.js, 1575 01:12:34,740 --> 01:12:38,700 당신은 코드의 최대의 톤이 없습니다 스크립트 태그, 당신의 머리에 백업합니다. 1576 01:12:38,700 --> 01:12:41,415 당신은 그렇게 할 대신 할 수 당신은 이것을 링크한다. 1577 01:12:41,415 --> 01:12:43,540 그리고 당신은 이것을 링크 당신은 CSS와 함께 할 좋아. 1578 01:12:43,540 --> 01:12:50,186 그냥 수 있도록 쉽게 그래서 읽기 1000 선 긴처럼되지 않습니다 코드 1579 01:12:50,186 --> 01:12:52,310 기능의 톤과 그 당신이 사용되지 않을 수 있습니다. 1580 01:12:52,310 --> 01:12:53,518 >> 그 대신에 연결합니다. 1581 01:12:53,518 --> 01:12:55,050 그것은을 compartmentalizes. 1582 01:12:55,050 --> 01:13:00,110 그것은 몇 가지 헤더 파일을 작성처럼, 그리고 다음 C.에 해당 헤더 파일을 포함 1583 01:13:00,110 --> 01:13:01,620 바로 이런 식으로 생각하십시오. 1584 01:13:01,620 --> 01:13:02,680 따라서이 기능은 무엇입니까? 1585 01:13:02,680 --> 01:13:04,560 음,이 실행하는 것입니다. 1586 01:13:04,560 --> 01:13:05,410 이 경고하는 것입니다. 1587 01:13:05,410 --> 01:13:08,020 그래서 좀받을거야 라는 안녕하세요 세계를 팝업. 1588 01:13:08,020 --> 01:13:11,420 빠른 질문, 단지 전성 검사, 그래서 당신은, 몸 여기 참조 1589 01:13:11,420 --> 01:13:13,160 여기에 몸 HTML을 말한다. 1590 01:13:13,160 --> 01:13:14,080 무엇이 먼저? 1591 01:13:14,080 --> 01:13:16,864 여기 몸, HTML 보입니까, 또는 내가 먼저 경고를 볼 수 있습니까? 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> 청중 : 경고. 1594 01:13:20,820 --> 01:13:21,470 >> 다빈 : 오른쪽. 1595 01:13:21,470 --> 01:13:22,110 그는 경고했다. 1596 01:13:22,110 --> 01:13:22,610 왜? 1597 01:13:22,610 --> 01:13:24,470 >> 청중 : 당신 때문에 위에서 아래로 이동합니다. 1598 01:13:24,470 --> 01:13:25,600 >> 다빈 : 예. 1599 01:13:25,600 --> 01:13:26,100 완벽한. 1600 01:13:26,100 --> 01:13:29,207 그래서 그는 당신이 위에서 이동 말한다 절대적으로 올바른 바닥. 1601 01:13:29,207 --> 01:13:30,790 당신은 위에서 아래로 갈 것입니다. 1602 01:13:30,790 --> 01:13:34,790 그리고 자바 스크립트, jQuery를, 당신은이 같은 온로드, 또는 준비 기능, 1603 01:13:34,790 --> 01:13:38,030 그리고 그 확인 될 때​​까지 기다리라고 이 HTML의 모든로드. 1604 01:13:38,030 --> 01:13:39,580 그리고, 자바 스크립트를 호출합니다. 1605 01:13:39,580 --> 01:13:42,190 우리는 여기에, 그 없기 때문에 일어날 제일 처음 1606 01:13:42,190 --> 01:13:43,920 그것은 위로부터 아래로 내려 가서 것입니다. 1607 01:13:43,920 --> 01:13:46,310 그것은 그 JS 칠 것 전화, 그것은 경고 것입니다. 1608 01:13:46,310 --> 01:13:49,510 그 후 [확인]을 클릭, 그 경고가 사라집니다. 1609 01:13:49,510 --> 01:13:53,600 그럼 보여 것 당신이 여기에 몸 HTML. 1610 01:13:53,600 --> 01:13:54,590 니스. 1611 01:13:54,590 --> 01:14:00,880 >> OK, 그래서 그냥 진짜 빨리, 쓰기 자바 스크립트에서 슈퍼 빠른이다. 1612 01:14:00,880 --> 01:14:02,710 선언하기 위해서 변수 var에 이름. 1613 01:14:02,710 --> 01:14:07,070 그래서 C에서, 당신은 당신이, INT의 난이 그것이 유형의 종류를 선언합니다. 1614 01:14:07,070 --> 01:14:08,040 PHP, $. 1615 01:14:08,040 --> 01:14:08,755 자바 스크립트, VAR. 1616 01:14:08,755 --> 01:14:09,630 우리는 이것에 대해 이야기했다. 1617 01:14:09,630 --> 01:14:11,020 좋아, 가자. 1618 01:14:11,020 --> 01:14:12,510 >> 루프, 같은 일. 1619 01:14:12,510 --> 01:14:14,230 같은 일. 1620 01:14:14,230 --> 01:14:18,165 함수 선언, 그래서 당신이 C에서 본 적이있는 것 1621 01:14:18,165 --> 01:14:21,290 다른 유일한 것은 그렇게 할 때입니다 당신은 다른 프로그래밍 언어에 도착, 1622 01:14:21,290 --> 01:14:24,780 같은 당신은 (51) 다음 학기를 취할 때 당신은, OCAML로하고있는 1623 01:14:24,780 --> 01:14:26,690 당신은 익명 함수를 처리 할 수​​ 있습니다. 1624 01:14:26,690 --> 01:14:28,240 그래서 당신이 여기가 정확히입니다. 1625 01:14:28,240 --> 01:14:31,560 그래서 당신은 합계에 넣어하고자, 합계 값의 일종. 1626 01:14:31,560 --> 01:14:33,870 하지만 당신은 단지 그것을 한 번 일을 할 수 있습니다. 1627 01:14:33,870 --> 01:14:37,310 당신은 함수를 호출하지 않도록 합은 그것을 함수 선언을 제공합니다. 1628 01:14:37,310 --> 01:14:39,830 대신, 당신은 단지 그것을 사용 익명 함수로. 1629 01:14:39,830 --> 01:14:42,469 그리고이 많이 봤어요. 1630 01:14:42,469 --> 01:14:44,510 당신의 예를 볼 수 있습니다 몇 슬라이드에서이. 1631 01:14:44,510 --> 01:14:45,597 그래, 우리는 볼 수 있습니다. 1632 01:14:45,597 --> 01:14:46,430 별점 : 좋은 질문입니다. 1633 01:14:46,430 --> 01:14:50,660 당신이 사용할 수있는 경우 여기에 익명 함수? 1634 01:14:50,660 --> 01:14:54,111 기본적으로, 때 당신이 뭔가를 원하는, 이벤트처럼 발생합니다. 1635 01:14:54,111 --> 01:14:55,860 그래서 마우스가있을 때 클릭, 예를 들면, 1636 01:14:55,860 --> 01:14:57,790 당신은 어떤 함수가 호출되고 싶어요. 1637 01:14:57,790 --> 01:15:00,570 그래서 당신은 이벤트에 전달 핸들러는 이벤트에 전달 1638 01:15:00,570 --> 01:15:02,870 가지, 기능이 당신은 호출하려는. 1639 01:15:02,870 --> 01:15:04,710 그리고 당신은 무엇을 전달하고 마지막에, 같은입니다 1640 01:15:04,710 --> 01:15:08,757 오늘의 단지 포인터 함수에 그 명령. 1641 01:15:08,757 --> 01:15:11,090 그래서 당신이 전달하는 것도 아니 잖아 전체 코드, 그냥 1642 01:15:11,090 --> 01:15:12,173 함수에 대한 포인터. 1643 01:15:12,173 --> 01:15:17,871 그리고, 때 누군가가 클릭 마우스, 그 함수가 호출됩니다. 1644 01:15:17,871 --> 01:15:22,340 >> 다빈 : 배열, 당신 때문에 배열 선언을해야합니다. 1645 01:15:22,340 --> 01:15:23,990 그런 다음, 배열에 물건을 넣을 수 있습니다. 1646 01:15:23,990 --> 01:15:25,769 진짜 빨리이 무엇을 인쇄 할 것인가? 1647 01:15:25,769 --> 01:15:27,060 세 번째 요소는 무엇인가? 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> 청중 : "JS". 1650 01:15:32,450 --> 01:15:33,940 >> 다빈 : 바로, 그것은 "JS."것 1651 01:15:33,940 --> 01:15:35,760 잠깐, 다시 이동합니다. 1652 01:15:35,760 --> 01:15:37,100 길이는 무엇입니까? 1653 01:15:37,100 --> 01:15:38,117 >> 청중 : 세. 1654 01:15:38,117 --> 01:15:38,950 다빈 : 세, 오른쪽? 1655 01:15:38,950 --> 01:15:40,210 정확히 무슨 생각을. 1656 01:15:40,210 --> 01:15:42,072 OK, 이제 이동합니다. 1657 01:15:42,072 --> 01:15:43,530 배열은, 당신은 그들에게 물건을 추가 할 수 있습니다. 1658 01:15:43,530 --> 01:15:45,395 그래서 당신은 넘어 갈 수 있습니다 초기 경계입니다. 1659 01:15:45,395 --> 01:15:46,740 그냥 뭔가 염두에 두어야합니다. 1660 01:15:46,740 --> 01:15:49,760 PHP, 자바 스크립트, 그들은 조금있어 사물의 측면에서 좀 더 관대 1661 01:15:49,760 --> 01:15:50,570 그런. 1662 01:15:50,570 --> 01:15:54,260 개체별로 같은 구조체 C에서, 매우 1663 01:15:54,260 --> 01:15:56,590 PHP의 연관 배열 등을들 수있다. 1664 01:15:56,590 --> 01:15:58,720 당신은이 모든 경험을 했어. 1665 01:15:58,720 --> 01:16:01,880 당신이 JSON을 통과하고 JSON, 그래서 앞뒤로 P-설정 여덟에, 1666 01:16:01,880 --> 01:16:03,260 그 개체입니다. 1667 01:16:03,260 --> 01:16:06,290 >> 그래서 그래, 예를 들어, 잽싸게 예. 1668 01:16:06,290 --> 01:16:07,880 여기서 목적으로한다. 1669 01:16:07,880 --> 01:16:12,700 당신이 참조하는 방법 개체, 빠른 그래서 그냥 진짜, 1670 01:16:12,700 --> 01:16:18,630 의 내가 찾고 싶었어요 가정 해 봅시다 아웃, 확인 과정은 무엇인가? 1671 01:16:18,630 --> 01:16:20,681 그리고 여기에 개체 이름이 CS50입니다. 1672 01:16:20,681 --> 01:16:23,180 그리고 내가 연관이 있다면 배열, 내가 어떻게 할 건데? 1673 01:16:23,180 --> 01:16:24,580 나는 오른쪽 키를 사용할 것? 1674 01:16:24,580 --> 01:16:26,030 그래서 배열의 이름을 가지고있다. 1675 01:16:26,030 --> 01:16:30,160 나는, 브래킷, 시세, 키가 최종 시세, 엔드 브래킷 1676 01:16:30,160 --> 01:16:33,610 그리고는 그것을 참조합니다 내 연관 배열 내부 요소입니다. 1677 01:16:33,610 --> 01:16:37,646 어떻게 참조 할 내 개체 내부 과정? 1678 01:16:37,646 --> 01:16:39,170 아무도 알아? 1679 01:16:39,170 --> 01:16:40,622 >> 청중 : [들리지]. 1680 01:16:40,622 --> 01:16:41,784 >> 다빈 : 무슨 일 이죠? 1681 01:16:41,784 --> 01:16:42,700 청중 : CS50.course. 1682 01:16:42,700 --> 01:16:43,510 다빈 : 그래, 그래. 1683 01:16:43,510 --> 01:16:45,320 그래서 CS50.course. 1684 01:16:45,320 --> 01:16:48,770 그래서 방법 당신은 일을 참조 JSON 객체의 내부에 점으로한다. 1685 01:16:48,770 --> 01:16:53,114 >> 청중 : 당신은 또한 배열 구문을 사용할 수 있습니다. 1686 01:16:53,114 --> 01:16:54,050 >> 다빈 : 미세하고 확인을 클릭합니다. 1687 01:16:54,050 --> 01:16:57,544 >> 별점 : 당신은 또한, CS50 브래킷을 사용할 수 있습니다 인용 부호와 같은 문자열. 1688 01:16:57,544 --> 01:16:59,210 청중 : 그것은 PHP와 동일합니다 생각합니다. 1689 01:16:59,210 --> 01:17:00,293 별점 : 그것은 같은 일입니다. 1690 01:17:00,293 --> 01:17:02,487 다빈 : 파인! 1691 01:17:02,487 --> 01:17:03,945 하지만 당신이 다른 곳을 볼 수 있습니다. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 그래, 그렇게 계속. 1694 01:17:10,480 --> 01:17:13,330 이것은 내가 방금 말한 것입니다. 1695 01:17:13,330 --> 01:17:17,840 자바 스크립트 jQuery를 예에 따라서. 1696 01:17:17,840 --> 01:17:19,440 그래서 내 DOM, 오른쪽입니까? 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 진짜 빨리, 그래서 난이 머리, 안녕하세요 세계, 신체의. 1699 01:17:25,410 --> 01:17:26,160 나는 버튼이 있습니다. 1700 01:17:26,160 --> 01:17:27,870 그것은 "나를 밀어"라고 그래서 그것을 밀어 싶어요. 1701 01:17:27,870 --> 01:17:29,745 그리고 내가 뭔가를하고 싶은 그것을 클릭 할거야 때. 1702 01:17:29,745 --> 01:17:31,220 좋아, 다음. 1703 01:17:31,220 --> 01:17:34,630 >> 그래, 그래서 이것은 내 자바 스크립트입니다. 1704 01:17:34,630 --> 01:17:37,790 그래서 jQuery를 그냥 쉽게 방법은 자바 스크립트를 작성합니다. 1705 01:17:37,790 --> 01:17:40,920 이 그래서, 내가 보여 주겠다 무엇 당신은 다음, jQuery를 될 것입니다 1706 01:17:40,920 --> 01:17:41,930 동일합니다. 1707 01:17:41,930 --> 01:17:43,990 그래서 그들은 같은 일을 할 것입니다. 1708 01:17:43,990 --> 01:17:45,974 다만 jQuery를 좀 더 쉽게되는 경향이있다. 1709 01:17:45,974 --> 01:17:47,140 사람들은 더 좋아하는 경향이있다. 1710 01:17:47,140 --> 01:17:48,390 그것은 많은 기능을 가지고있다. 1711 01:17:48,390 --> 01:17:49,830 그래서 사람들은 jQuery를를 사용하는 경향이 있습니다. 1712 01:17:49,830 --> 01:17:53,270 여러분 모두 마지막 P-세트에 jQuery를 사용했다. 1713 01:17:53,270 --> 01:17:54,270 그래서이 무엇을 할 것인가? 1714 01:17:54,270 --> 01:17:56,580 어떤 것이 JavaScript-- 그래서 이 자바 스크립트 그냥 일반입니다. 1715 01:17:56,580 --> 01:17:57,430 이것은 무엇을 할 것인가? 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 그것은 무엇을 할 것인가? 1718 01:18:03,450 --> 01:18:04,890 >> 그래서 첫째, 당신은 윈도우 온로드를 참조하십시오. 1719 01:18:04,890 --> 01:18:05,390 오른쪽? 1720 01:18:05,390 --> 01:18:06,640 그래서 우리는 그 전에 보지 않았다. 1721 01:18:06,640 --> 01:18:09,380 그래서이 기다릴 것입니다 전체 창로드까지. 1722 01:18:09,380 --> 01:18:12,770 그래서 때까지 기다릴 것 HTML, 모든 이미지로드 1723 01:18:12,770 --> 01:18:13,770 전에 아무것도 않습니다. 1724 01:18:13,770 --> 01:18:16,050 그럼 우리의 DOM이로드 가정 해 봅시다. 1725 01:18:16,050 --> 01:18:17,270 모든이있다. 1726 01:18:17,270 --> 01:18:19,080 그리고 무슨 일이 일어날? 1727 01:18:19,080 --> 01:18:19,922 그래? 1728 01:18:19,922 --> 01:18:22,880 >> 관객 : 버튼이 나타납니다. 1729 01:18:22,880 --> 01:18:25,201 >> 다빈 :이 버튼이 이미있다. 1730 01:18:25,201 --> 01:18:26,700 그래, 아직이 버튼의. 1731 01:18:26,700 --> 01:18:31,190 하지만이 말 것입니다 OK, I 버튼을 클릭하면, 1732 01:18:31,190 --> 01:18:33,650 그래서 버튼이 이미 이, 그 HTML 태그 등을들 수있다. 1733 01:18:33,650 --> 01:18:35,980 잠깐, 진짜 빨리 돌아갑니다. 1734 01:18:35,980 --> 01:18:39,470 이 태그 바로 바로 여기 이미 단추가 될 것. 1735 01:18:39,470 --> 01:18:40,810 버튼이 이미 있습니다. 1736 01:18:40,810 --> 01:18:44,120 그러나, 자바 스크립트 태그 바로 여기, 1737 01:18:44,120 --> 01:18:46,160 그것은 OK, 내가 원하는 말한다 ID에 의해 요소를 얻을 수 있습니다, 1738 01:18:46,160 --> 01:18:50,300 그래서 검색 버튼은 OK, 내가 원하는 말한다 그 버튼이 변수를 매핑합니다. 1739 01:18:50,300 --> 01:18:53,120 그래서 변수는 단지입니다 그 버튼에 액세스 할 수있는 쉬운 방법. 1740 01:18:53,120 --> 01:18:57,300 나는 그것을 클릭하면 그리고, OK, 말 버튼, 내가 그 요소를 클릭 그래서 만약, 1741 01:18:57,300 --> 01:18:59,560 이 요소를 의미한다 버튼, 나는 그것을 클릭하면, 1742 01:18:59,560 --> 01:19:00,875 그때는 함수를 호출 할 수 있습니다. 1743 01:19:00,875 --> 01:19:03,500 여기에 그 익명 중 하나입니다 우리에 대해 얘기했다 기능. 1744 01:19:03,500 --> 01:19:04,840 >> 그냥 몇 가지 함수를 호출합니다. 1745 01:19:04,840 --> 01:19:08,840 그 함수에서, 기본적으로 뭔가 우리는 많은 경고를 본 적이있다. 1746 01:19:08,840 --> 01:19:10,477 당신은 검색 버튼을 클릭합니다. 1747 01:19:10,477 --> 01:19:12,060 그것은 기본적으로 버튼을 가질 것입니다. 1748 01:19:12,060 --> 01:19:13,040 당신은 그것을 클릭합니다. 1749 01:19:13,040 --> 01:19:14,040 당신은 경고를 얻을. 1750 01:19:14,040 --> 01:19:14,850 X 아웃. 1751 01:19:14,850 --> 01:19:15,754 이게 다예요. 1752 01:19:15,754 --> 01:19:16,254 그래? 1753 01:19:16,254 --> 01:19:21,980 >> 청중 : 그래서 당신은 넣을 경우, 스크립트 당신의 HTML에서 [들림], 스크립트 태그? 1754 01:19:21,980 --> 01:19:24,300 >> 다빈 : 당신은 스크립트를 넣을 수 있습니다 머리에 태그 직선 1755 01:19:24,300 --> 01:19:30,667 당신이 온로드를 가지고 있기 때문에. 1756 01:19:30,667 --> 01:19:32,000 그것은 당신이 클릭을 가지고도 있습니다. 1757 01:19:32,000 --> 01:19:34,166 그래서 때까지 기다릴 것 당신이 뭔가를 클릭합니다. 1758 01:19:34,166 --> 01:19:37,470 그러나 온로드는 안전을 위해 그냥, 만들 당신의 HTML에 확인 모든로드 1759 01:19:37,470 --> 01:19:38,170 사전에. 1760 01:19:38,170 --> 01:19:39,247 그래? 1761 01:19:39,247 --> 01:19:40,330 당신은 뭔가를 말하고 싶은? 1762 01:19:40,330 --> 01:19:41,080 >> 별점 : [들림]. 1763 01:19:41,080 --> 01:19:42,485 다빈 : 네. 1764 01:19:42,485 --> 01:19:45,426 >> 청중 : 그래서 온로드 피한 변수 검색 버튼을 정의 1765 01:19:45,426 --> 01:19:49,930 다만 document.getElementById를 말하여 검색 버튼 점 [들림]. 1766 01:19:49,930 --> 01:19:52,320 >> 다빈 : 확실히,하지만 당신의 캐릭터는 거대한 가져옵니다. 1767 01:19:52,320 --> 01:19:55,553 정확히, 그래서 이것은 단지이다 그래, 당신을 위해 쉽게합니다. 1768 01:19:55,553 --> 01:19:56,053 네? 1769 01:19:56,053 --> 01:19:57,886 >> 청중 : 우리했다 window.onload를 만들? 1770 01:19:57,886 --> 01:19:58,951 또는 document.ready? 1771 01:19:58,951 --> 01:20:00,590 >> 다빈 : 네, 있습니다. 1772 01:20:00,590 --> 01:20:02,094 예, 나는 거기에 확인됩니다. 1773 01:20:02,094 --> 01:20:03,710 >> 별점 : 그들에 대해 신경을하지 않는. 1774 01:20:03,710 --> 01:20:06,970 >> 다빈 : OK, 그래서 나는거야 어쨌든 당신에게. 1775 01:20:06,970 --> 01:20:11,005 그러니까 기본적으로, 그냥 일반적으로, 그래서 window.onload 모든, 당신의 DOM 때까지 대기 1776 01:20:11,005 --> 01:20:12,180 당신의 HTML,로드합니다. 1777 01:20:12,180 --> 01:20:13,513 그것은 당신의 이미지를로드 할 때까지 기다립니다. 1778 01:20:13,513 --> 01:20:14,930 그것은 모든로드 될 때까지 기다립니다. 1779 01:20:14,930 --> 01:20:18,410 document.ready, 그것은 단지 당신의 DOM이로드 될 때까지 기다립니다. 1780 01:20:18,410 --> 01:20:22,190 HTML은 한 번 모두가, 일단 당신의 DOM이 실행을 시작합니다. 1781 01:20:22,190 --> 01:20:23,400 즉, 유일한 차이점입니다. 1782 01:20:23,400 --> 01:20:24,700 >> 별점 : 빠른 정신은 여기에서 확인. 1783 01:20:24,700 --> 01:20:29,060 그래서이 가지 볼 수 있습니다 한 줄의 코드처럼, 오른쪽? 1784 01:20:29,060 --> 01:20:33,600 이 window.onload 이니까 잔뜩 같습니다. 1785 01:20:33,600 --> 01:20:39,030 자바 스크립트를 읽을 때이 사실 또는 거짓, 기능이 실행됩니다. 1786 01:20:39,030 --> 01:20:40,020 거짓. 1787 01:20:40,020 --> 01:20:40,920 OK? 1788 01:20:40,920 --> 01:20:44,470 여기에 무슨 일이 그냥 통과하고 익명의 기능으로이 기능을 1789 01:20:44,470 --> 01:20:45,300 window.onload합니다. 1790 01:20:45,300 --> 01:20:48,480 그리고시는 것입니다 실제로 실행 얻을? 1791 01:20:48,480 --> 01:20:49,600 하면 윈도우가로드됩니다. 1792 01:20:49,600 --> 01:20:50,420 즉 이벤트입니다. 1793 01:20:50,420 --> 01:20:52,460 그래서 우리가있어 jus 보라 t의 일이 바로 이전에 대해 얘기? 1794 01:20:52,460 --> 01:20:54,580 그래서 이벤트가 발생했을 때, 함수가 발생합니다. 1795 01:20:54,580 --> 01:20:55,746 의 onclick과 같은 일. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> 다빈 : OK, 누군가가했다 그래서 멀리 document.ready. 1798 01:21:03,130 --> 01:21:04,698 그러나 이것은 정확한 same-- 될 것입니다 1799 01:21:04,698 --> 01:21:06,864 청중 : 달러 기호, 그 document.ready입니다. 1800 01:21:06,864 --> 01:21:07,710 그게 바로 가기입니다. 1801 01:21:07,710 --> 01:21:08,501 >> 다빈 : 아, 그렇습니까? 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 좋아, 그럼이 방법 document.ready, 바로 가기. 1804 01:21:15,500 --> 01:21:19,660 하지만이 window.onload과 동일 그 작은 차이를 제외하고 1805 01:21:19,660 --> 01:21:20,680 나는에 대해 말했다. 1806 01:21:20,680 --> 01:21:21,870 그리고 이것은 jQuery를이다. 1807 01:21:21,870 --> 01:21:25,190 그래서이 정확한 동일 이 자바 스크립트입니다 건 말인데 .... 1808 01:21:25,190 --> 01:21:29,500 이것은 일부 사람들이 생각하는 단지 ... 더 가벼운 무게로, 세련된 버전 1809 01:21:29,500 --> 01:21:32,370 그 많은 기능을 가지고 것을 당신은 아마 사용됩니다. 1810 01:21:32,370 --> 01:21:34,500 그래서 똑같은 일을한다. 1811 01:21:34,500 --> 01:21:37,110 >> 그래서 가지 종류의 지적합니다. 1812 01:21:37,110 --> 01:21:40,364 다른 예에 따라서, 우리 , document.getElementById를했다 1813 01:21:40,364 --> 01:21:42,280 그래서 우리는이 긴했다 얻을 것 문자열 1814 01:21:42,280 --> 01:21:44,290 그것이 무엇 이건 ID로 요소입니다. 1815 01:21:44,290 --> 01:21:46,470 그건 바로 여기이 호출로 대체합니다. 1816 01:21:46,470 --> 01:21:50,860 그래서 당신은, 달러 기호를 참조 당신은 인용, 해시 태그를 참조하십시오. 1817 01:21:50,860 --> 01:21:52,370 해시 태그는 항상 선택이다. 1818 01:21:52,370 --> 01:21:54,730 그것은 OK,이 ID과 관련이있다 말한다. 1819 01:21:54,730 --> 01:21:56,120 클래스의 선택은 무엇입니까? 1820 01:21:56,120 --> 01:21:57,190 >> 청중 : 점. 1821 01:21:57,190 --> 01:21:57,960 >> 다빈 : 점, 맞아. 1822 01:21:57,960 --> 01:22:01,950 당신은 단지에가는 경우 태그가 무엇을 선택? 1823 01:22:01,950 --> 01:22:03,310 그것은 정확하게, 그냥 태그입니다. 1824 01:22:03,310 --> 01:22:05,560 그리고 당신은뿐만 아니라, 여기에 사용할 수 있습니다. 1825 01:22:05,560 --> 01:22:08,560 >> 별점 : 그리고 태그에 의해, 우리는 같은 의미 DIV, 예를 들어, 또는 두부. 1826 01:22:08,560 --> 01:22:11,500 >> 다빈 : 또는 신체 또는 p 또는 그런 건, 그래. 1827 01:22:11,500 --> 01:22:14,390 그래서 여기, OK, 대신 말의 document.getElementById를, 1828 01:22:14,390 --> 01:22:16,500 이것은 단지 동일한 것입니다. 1829 01:22:16,500 --> 01:22:17,990 그냥 jQuery를, 그것은 짧은입니다. 1830 01:22:17,990 --> 01:22:19,860 그래서 간단합니다. 1831 01:22:19,860 --> 01:22:23,420 그럼, 더 이상 onclick을 바로 클릭하십시오. 1832 01:22:23,420 --> 01:22:26,320 jQuery를 함수는이 함수를 호출합니다. 1833 01:22:26,320 --> 01:22:27,580 경고 정확한 동일합니다. 1834 01:22:27,580 --> 01:22:29,452 그래서 조금이다 작은, 또는 조금 1835 01:22:29,452 --> 01:22:32,410 짧은, 작은 bit-- 사람들이 생각 이 쓰는 조금 쉽게, 1836 01:22:32,410 --> 01:22:34,600 쉽게 조금 이해합니다. 1837 01:22:34,600 --> 01:22:35,640 그러나 이것은 jQuery를이다. 1838 01:22:35,640 --> 01:22:37,887 많은 사람들이 조금 얻을 비트 혼란과 걱정 1839 01:22:37,887 --> 01:22:40,220 그들은 OK, jQuery를, 생각 자바 스크립트 다릅니다. 1840 01:22:40,220 --> 01:22:42,136 나는이 기억해야 다른 두 가지. 1841 01:22:42,136 --> 01:22:42,740 그것은 아니다. 1842 01:22:42,740 --> 01:22:45,315 나는 다른 구문의 의미. 1843 01:22:45,315 --> 01:22:46,970 그러나 jQuery를 자바 스크립트입니다. 1844 01:22:46,970 --> 01:22:50,050 그냥 겉으로 야 더 나은 버전이 1845 01:22:50,050 --> 01:22:51,967 에 더 쉬울 수 있습니다 사람들이 사용하는 것으로 알고 있습니다. 1846 01:22:51,967 --> 01:22:53,716 별점 : 네, 될 솔직히, 그 달러 기호 1847 01:22:53,716 --> 01:22:57,240 당신이 jQuery를에서 볼 것을, 그건 그냥있어 JQuery와 정의 함수의 이름입니다. 1848 01:22:57,240 --> 01:22:58,614 그것은 특별한 일이 없습니다. 1849 01:22:58,614 --> 01:23:03,140 그것은 함수의 이름 만입니다입니다 단지는 달​​러 기호를 정의 할 수 있습니다 좋아한다. 1850 01:23:03,140 --> 01:23:05,670 >> 다빈 : 네, 그래서 이것에 대해 이야기했다. 1851 01:23:05,670 --> 01:23:06,680 몇 가지 유용한 것들. 1852 01:23:06,680 --> 01:23:10,414 나는 예전의 퀴즈에서 찾고 있었다. 1853 01:23:10,414 --> 01:23:13,080 지난 몇 퀴즈, 그들은했습니다 이 같은 일을 사용했다. 1854 01:23:13,080 --> 01:23:15,230 그래서 document.ready, 그래서 안부를 확인 1855 01:23:15,230 --> 01:23:17,410 전에로드하는 일을 시작합니다. 1856 01:23:17,410 --> 01:23:20,120 ID를 선택하거나 선택 클래스, 그냥 좋겠 1857 01:23:20,120 --> 01:23:24,020 일부 클래스, 최종 견적을 점 인용합니다. 1858 01:23:24,020 --> 01:23:26,580 당신이 그래서 만약, 제출 형태와 전화를 제출 1859 01:23:26,580 --> 01:23:28,830 양식 후이 기능을 제출합니다. 1860 01:23:28,830 --> 01:23:34,210 값, 그래서 내가 양식을 먹었지 제출, 사용자 이름과 같은, 이메일, 1861 01:23:34,210 --> 01:23:34,950 뭐든간에. 1862 01:23:34,950 --> 01:23:36,010 나는 텍스트 상자를했다. 1863 01:23:36,010 --> 01:23:37,670 그래서 난 그 텍스트 상자에 입력하고 있습니다. 1864 01:23:37,670 --> 01:23:42,170 글쎄, 당신은 값을 얻으려면 텍스트 상자에서, 당신은 도트 발을 사용합니다. 1865 01:23:42,170 --> 01:23:44,050 그리고, 여기 아래, 도트 HTML은 동일 1866 01:23:44,050 --> 01:23:47,710 문서 도트처럼 에는 getElementById 점 innerHTML을. 1867 01:23:47,710 --> 01:23:50,890 그래서 반환 것 당신이 ID에서 HTML. 1868 01:23:50,890 --> 01:23:55,080 여기에서, 당신은 일부를 사용 ID 또는 어떤 점 HTML. 1869 01:23:55,080 --> 01:23:56,930 즉, 해당 요소의 HTML를 얻을 수 있습니다. 1870 01:23:56,930 --> 01:24:00,130 당신은 그 변경을 원하는 경우 HTML, 당신은 뭔가를 전달할 수 있습니다. 1871 01:24:00,130 --> 01:24:05,600 그래서 당신은 그 점 HTML처럼, 그리고 것 내부, 시세, 새로운 HTML 또는 뭔가. 1872 01:24:05,600 --> 01:24:07,490 >> 별점 : OK, AJAX 그래서. 1873 01:24:07,490 --> 01:24:10,347 정말 이해하기 좋아 AJAX 정말 잘. 1874 01:24:10,347 --> 01:24:12,430 그래서 나는 당신에게 사람을 원하는 정말 잘 AJAX를 이해합니다. 1875 01:24:12,430 --> 01:24:14,221 당신이 경우에 때문에, 당신은 꽤 많은거야 1876 01:24:14,221 --> 01:24:16,810 모든 것을 이해하는 그 HTTP 함께 할 수있다, PHP, 1877 01:24:16,810 --> 01:24:21,080 자바 스크립트를 모든 때문에 AJAX 함께 제공됩니다. 1878 01:24:21,080 --> 01:24:25,130 AJAX는 언어가 아닙니다. 1879 01:24:25,130 --> 01:24:27,000 AJAX는 기술이다. 1880 01:24:27,000 --> 01:24:31,690 그리고 다른 도구를 많이 사용합니다. 1881 01:24:31,690 --> 01:24:35,090 AJAX는 의미 비동기 자바 스크립트 XML. 1882 01:24:35,090 --> 01:24:36,730 그래서있어서, 언어 데이터. 1883 01:24:36,730 --> 01:24:40,610 >> 우리가 사용하는 주요 언어 그래서 AJAX 모든 것을 트리거하려면 1884 01:24:40,610 --> 01:24:42,830 모든 것을 처리하기 위해 나중에 자바 스크립트입니다. 1885 01:24:42,830 --> 01:24:45,160 그것과 관련된 이유 자바 스크립트에 매우 가깝습니다. 1886 01:24:45,160 --> 01:24:49,810 그리고 비동기입니다 우리는 그것을하지 않기 때문에 1887 01:24:49,810 --> 01:24:51,980 한 번에 우리는 페이지를로드 할 때. 1888 01:24:51,980 --> 01:24:57,190 이것은 우리가 할 수있는 일 병렬 가지 일을. 1889 01:24:57,190 --> 01:24:59,725 뒤에 주요 아이디어 AJAX는 당신이 원하는 것입니다 1890 01:24:59,725 --> 01:25:02,170 그것은 몇 가지 구체적인 정보를 얻을 수 있습니다. 1891 01:25:02,170 --> 01:25:06,450 예를 들어, 당신은 새로운 입력하는 만약 사용자 이름을 등록 사용자 이름, 1892 01:25:06,450 --> 01:25:08,520 내 사용자 이름은 ABC123입니다. 1893 01:25:08,520 --> 01:25:11,671 그리고, 끝에 양식 제출을 클릭해야합니다. 1894 01:25:11,671 --> 01:25:14,420 그리고, 서버에 가야했다 다음, 데이터베이스에 있는지 확인 1895 01:25:14,420 --> 01:25:15,594 ABC123 이미있다. 1896 01:25:15,594 --> 01:25:18,510 이미이 있다면, 그것은 말한다, 이미 데이터베이스의 사용자 이름입니다. 1897 01:25:18,510 --> 01:25:21,010 그리고, 당신은 작성해야 전체 양식 밖으로 다시. 1898 01:25:21,010 --> 01:25:23,110 그리고 정말, 정말 나쁜했다. 1899 01:25:23,110 --> 01:25:25,440 >> 그리고 사람들은 말한다, OK, 왜 우리는 할 수 없습니다 1900 01:25:25,440 --> 01:25:29,560 그냥 확인하는 작은 HTTP 요청을 할 사용자가이 데이터베이스에 있는지 1901 01:25:29,560 --> 01:25:32,080 사용자는에 있었다 전에 전체 양식을 제출? 1902 01:25:32,080 --> 01:25:36,350 그래서 예를 들면, 사용자는 ABC123를 입력​​ 완료 1903 01:25:36,350 --> 01:25:39,660 그냥 서버 조금에게 가자 비트는 단지 참 또는 거짓을 얻을 1904 01:25:39,660 --> 01:25:43,080 있는지 확인하기 위해 서버에서 그 유효한 사용자 이름이나 아니다. 1905 01:25:43,080 --> 01:25:49,250 OK, 그래서 주 중 하나 요즘 여전히 AJAX의 사용합니다. 1906 01:25:49,250 --> 01:25:52,130 >> 다빈 : 그래서에서, 빠른 실제 jQuery를의 Ajax 호출, 1907 01:25:52,130 --> 01:25:54,770 당신은 당신이 있음을 의미 할 수 그것이 동기가되고 싶어요. 1908 01:25:54,770 --> 01:25:56,330 이 작업을 수행하지 않아야합니다. 1909 01:25:56,330 --> 01:25:57,640 하지만 당신은 그렇게 할 수 있습니다. 1910 01:25:57,640 --> 01:25:59,277 당신이 그런 짓을한다면 어떤 일이 일어날까요? 1911 01:25:59,277 --> 01:26:01,610 음, 예를 들어, 경우있어 뉴스 또는 무엇이든을 받고, 1912 01:26:01,610 --> 01:26:05,464 브라우저는 기다려야 할 것입니다 그 전체 호출이 완료 될 때까지 1913 01:26:05,464 --> 01:26:08,130 대신시키는의 다른 할 바로 후 가지를 클릭합니다. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> 별점 : 그것은 더 이상 통과 아니에요. 1916 01:26:17,115 --> 01:26:19,681 세상에. 1917 01:26:19,681 --> 01:26:20,180 죄송합니다! 1918 01:26:20,180 --> 01:26:22,810 1919 01:26:22,810 --> 01:26:23,601 아, 그래. 1920 01:26:23,601 --> 01:26:25,350 "과거 클라이언트 요청에 필요한 1921 01:26:25,350 --> 01:26:26,840 웹 사이트의 전체 내용. " 1922 01:26:26,840 --> 01:26:28,210 그게 내가 말 했어요. 1923 01:26:28,210 --> 01:26:30,070 그것은 보낼 수있게 해준다 추가 GET 또는 POST 1924 01:26:30,070 --> 01:26:32,140 하지 않고 요청 우리의 브라우저를 다시로드합니다. 1925 01:26:32,140 --> 01:26:34,806 하루의 끝에 그래서, 우리는있어 실제로 HTTP 요청을하는 1926 01:26:34,806 --> 01:26:35,740 여기에 자바 스크립트를 사용하여. 1927 01:26:35,740 --> 01:26:39,700 전에하기 때문에, 우리는 자바 스크립트를 사용 이미 제공된 HTML을 변경합니다. 1928 01:26:39,700 --> 01:26:43,110 그리고 지금, 우리는 인터페이스를 사용할 수 있습니다 또한 웹 서버와. 1929 01:26:43,110 --> 01:26:46,140 이런 방법 우리는 클라이언트가 있습니다. 1930 01:26:46,140 --> 01:26:47,340 다빈은 클라이언트입니다. 1931 01:26:47,340 --> 01:26:50,797 그리고 그는 모든 JavaScript를 사용 HTML 때문에 실행하는 바보입니다. 1932 01:26:50,797 --> 01:26:51,630 자바 스크립트는 똑똑하다. 1933 01:26:51,630 --> 01:26:54,690 그래서 다빈 다빈 자신의 스마트가 부분과 그의 바보 부분. 1934 01:26:54,690 --> 01:26:57,590 그는 이제 자신의 스마트 일부를 사용하는 것입니다. 1935 01:26:57,590 --> 01:27:00,860 그는 자바 스크립트를 사용하는 것 요청, 예를 들면, 1936 01:27:00,860 --> 01:27:04,340 ABC123이 있는지 여부 데이터베이스 나하지. 1937 01:27:04,340 --> 01:27:08,450 >> 그래서 다빈, 제발, 당신​​ 단지 나에게 HTTP 요청을 보냅니다. 1938 01:27:08,450 --> 01:27:09,197 감사합니다. 1939 01:27:09,197 --> 01:27:10,530 그래서 그는 단지 HTTP 요청을 보냈습니다. 1940 01:27:10,530 --> 01:27:11,270 당신은 보이지? 1941 01:27:11,270 --> 01:27:14,700 그리고 그것은 단지 같은 방법 모든 HTTP 요청이 전송된다. 1942 01:27:14,700 --> 01:27:16,830 브라우저, 구글 크롬 또는 뭔가입니다 1943 01:27:16,830 --> 01:27:19,570 다빈의 것을 볼 것 HTTP 요청을 보내려고 1944 01:27:19,570 --> 01:27:20,930 약간의 흠 도움이 될 것. 1945 01:27:20,930 --> 01:27:23,950 그리고 갈거야 서버에있는 모든 방법. 1946 01:27:23,950 --> 01:27:27,370 이제, 서버는해야 할 것입니다 여기 PHP, 또는 임의의 다른 언어. 1947 01:27:27,370 --> 01:27:29,990 그냥 보통의 HTTP 요청에 좋아한다. 1948 01:27:29,990 --> 01:27:31,950 그것은 거의 정상적인 HTTP 요청입니다. 1949 01:27:31,950 --> 01:27:33,658 >> 그리고, 서버 확인을 말할 것입니다, 1950 01:27:33,658 --> 01:27:37,270 다빈이 있는지 여부를 확인하기 위해 나를 원한다 이 ABC123 데이터베이스이다. 1951 01:27:37,270 --> 01:27:38,310 모델에 이야기를 이동합니다. 1952 01:27:38,310 --> 01:27:41,310 모델은 아니다 말한다. ABC123 좋은 사용자 이름입니다. 1953 01:27:41,310 --> 01:27:47,940 그리고, 웹 서버는 것입니다 파일의 형태를 렌더링하는 PHP를 사용합니다. 1954 01:27:47,940 --> 01:27:52,280 말 그대로 그냥 파일 수 그 아니오 "거기에"예 "를 포함, 또는, 1955 01:27:52,280 --> 01:27:53,315 또는 그런 일. 1956 01:27:53,315 --> 01:27:54,190 그것은 어떤 파일이 될 수 있습니다. 1957 01:27:54,190 --> 01:27:57,080 >> 내가가는 것 같은이 될 수있다 다빈에게 오리의 사진을 보내 1958 01:27:57,080 --> 01:28:01,200 이 데이터베이스에 그리고 만약 햄스터의 사진을 보내 1959 01:28:01,200 --> 01:28:02,420 그것은 데이터베이스에 없으면. 1960 01:28:02,420 --> 01:28:04,294 그 종류의 것 바보,하지만 작동합니다. 1961 01:28:04,294 --> 01:28:07,030 OK, 그래서 나는 다빈에 오리를 보낼 수 있습니다. 1962 01:28:07,030 --> 01:28:08,150 다빈은 오리를 얻었다. 1963 01:28:08,150 --> 01:28:13,330 그리고 지금, 누가 것입니다 오리를 처리하기 위해? 1964 01:28:13,330 --> 01:28:16,390 다빈의 스마트 일부 다시, 그래서 자바 스크립트, 오른쪽? 1965 01:28:16,390 --> 01:28:18,620 자바 스크립트가 전송 요청 및 자바 스크립트 1966 01:28:18,620 --> 01:28:22,300 요청을받을 것입니다 어떤 형태로 해석. 1967 01:28:22,300 --> 01:28:26,630 >> 그리고 이러한 의미에서, 그것은에 무슨 나는 괜찮아요 오리 경우, 확인을 말한다. 1968 01:28:26,630 --> 01:28:30,770 햄스터 경우, 내가 갈거야 이미 아니, 사용자 이름, 대답 1969 01:28:30,770 --> 01:28:31,970 데이터베이스에 존재합니다. 1970 01:28:31,970 --> 01:28:33,845 그러나 일반적으로, 당신은 아니에요 오리를 보낼 것. 1971 01:28:33,845 --> 01:28:36,740 당신은 보낼거야 약간 똑똑 뭔가. 1972 01:28:36,740 --> 01:28:40,320 그리고 우리가 사용하는 XML이다. 1973 01:28:40,320 --> 01:28:42,690 그리고 최근에, 우리는 JSON을 사용합니다. 1974 01:28:42,690 --> 01:28:45,629 JSON은 자바 스크립트입니다 객체 표기법, 어떤 1975 01:28:45,629 --> 01:28:47,670 기본적으로 당신을 얻을 수있다 전체 자바 스크립트 객체. 1976 01:28:47,670 --> 01:28:50,820 그리고 당신은 좋아, 파일에 넣어 너희들 보았다 CS50 객체입니다. 1977 01:28:50,820 --> 01:28:53,090 당신은 파일에 넣어, 그리고 당신은 다빈로 보내. 1978 01:28:53,090 --> 01:28:55,850 >> 이 경우, 나는 것 자바 스크립트 객체를 만들 1979 01:28:55,850 --> 01:28:59,570 다만, 사용자가 존재, 예 말한다. 1980 01:28:59,570 --> 01:29:01,630 또는 사용자가 더 존재. 1981 01:29:01,630 --> 01:29:02,810 그리고 그에게 다시 보낼 수 있습니다. 1982 01:29:02,810 --> 01:29:03,830 왜 JSON? 1983 01:29:03,830 --> 01:29:07,330 사람 때문에 사람이이받는 것 1984 01:29:07,330 --> 01:29:10,030 자바 스크립트를 사용할 것 응답을 처리한다. 1985 01:29:10,030 --> 01:29:14,970 그리고 자바 스크립트는 잘 때문에 작동 그것은 자바 스크립트 객체 표기법라고. 1986 01:29:14,970 --> 01:29:15,470 오른쪽? 1987 01:29:15,470 --> 01:29:19,660 그래서 그는 단지 함수를 호출 얻을 수 있습니다 응답에서이 좋은 객체입니다. 1988 01:29:19,660 --> 01:29:22,890 그리고, 그는 여부를 알 것 그 사용자는 데이터베이스 나 아니다. 1989 01:29:22,890 --> 01:29:25,230 >> 당신이 볼 그래서, 그것의 모든오고 함께 웹 서버에, 1990 01:29:25,230 --> 01:29:28,450 다음 요청에 하나의 HTTP있다 하나의 HTTP 응답과 모든 것을. 1991 01:29:28,450 --> 01:29:30,600 그래서 반드시 너희들을 이 AJAX 호출을 이해 1992 01:29:30,600 --> 01:29:37,260 그것이 도움이되기 때문에 모든 이해 개념의 우리에 대해 얘기하고. 1993 01:29:37,260 --> 01:29:40,260 >> 그래서 여기에 예입니다 jQuery를 함께 AJAX의. 1994 01:29:40,260 --> 01:29:42,130 그리고 여기, 우리는 가져 오기 JSON으로한다. 1995 01:29:42,130 --> 01:29:45,660 그래서 우리는을 얻으려고 노력하지 않을 여기 고양이, 또는 오리의 이미지입니다. 1996 01:29:45,660 --> 01:29:48,110 우리는 JSON 파일을 얻기 위해 노력하고 있습니다. 1997 01:29:48,110 --> 01:29:51,184 그리고 우리는 때까지 기다립니다 그것은 할 점, 이루어집니다. 1998 01:29:51,184 --> 01:29:52,850 그게 내가 응답을 기다리고있어 의미합니다. 1999 01:29:52,850 --> 01:29:54,180 그것은 다소 시간이 걸릴 수 있습니다. 2000 01:29:54,180 --> 01:29:56,360 그런 다음 약간의 로딩을 참조하십시오. 2001 01:29:56,360 --> 01:29:59,340 당신은 당신의 웹 사이트에 그렇게합니다. 2002 01:29:59,340 --> 01:30:01,440 그래서 다음 수행하고, 도트 무엇 이 일을 끝낼 때 어떻게됩니까? 2003 01:30:01,440 --> 01:30:04,040 당신은 익명으로 전달 기능, 그냥 우리가 이전에보고 좋아한다. 2004 01:30:04,040 --> 01:30:07,800 일 때문에 그냥, 이벤트 마우스 또는 무엇이든을 클릭하는 것과 같은, 2005 01:30:07,800 --> 01:30:08,710 jQuery를합니다. 2006 01:30:08,710 --> 01:30:13,710 그래서 당신은이 기능에 통과 데이터, 텍스트 상태 및 jqXHR. 2007 01:30:13,710 --> 01:30:15,790 그리고 기본적으로, 그건 그냥 몇 가지 변수 2008 01:30:15,790 --> 01:30:22,160 당신은 나중에에 사용할 수있는 HTTP 요청의 상태, 2009 01:30:22,160 --> 01:30:24,470 이 무슨 데이터 당신에게 다시 보낼 수 있습니다. 2010 01:30:24,470 --> 01:30:28,740 그래서 당신은 나중에 그것을 해석 할 수 있습니다 그리고 그것으로 의미있는 일을. 2011 01:30:28,740 --> 01:30:30,240 실패 할 경우에, 때 실패 할 수 있습니다? 2012 01:30:30,240 --> 01:30:33,780 음,시는 HTTP 요청 준다 당신 같은 500 일. 2013 01:30:33,780 --> 01:30:37,420 그런 다음, 당신에게 말할 것 상태였다 장애의 종류, 2014 01:30:37,420 --> 01:30:38,420 사물의 모든 종류. 2015 01:30:38,420 --> 01:30:40,630 당신은 확인해야 두 경우를 처리하기 위해, 2016 01:30:40,630 --> 01:30:42,770 그렇지 않으면 프로그램이 미친 간다. 2017 01:30:42,770 --> 01:30:45,820 >> 다빈 : 그래서 그래,이 정확히 당신은 당신의 마지막 페이지 세트에 본 것을. 2018 01:30:45,820 --> 01:30:49,720 실제 AJAX 호출은 가져 오기 JSON입니다. 2019 01:30:49,720 --> 01:30:50,587 즉, 호출입니다. 2020 01:30:50,587 --> 01:30:52,920 그리고, 도트 수행은 같다 이 성공적인지는 확인합니다. 2021 01:30:52,920 --> 01:30:55,620 그것이 성공하면, 당신이 원하는 데이터 작업을 수행합니다. 2022 01:30:55,620 --> 01:30:59,290 당신은 상태에서 돌아올 JSON 요청 데이터. 2023 01:30:59,290 --> 01:31:00,600 그게 당신이 돌아올 것입니다. 2024 01:31:00,600 --> 01:31:04,470 그래서 당신은 당신의 P-세트에서 기억한다면, 당신의 많은 데이터 브래킷 같았다 난 2025 01:31:04,470 --> 01:31:06,302 또는 무엇이든, 도트 링크 또는 제목입니다. 2026 01:31:06,302 --> 01:31:08,260 다시 무엇이든을오고 그 JSON에서 어떤 2027 01:31:08,260 --> 01:31:11,020 필드는 그 JSON 객체에 그건 당신이 돌아가고거야. 2028 01:31:11,020 --> 01:31:12,394 데이터는 돌아가고 것입니다. 2029 01:31:12,394 --> 01:31:15,510 텍스트 상태, 뭔가 그 당신은 무슨 일이 있었는지 알 수 있습니다. 2030 01:31:15,510 --> 01:31:20,570 그리고, jqXHR, 그건 단지 jQuery를 XML의 HTTP 요청. 2031 01:31:20,570 --> 01:31:21,990 그건 그냥 객체처럼. 2032 01:31:21,990 --> 01:31:23,932 그리고 게이브 말처럼, 실패​​합니다. 2033 01:31:23,932 --> 01:31:27,140 별점 : ABC123의 우리의 작은 예에서 즉 데이터베이스에 있다면 단지 확인 2034 01:31:27,140 --> 01:31:32,260 또는, 데이터는 당신이 뭔가 될 것 없습니다 데이터 점의 사용자 이름이 존재하는 경우, 할 것, 2035 01:31:32,260 --> 01:31:37,720 당신의 PHP가 생성 된 것을 이는 데이터는 도트 사용자 이름은, 존재한다면 2036 01:31:37,720 --> 01:31:40,880 내가 경고하는거야, 사용자 이름이 이미 존재합니다. 2037 01:31:40,880 --> 01:31:44,300 그렇지, 난 그냥하자거야 사용자가 양식을 작성 진행합니다. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 OK, 보안, 멋진. 2040 01:31:50,820 --> 01:31:52,060 >> 다빈 : 저를 원하십니까? 2041 01:31:52,060 --> 01:31:54,500 >> 별점 :이 하나를 좋아한다. 2042 01:31:54,500 --> 01:31:57,680 그래서 뭔가 익숙한 보이는. 2043 01:31:57,680 --> 01:31:59,750 우리는 거의 완료. 2044 01:31:59,750 --> 01:32:02,670 그래서 그냥 예입니다 너희들은 클래스에서 보았다. 2045 01:32:02,670 --> 01:32:04,860 여기 argv1 사용하고 있었다. 2046 01:32:04,860 --> 01:32:06,460 즉, 명령 줄 인수 같아요. 2047 01:32:06,460 --> 01:32:09,270 그리고 우리는 복사를하고는 mem하고 그 크기 (12)의 버퍼에. 2048 01:32:09,270 --> 01:32:12,560 문제는 여기에 무엇입니까? 2049 01:32:12,560 --> 01:32:13,660 버퍼 오버플로! 2050 01:32:13,660 --> 01:32:15,400 우리는 크기 (12)의 버퍼를 갖고 있기 때문에. 2051 01:32:15,400 --> 01:32:18,400 argv1 억의 크기를 가질 수 있습니다. 2052 01:32:18,400 --> 01:32:19,960 우리는 어떤 경계 검사를하지 않습니다. 2053 01:32:19,960 --> 01:32:24,970 그래서 우리는 많은 메모리를 복사 할 수 있습니다. 2054 01:32:24,970 --> 01:32:28,630 그리고 우리는 특히있을거야 이것에 대해 나쁜. 2055 01:32:28,630 --> 01:32:32,600 우리는 그건 무엇을 할 수 아주, 아주,이 경우 의미? 2056 01:32:32,600 --> 01:32:33,278 네? 2057 01:32:33,278 --> 01:32:36,528 청중 : 억 가지의 일부 반환 실행 코드를 포함 2058 01:32:36,528 --> 01:32:38,127 [들림]. 2059 01:32:38,127 --> 01:32:38,710 별점 : 그렇지. 2060 01:32:38,710 --> 01:32:41,110 그래서의 종류 사람들이 사용 일 2061 01:32:41,110 --> 01:32:43,344 예를 들어, 아이폰 탈옥한다. 2062 01:32:43,344 --> 01:32:44,260 그런 종류 그래서. 2063 01:32:44,260 --> 01:32:48,610 당신은 장치를 만들 수 있기 때문에 당신이 좋아하는 코드를 실행합니다. 2064 01:32:48,610 --> 01:32:50,247 수정, 그래서 수정이 용이하다. 2065 01:32:50,247 --> 01:32:51,330 그냥 경계를 확인합니다. 2066 01:32:51,330 --> 01:32:53,455 당신은 널 (null) 때문에 확인 우리는 항상 널 확인 2067 01:32:53,455 --> 01:32:54,940 때 우리는 문자열을 처리하고 있습니다. 2068 01:32:54,940 --> 01:32:57,840 그리고, 당신은을 문자열 길이 전에. 2069 01:32:57,840 --> 01:33:00,150 그리고 문자열 경우 길이는 유효한 문자열 2070 01:33:00,150 --> 01:33:03,700 0 내에 길이, 12, 우리는 좋은거야. 2071 01:33:03,700 --> 01:33:07,144 >> 다빈 : 당신은 확인하지 않는 경우 널 (null), 진짜 빨리, 어떤 일이 일어날 것인가? 2072 01:33:07,144 --> 01:33:07,810 그것은 세그먼트 오류 것입니다. 2073 01:33:07,810 --> 01:33:10,850 왜 잘못 SEG 것인가? 2074 01:33:10,850 --> 01:33:12,510 당신은 널 (null)에 strlen 함수를 호출하고 있기 때문에. 2075 01:33:12,510 --> 01:33:13,010 별점 : 네. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 하나를 사용하여 참 또는 거짓 암호는 좋은 생각이다. 2078 01:33:19,630 --> 01:33:20,430 >> 청중 : 거짓. 2079 01:33:20,430 --> 01:33:21,150 >> 별점 : 거짓. 2080 01:33:21,150 --> 01:33:23,870 많은 암호, 큰, 긴 사람을 사용합니다. 2081 01:33:23,870 --> 01:33:26,050 자물쇠 아이콘은 보안을 보장합니다. 2082 01:33:26,050 --> 01:33:27,080 >> 청중 : 거짓. 2083 01:33:27,080 --> 01:33:27,749 >> 별점 : 거짓. 2084 01:33:27,749 --> 01:33:28,790 그것은 아무것도 의미하지 않는다. 2085 01:33:28,790 --> 01:33:30,480 그냥 아이콘입니다. 2086 01:33:30,480 --> 01:33:32,824 SSL은 방지 중앙 공격에 남자. 2087 01:33:32,824 --> 01:33:33,490 청중 : 거짓. 2088 01:33:33,490 --> 01:33:34,110 별점 : 거짓. 2089 01:33:34,110 --> 01:33:35,355 OK, 그래서 모든 사람들은 false입니다. 2090 01:33:35,355 --> 01:33:38,324 2091 01:33:38,324 --> 01:33:39,490 니스. 2092 01:33:39,490 --> 01:33:40,220 [들림] 2093 01:33:40,220 --> 01:33:42,500 얘기를 원하십니까? 2094 01:33:42,500 --> 01:33:43,259 네 차례. 2095 01:33:43,259 --> 01:33:45,050 다빈 : 공격의 유형, 중간에 남자가있다. 2096 01:33:45,050 --> 01:33:47,134 중앙 공격에 남자가 무엇입니까? 2097 01:33:47,134 --> 01:33:48,050 청중 : [들리지]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 다빈 : 당신을 보낼 경우 HTTP 요청, 그들은 바로,이 작업을 수행 할 수 있습니까? 2100 01:33:54,020 --> 01:33:57,890 하지만 당신은 HTTPS를 보내는 경우, 아마이 작업을 수행 할 수 없습니다. 2101 01:33:57,890 --> 01:33:59,952 많은 점있다 연결 함께. 2102 01:33:59,952 --> 01:34:00,660 당신은 라우터가 있습니다. 2103 01:34:00,660 --> 01:34:01,746 당신은 DNS 서버를 가지고있다. 2104 01:34:01,746 --> 01:34:04,120 누군가가 물리적를 할 수있는 경우 당신이 보내는 것을 참조 2105 01:34:04,120 --> 01:34:06,140 그래서 누군가는 할 수있다 실제로 사이에 도착, 2106 01:34:06,140 --> 01:34:08,840 클라이언트 및 서버와는 당신이 보내는 것을 볼 수, 2107 01:34:08,840 --> 01:34:10,298 이 팀은 중앙 공격에 사람이다. 2108 01:34:10,298 --> 01:34:14,287 그래서 당신은에서 얻을 위해 노력하고 무엇을보고 서버, 또는 악화 할 수있다 알아요 ... 2109 01:34:14,287 --> 01:34:16,620 당신은 볼 수 있습니다 쿠키 또는 그런 일. 2110 01:34:16,620 --> 01:34:19,290 >> 예를 들어, 그래서 당신은 그가, SSL을 사용하지 않는 2111 01:34:19,290 --> 01:34:21,900 볼 수 있습니다 세션 ID 쿠키. 2112 01:34:21,900 --> 01:34:25,460 그리고 이것은 세션 하이재킹이라고합니다 그는 당신의 ID 쿠키를 볼 수 있기 때문에, 2113 01:34:25,460 --> 01:34:28,317 다음 그는 그에 갈 수있어 웹 사이트 및 당신을 척. 2114 01:34:28,317 --> 01:34:31,150 단지 PHP에서 좋아하기 때문에, 기억 우리가 로그인 할 때, 우리는 무엇을해야합니까? 2115 01:34:31,150 --> 01:34:33,340 우리는 ID와 동일한 세션 ID를 설정합니다. 2116 01:34:33,340 --> 01:34:34,810 그래서 당신을 식별합니다. 2117 01:34:34,810 --> 01:34:38,300 당신은 당신의 포트폴리오를 볼 수있는 이유 그리고 모든 사람 다른 사람의 포트폴리오. 2118 01:34:38,300 --> 01:34:42,320 >> 글쎄, 내가 그 쿠키를 얻을 수있어 경우, 그때 그 페이지에 로그인 할 수 있습니다. 2119 01:34:42,320 --> 01:34:45,380 그리고, 난 그냥 물건을 볼 수 있습니다 사고, 물건 판매를 시작. 2120 01:34:45,380 --> 01:34:46,800 그래서 세션 하이재킹입니다. 2121 01:34:46,800 --> 01:34:50,810 하지만 당신은 그렇게 할 수 난 ... 안 중앙 공격에 사람을 사용할 수 있습니다 2122 01:34:50,810 --> 01:34:52,290 심지어는 SSL을 사용하는 경우. 2123 01:34:52,290 --> 01:34:53,520 하지만 당신은 할 수 없을 것이다. 2124 01:34:53,520 --> 01:34:56,580 그들은 SSL을 사용하는 경우, 당신은 세션 공중 납치 할 수 없습니다. 2125 01:34:56,580 --> 01:34:58,927 왜? 2126 01:34:58,927 --> 01:35:01,135 그것은 모두 암호화되어 있기 때문에, 오른쪽? 그것은 암호화되어있는 경우, 2127 01:35:01,135 --> 01:35:03,509 나는 아직도 남자 야 중간, 난 여전히 당신의 데이터를 얻을. 2128 01:35:03,509 --> 01:35:04,279 그건 괜찮아요. 2129 01:35:04,279 --> 01:35:05,070 그러나이 암호화되어있어. 2130 01:35:05,070 --> 01:35:07,750 그래서 정말 사용할 수 없습니다. 2131 01:35:07,750 --> 01:35:09,840 그래서 두 가지입니다. 2132 01:35:09,840 --> 01:35:11,544 >> 진짜 빨리, 크로스 사이트 요청 위조. 2133 01:35:11,544 --> 01:35:13,960 링크가 있다면 그건 단지 그 링크는 무언가를 2134 01:35:13,960 --> 01:35:14,890 당신은 어떻게해야한다고 생각하지 않는다. 2135 01:35:14,890 --> 01:35:18,150 그래서 예를 들어, 링크는 경우였다 주식을 사거나 주식을 판매하는 것, 2136 01:35:18,150 --> 01:35:19,360 당신은 몰랐어. 2137 01:35:19,360 --> 01:35:22,040 당신은 링크를 클릭 구입 요청을 보내 2138 01:35:22,040 --> 01:35:24,240 또는 뭔가를 판매하는 당신이 할 말은하지 않았다. 2139 01:35:24,240 --> 01:35:25,120 거기가. 2140 01:35:25,120 --> 01:35:30,720 >> 크로스 사이트 스크립팅, 여기 이렇게, 당신은, 변수 q를 통해 전달하고 2141 01:35:30,720 --> 01:35:33,510 대신 일종의 통과 가치, 어쩌면 q는 이름과 같다. 2142 01:35:33,510 --> 01:35:36,560 그래서 그 대신 Q의 등호를 전달 다빈 또는 같은, 2143 01:35:36,560 --> 01:35:38,740 당신은 HTML을 사용하지 않는 경우 특수 문자, 당신 경우 2144 01:35:38,740 --> 01:35:43,100 그것의 확인이 탈출하지 않습니다 좋아, 그럼 내가 대신에 전달할 수, 2145 01:35:43,100 --> 01:35:46,910 여기서 내가 말하고있는 가정 해 봅시다 같은 인쇄 또는 무엇인가, 2146 01:35:46,910 --> 01:35:51,070 나는 여기에 스크립트 호출을 전달할 수 있습니다. 2147 01:35:51,070 --> 01:35:53,140 >> 그럼 대신 다만 변수를 받고, 2148 01:35:53,140 --> 01:35:54,960 나는 다음이 스크립트 호출을 실행합니다. 2149 01:35:54,960 --> 01:35:57,065 해당 스크립트 내부 그래서 전화, 그것은 무엇을합니까? 2150 01:35:57,065 --> 01:36:00,190 문서 도트 위치, 즉에거야 문서의 위치를​​ 변경합니다. 2151 01:36:00,190 --> 01:36:02,290 그래서 재거야 다른 곳으로. 2152 01:36:02,290 --> 01:36:08,170 그것은 나쁜 사람에라고 이 예, 아주 좋아. 2153 01:36:08,170 --> 01:36:10,536 단어를 생각 할 수 없습니다. 2154 01:36:10,536 --> 01:36:12,410 그리고, 무엇도 있어요 더 내가 갈거야 것입니다 2155 01:36:12,410 --> 01:36:16,832 일부입니다 설정 한 다음 쿠키에 변수 I는이 웹 사이트에 있습니다. 2156 01:36:16,832 --> 01:36:19,040 나는 그것이 동일하게 설정거야 문서 도트 쿠키에. 2157 01:36:19,040 --> 01:36:20,660 따라서, 내가 갈거야 쿠키를 훔치는. 2158 01:36:20,660 --> 01:36:22,951 그리고 재거야 웹 사이트에 몇 가지 정보 2159 01:36:22,951 --> 01:36:25,120 것을 당신은에 액세스 할 수 없습니다. 2160 01:36:25,120 --> 01:36:29,250 당신이이기 때문에 그리고이 모든 일이 발생 하지 당신이 무엇을 본 적이 탈출. 2161 01:36:29,250 --> 01:36:29,910 그래? 2162 01:36:29,910 --> 01:36:32,160 >> 청중 : 그래서 단지에 그것의, 즉 명확하게 2163 01:36:32,160 --> 01:36:37,550 vulnerable.com 그 이에 취약합니다. 2164 01:36:37,550 --> 01:36:39,300 이 링크가 표시 할 수 있도록 특정 페이지에. 2165 01:36:39,300 --> 01:36:42,200 누군가는 그것을 클릭 vulnerable.com로 이동합니다. 2166 01:36:42,200 --> 01:36:43,700 당신은 vulnerable.com에 쿠키를 가지고있다. 2167 01:36:43,700 --> 01:36:46,670 의 페이스 북이 있다고 가정 해 봅시다 취약, facebook.com 그래서. 2168 01:36:46,670 --> 01:36:48,310 당신은 당신의 페이스 북의 쿠키가 있습니다. 2169 01:36:48,310 --> 01:36:50,925 이 무엇을하고 있는지, 당신이있어 facebook.com에 가고, 2170 01:36:50,925 --> 01:36:53,990 즉시 리디렉션있어 당신은 badguy.com하기 2171 01:36:53,990 --> 01:36:57,182 그러나 쿠키 정보를 포함. 2172 01:36:57,182 --> 01:36:59,310 그래서 빠른 리디렉션입니다, 하지만 페이스 북의 쿠키 2173 01:36:59,310 --> 01:37:02,572 그 리디렉션에 포함되어, 그것은 어떻게 [들리지]입니다. 2174 01:37:02,572 --> 01:37:04,280 별점 : 네, 거기에 아주 평균 일 2175 01:37:04,280 --> 01:37:06,070 이이 있다면 사람들이 할 수있는. 2176 01:37:06,070 --> 01:37:09,190 예를 들어, 페이스 북은 허용하는 경우 모두가 사용자 이름을 변경합니다 2177 01:37:09,190 --> 01:37:11,680 그들은 어떤을하지 않았다 정신 검사, 당신 때문에 2178 01:37:11,680 --> 01:37:16,810 자바 스크립트 일을 삽입 할 수있는 햄스터에 이미지를 변경합니다. 2179 01:37:16,810 --> 01:37:22,590 그리고 그 같은 자바 스크립트를 삽입 당신의 페이지를 볼 모두에. 2180 01:37:22,590 --> 01:37:26,400 당신의 페이지를 볼 그래서 모두 사용자 이름에 같은 일이있다. 2181 01:37:26,400 --> 01:37:30,104 그리고이 바이러스이기 때문에, 그것은 기하 급수적으로 확산. 2182 01:37:30,104 --> 01:37:32,270 다빈 : 우리는 마지막을 건너 뛸 것 하나, 그리고, 우리는 완료. 2183 01:37:32,270 --> 01:37:34,120 그래서 이것은 또 다른 예이다. 2184 01:37:34,120 --> 01:37:36,120 그래서이 사실은 별 것 아니라고입니다 자신의 SQL 테이블을 탈출. 2185 01:37:36,120 --> 01:37:37,090 그래서 당신은 그것을 삭제할 수 있습니다. 2186 01:37:37,090 --> 01:37:38,805 그래서 당신은 일을 탈출 할 수 있습니다. 2187 01:37:38,805 --> 01:37:44,010 즉, 앞의 예였다 크로스 사이트 스크립팅. 2188 01:37:44,010 --> 01:37:45,430 늦어서 미안 조금 달렸다. 2189 01:37:45,430 --> 01:37:46,870 내일, 죄송합니다! 2190 01:37:46,870 --> 01:37:48,560 내일, 우리는 근무 시간이있다. 2191 01:37:48,560 --> 01:37:50,870 11:00 Cabbot 8:00에 따라서 근무 시간. 2192 01:37:50,870 --> 01:37:55,240 근무 시간은 엄격하게 퀴즈 질문. 2193 01:37:55,240 --> 01:37:56,587