1 00:00:00,000 --> 00:00:01,940 >> [음악 연주] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> DAVID 마란 :이 CS (50), 및 인 이 주 아홉의 시작입니다. 4 00:00:14,620 --> 00:00:18,240 그리고 우리가 오늘 우리가 할 거라고 생각하는 것은 아니다 단지 지난 주에 장을 닫습니다 5 00:00:18,240 --> 00:00:22,670 우리가 서버에 집중 재료 PHP와 SQL 측면 웹 프로그래밍, 6 00:00:22,670 --> 00:00:23,549 일부 데이터베이스 물건. 7 00:00:23,549 --> 00:00:25,590 우리는 약간의 얘기하자 보안 오늘 다음 8 00:00:25,590 --> 00:00:29,590 클라이언트 측 프로그래밍 전환 자바 스크립트로 알려진 언어. 9 00:00:29,590 --> 00:00:31,330 하지만 먼저, 어떤 구속. 10 00:00:31,330 --> 00:00:35,030 >> 당신은을에 대한 회상 수요일, 나는 착수 11 00:00:35,030 --> 00:00:37,550 웹 사이트를 작성하는 그 사용자의 입력에 갔다 12 00:00:37,550 --> 00:00:41,120 HTML로 그 다음 저장 형성 사용자 입력 이름, 전화 13 00:00:41,120 --> 00:00:43,124 번호, 휴대 전화 데이터베이스에있는 사업자. 14 00:00:43,124 --> 00:00:45,540 그리고 나는 조금 명령을했다 행 스크립트는 PHP로 작성된 15 00:00:45,540 --> 00:00:47,956 그는 반복했는데 데이터베이스 행 위에 16 00:00:47,956 --> 00:00:49,400 문자 메시지를 보낼 수 있습니다. 17 00:00:49,400 --> 00:00:53,870 몇 가지, 몇 번의 시도에도 불구하고, 우리 말에 그 작업을하지 않았다. 18 00:00:53,870 --> 00:00:57,820 >> 그래서 작업이 전체 주 소요 그 코드에 지점을지나 우리를 얻을 수 19 00:00:57,820 --> 00:01:01,220 우리가 중단 된 경우, 이에 모든 나는 수요일의 말 있어요 20 00:01:01,220 --> 00:01:05,500 이 텍스트 메시지는이었다 나는 고투 마고에서 21 00:01:05,500 --> 00:01:09,940 서로 문자 메시지 뒤에 동급생,이 다윗을 가지고있다. 22 00:01:09,940 --> 00:01:14,030 이것에 이어, 놀랍도록 격려. 23 00:01:14,030 --> 00:01:15,840 예정에 보관하고, 매우 고무적인. 24 00:01:15,840 --> 00:01:20,960 나는 거의 그러고 나서 ... 때까지 그것을 가지고와 그것은 우리가 수요일에 종료 메모입니다. 25 00:01:20,960 --> 00:01:25,850 그리고 실제로 아마 내가 제일 좋아하는, 잠시 후,이 들어왔다. 26 00:01:25,850 --> 00:01:27,000 이런 스트림을 살고 있습니다. 27 00:01:27,000 --> 00:01:31,080 >> 그래서 오늘, 우리는이 빠른로 해결 나는 이후 무슨 짓을했는지 봐. 28 00:01:31,080 --> 00:01:35,440 그래서이 모든 코드를 사용할 수 있습니다 온라인 지난 주, 8 주간에서, 29 00:01:35,440 --> 00:01:36,300 소스 코드. 30 00:01:36,300 --> 00:01:39,425 그리고 당신은, 내가 겪은 것을 볼 수 있습니다 나는 실제로 약간의 물건을 정리. 31 00:01:39,425 --> 00:01:42,080 나는 몇 다른 소개 SQL 데이터베이스의 기능을 제공합니다. 32 00:01:42,080 --> 00:01:45,300 예를 들어, 대신 다만 VAR의 문자의 캐리어를 만들 33 00:01:45,300 --> 00:01:47,310 내가 생각하는 나는 지난 주에 즉석에서했다. 34 00:01:47,310 --> 00:01:49,820 내가 대신으로 정의 무슨 일이 열거라고합니다. 35 00:01:49,820 --> 00:01:53,310 >> 그리고 당신 중 일부는 본 적이 수도 우리가 탐구로 C. 열거는 실제로 36 00:01:53,310 --> 00:01:56,820 C의 기능을 수행 할 수 있습니다 상수의 전체 무리를 열거 37 00:01:56,820 --> 00:01:59,640 자동 값을 할당, 하나, 둘, 셋, 넷 등 38 00:01:59,640 --> 00:02:01,330 하드 코드 번호 필요없이. 39 00:02:01,330 --> 00:02:04,780 그래서이 경우 SQL함으로써, 동일한 지원 당신은 데이터베이스 필드가 당신 만 40 00:02:04,780 --> 00:02:09,389 유한 중 하나를 먹고 싶어 값은, 당신은 문자 그대로를 지정할 수 있습니다 41 00:02:09,389 --> 00:02:13,120 나는 네 거기에했던 것처럼 인기있는 미국의 휴대 전화 사업자. 42 00:02:13,120 --> 00:02:13,819 >> 그래서 내가 그랬어. 43 00:02:13,819 --> 00:02:16,610 그리고는 많은 변화를 만들어 물론, 가장 중요한 어떤의 44 00:02:16,610 --> 00:02:20,090 이메일 리콜 때문에 작업을 진행하게되었다, 이 프로그램은에 의존하는 것이 45 00:02:20,090 --> 00:02:23,470 일반적으로 이메일라고 그냥 SMS 게이트웨이, 46 00:02:23,470 --> 00:02:27,670 그 버라이존을 말하는 멋진 방법, 및 AT & T, 그리고 다른 사람들은, 서버를 지원 47 00:02:27,670 --> 00:02:30,740 이에이 수신한다면 이메일, 그것은 SMS로 변환 48 00:02:30,740 --> 00:02:33,290 과 텍스트를 전송 누군가의 전화에 메시지. 49 00:02:33,290 --> 00:02:37,010 내가 정확히 이런 짓을한다면, 여기에 새롭게 개선 된 형태이다 50 00:02:37,010 --> 00:02:39,259 그 이야기 것입니다 새로운 및 향상된 코드, 어떤 51 00:02:39,259 --> 00:02:40,300 온라인으로 재생할 수 있습니다. 52 00:02:40,300 --> 00:02:44,140 그리고 희망을 만들 것 내 단지 순간에 전화 신​​호음. 53 00:02:44,140 --> 00:02:47,240 >> 그래서 첫 번째, 나는 나의 이름을 입력거야. 54 00:02:47,240 --> 00:02:51,400 둘째, 나는 않을거야 이이 시간에해야 할 일. 55 00:02:51,400 --> 00:02:53,920 나는 요소를 검사 할거야. 56 00:02:53,920 --> 00:02:56,710 그리고 이것은 단지이다 작은 일 그래서 나는하지 않습니다 57 00:02:56,710 --> 00:02:59,250 포스트 프로덕션의 시간을 만들 나는 지난 시간에했던 것처럼 작동합니다. 58 00:02:59,250 --> 00:03:02,300 지금 내 전화 번호가있다. 59 00:03:02,300 --> 00:03:03,560 >> 나는 버라이존을 선택합니다. 60 00:03:03,560 --> 00:03:10,260 그리고 여기의이 마이크를 돌려 보자 여기, 여기 내 휴대 전화에이를 목표로하고 있습니다. 61 00:03:10,260 --> 00:03:13,130 나는, 등록을 클릭거야 어느해야 희망 62 00:03:13,130 --> 00:03:14,530 데이터베이스에 넣어. 63 00:03:14,530 --> 00:03:16,780 지금은에 갈거야 명령 줄 프로그램, 어떤 64 00:03:16,780 --> 00:03:20,825 리콜 점 슬래시 호출 텍스트, 손가락을 교차. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 여기에 우리가 간다. 67 00:03:26,527 --> 00:03:27,501 >> [전화 종소리] 68 00:03:27,501 --> 00:03:28,962 >> [박수] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 DAVID 마란 : 이런것보다 그래서 더 재미 내가 들어갈 경우는 물론, 재미 있어요. 71 00:03:34,940 --> 00:03:38,004 그러나이 경우, 생각보다 재​​미 우리 그 영화 순간 중 하나 생성 72 00:03:38,004 --> 00:03:40,420 여기서 뭔가처럼 정말 나쁜, 세계에서 일어난 73 00:03:40,420 --> 00:03:42,860 모든 NSA 사람들처럼 휴대 전화는 경고음 시작 74 00:03:42,860 --> 00:03:44,860 문자 메시지와 이 사실로 경고. 75 00:03:44,860 --> 00:03:47,026 그래서 우리가 시도 할 것이라고 생각 여기에 같은를 다시 만들려면 76 00:03:47,026 --> 00:03:49,610 데이터베이스를 사용하지 않고, 이에 내가 대신 사전에 77 00:03:49,610 --> 00:03:51,490 이처럼 보이는 프로그램을 작성. 78 00:03:51,490 --> 00:03:53,660 >> 이 index.php--입니다 나는 온라인이 코드를 넣어 79 00:03:53,660 --> 00:03:56,710 글쎄 ...과 분명히 다만, form.php 렌더링 80 00:03:56,710 --> 00:04:00,990 MVC 스타일의 패러다임을 사용하여 해당 우리 문제 설정에서 자세히 이야기 81 00:04:00,990 --> 00:04:01,650 일곱. 82 00:04:01,650 --> 00:04:02,910 그 형식은 매우 간단하다. 83 00:04:02,910 --> 00:04:06,634 그것은 제출 것 포스트를 통해 here.php라는 파일. 84 00:04:06,634 --> 00:04:09,300 그리고 그것은 분명히 물어 것 이름 및 전화 번호에 대한, 85 00:04:09,300 --> 00:04:11,400 다음의를 통해 소위 메뉴를 선택, 그것은이다 86 00:04:11,400 --> 00:04:14,250 당신에게 적어도 네 줄 것 인기있는 미국의 휴대 전화 사업자, 87 00:04:14,250 --> 00:04:17,470 다음 효과적으로 할 수 있도록 여기를 클릭하여 출석을. 88 00:04:17,470 --> 00:04:20,471 >> 그리고 여기, 그 사이에, 것입니다 마지막에서 코드의 일부를 빌려. 89 00:04:20,471 --> 00:04:22,553 그리고 당신이이 탈지 경우, 당신은이 있다는 것을 볼 수 있습니다 90 00:04:22,553 --> 00:04:23,900 오류 검사의 전체 무리. 91 00:04:23,900 --> 00:04:26,640 그러나 끝의 아름다움이 있다는 것입니다 오늘 우리가 데이터베이스에 기록되지 것입니다. 92 00:04:26,640 --> 00:04:29,130 우리는 간단하게 유지하고 있고 단지 희망 발송 93 00:04:29,130 --> 00:04:32,190 함수 I를 통해 텍스트 메시지 지난 몇 일 전화를 통해 작성 94 00:04:32,190 --> 00:04:36,270 기능에 텍스트,. PHP, 이는 온라인 다시 사용할 수 있습니다. 95 00:04:36,270 --> 00:04:38,210 >> 그래서 만약 당신이에 참여하고 싶습니다. 96 00:04:38,210 --> 00:04:40,190 우리는 아무것도 저장하지 않을 것입니다. 97 00:04:40,190 --> 00:04:43,809 실시간으로 여기에이 URL로 이동합니다. 98 00:04:43,809 --> 00:04:46,850 아직 제출, 그러나의를 두지 마십시오 우리가이 영화의 하나를 가질 수 있는지 99 00:04:46,850 --> 00:04:49,830 순간 어디 사람의 휴대폰 시작 잘하면 그냥 경고음 100 00:04:49,830 --> 00:04:53,580 이 년에 한 번 달리 2011 년 곳이 끔찍하게 비스듬히 갔다. 101 00:04:53,580 --> 00:04:58,910 그리고 당신은 그 주소로 이동하면, 당신은 슈퍼 간단한 양식을 볼 수 102 00:04:58,910 --> 00:05:03,884 당신이 이름이있는 경우, 휴대 전화 번호, 휴대폰 캐리어 그 103 00:05:03,884 --> 00:05:06,175 이 목록과 일치, 이동 앞서와 양식을 작성. 104 00:05:06,175 --> 00:05:07,880 그러나 때리지 마세요 아직 제출합니다. 105 00:05:07,880 --> 00:05:10,850 >> 형태는 다음과 같이 할 것입니다. 106 00:05:10,850 --> 00:05:13,660 가서 입력 당신의 이름, 전화 번호. 107 00:05:13,660 --> 00:05:17,670 OOP는, 누군가가 앞서 곡선의 것입니다. 108 00:05:17,670 --> 00:05:18,170 괜찮아요. 109 00:05:18,170 --> 00:05:19,340 OK, 모든 사람이 양식을 작성합니다. 110 00:05:19,340 --> 00:05:21,400 이 작업을해야합니다 전화, 당신이 원하는, 너무합니다. 111 00:05:21,400 --> 00:05:23,695 좋아, 설정 얻을 선에 잘 이동합니다. 112 00:05:23,695 --> 00:05:24,195 여기에서 누르십시오. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 무엇을? 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 아니오. 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 하늘에 맹세코, 나는 테스트 이 여러 번 오늘. 119 00:05:40,250 --> 00:05:41,720 당신은 그것을있어? 120 00:05:41,720 --> 00:05:43,145 >> [목소리를 개재] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> DAVID 마란 : OK, 사​​용자 오류 아마도. 123 00:05:49,560 --> 00:05:50,550 즉 두 가지입니다. 124 00:05:50,550 --> 00:05:53,300 이 중 2 개 근무 백, 세, 네 약간. 125 00:05:53,300 --> 00:05:55,940 좋아, 좋아. 126 00:05:55,940 --> 00:05:58,520 다섯 중 4에 대한 방법에 대한 정확성. 127 00:05:58,520 --> 00:05:59,810 >> 그래서 그냥 일이야? 128 00:05:59,810 --> 00:06:02,727 그래서 아마도, 보지 못하는 화면은 왜이 오류가 발생한 겠는가? 129 00:06:02,727 --> 00:06:05,518 그것은 우리가 있다고 아마 너무 많은 연결을 만들려고 노력 130 00:06:05,518 --> 00:06:08,110 모든 하버드의 메일 서버에 일단 동일한 IP 주소에서. 131 00:06:08,110 --> 00:06:10,740 내가하지 않았다 때문에 그냥 추측하고있어 테스트의 사치를 누릴 수 132 00:06:10,740 --> 00:06:13,220 어떤이 코드 사전에 3백명 133 00:06:13,220 --> 00:06:16,040 하지만 지금은 그 실현 적어도해야 그 134 00:06:16,040 --> 00:06:18,250 이 시간을 일을 입수했습니다. 135 00:06:18,250 --> 00:06:22,880 >> 좋아, 그래서 왜이 모든 무슨 일이 일어나고 있는지에 더 밀접한? 136 00:06:22,880 --> 00:06:24,900 그럼 먼저, 빠른 발표의 커플. 137 00:06:24,900 --> 00:06:29,350 그래서 하나, 당신이 장을 가입하려는 경우, 그리고 점심 시간에 닉, 그리고 다른 사람이 금요일 138 00:06:29,350 --> 00:06:32,400 이 일반적인 URL에서 RSVP을한다. 139 00:06:32,400 --> 00:06:35,650 당신은 집중을 생각하는 경우 또는 CS에서 보조를하고, 140 00:06:35,650 --> 00:06:38,941 당신이 학년 있든, 또는 신입생, 심지어 중학교 또는이 시점에서 수석 141 00:06:38,941 --> 00:06:42,490 아직도 과정에서 수 있겠 어, 실현 공과 대학이 142 00:06:42,490 --> 00:06:45,620 무료 벤 수집하고, 제리 아이스크림과 조언 143 00:06:45,620 --> 00:06:48,910 이 수요일 직후 클래스 CS 건물에서 오후 4시 144 00:06:48,910 --> 00:06:49,771 맥스웰 드워킨에서. 145 00:06:49,771 --> 00:06:51,520 이 너무 빠른 경우 화면에 바로 가기 146 00:06:51,520 --> 00:06:55,260 에 대한 cs50.harvard.edu합니다 페이스 북 이벤트에 링크 147 00:06:55,260 --> 00:06:57,140 당신은 어디에서 자세한 내용을 볼 수 있습니다. 148 00:06:57,140 --> 00:07:01,390 >> 한편, 내가 해결 것이라고 생각 한 가지 내가 수요일에 놓 쳤어. 149 00:07:01,390 --> 00:07:04,400 마크의 ID 밝혀 페이스 북에 세 가지가 아니었다. 150 00:07:04,400 --> 00:07:05,230 그것은 4 살. 151 00:07:05,230 --> 00:07:08,330 알고 보니 그는 더 테스트를했다 계정은 내가 기억보다. 152 00:07:08,330 --> 00:07:12,400 하지만이 기회 느낌을 어떻게 이런 URL을 당겨하는 것입니다. 153 00:07:12,400 --> 00:07:16,680 >> 그래서 페이스 북이 있는지 밝혀 API, 응용 프로그램 프로그래밍 인터페이스, 154 00:07:16,680 --> 00:07:20,070 하는 메커니즘함으로써 당신입니다 프로그래밍 방식으로 데이터를 요청할 수 있습니다 155 00:07:20,070 --> 00:07:24,480 페이스 북에서하는 기계를 다시 얻을 읽을 수있는 정보가 아닌 웹 페이지 156 00:07:24,480 --> 00:07:28,690 하지만 단지 원시 텍스트, 뭔가 자바 스크립트 객체 표기법이라고합니다. 157 00:07:28,690 --> 00:07:32,150 그리고 사실, 경우에게 나는이를 방문 URL, 그리고 기본적으로 확대 158 00:07:32,150 --> 00:07:34,960 이 공개적으로 마크입니다 접근 가능한 정보. 159 00:07:34,960 --> 00:07:37,430 >> 그리고 흥미로운 세부 사항 여기에 단지 자신의 ID입니다 160 00:07:37,430 --> 00:07:40,670 , 참으로 네 번째, 인 I 최대한 빨리이 그랬던 것처럼 깨달았다. 161 00:07:40,670 --> 00:07:44,260 당신이 알고있는 경우이 스스로 할 수있는 페이스 북 사용자 이름 해당시. 162 00:07:44,260 --> 00:07:45,440 그냥이 정상 그것을 입력합니다. 163 00:07:45,440 --> 00:07:46,640 그리고이 중 어느 것도 개인입니다. 164 00:07:46,640 --> 00:07:48,670 난 그냥도이 일을 해요 시크릿 모드. 165 00:07:48,670 --> 00:07:49,900 그래서 난에 기록 아니에요. 166 00:07:49,900 --> 00:07:54,440 그리고 당신은 내가보고있어 분명히 사용자 수 6,454이었다 167 00:07:54,440 --> 00:07:56,480 아니다 페이스 북에 요즘 너무 나쁘다. 168 00:07:56,480 --> 00:07:59,900 그래서 어쨌든, 당신은 또한 볼 수 있습니다 이 추가 정보를 제공합니다. 169 00:07:59,900 --> 00:08:02,150 >> 그리고 유용한 측면 그 너야 170 00:08:02,150 --> 00:08:06,890 자신의 소프트웨어를 쓸 수있는 어떻게 든이 같은 데이터를 통합 171 00:08:06,890 --> 00:08:08,170 자신의 응용 프로그램에. 172 00:08:08,170 --> 00:08:10,650 당신은 사용자에게 권한을 부여 할 수 있습니다 귀하의 웹 사이트에 로그인 173 00:08:10,650 --> 00:08:14,190 자신의 사용자 정의 이름을 사용하지 않는 및 비밀번호하지만 어쩌면 자신의 페이스 북 로그인 174 00:08:14,190 --> 00:08:16,170 심지어 정보를 얻을 수 자신의 친구에 대한, 175 00:08:16,170 --> 00:08:18,740 그들은 같은 또는 유사한 승인합니다. 176 00:08:18,740 --> 00:08:21,430 그래서, 너무, 그 CS50주의 자신의 API 중 일부는,이 177 00:08:21,430 --> 00:08:24,620 물론 카탈로그 데이터에 대한 하나, 식당에서 포옹 메뉴에 대한 몇 가지 178 00:08:24,620 --> 00:08:26,730 홀, 모든 건물 및 위치 179 00:08:26,730 --> 00:08:30,930 캠퍼스에서 우리는뿐만 아니라위한 API를 당신은 유사하게 조회하고 얻을 수 180 00:08:30,930 --> 00:08:35,520 당신이 통합 할 수 있습니다 다시 텍스트 데이터 PHP 나 자바 스크립트로, 또는, 181 00:08:35,520 --> 00:08:38,320 비록 적은 일반적으로, C는 최종 프로젝트를 기반으로. 182 00:08:38,320 --> 00:08:41,190 >> 실제로 앞서 결승전 이 프로젝트는 몇 가지 이정표입니다. 183 00:08:41,190 --> 00:08:42,980 당신은 다른 일 우리로부터 이메일을 받았습니다. 184 00:08:42,980 --> 00:08:45,761 제안 실현 오는 월요일 예정이다. 185 00:08:45,761 --> 00:08:49,010 그것은 반드시 바인딩,하지만 아니에요 당신의 조교를받을 필요가 186 00:08:49,010 --> 00:08:51,260 승인하기 전에 그 후 변경 사항이 적용됩니다. 187 00:08:51,260 --> 00:08:54,280 그리고 앞서 있습니다 다른 이정표의 숫자. 188 00:08:54,280 --> 00:08:56,542 >> 그래서 너무, 당신을 괴롭혀, 몇 가지 가능성과 함께, 189 00:08:56,542 --> 00:08:58,250 우리의 무리가 이러한 색상의 전구입니다. 190 00:08:58,250 --> 00:09:01,190 그리고 너희들 중 일부는 지금 일부가 기숙사에서 이들뿐만 아니라. 191 00:09:01,190 --> 00:09:02,920 그리고 그들은 너무 API를 가지고있다. 192 00:09:02,920 --> 00:09:07,300 그래서 그 바이너리 전구 주를 기억 전 그 댄 브래들리와 안젤 193 00:09:07,300 --> 00:09:08,780 더프는 우리를 위해 만들었습니다. 194 00:09:08,780 --> 00:09:12,560 그들은에 소프트웨어 인터페이스를 사용 이 전구, 순간에있는 195 00:09:12,560 --> 00:09:15,232 전기에 연결되어 다음 무선을 통해 196 00:09:15,232 --> 00:09:17,690 작은 일에 접속되고 여기 아래 다리라고 197 00:09:17,690 --> 00:09:21,280 작은 라우터 독점 같은 이 특정 장치에 관한 것이다. 198 00:09:21,280 --> 00:09:26,540 >> 나는이 방법을 알고있는 경우 그러나 그것은 밝혀 우리 모두가 지금처럼, HTTP 메시지를 보내, 199 00:09:26,540 --> 00:09:31,670 나는이 같은 메시지를 보낼 수 있습니다 이 전구를 켜거나 끄려면 200 00:09:31,670 --> 00:09:34,000 또는 임의의 수의 작업을 수행 거기에 다른 작업. 201 00:09:34,000 --> 00:09:36,110 그것은하지 있다고,이 게시하지 고시. 202 00:09:36,110 --> 00:09:37,760 풋라는 또 다른 하나가있다. 203 00:09:37,760 --> 00:09:39,630 실제로 몇 등의 동사가있다. 204 00:09:39,630 --> 00:09:42,920 그러나, 경로가있다 통지 , API를 슬래시 새로운 개발자를 슬래시 205 00:09:42,920 --> 00:09:44,990 상태를 슬래시를 슬래시, 빛을 슬래시. 206 00:09:44,990 --> 00:09:49,060 >> 그건 분명히 그냥있어 경로 그 회사, 필립스, 207 00:09:49,060 --> 00:09:51,640 당신은 쳐야 않기로 결정 HTTP 요청을 가진 208 00:09:51,640 --> 00:09:55,010 당신은 상태를 변경하려는 경우 HTTP 1.1을 사용 전구. 209 00:09:55,010 --> 00:09:56,380 그런 다음 빈 줄을 알 수 있습니다. 210 00:09:56,380 --> 00:10:00,170 그리고 마지막으로 무엇처럼 보인다 일종의 배열 가지, 211 00:10:00,170 --> 00:10:04,730 이것은 다시 호출 될 것입니다 자바 스크립트 객체 표기법, 또는 제이슨. 212 00:10:04,730 --> 00:10:08,000 그리고 당신이 여기에서 보는 것은 점이다 세 개의 키 값 쌍있다. 213 00:10:08,000 --> 00:10:09,115 >> 하나의 키에라고합니다. 214 00:10:09,115 --> 00:10:10,990 그리고 그 값 분명히 사실 일 것입니다. 215 00:10:10,990 --> 00:10:13,612 밝기는 128입니다 INT의 일종이다. 216 00:10:13,612 --> 00:10:15,820 그리고 전이 시간은 분명히 제로, 217 00:10:15,820 --> 00:10:17,970 그것은에 무슨 시간 에이 일을 설정하기 위해 수행. 218 00:10:17,970 --> 00:10:19,890 >> 그래서 지금이 전구는 꺼져 있습니다. 219 00:10:19,890 --> 00:10:22,880 내가 정확하게 수행한다면하자이 겁니다 나를 조금 컨닝 페이퍼로 이동 220 00:10:22,880 --> 00:10:25,200 댄에 설정하는 것이 advance-- 나는거야 221 00:10:25,200 --> 00:10:27,920 가서 복사 다음 명령. 222 00:10:27,920 --> 00:10:30,200 컬, 당신의 일부로서 CS50에 수집 수도 223 00:10:30,200 --> 00:10:35,080 토론 텔넷 등과 같은 유틸리티입니다 당신이 HTTP 요청을 시뮬레이션 할 수있는, 224 00:10:35,080 --> 00:10:36,360 특히 넣습니다. 225 00:10:36,360 --> 00:10:39,710 나는이 데이터를 보낼 수 있습니다, 특히 우리 단지 226 00:10:39,710 --> 00:10:43,430 전 특히 순간을 보았다 여기에이 URL에. 227 00:10:43,430 --> 00:10:46,310 그리고 컬 처리 할 것입니다 필요한 모든 헤더 228 00:10:46,310 --> 00:10:47,600 거기의 분석. 229 00:10:47,600 --> 00:10:54,700 >> 그래서 내가 할 일은이 점을 복사하다 다음 터미널 창 및 입력하고 Enter 키를 누르십시오. 230 00:10:54,700 --> 00:10:56,000 그리고 전구는 계속된다. 231 00:10:56,000 --> 00:10:59,060 그리고이 모든 일을 겪고있다 내 컴퓨터에 무선으로 232 00:10:59,060 --> 00:11:01,960 어떻게 든 다리 아래로 어떤 다음이 전구에 얘기하고있다. 233 00:11:01,960 --> 00:11:02,960 나는 다른 일을 할 수 있습니다. 234 00:11:02,960 --> 00:11:07,050 나는이 일을 할 수 있습니다 예를 들어 빨간색 이동합니다. 235 00:11:07,050 --> 00:11:11,040 내가 예를 들어 수 이 일을 녹색으로 이동. 236 00:11:11,040 --> 00:11:12,220 나는 파란색 갈 수 있도록 할 수 있습니다. 237 00:11:12,220 --> 00:11:14,760 >> 그리고 이들 각각 예고 인스턴스, 내가 변화하고있어 모든 238 00:11:14,760 --> 00:11:18,540 이른바 색조 값은 실제로 몇 가지 색상을 제공합니다. 239 00:11:18,540 --> 00:11:20,320 그래서 나뿐만 아니라이 하나를 붙여 보자. 240 00:11:20,320 --> 00:11:21,000 지금은 파란색입니다. 241 00:11:21,000 --> 00:11:24,672 >> 그리고 당신도 뽑아도 할 수있다 가지의 녹색 가자 그 곳. 242 00:11:24,672 --> 00:11:26,630 그리고 나는이 작업을 수행 할 수 내 자신의 코드와 과정. 243 00:11:26,630 --> 00:11:30,670 그러나 심지어 API 자체 펑키 작업을 지원합니다 244 00:11:30,670 --> 00:11:35,510 이처럼, 지금 어떤 방해합니다 다음 30 초 동안 우리. 245 00:11:35,510 --> 00:11:39,170 >> 그래서 그 중 하나 맛이 무엇을 당신은 수도 API와 수행이 하나 포함 246 00:11:39,170 --> 00:11:40,010 전구. 247 00:11:40,010 --> 00:11:42,510 CS50은 몇 가지가 있습니다 구글 글래스 쌍 당신이하려는 경우 248 00:11:42,510 --> 00:11:45,380 함께 뭔가를 해결하기 좋아 그 라인, 아두 이노 Uno 스피커, 어떤 249 00:11:45,380 --> 00:11:48,670 작은 작은 컴퓨터는, 본질적으로, 작은 회로 기판 250 00:11:48,670 --> 00:11:50,470 당신이 연결할 수 전선 및 다른 것들 251 00:11:50,470 --> 00:11:52,732 에 실제로 제어 당신의 실제 환경을 제공합니다. 252 00:11:52,732 --> 00:11:54,940 그리고 몇가 우리가 새로운 장난감. 253 00:11:54,940 --> 00:11:59,294 이것은 문자 그대로 방금 도착 메일로 다른 날, 묘 완장. 254 00:11:59,294 --> 00:12:01,710 그리고 난에 대한 방법 생각 당신은 프로젝트에 대해 흥분 255 00:12:01,710 --> 00:12:03,720 당신은 함께 사용할 수있는 이 하드웨어 것 256 00:12:03,720 --> 00:12:08,900 이 짧은 클립을 재생하는 그들은 사람들을 애타게하는 데 사용하는 257 00:12:08,900 --> 00:12:10,500 우리는 지금 미래에 살고있다. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [음악 연주] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> DAVID 마란 : 몇 주에 따라서 너무 CS50 박람회에서 그 멋진 될 수 있습니다. 262 00:13:37,109 --> 00:13:39,150 또 다른 장치가 우리 우리가 걸의 무리가 263 00:13:39,150 --> 00:13:42,090 프로젝트에 대한 대출하고 행복 모션 컨트롤러라고한다. 264 00:13:42,090 --> 00:13:45,030 이 작은 USB 장치입니다 당신은 컴퓨터에 연결하는 것이 265 00:13:45,030 --> 00:13:47,520 당신과 상호 작용할 수 있습니다 노트북, Mac 또는 PC, 266 00:13:47,520 --> 00:13:51,570 당신은 X 박스 키 넥트와 같은 것처럼 실제로 많은 물리적 움직임을 267 00:13:51,570 --> 00:13:54,509 같은 우리는이에 참조 미래의 비전. 268 00:13:54,509 --> 00:13:56,505 >> [음악 연주] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> DAVID 마란 : 그래서 당신이 경우에도 아무 생각이 어떻게 그런 일 271 00:15:06,260 --> 00:15:10,050 아마도 발명 또는 작업 할 수있다 하드웨어 레벨에 상관없이합니다. 272 00:15:10,050 --> 00:15:13,520 심지어 CS50의 몇 달 후, 프로그래밍의 이해 273 00:15:13,520 --> 00:15:19,460 보다 일반적으로, 웹 프로그래밍보다 최근에, 다음도 API 및 HTTP, 274 00:15:19,460 --> 00:15:21,830 당신은을 통해 액세스 할 수 있습니다 소프트웨어 API를 사용하면 경우 275 00:15:21,830 --> 00:15:24,680 이들 중 하나를 빌려하고 싶어 장치는 실제로 이야기하기 276 00:15:24,680 --> 00:15:27,180 과에 대해 걱정할 필요가 없습니다 기본이되는 구현 277 00:15:27,180 --> 00:15:30,220 완전히 세부 사항, 레이어의이 개념과 일치 278 00:15:30,220 --> 00:15:33,610 우리가했습니다 추​​상화 학기 전반에 걸쳐 본. 279 00:15:33,610 --> 00:15:37,990 >> 그래서 또한 지난 주말, 뉴스의 몇 조각을 보았다. 280 00:15:37,990 --> 00:15:40,640 세미나에 가서, 먼저 가서 당신 경우 뭔가를 배우고 싶습니다 281 00:15:40,640 --> 00:15:42,160 주제의 수에 대한 자세한. 282 00:15:42,160 --> 00:15:43,340 이 URL을 참조하십시오. 283 00:15:43,340 --> 00:15:45,890 그리고 하나에 보내졌다 당신이 알고있는 장에 의해 나, 284 00:15:45,890 --> 00:15:47,850 사람들은 코끼리의 우리의 군대를 인쇄합니다. 285 00:15:47,850 --> 00:15:49,910 다음과 같이 그리고 헤드 라인이었다. 286 00:15:49,910 --> 00:15:51,280 나는 나의 새로운 TV 무서워. 287 00:15:51,280 --> 00:15:54,301 내가 무서워 왜 전원을 켭니다 당신의 일이 너무 것. 288 00:15:54,301 --> 00:15:56,050 그래서 우리는 지금에있어 학기 지적, 289 00:15:56,050 --> 00:15:58,860 또한, 어디를가더라도 이해의 사소한 290 00:15:58,860 --> 00:16:02,620 웹이 어떻게 작동하는지, 그리고 HTTP의, 이 같은 보안 상황 291 00:16:02,620 --> 00:16:03,980 눈을 잡기 시작합니다. 292 00:16:03,980 --> 00:16:07,450 뿐만 아니라, 당신은 이해합니다 이러한 일들은인지 여부 293 00:16:07,450 --> 00:16:08,430 실제 위협. 294 00:16:08,430 --> 00:16:10,940 >> 그래서 몇 가지 발췌했다 여기에이 문서에서. 295 00:16:10,940 --> 00:16:12,540 다음과 같이 그리고 이야기이다. 296 00:16:12,540 --> 00:16:14,300 지금의 소유자 해요 새로운 스마트 TV, 어떤 297 00:16:14,300 --> 00:16:18,470 스트리밍을 제공 할 것을 약속 멀티미디어 콘텐츠, 게임, 어플리케이션, 298 00:16:18,470 --> 00:16:21,450 소셜 미디어, 인터넷 검색, 너무 오와 TV. 299 00:16:21,450 --> 00:16:24,410 유일한 문제는 내가 지금 걸이다 그것을 사용하기를 두려워 저자는 말한다. 300 00:16:24,410 --> 00:16:29,592 당신이를 통해 읽는다면 당신도 될 것이다 당신의 TV에 대한 46 페이지의 개인 정보 보호 정책. 301 00:16:29,592 --> 00:16:31,800 이러한 데이터의 양은 물건를 수집 비틀 거리고있다. 302 00:16:31,800 --> 00:16:35,710 그것은 기록 어디서, 언제, 어떻게, 그리고 에 얼마나 오래 TV를 사용합니다. 303 00:16:35,710 --> 00:16:38,190 그것은, 쿠키 추적 설정 우리는 토론 한 바와 같이, 304 00:16:38,190 --> 00:16:40,560 비컨 설계 당신이 감지합니다 305 00:16:40,560 --> 00:16:43,185 볼 특정 콘텐츠 나 특정 이메일 메시지 306 00:16:43,185 --> 00:16:45,230 당신은 당신의 TV에 이메일을 확인합니다. 307 00:16:45,230 --> 00:16:48,430 이 앱을 기록하면 사용, 당신이 방문하는 웹 사이트, 308 00:16:48,430 --> 00:16:52,280 및 콘텐츠와 상호 작용하는 방법, 스마트 TV를 통해이 모든 일을. 309 00:16:52,280 --> 00:16:55,470 또한 그것은 오싹 yet-- 그건 내 addition--의 310 00:16:55,470 --> 00:16:58,140 카메라에 내장되어 얼굴 인식과 함께. 311 00:16:58,140 --> 00:17:01,010 >> 목적은 제공하는 것입니다 TV에 제스처 제어 312 00:17:01,010 --> 00:17:05,490 과에 로그인 할 수 있습니다 당신의 얼굴을 사용하여 계정을 맞춤. 313 00:17:05,490 --> 00:17:08,940 위쪽에, 이미지는 TV에 저장하는 대신 업로드 314 00:17:08,940 --> 00:17:09,940 회사 서버에. 315 00:17:09,940 --> 00:17:12,520 단점으로, 인터넷 연결은 전체 TV를 만든다 316 00:17:12,520 --> 00:17:14,811 해커에 취약 사람 능력을 증명하고있다 317 00:17:14,811 --> 00:17:16,700 시스템을 완전히 제어 할 수 있습니다. 318 00:17:16,700 --> 00:17:20,880 >> 더 골치 아픈, 것처럼 그 아니었다 똑똑, 마이크입니다. 319 00:17:20,880 --> 00:17:23,599 TV는 음성을 자랑합니다 인식 기능 320 00:17:23,599 --> 00:17:26,859 즉, 시청자가 제어 할 수 있습니다 음성 명령으로 화면. 321 00:17:26,859 --> 00:17:30,290 그러나 서비스와 함께 제공 오히려 불길한 경고. 322 00:17:30,290 --> 00:17:33,030 유의하십시오 경우 그 당신의 음성 단어 포함 323 00:17:33,030 --> 00:17:36,210 개인 정보 나 민감한 다른 정보, 그 정보 324 00:17:36,210 --> 00:17:40,310 캡처 된 데이터 사이에있을 것입니다 및 제 3 자에게 송신된다. 325 00:17:40,310 --> 00:17:40,870 알 겠어? 326 00:17:40,870 --> 00:17:45,860 개인 정보 나 민감한 말하지 말라 TV의 앞에 물건. 327 00:17:45,860 --> 00:17:47,280 >> 그래서이 진짜 사실이다. 328 00:17:47,280 --> 00:17:50,530 그리고 그것은 어려운 당신이 있는지 확인하지 베스트 바이 (Best Buy)로 이동하거나 TV 용 등 329 00:17:50,530 --> 00:17:51,030 요즘. 330 00:17:51,030 --> 00:17:52,540 그들은 어떤 방법으로 모든 똑똑. 331 00:17:52,540 --> 00:17:54,740 그리고 그들은 있어요 똑똑하고 오싹. 332 00:17:54,740 --> 00:17:57,490 그리고 그들은 단순히 데이터를 수집하고 우리가 이야기 한 방법으로 333 00:17:57,490 --> 00:18:01,840 다음 HTTP 또는 통해 업로드 일부 서버에 다른 프로토콜. 334 00:18:01,840 --> 00:18:05,720 >> 그래서이 재미있는 글이었다 이 온라인 웹 사이트에서 335 00:18:05,720 --> 00:18:08,940 여기에, 이는 이야기 특정 버그 나 잘못된 코드 336 00:18:08,940 --> 00:18:11,340 우리는 실제로 묶을 수 있음 지난 주 토론에. 337 00:18:11,340 --> 00:18:15,730 그래서이 헤드 라인으로했다 , 다음 이야기는 간다 338 00:18:15,730 --> 00:18:18,720 조쉬 Breckman은 근무 계약을 착륙 기업 339 00:18:18,720 --> 00:18:22,390 콘텐츠 관리를 개발 시스템, 또는 호출하고 같이 CMS, 340 00:18:22,390 --> 00:18:24,380 상당히 큰 정부 웹 사이트에 대한. 341 00:18:24,380 --> 00:18:27,300 관련 프로젝트의 대부분 콘텐츠 관리 시스템을 개발 342 00:18:27,300 --> 00:18:29,840 직원이 될 것이라고 그래서 구축 및 유지 관리 할 수 343 00:18:29,840 --> 00:18:31,877 끊임없이 변화 자신의 사이트에 대한 콘텐츠입니다. 344 00:18:31,877 --> 00:18:34,210 일이 잘 꽤 갔다 생중계 후 몇 일. 345 00:18:34,210 --> 00:18:37,020 그러나 여섯째 날에, 일이 잘되지 갔다. 346 00:18:37,020 --> 00:18:39,500 의 모든 콘텐츠 웹 사이트는 완전히 사라졌다했다. 347 00:18:39,500 --> 00:18:42,950 그리고 모든 페이지는 기본되었다, 콘텐츠 웹 페이지를 입력하십시오. 348 00:18:42,950 --> 00:18:43,810 아차. 349 00:18:43,810 --> 00:18:46,080 조쉬는에 호출 조사 및 발견 350 00:18:46,080 --> 00:18:49,390 특히 골칫거리 하나 외부 IP 주소를 가지고 351 00:18:49,390 --> 00:18:53,380 에서 사라지고 모두 삭제 시스템의 내용. 352 00:18:53,380 --> 00:18:56,290 >> IP 주소는 속하지 않았다 일부 해외 해커 구부러진에 353 00:18:56,290 --> 00:18:58,340 도움이 파괴에 정부의 정보. 354 00:18:58,340 --> 00:19:05,190 그것은 googlebot.com하기로 결심 구글의 자신의 웹 크롤링 거미. 355 00:19:05,190 --> 00:19:06,010 아차. 356 00:19:06,010 --> 00:19:09,150 연구 및 스크램블링 약간의 후 주위에 noncorrupt 백업을 찾을 수 있습니다, 357 00:19:09,150 --> 00:19:10,180 조쉬 문제를 발견했다. 358 00:19:10,180 --> 00:19:12,700 >> 사용자가 복사 한과 하나에서 일부 내용을 붙여 359 00:19:12,700 --> 00:19:15,670 다른 페이지 포함 하이퍼 링크 편집 360 00:19:15,670 --> 00:19:17,577 페이지의 내용을 편집 할 수 있습니다. 361 00:19:17,577 --> 00:19:20,160 일반적으로이되지 않을 것 외부 사용자 이후 문제는 것 362 00:19:20,160 --> 00:19:24,320 이름과 암호를 입력해야합니다, 그러나 CMS 인증 시스템, 363 00:19:24,320 --> 00:19:27,520 로그인 시스템, 고려하지 않았다 364 00:19:27,520 --> 00:19:30,980 정교한 해킹 구글 거미의 기술. 365 00:19:30,980 --> 00:19:31,700 아차. 366 00:19:31,700 --> 00:19:33,610 >> 그것이 나오는 것에 따라, 구글 거미는 사용하지 않습니다 367 00:19:33,610 --> 00:19:36,950 그것을 할 수 있다는 것을 의미 쿠키, 쉽게에 대한 검사를 무시할 수 368 00:19:36,950 --> 00:19:39,840 쿠키 세트에 로그온하는 것은 거짓입니다. 369 00:19:39,840 --> 00:19:42,620 또한에 관심을 지불하지 않습니다 자바 스크립트, 이는 평소 370 00:19:42,620 --> 00:19:45,170 메시지를 표시하고 사용자를 리디렉션 누가 로그인하지 않았습니다. 371 00:19:45,170 --> 00:19:48,610 그러나 그것은 모든를 따르지 발견 한 모든 페이지에 하이퍼 링크, 372 00:19:48,610 --> 00:19:51,700 에 포함 페이지의 제목을 삭제합니다. 373 00:19:51,700 --> 00:19:52,650 아차. 374 00:19:52,650 --> 00:19:56,070 >> 그래서 더 무엇을 의미 하는가 기술하지만 상당히 접근 용어? 375 00:19:56,070 --> 00:19:58,340 그것은 단지 것을 의미한다 자신의 웹 사이트를 통해, 376 00:19:58,340 --> 00:20:02,287 그들은이 하나 달리 URL을했으나, 그 문제가 일곱 설정에서 당신은 볼 수 있습니다. 377 00:20:02,287 --> 00:20:04,620 문제의 리콜은 일곱 설정 또는 문제를 알고있는 일곱 설정 378 00:20:04,620 --> 00:20:06,411 당신은 도전을하고 있는지, 다른 것들 사이에, 379 00:20:06,411 --> 00:20:08,570 사용자를 대신하여 주식을 판매합니다. 380 00:20:08,570 --> 00:20:14,010 그러나 방법에 의해 그 기능을 구현 의 사용자에 하이퍼 링크를 통해 얻을 381 00:20:14,010 --> 00:20:16,880 인터페이스, 아마 하지 똑똑한 아이디어 382 00:20:16,880 --> 00:20:20,300 귀하의 사이트가 어떻게 든 경우 때문에 으로 접속하거나 인간에 의해 383 00:20:20,300 --> 00:20:23,577 누가 주위에 클릭하거나 살 것 구글의 또는 거미처럼 봇 384 00:20:23,577 --> 00:20:26,160 그들이라는 것로 그 단지 인덱스하려고 웹을 크롤링 385 00:20:26,160 --> 00:20:29,060 검색 엔진과 같은 웹, 그들은 아주 쉽게 할 수 386 00:20:29,060 --> 00:20:31,340 URL의이 종류를 얻을 통해했다. 387 00:20:31,340 --> 00:20:33,770 그리고 그 기능의 당량에 대하여,이 경우, 388 00:20:33,770 --> 00:20:37,000 구글의 모든 주식을 판매. 389 00:20:37,000 --> 00:20:40,030 >> 이제 솔직히, 그것은 완전히이다 나귀가 CMS 390 00:20:40,030 --> 00:20:43,240 사용되는 자바 스크립트와 쿠키 그 로그인 시스템을 구현 391 00:20:43,240 --> 00:20:47,100 하고, 해당 서버 쪽 일을하지 너희들은 PSET에서 할과 의지 7 - 392 00:20:47,100 --> 00:20:49,940 login.php가있다 항상 file--, 항상, 393 00:20:49,940 --> 00:20:52,789 항상 보안해야 서버 측에서 수행, 394 00:20:52,789 --> 00:20:56,080 되지 클라이언트 측에서,이 때문에로서 기사는 제안과 자신을 수도 395 00:20:56,080 --> 00:20:59,600 그것이, 어떤 시점에서 볼 , 사용자에 대한 사소한 좋은 또는 나쁜, 396 00:20:59,600 --> 00:21:02,860 바로 자바 스크립트를 해제하려면 쿠키를 언급 할 필요가 없을 것입니다. 397 00:21:02,860 --> 00:21:06,020 그래서 매일 WTF이다. 398 00:21:06,020 --> 00:21:07,970 >> 하나 더, 거기에있는 단지 종류의 무서운 399 00:21:07,970 --> 00:21:11,360 그래서 나는 경우를 언급합니다 단지 삶의 교훈. 400 00:21:11,360 --> 00:21:14,850 당신은 응용 프로그램을 사용할 때마다 스냅 챗 등처럼 호출 401 00:21:14,850 --> 00:21:19,380 즉이 사진은 지속 말한다 오초 10 초 또는 이것 저것. 402 00:21:19,380 --> 00:21:21,680 그들은 즉 임시있어 절대적으로 그렇지 않습니다. 403 00:21:21,680 --> 00:21:25,670 디지털, 방법이없는 것처럼, 비디오의 일부 형태를 구현하기 위해, 404 00:21:25,670 --> 00:21:30,150 또는 이미지 또는 텍스트 등을 공유 그 다른 쪽 끝에서받는 사람 405 00:21:30,150 --> 00:21:31,660 어떻게 든 데이터를 저장할 수 없습니다. 406 00:21:31,660 --> 00:21:34,300 >> 가장 소박한 방법으로, 사람 자신의 휴대 전화 걸릴 수 있습니다. 407 00:21:34,300 --> 00:21:36,850 그리고 그들은 10 번째 창을 약간의 스냅을 보면서 408 00:21:36,850 --> 00:21:39,410 그냥 다른 전화를 취할 분명, 그것을 사진. 409 00:21:39,410 --> 00:21:41,660 그래서 당신은 보존 할 수 있습니다 디지털 뭔가 그런 식으로. 410 00:21:41,660 --> 00:21:44,620 여러분 중 일부는하는 방법을 알고 휴대 전화의 스크린 샷. 411 00:21:44,620 --> 00:21:49,290 사실, 당신이 모르는 경우, 실현 적어도 스냅 챗 그, 412 00:21:49,290 --> 00:21:51,040 나는 다른 생각 애플리케이션 요즘, 413 00:21:51,040 --> 00:21:53,720 적어도 경우 당신에게 받는 사람이 실제로있다 414 00:21:53,720 --> 00:21:55,310 이미지의 스크린 샷을 촬영. 415 00:21:55,310 --> 00:22:00,870 >> 그러나 더 나쁜 아직,이 snappening이었다, 누군가가 최근에 만들어 낸으로, 416 00:22:00,870 --> 00:22:04,680 여기서 10 만명 스냅 발표했다 417 00:22:04,680 --> 00:22:09,310 토런트 파일 불리는 것에 다양한 웹 사이트에 궁극적으로. 418 00:22:09,310 --> 00:22:12,000 그리고 이러한 왕창 포함 비공개 메시지 및 게시물. 419 00:22:12,000 --> 00:22:15,210 그것은 대부분 양성 밝혀 그래서 당신은 예상 할 수없는 무엇. 420 00:22:15,210 --> 00:22:17,580 그러나 사람들이 있었다 때문에 써드 파티 웹 사이트를 사용 421 00:22:17,580 --> 00:22:20,270 그들의 스냅 챗으로 로그인 사용자 이름과 암호 다음 422 00:22:20,270 --> 00:22:23,470 자신의 스냅을 모두 절약 이 타사 웹 사이트에서 찾아 볼 수 있습니다. 423 00:22:23,470 --> 00:22:26,130 그리고 제 3 자했다 해킹 된 웹 사이트, 424 00:22:26,130 --> 00:22:30,710 이는 단지 의미 누군가가 알아 낸 방법 그 이미지의 모든 10 만 플러스를 얻으려면 425 00:22:30,710 --> 00:22:33,822 자신의 하드 드라이브에 이후 공유. 426 00:22:33,822 --> 00:22:36,030 솔직히, 여기에 너무, 그것은 일종의 의 나귀 그 스냅 챗 427 00:22:36,030 --> 00:22:39,360 이러한 방식으로 구현되었는지 제 3자가 절편의 정렬 할 수 있습니다 428 00:22:39,360 --> 00:22:43,310 데이터와이에 묶여 아니에요 당신의 휴대폰에서 실행되는 자신의 응용 프로그램. 429 00:22:43,310 --> 00:22:46,947 그러나 여기, 너무, 이러한 것을 실현 가지, 놀라운 당신을 잡을 안 430 00:22:46,947 --> 00:22:49,030 적어도이해야 여기에 삶의 교훈. 431 00:22:49,030 --> 00:22:52,220 당신은 기술을 원하는 경우 자세한 내용은이 해당 URL로 이동 432 00:22:52,220 --> 00:22:53,570 즉 오늘날의 슬라이드에 있습니다. 433 00:22:53,570 --> 00:23:00,960 좋아,에 대한 질문 CS의 오늘의 삶의 교훈? 434 00:23:00,960 --> 00:23:02,710 그 전원을 끄십시오. 435 00:23:02,710 --> 00:23:04,970 전혀 없나요? 436 00:23:04,970 --> 00:23:06,301 전혀 없나요? 437 00:23:06,301 --> 00:23:09,050 나는 확인 많은 사람들이있어 이제 스냅 챗 또는 뭔가. 438 00:23:09,050 --> 00:23:11,690 >> 좋아, SQL 그래서, 구조적 쿼리 언어. 439 00:23:11,690 --> 00:23:12,509 의이 포장 보자. 440 00:23:12,509 --> 00:23:14,300 또한, 비록 우리는 긁는거야 441 00:23:14,300 --> 00:23:16,310 이 표면 언어는, 우리는 당신에게 줄 것이다 442 00:23:16,310 --> 00:23:18,930 언어의 충분한 PSET 7 형태 443 00:23:18,930 --> 00:23:22,140 그래서 당신은 몇 가지를 해결 할 수있는 매우 일반적인 기능을 제공합니다. 444 00:23:22,140 --> 00:23:24,912 그러나 부부가 실현할 우리가 당신을 필요로하지 않는 것, 445 00:23:24,912 --> 00:23:27,120 하지만 그들은 될거야 중요한 최종 프로젝트를 올 446 00:23:27,120 --> 00:23:30,760 확실히 실제 제작 올 실제 사용자와 웹 사이트 447 00:23:30,760 --> 00:23:32,040 이 디자인 결정이다. 448 00:23:32,040 --> 00:23:34,460 >> 이 글은 그 밝혀 MySQL 데이터베이스, 당신 449 00:23:34,460 --> 00:23:37,460 같은 선택의 움큼을 가지고 당신의 열에 대한 데이터 유형 450 00:23:37,460 --> 00:23:41,670 다른 것들,하지만 당신은 또한이 소위 스토리지 선택 451 00:23:41,670 --> 00:23:44,570 모든 데이터에 대한 엔진, 파일 시스템의 종류, 452 00:23:44,570 --> 00:23:46,700 당신이 익숙하다면, 모든 데이터에 대한. 453 00:23:46,700 --> 00:23:48,830 어떤 형식의 궁극적에 저장됩니다? 454 00:23:48,830 --> 00:23:53,300 그리고 가장 일반적인 아마도왔다 의 MyISAM과 InnoDB의, 기술 용어 455 00:23:53,300 --> 00:23:56,060 우리는 단지에 대한 관심 거라고 정도에 그 하나가 456 00:23:56,060 --> 00:23:58,500 하나는 가지고 있지 않습니다 다음과 같은 기능입니다. 457 00:23:58,500 --> 00:24:00,390 >> 당신이 가지고 있다고 가정하자 작은 기숙사 냉장고. 458 00:24:00,390 --> 00:24:03,030 그리고 그를 가정하여 이 냉장고를 공유 룸메이트, 459 00:24:03,030 --> 00:24:04,682 말 우유를 정말 좋아한다. 460 00:24:04,682 --> 00:24:07,140 그리고 이것은 사실, 방법입니다 이야기는 돌아 오는 길에 나에게 말을 들었다 461 00:24:07,140 --> 00:24:10,890 하루에 나는 교육을받은 때 CS 161 운영 체계,라고하는 462 00:24:10,890 --> 00:24:12,580 유사하게이 주제를 탐구한다. 463 00:24:12,580 --> 00:24:13,760 그래서 당신이 냉장고를 가지고있다. 464 00:24:13,760 --> 00:24:14,630 당신은 우유 나간다. 465 00:24:14,630 --> 00:24:17,000 그리고 당신은 당신의 룸메이트, 집에 와서 여전히 클래스 또는 무엇이든에, 466 00:24:17,000 --> 00:24:19,208 당신은 내가 갈거야 결정 나가서 우유를 얻을. 467 00:24:19,208 --> 00:24:22,630 당신이 냉장고를 닫습니다 그래서, 유치장 기숙사는 거리를 가로 질러 이동 468 00:24:22,630 --> 00:24:25,330 CVS 어디든지, 얻을에 라인에서 우유를 구입합니다. 469 00:24:25,330 --> 00:24:28,960 >> 한편, 룸메이트가 집에 도착 클래스에서, 기숙사 방에 들어간 470 00:24:28,960 --> 00:24:31,802 또한 실현, 냉장고를 엽니 다 ooph, 우리는 우유 나간다. 471 00:24:31,802 --> 00:24:33,760 그래서 그 또는 그녀가 종료 냉장고 후 발생 472 00:24:33,760 --> 00:24:35,610 다른 CVS으로 이동하려면 이는 될 일이 473 00:24:35,610 --> 00:24:38,470 한 블록 떨어진 다른 CVS에서 광장에서, 라인에 도착 474 00:24:38,470 --> 00:24:40,230 우유를 거기까지. 475 00:24:40,230 --> 00:24:42,524 물론 지금, 몇 분 나중에 모두 돌아, 476 00:24:42,524 --> 00:24:44,690 모든 가능한 최악 결과가 발생했습니다. 477 00:24:44,690 --> 00:24:45,792 당신은 모두 우유를 가지고있다. 478 00:24:45,792 --> 00:24:47,500 그리고 당신은 정말하지 않습니다 우유 같은 많은 그. 479 00:24:47,500 --> 00:24:49,625 그래서 그들 중 하나는 그냥 어떤 점에서 시어 것. 480 00:24:49,625 --> 00:24:55,941 그래서 지금 당신은 과도한 양을 냉장고에 우유의 모든 이유 때문에? 481 00:24:55,941 --> 00:24:57,072 >> [들림] 482 00:24:57,072 --> 00:24:59,780 DAVID 마란 : 그래, 당신은하지 않았다 여하튼 서로 연통 483 00:24:59,780 --> 00:25:00,904 것을 당신은 우유를 얻고 있었다. 484 00:25:00,904 --> 00:25:04,320 가장 간단한에 따라서 인간 세계의 방법, 485 00:25:04,320 --> 00:25:08,390 이 바보를 방지하는 방법 이러한 일어나는 시나리오 486 00:25:08,390 --> 00:25:09,750 것을 하나만으로 끝낼. 487 00:25:09,750 --> 00:25:10,840 를 텍스트, 그래 좋아. 488 00:25:10,840 --> 00:25:12,877 하지만 어떻게 다른? 489 00:25:12,877 --> 00:25:13,460 포스트 - 그것 노트. 490 00:25:13,460 --> 00:25:14,626 DAVID 마란 : 포스트잇. 491 00:25:14,626 --> 00:25:17,150 통신 모든 형태의 그게 당신의 룸메이트를 알려줍니다 492 00:25:17,150 --> 00:25:18,670 우유 냉장고에 가지 않는다. 493 00:25:18,670 --> 00:25:20,440 난 내 자신에 재고 보충 갈거야. 494 00:25:20,440 --> 00:25:22,770 그래서 당신은 어떻게 든 필요 이 자원을 고정합니다. 495 00:25:22,770 --> 00:25:27,180 그래서 우리는이 항아리를 만들 수 있습니다 우리는 종류의 수 이야기를 망치 및 CS 스토리로 변신 496 00:25:27,180 --> 00:25:30,360 이에 같은 단지 같은이 생각 어떤 값을 저장하는 변수. 497 00:25:30,360 --> 00:25:32,570 그리고 지금, 우유의 값은, 제로 498 00:25:32,570 --> 00:25:35,410 당신이 원하지 않는 룸메이트는 그 변수를 검사합니다 499 00:25:35,410 --> 00:25:38,730 다음 의사에게 그 사람이나 그 자신을 그 변수의 상태에 기초 500 00:25:38,730 --> 00:25:42,430 당신의 과정에 있다면 그 변수의 상태를 변경. 501 00:25:42,430 --> 00:25:46,140 >> SQL의 라인 그래서 하나가 우리 PSET 7 사양에 당신을 줄 502 00:25:46,140 --> 00:25:47,310 여기 하나입니다. 503 00:25:47,310 --> 00:25:49,740 그리고 우리는 거대한 지출하지 않습니다 시간의 양이 그것에 대해 얘기합니다. 504 00:25:49,740 --> 00:25:55,100 당신이 시도하는 경우에 그러나, 밝혀 CS50 금융에 일부 주식을 구입 505 00:25:55,100 --> 00:25:58,000 당신이 이미 가지고 당신의 일부 주 506 00:25:58,000 --> 00:26:01,750 번호을 할 수 있도록 즉시 함께 가지. 507 00:26:01,750 --> 00:26:04,360 당신은 할 수있게하려면 효율적으로, 높은 수준에서, 508 00:26:04,360 --> 00:26:06,700 내가 원하는 경우, 모든 권리 확인 무료 더 많은 주식을 살, 509 00:26:06,700 --> 00:26:08,780 페니 주식 우리 스펙에 대한 이야기​​, 510 00:26:08,780 --> 00:26:10,660 나는 먼저 확인해 보는 게 좋습니다 몇 주 전이있다. 511 00:26:10,660 --> 00:26:11,810 그리고 다섯의 가정합니다. 512 00:26:11,810 --> 00:26:14,600 그리고 내가 원하는 가정 나는 궁극적으로, 10 이상을 구입 513 00:26:14,600 --> 00:26:17,069 주식 15 주를 갖고 싶어. 514 00:26:17,069 --> 00:26:18,360 그래서 두 가지 질문을해야합니다. 515 00:26:18,360 --> 00:26:20,230 변수의 상태는 무엇입니까? 516 00:26:20,230 --> 00:26:21,470 행의 상태는 무엇입니까? 517 00:26:21,470 --> 00:26:22,970 나는 현재 얼마나 많은 주식을 가지고 있습니까? 518 00:26:22,970 --> 00:26:24,636 그럼 당신은 가서 그것을 업데이트 할. 519 00:26:24,636 --> 00:26:27,720 그래서 아날로그로의 당신이 행을 확인한다는 점에서 우유, 520 00:26:27,720 --> 00:26:30,730 그리고 당신은 그것을 업데이트 할 10 개의 주식을 사고 싶은 경우 때문에, 521 00:26:30,730 --> 00:26:32,521 당신은 변경하지 않으 10 행, 당신 522 00:26:32,521 --> 00:26:35,300 5로 변경하려면 플러스 10 물론, 15. 523 00:26:35,300 --> 00:26:40,030 >> 코드 행은 보장 이 두 개념 아이디어 524 00:26:40,030 --> 00:26:42,810 함께 또는 전혀 발생. 525 00:26:42,810 --> 00:26:46,920 다른 사용자를 포함하여 아무도, 누가, 동일한 웹 사이트에 로그인 한 것 526 00:26:46,920 --> 00:26:49,900 어떻게 든 중단 할 수 있습니다 행의 검사 527 00:26:49,900 --> 00:26:52,960 및 행의 갱신, 선택하고 업데이트하면됩니다. 528 00:26:52,960 --> 00:26:57,360 그리고 구문, 슈퍼 명확하지 않다 하지만이 한 줄은 오래가 있습니다 529 00:26:57,360 --> 00:27:01,150 그 두 동작을 보장합니다 변수를 확인하거나 행을 확인 530 00:27:01,150 --> 00:27:04,660 과 행이 원자 적으로 일어날 업데이트합니다. 531 00:27:04,660 --> 00:27:06,849 >> 아, 여기에 우리가 다시 간다. 532 00:27:06,849 --> 00:27:07,890 내 휴대 전화에 문자 메시지. 533 00:27:07,890 --> 00:27:09,954 그럼이를 만들어 보자 좀 더 구체적인. 534 00:27:09,954 --> 00:27:12,120 당신이 아니라는 걸 가정 냉장고를 구현 535 00:27:12,120 --> 00:27:16,400 당신은 구현하지 않을 PSET 7하지만 실제 은행, 536 00:27:16,400 --> 00:27:20,000 또는 ATM, 자동 현금 기계, 이에 당신을 어떻게 든 537 00:27:20,000 --> 00:27:22,960 권한을 부여 할 수 있도록하려면 사용자는 돈을 전송하려면 538 00:27:22,960 --> 00:27:24,500 하나의 계정에서 다른. 539 00:27:24,500 --> 00:27:25,100 OK, 만요. 540 00:27:25,100 --> 00:27:26,683 지금이 음소거하겠습니다, 감사합니다. 541 00:27:26,683 --> 00:27:30,450 그래서 우리는 돈을 이동하려면 하나의 계좌 번호에서 542 00:27:30,450 --> 00:27:33,600 다른 계정에 수, 특히 백​​달러. 543 00:27:33,600 --> 00:27:37,690 그래서이 임의의 종류입니다 예를 들어, 이에 당신, ATM, 544 00:27:37,690 --> 00:27:41,060 두 SQL을 실행 할 수 있습니다 쿼리는, 하나의 계정에서 빼기 545 00:27:41,060 --> 00:27:42,430 다른 계정에 추가 할 수 있습니다. 546 00:27:42,430 --> 00:27:46,766 하지만 이러한 것을 보장 할 두 줄이 발생하거나 전혀 모두. 547 00:27:46,766 --> 00:27:48,640 당신은 뭔가를하지 않으 중단지고. 548 00:27:48,640 --> 00:27:51,440 당신은 어떤 스마트 나쁜 사람이하지 않는 어떻게 든 미국의 은행에 서 549 00:27:51,440 --> 00:27:53,270 앞에 두 개의 현금 인출기와 그를 어떻게 든 550 00:27:53,270 --> 00:27:55,270 일종의를 입력 동시에, 명령 551 00:27:55,270 --> 00:28:01,230 희망 대신 200 달러 공제 시도 백달러과 신용 만 가지고 $ 100. 552 00:28:01,230 --> 00:28:04,450 즉, 당신은이 작업을하기 원하는 예상대로 정확하게 동작합니다. 553 00:28:04,450 --> 00:28:06,540 >> 그리고 당신이 할 방법 이 SQL의 데이터베이스입니다 554 00:28:06,540 --> 00:28:09,350 당신은 무엇에 포장 트랜잭션이라고합니다. 555 00:28:09,350 --> 00:28:14,290 말 그대로 SQL, 당신은 CS50의를 호출 할 수 있습니다 견적 맺다 시작과 쿼리 기능 556 00:28:14,290 --> 00:28:15,370 거래. 557 00:28:15,370 --> 00:28:18,640 그럼 당신은 어떤 수를 실행할 수 있습니다 다음 SQL 쿼리, 558 00:28:18,640 --> 00:28:20,870 하지만 그들 중 누구도 수행하지 데이터베이스에 미치는 영향 559 00:28:20,870 --> 00:28:25,880 당신은 쿼리 인용 맺다를 호출 할 때까지 다시 PHP를 사용하는 경우, 커밋. 560 00:28:25,880 --> 00:28:29,810 그리고 이러한 방법으로, 당신은을 보장 할 수 당신이 경우에도 사용자가 1,000 모든 561 00:28:29,810 --> 00:28:32,080 데이터베이스를 타격 동시에, SQL 562 00:28:32,080 --> 00:28:34,540 이러한 것을 약속합니다 두 개의 쿼리가 될 것입니다 563 00:28:34,540 --> 00:28:36,740 하나씩 권리를 구현했습니다. 564 00:28:36,740 --> 00:28:40,330 그래서 당신은 초과와 끝까지하지 않습니다 우유 또는 잘못된 양, 궁극적으로, 565 00:28:40,330 --> 00:28:40,830 돈. 566 00:28:40,830 --> 00:28:43,110 >> 그래서이 점을 명심, PSET 7 그다지 567 00:28:43,110 --> 00:28:45,250 하지만 최종 프로젝트 실제로 있다면 568 00:28:45,250 --> 00:28:49,690 주위에 데이터를 이동하려고 테이블의 맞은 편 인 귀하는 여기 있습니다. 569 00:28:49,690 --> 00:28:53,980 그러나 어쩌면 간단하고 예제를 이해하는 것이 분명 570 00:28:53,980 --> 00:28:54,860 여기 하나입니다. 571 00:28:54,860 --> 00:28:57,760 그리고 사람에 대한 정보를 이메일로 전송 이 단지 다른 하루 572 00:28:57,760 --> 00:28:59,600 그는 비슷한 온라인으로 뭔가를봤을 때. 573 00:28:59,600 --> 00:29:03,480 >> 내 지식, 핀 시스템 그래서 이 공격에 취약하지 않습니다. 574 00:29:03,480 --> 00:29:06,637 그리고 난 아무 생각이 경우에도 사용 후드 아래에 SQL 데이터베이스. 575 00:29:06,637 --> 00:29:08,470 그러나의를 위해 그것을 사용하자 토론을 위해. 576 00:29:08,470 --> 00:29:10,178 다음은 화면의 그 하버드 사람들은 경향 577 00:29:10,178 --> 00:29:13,620 에 로그인 할 때 볼 수 그들의 하버드 ID 번호와 핀. 578 00:29:13,620 --> 00:29:19,020 그리고 핀 시스템이라고 가정 PHP와 MySQL과 연동 구현 579 00:29:19,020 --> 00:29:22,000 베이스 코드는 누군가 쓴 수 년 전 580 00:29:22,000 --> 00:29:23,270 같을 수 있습니다. 581 00:29:23,270 --> 00:29:25,230 우선, 선언 변수라는 이름. 582 00:29:25,230 --> 00:29:27,560 그리고 단지으로부터 얻을 POST의 전역. 583 00:29:27,560 --> 00:29:30,140 그런 다음 다른 변수를 가져올 암호라고하며 동일한 작업을 수행. 584 00:29:30,140 --> 00:29:33,080 그리고 바로 실행 여기이 긴 쿼리, 585 00:29:33,080 --> 00:29:36,690 사용자 곳에서 선택 스타 사용자 이름은 이러 이러한 동일 586 00:29:36,690 --> 00:29:38,510 과 암호는 이러 이러한 같다. 587 00:29:38,510 --> 00:29:40,660 >> 곱슬이납니다 중괄호 여기 사용했습니다 588 00:29:40,660 --> 00:29:42,880 단지 PHP에 의미, 이동 앞서 및 대체 589 00:29:42,880 --> 00:29:45,400 그 두 가지의 값 거기 변수. 590 00:29:45,400 --> 00:29:50,090 그들은 꼭 필요한 것은,하지만 그들은 미묘한 구문 오류를 방지하는 경향이있다. 591 00:29:50,090 --> 00:29:53,650 그래서이 완전히 보인다 첫눈에 수정합니다. 592 00:29:53,650 --> 00:29:54,240 그리고 그것은이다. 593 00:29:54,240 --> 00:29:56,680 당신은을 구현할 수 이러한 방식으로 핀 시스템. 594 00:29:56,680 --> 00:30:00,460 >> 그러나 슈퍼 있다고 가정 스마트 악성 학생 595 00:30:00,460 --> 00:30:03,020 자신의 핀으로 입력이 있습니다. 596 00:30:03,020 --> 00:30:05,550 그래서 총알을 제거했다 모의까지 여기 표지판, 597 00:30:05,550 --> 00:30:08,760 나는 실제로 공개했습니다 그가 또는 그녀가 입력 될 수 있습니다. 598 00:30:08,760 --> 00:30:10,350 그리고 그것은 조금 이상하다. 599 00:30:10,350 --> 00:30:13,850 그러나 잠재적으로 당신을 밖으로 점프 사용자의 입력에 대한 걱정, 600 00:30:13,850 --> 00:30:16,450 당신은 아무 생각이없는 경우에도 어떤 SQL 주입 공격을 의미한다. 601 00:30:16,450 --> 00:30:20,300 왜 이런 일이 조금 비린내가 보는가? 602 00:30:20,300 --> 00:30:21,050 그게 뭐야? 603 00:30:21,050 --> 00:30:21,550 [들림] 604 00:30:21,550 --> 00:30:24,260 DAVID 마란은 : 또는이다 조금 의심. 605 00:30:24,260 --> 00:30:26,310 사실, 즉 SQL로부터의 키워드입니다. 606 00:30:26,310 --> 00:30:28,105 그래서 좋은 징조하지 않습니다. 607 00:30:28,105 --> 00:30:29,980 거기에 있다는 사실 이러한 모든 작은 따옴표 608 00:30:29,980 --> 00:30:32,646 저기 사실, 가장 쉬운 방법 중 하나 일부 데이터베이스를 중단하는 방법 609 00:30:32,646 --> 00:30:35,880 오라일리 같은 이름을 입력하는 것입니다 즉, 아포스트로피가 610 00:30:35,880 --> 00:30:38,600 인간이 쓴 사람 경우 때문에 무대 뒤에서 코드 611 00:30:38,600 --> 00:30:41,570 고려하지 않는이 사용자의 단일 따옴표 수 있습니다 612 00:30:41,570 --> 00:30:45,060 입력, 그 또는 그녀는 사용하고 자신의 코드에서 따옴표, 613 00:30:45,060 --> 00:30:46,040 나쁜 일이 발생할 수 있습니다. 614 00:30:46,040 --> 00:30:47,870 >> 사실, 더 심한 경우,이를 고려한다. 615 00:30:47,870 --> 00:30:50,600 이것은 다시 코드 였다면 그 하버드 년에서 사람 616 00:30:50,600 --> 00:30:53,100 전 핀 쓴 시스템, 무엇을 느끼지 617 00:30:53,100 --> 00:30:56,220 약은 대체 얻을 사용자 이름과 암호를 618 00:30:56,220 --> 00:30:59,780 사용자가 입력하는 경우에 다시 자신의 이름으로 skroob 619 00:30:59,780 --> 00:31:03,960 다음, 하나, 둘, 셋, 넷, 다섯, 하나의 등호 맺다 견적 견적 620 00:31:03,960 --> 00:31:04,660 하나를 인용. 621 00:31:04,660 --> 00:31:07,220 어떤 키를 느끼지 여기에 사용자가하지 않은 것입니다 622 00:31:07,220 --> 00:31:09,900 시작 암호 또는 견적과의 핀. 623 00:31:09,900 --> 00:31:12,610 그리고 그들은 그것을 종료하지 않은 견적 때문에 그 또는 그녀 624 00:31:12,610 --> 00:31:16,315 가정되면 프로그래머는, 예리하지 않았다 625 00:31:16,315 --> 00:31:18,690 그들은 사람들을해야 할 것 자신의 코드에서 따옴표. 626 00:31:18,690 --> 00:31:19,860 >> 그래서 여기에 코드입니다. 627 00:31:19,860 --> 00:31:23,820 그리고 대체 그 지금 일어날 수 이것입니다. 628 00:31:23,820 --> 00:31:26,350 그리고 밑줄이 한 일 사용자는에 입력하고있다. 629 00:31:26,350 --> 00:31:28,480 그래서 전, 후. 630 00:31:28,480 --> 00:31:33,330 그리고 지금 약간 걱정 무엇을 알 이 SQL 코드의 오른쪽 절반에 대한? 631 00:31:33,330 --> 00:31:36,300 그것은 일반적으로 인정 하듯이, 좀 더 복잡 쿼리보다 우리는 보았다. 632 00:31:36,300 --> 00:31:38,550 그러나 이것은 아마도 수 없습니다 당신이 있다면 좋은 일이 될 633 00:31:38,550 --> 00:31:42,240 선택입니다 선택 스타, 말 사용자의 테이블에서 모든 634 00:31:42,240 --> 00:31:46,630 여기서 사용자 이름은 skroob 같고 패스워드가 동일 하나, 둘, 셋, 넷, 635 00:31:46,630 --> 00:31:49,610 5 하나는 하나 같습니다. 636 00:31:49,610 --> 00:31:53,860 논리적 의미는 무엇입니까 아마도 마지막 절? 637 00:31:53,860 --> 00:31:55,650 그냥 항상 사실입니다. 638 00:31:55,650 --> 00:31:59,930 >> 그리고 우리는 종류의 추측 때문에 또는 시행 착오를 알아 639 00:31:59,930 --> 00:32:02,760 그 프로그래머 사람 쓴이 코드는하지 않았다 640 00:32:02,760 --> 00:32:07,250 사람이나 나쁜 사람을 예상 뿐만 아니라 작은 따옴표를 입력, 641 00:32:07,250 --> 00:32:10,350 우리는 문법적으로 수 SQL 쿼리를 완료 642 00:32:10,350 --> 00:32:12,260 무의미​​한 뭔가 하지만 뭔가 그 643 00:32:12,260 --> 00:32:15,930 문법적으로 잘못된 것입니다 즉, 항상 true로 평가한다. 644 00:32:15,930 --> 00:32:19,130 그래서 코드에 응답하는 데 사용되는 경우 질문 참 또는 거짓한다 645 00:32:19,130 --> 00:32:22,930 이 사용자는 통과하도록 허용 대답은 항상 분명히 것입니다 646 00:32:22,930 --> 00:32:26,930 이 항상 가고 있기 때문에 사실합니다 데이터베이스에서 무언가를 선택합니다 647 00:32:26,930 --> 00:32:29,280 물론 하나는 항상 하나에 해당하기 때문이다. 648 00:32:29,280 --> 00:32:30,360 >> 그래서 해결책은 무엇입니까? 649 00:32:30,360 --> 00:32:33,290 잘 PSET 7에서, 우리는 실제로 모두 함께이 문제를 방지. 650 00:32:33,290 --> 00:32:37,360 우리는 당신에게 쿼리 기능을 제공하고, 우리 물음표를 사용하는 것이 좋습니다 651 00:32:37,360 --> 00:32:40,430 자리로, 유사 의 printf의 % s의 정신, 652 00:32:40,430 --> 00:32:43,710 하지만 물음표에 대한 주요 무엇 실제로 통해 읽으면 여기에 653 00:32:43,710 --> 00:32:46,950 functions.php 여기서 우리 쿼리 기능은 구현 654 00:32:46,950 --> 00:32:52,780 그 물음표는 이스케이프, 이에 잠재적으로 위험한 아무것도 655 00:32:52,780 --> 00:32:58,210 작은 따옴표가 켜져처럼 이스케이프 된 따옴표로. 656 00:32:58,210 --> 00:33:00,590 >> 그래서 이것은 무엇이다 정말 경우 발생 657 00:33:00,590 --> 00:33:04,850 CS50의 쿼리 기능 또는 숫자를 사용 타사 무료 라이브러리의 658 00:33:04,850 --> 00:33:06,000 동일한 작업을 수행. 659 00:33:06,000 --> 00:33:09,850 이 경우에는 문제가되지 않습니다, 녹색, 사용자는 따옴표에 입력 한 경우 660 00:33:09,850 --> 00:33:12,070 쿼리 때문에 우리가 쓴 기능입니다 661 00:33:12,070 --> 00:33:15,120 전에 백 슬래시를 추가하는 것 이러한 위험한 인용. 662 00:33:15,120 --> 00:33:17,360 그래서이에, 아니다 사실은, 합법적 될 것. 663 00:33:17,360 --> 00:33:20,910 이 찾고 미친를 입력 같다 물론,하지 않을, 암호 664 00:33:20,910 --> 00:33:23,490 skroob의 실제 암호이어야합니다. 665 00:33:23,490 --> 00:33:28,260 >> 그래서 CS50의 테이크 아웃은 하나입니다 절대적으로 항상 뭔가를 사용 666 00:33:28,260 --> 00:33:30,860 CS50의 쿼리 기능 등 또는 기본 라이브러리, 667 00:33:30,860 --> 00:33:32,560 이는 PDO 호출 할 수 발생합니다. 668 00:33:32,560 --> 00:33:35,880 그러나 결코, 결코, 이 같은 코드를 결코하지 않을 669 00:33:35,880 --> 00:33:39,472 탈출 또는 스크러빙없이 그들이 당신의 입력은 말한다. 670 00:33:39,472 --> 00:33:42,430 그리고 당신은 몇 가지 점에서 아마 이 같은 일부 웹 사이트를 통해 제공됩니다. 671 00:33:42,430 --> 00:33:46,060 사실, 케이스 보인다 지역의 공항과 호텔에서 같은 672 00:33:46,060 --> 00:33:48,880 그들은 무료 Wi-Fi 인터넷을 어디 당신이 로그인해야 액세스, 673 00:33:48,880 --> 00:33:51,010 이 웹 사이트는 항상 끔찍하게 구현했습니다. 674 00:33:51,010 --> 00:33:55,680 그리고 가정 운동에서 재미의 종류, 하지 악의적 인 목적 이상 675 00:33:55,680 --> 00:33:59,170 도로에 재미 운동, 바로 입력하는 것입니다 676 00:33:59,170 --> 00:34:02,850 아포스트로피, 작은 따옴표, 일부 웹 사이트의 형태로 677 00:34:02,850 --> 00:34:03,810 무슨 일이 일어 나는지 참조하십시오. 678 00:34:03,810 --> 00:34:06,660 그리고 서버가 충돌하거나 제공하는 경우 당신이 오류 메시지가 어떤 종류의, 679 00:34:06,660 --> 00:34:09,690 아주 잘 저것을 할 수있다 사람이 예상되지 않았습니다. 680 00:34:09,690 --> 00:34:15,239 그리고 당신은 적절한 경고한다 당국과는 더 이상 진행되지 않습니다. 681 00:34:15,239 --> 00:34:20,843 >> 그래서 지금 너희들이 희망해야 여기에 좀 더 괴짜 유머를 이해합니다. 682 00:34:20,843 --> 00:34:24,120 >> [웃음] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 DAVID 마란 : 당신은 당신이 괴짜 거 알아. 685 00:34:29,070 --> 00:34:30,944 다음 몇 가지를 들어 년, 당신은 기억할 것 686 00:34:30,944 --> 00:34:33,520 누가 작은 바비 테이블 것은 여기에이 만화 때문이다. 687 00:34:33,520 --> 00:34:36,760 그래서 같이 명심 우리 컨텍스트 스위치 마지막으로 한 번 688 00:34:36,760 --> 00:34:38,770 자바 스크립트 오늘. 689 00:34:38,770 --> 00:34:41,600 우리는 상대적으로 조금 보냈어요 PHP의 구문에 대한 시간 690 00:34:41,600 --> 00:34:43,440 실제로 왜냐하면 C. 슈퍼 유사 691 00:34:43,440 --> 00:34:47,300 그리고 충분히 능숙, 자바 스크립트도 C의 구문에 매우 유사하다 692 00:34:47,300 --> 00:34:49,639 우리는에 볼 수 있습니다뿐만 아니라, 잠시 우리가 겠지만 693 00:34:49,639 --> 00:34:51,205 특히 이번 주를 참조하십시오. 694 00:34:51,205 --> 00:34:54,080 이 언어로 수행 할 수있는, 하지만, 더욱 강력 695 00:34:54,080 --> 00:34:55,790 특히 API를. 696 00:34:55,790 --> 00:34:56,960 >> 하지만 먼저 둘러보기. 697 00:34:56,960 --> 00:35:00,450 그래서 하나는, 자바 스크립트, 거기에 좋은에는 주요 기능하지 않습니다. 698 00:35:00,450 --> 00:35:02,650 PHP와 같이, 당신은 코드를 작성할 수 있습니다. 699 00:35:02,650 --> 00:35:04,310 조건은 다음과 같이. 700 00:35:04,310 --> 00:35:07,100 그리고 부울 식을 수도 이 같은 또는 같이. 701 00:35:07,100 --> 00:35:09,530 스위치가 존재하고 같을 수 있습니다. 702 00:35:09,530 --> 00:35:10,970 네 루프는 다음과 같다. 703 00:35:10,970 --> 00:35:12,390 루프는 다음과 같이한다. 704 00:35:12,390 --> 00:35:14,160 수행 그런데 같이. 705 00:35:14,160 --> 00:35:16,850 그리고 배열처럼 이, PHP와 매우 유사합니다. 706 00:35:16,850 --> 00:35:20,740 그러나, 자바 스크립트 당신의 그 통지 달러하지 변수를 선언 707 00:35:20,740 --> 00:35:25,190 하지 않는 데이터 유형을 문자 그대로 서명 그 전에 변수 VAR을 말하면서. 708 00:35:25,190 --> 00:35:27,900 너무 느슨하게 입력 된 한다는 점에서 유형이 있습니다, 709 00:35:27,900 --> 00:35:29,729 하지만 당신은 명시 적으로 선언하지 않습니다. 710 00:35:29,729 --> 00:35:31,520 그리고 문자열에 대한 예, 보일 수 있습니다 711 00:35:31,520 --> 00:35:34,350 이 같은 문자열 이 경우의 호출된다. 712 00:35:34,350 --> 00:35:35,410 그리고 객체입니다. 713 00:35:35,410 --> 00:35:37,010 그리고 이러한 우리는 오래 전에 자세한 내용을 볼 수 있습니다. 714 00:35:37,010 --> 00:35:41,470 그리고 목적은 아마도 중 하나입니다 가장 일반적으로 데이터 구조를 본 715 00:35:41,470 --> 00:35:44,050 자바 스크립트에 기반을 둔 프로그램은 수 있기 때문에 716 00:35:44,050 --> 00:35:46,680 당신은 임의 연결합니다 키 값 쌍 단지 717 00:35:46,680 --> 00:35:51,240 PHP의 연관 배열 같은 그냥 자신의 해시 테이블과 같은 718 00:35:51,240 --> 00:35:54,042 우리가 구현 또는 시도 다시 몇 주. 719 00:35:54,042 --> 00:35:56,250 그래서 실제로 보자 무엇 우리는 자바 스크립트로 할 수 있습니다. 720 00:35:56,250 --> 00:35:59,410 특히, 여긴 기능의 세탁 목록 721 00:35:59,410 --> 00:36:02,300 브라우저는 것을 가지고 우리는 자바 스크립트 후크 할 수 있도록 722 00:36:02,300 --> 00:36:05,470 다음과 같은 방법으로 홈페이지. 723 00:36:05,470 --> 00:36:09,340 자바 스크립트는 종종로서 사용 클라이언트 측 스크립트 언어. 724 00:36:09,340 --> 00:36:10,130 이 컴파일 아니에요. 725 00:36:10,130 --> 00:36:11,370 너무 해석됩니다. 726 00:36:11,370 --> 00:36:15,740 하지만 PHP는 달리, 어느 실행 된 서버, 웹 서버에서, 727 00:36:15,740 --> 00:36:18,220 또는 깊은 내부 클라이언트, 자바 스크립트 728 00:36:18,220 --> 00:36:22,190 그것이 다르다 일반적으로 브라우저에서 실행됩니다. 729 00:36:22,190 --> 00:36:26,060 >> 그래서 자바 스크립트 코드는 쓰기 시작 PSET 8, 최종 프로젝트, 730 00:36:26,060 --> 00:36:29,890 또는 현실 세계에서 일반적으로 것입니다 절대적으로, 서버에 저장 될 731 00:36:29,890 --> 00:36:33,110 점 HTML 또는 도트 자바 스크립트 파일에 대한 JS. 732 00:36:33,110 --> 00:36:35,770 그러나 브라우저는 것입니다 그 자바 스크립트 다운로드 733 00:36:35,770 --> 00:36:39,530 크롬의 자신의 인스턴스에 대한 코드, IE 나 파이어 폭스, 또는 무엇이든 또는. 734 00:36:39,530 --> 00:36:43,870 그리고 코드는 실제로 얻을 것입니다 자신의 브라우저 내에서 실행. 735 00:36:43,870 --> 00:36:46,560 그냥이 더 리얼하게하기 위해, 의 구체적인 형태에서 볼 수 있습니다. 736 00:36:46,560 --> 00:36:50,120 >> 우리는이 코드가 무엇을하는지 아무 생각이 정말 읽는 것없이. 737 00:36:50,120 --> 00:36:52,670 그러나 나 Facebook.com에 가자 로그인하지 않고. 738 00:36:52,670 --> 00:37:00,440 내가 요소를 검사하고 이동하려면 가자, 의 말을하자, 네트워크 및 페이지를 다시로드. 739 00:37:00,440 --> 00:37:04,150 그리고 우리는 알아요 ...거야 나를 다시로드를 이동하자 페이지 새에 대한 모든 요청을 얻을 수 있습니다. 740 00:37:04,150 --> 00:37:08,850 그리고 첫 번째 내가 볼 파일은 CSS, CSS입니다. 741 00:37:08,850 --> 00:37:10,880 여기에 처음이다 자바 스크립트 파일, 나는이 742 00:37:10,880 --> 00:37:14,600 어떤이가 무슨 생각,하지만 여기에 자바 스크립트 코드의 일부입니다 743 00:37:14,600 --> 00:37:16,180 그 페이스 북을 구동한다. 744 00:37:16,180 --> 00:37:18,400 심지어 정말 아니다 확대하려면 공개. 745 00:37:18,400 --> 00:37:20,260 아직 그냥 무의미합니다. 746 00:37:20,260 --> 00:37:24,341 >> 하지만 당신은 거기에, 심지어 그 아래 볼 수 있습니다 이 자바 스크립트 파일의 더. 747 00:37:24,341 --> 00:37:24,840 아차. 748 00:37:24,840 --> 00:37:25,440 즉 핑. 749 00:37:25,440 --> 00:37:28,550 의 조금 아래로 가자 또한, 더, 더. 750 00:37:28,550 --> 00:37:29,894 하나가있다. 751 00:37:29,894 --> 00:37:31,238 하나가있다. 752 00:37:31,238 --> 00:37:31,880 하나가있다. 753 00:37:31,880 --> 00:37:35,820 >> 그래서 심지어 페이스 북 불구하고, 뒤에 장면은, PHP의 일부 기록 754 00:37:35,820 --> 00:37:39,100 페이스 북의 자신의 버전 그, 자바 스크립트의 거대한 양의가있다. 755 00:37:39,100 --> 00:37:41,330 사실, 임의 당신은 페이스 북에서 할 채팅, 756 00:37:41,330 --> 00:37:45,520 인라인 타임 라인 업데이트 중 즉, 실시간으로 그 모두 일어날 757 00:37:45,520 --> 00:37:47,944 자바 스크립트에 의해 구동된다. 758 00:37:47,944 --> 00:37:48,444 그래? 759 00:37:48,444 --> 00:37:50,235 >> 청중 : 나는 확실하지 않다 이 무비의 경우, 760 00:37:50,235 --> 00:37:53,624 하지만 페이스 북이 개발 한 생각 자신의 내부 코드 언어? 761 00:37:53,624 --> 00:37:54,540 DAVID 마란 : 그들은 않았다. 762 00:37:54,540 --> 00:37:58,110 나는의 분산을 말할 그래서 그건 PHP는 그들이 실제로 힙합이라고 763 00:37:58,110 --> 00:38:03,440 이러한에 추가 된 기능 때 마크는 처음으로, 페이스 북을 구현 764 00:38:03,440 --> 00:38:04,710 그것은 PHP에서 작성되었습니다. 765 00:38:04,710 --> 00:38:07,370 그리고 그런 종류의 남아있다 전단 언어의 종류 766 00:38:07,370 --> 00:38:09,030 그들은 많은 것을 사용하는 것이 그들의 코딩하지만의 767 00:38:09,030 --> 00:38:11,870 의 언어되지 않았습니다 수십억 특히 확장 768 00:38:11,870 --> 00:38:12,630 사람들의. 769 00:38:12,630 --> 00:38:15,300 그래서 그들은 자신을 추가 한 무대 뒤에서 개선. 770 00:38:15,300 --> 00:38:17,049 그리고 그들은 어떤 번호를 사용 다른 언어 771 00:38:17,049 --> 00:38:19,170 다양한 정보에 대한 인프라. 772 00:38:19,170 --> 00:38:24,080 그래서 그래, 그것의 분산이다 우리는 지금 PHP로 알고. 773 00:38:24,080 --> 00:38:26,610 >> 그럼 살펴 보자 몇가지 예를 들어 774 00:38:26,610 --> 00:38:28,890 의 우리는 여기에 자바 스크립트를 사용할 수있는 방법. 775 00:38:28,890 --> 00:38:32,530 오늘날의 소스 코드에서, 우리가 가지고 파일의 무리, 그 중 첫 번째, 776 00:38:32,530 --> 00:38:34,090 의는 DOM 제로라고 할 수 있습니다. 777 00:38:34,090 --> 00:38:36,770 다음과 같이 그래서 DOM 제로 보인다. 778 00:38:36,770 --> 00:38:40,730 날이 디렉토리로 가자 및 domzero.html을 열어, 779 00:38:40,730 --> 00:38:44,970 의 상단은 문서 유형이 선언은, 여기서 말하는 것은 HTML 5 온다. 780 00:38:44,970 --> 00:38:46,440 그리고 지금 여기에 HTML 태그입니다. 781 00:38:46,440 --> 00:38:47,540 여기에 헤드 태그입니다. 782 00:38:47,540 --> 00:38:49,210 그리고 오늘의 새로운 기능입니다. 783 00:38:49,210 --> 00:38:52,620 >> 이제 우리는 스크립트 태그가 페이지의 헤드의 안쪽. 784 00:38:52,620 --> 00:38:55,290 그리고 이것은 분명히하지 아주 작은,하지만 예고 785 00:38:55,290 --> 00:38:58,410 내가 정의한 것을 스크립트, 자바 스크립트. 786 00:38:58,410 --> 00:39:01,050 그리고 옆으로,이 이후로 일반적인 오해이다, 787 00:39:01,050 --> 00:39:05,220 자바 스크립트는 절대적으로 무관 자바 언어와는 788 00:39:05,220 --> 00:39:08,010 여러분 중 일부는 수도 그 APCS에 배웠습니다. 789 00:39:08,010 --> 00:39:10,480 그것은 마케팅의 더 있었다 무엇보다 일이, 790 00:39:10,480 --> 00:39:12,980 전 자바 년의 coattails를 타고. 791 00:39:12,980 --> 00:39:17,300 하지만 자바 스크립트, 아무 상관 없습니다 자바, 단지 유사하고, 귀찮게, 792 00:39:17,300 --> 00:39:18,480 혼동의 이름. 793 00:39:18,480 --> 00:39:21,890 >> 그래서 여기에 당신이 함수를 선언하는 방법입니다 자바 스크립트로, 말 그대로 기능을 말한다, 794 00:39:21,890 --> 00:39:24,556 다음 함수의 이름, 그런 다음,이 걸릴 수 있습니다 인수, 795 00:39:24,556 --> 00:39:25,530 PHP 단지를 좋아한다. 796 00:39:25,530 --> 00:39:28,990 자바 스크립트, 가장 중 하나 밝혀 존재 성가신 기능 경고입니다. 797 00:39:28,990 --> 00:39:31,392 이 작은 창입니다 팝업 및 경고합니다 798 00:39:31,392 --> 00:39:32,600 정보의 일부 조각. 799 00:39:32,600 --> 00:39:33,766 그것은 일반적으로 눈살을 찌푸리게합니다. 800 00:39:33,766 --> 00:39:35,980 그러나 우리는 그것을로 사용합니다 우리의 여기에 첫 번째 연습. 801 00:39:35,980 --> 00:39:37,900 >> 자바 스크립트의 몇 가지 기능을 알 수 있습니다. 802 00:39:37,900 --> 00:39:41,524 작은 따옴표와 큰 따옴표 실제로 더 이상 중요하지 않습니다. 803 00:39:41,524 --> 00:39:43,690 작은 따옴표를 두 번 따옴표는 상호 교환 할 수있다, 804 00:39:43,690 --> 00:39:46,220 C에있는 반면에, 당신은 사용해야합니다 문자열을 큰 따옴표, 805 00:39:46,220 --> 00:39:48,150 당신은 한 두 가지가 문자 시세입니다. 806 00:39:48,150 --> 00:39:51,150 자바 스크립트 세계에서, 많은 사람들이, 대부분의 사람들 807 00:39:51,150 --> 00:39:54,970 문자열 주위에 따옴표를 사용 그냥 문체 일이 있기 때문이다. 808 00:39:54,970 --> 00:39:58,330 그러나 더하기 연산자는, 여기에 무슨 이는 우리가 전에 보지? 809 00:39:58,330 --> 00:39:59,836 >> 청중 : 연결. 810 00:39:59,836 --> 00:40:00,960 DAVID 마란 : 연결. 811 00:40:00,960 --> 00:40:02,450 그래서 C는 심지어이 없습니다. 812 00:40:02,450 --> 00:40:04,820 PHP는 도트 연산자를 가지고, 이는이 작업을 수행합니다. 813 00:40:04,820 --> 00:40:09,710 자바 스크립트는 더하기 연산자를 가지고, 이는 혼동 단지 자바 같다. 814 00:40:09,710 --> 00:40:11,440 이제 무슨 일이야? 815 00:40:11,440 --> 00:40:14,260 >> 그래서 여기 어디에 기본이다 그 사진의 이해 816 00:40:14,260 --> 00:40:17,010 우리는 몇 가지를 던져 일 전 플레이에 온다. 817 00:40:17,010 --> 00:40:19,620 우리는 간단한을했을 때 기억 버전의 HTML page-- 818 00:40:19,620 --> 00:40:20,830 그냥 안녕하세요 말했다. 819 00:40:20,830 --> 00:40:22,770 그리고 우리는 나무를 그렸습니다 오른쪽에있는 820 00:40:22,770 --> 00:40:27,320 사각형 및 라인의 무리가 있었다 가족 나무처럼 연결. 821 00:40:27,320 --> 00:40:30,820 그래서 소위 DOM이다 또는 문서 객체 모델. 822 00:40:30,820 --> 00:40:36,759 그리고 그것은 당신이 액세스 할 수있는 것으로 나타났다 구문과 그 나무에 사각형 823 00:40:36,759 --> 00:40:37,550 다음과 같은. 824 00:40:37,550 --> 00:40:41,370 당신은 말 그대로 인 문서를 말한다 자바 스크립트의 특별한 전역 변수 825 00:40:41,370 --> 00:40:45,890 기능을 가지고 프로그램 사용자가 액세스 할 수있는 그와 연관된 826 00:40:45,890 --> 00:40:50,280 구조체와 유사하지만, 단순히 도트하고 함수의 이름을 말 827 00:40:50,280 --> 00:40:52,390 ID에 의해 요소를 얻을. 828 00:40:52,390 --> 00:40:55,460 >> 나는 취득하는 요소이다 분명히 맺다 이름을 인용. 829 00:40:55,460 --> 00:40:57,150 그리고 나는 그것의 가치를 얻을 싶어요. 830 00:40:57,150 --> 00:40:58,330 이제 우리는 앞서 자신의 있어요. 831 00:40:58,330 --> 00:41:00,038 난 확실하지 않다 무엇 모든이에 관한 것입니다. 832 00:41:00,038 --> 00:41:03,000 HTML에하자 빨리 감기에 슈퍼 간단한 페이지. 833 00:41:03,000 --> 00:41:05,370 >> 내가 정의한 공지 사항 여기에 아래로 형성한다. 834 00:41:05,370 --> 00:41:07,940 나는 그것을 고유를 준주의 사항 우리가 사용하지 않는 한 비록 ID, 835 00:41:07,940 --> 00:41:08,870 이 속성 전에. 836 00:41:08,870 --> 00:41:11,300 하지만이 HTML에 존재합니다. 837 00:41:11,300 --> 00:41:15,570 당신은 유일하게 어떤 덩어리를 식별 할 수 있습니다 이 같은 식별자와 HTML의. 838 00:41:15,570 --> 00:41:19,880 >> 공지 사항 지금 이런것은 HTML 밝혀 세탁물 목록 당 지원 839 00:41:19,880 --> 00:41:22,490 조금 전에, 전체 이벤트 핸들러의 무리. 840 00:41:22,490 --> 00:41:25,060 그리고이 이벤트 핸들러 제출에 말했다. 841 00:41:25,060 --> 00:41:28,730 이러한 사용자에 제출 형태는 다음 코드를 호출합니다. 842 00:41:28,730 --> 00:41:31,360 그리고 그 코드는거야 호출 또는 실행되는 843 00:41:31,360 --> 00:41:35,260 정확히이, 그리스어 함수는 반환 거짓 하였다. 844 00:41:35,260 --> 00:41:37,360 다른 모든해야 꽤 익숙. 845 00:41:37,360 --> 00:41:42,050 >> 여기에 유형이 텍스트의 입력이며, ID는,이 경우, 이름 될 것이다. 846 00:41:42,050 --> 00:41:45,430 우리는 실제 이름 속성이 없습니다 이 외엔 및 제출 버튼을 클릭합니다. 847 00:41:45,430 --> 00:41:48,330 그래서 결과 페이지는 다음과 같습니다. 848 00:41:48,330 --> 00:41:52,890 그리고 결과 동작, 이처럼 보이는 볼 수 있습니다. 849 00:41:52,890 --> 00:41:56,940 페이지 그것은 로컬 호스트 안녕하세요, 말한다 미적 거의 데이비드, 850 00:41:56,940 --> 00:41:58,340 사용자를 맞이하는 방법. 851 00:41:58,340 --> 00:41:59,950 그러나 실제로 무슨 일이야? 852 00:41:59,950 --> 00:42:01,360 >> 음,이 무엇인지 고려한다. 853 00:42:01,360 --> 00:42:02,310 이것은 텍스트 필드이다. 854 00:42:02,310 --> 00:42:04,635 그리고에 따라 여기에 HTML, 나는 그것을 준 855 00:42:04,635 --> 00:42:07,350 고유 식별자 라고 인용 맺다 이름. 856 00:42:07,350 --> 00:42:09,770 한편, 나는 때 말한 사용자는이 양식을 제출 857 00:42:09,770 --> 00:42:13,820 입력 누르거나 클릭하여 제출 버튼, 인사라는 함수를 호출 858 00:42:13,820 --> 00:42:15,410 다음 False를 반환. 859 00:42:15,410 --> 00:42:16,870 의 역방향 사람들을 생각해 보자. 860 00:42:16,870 --> 00:42:20,590 내가 제출을 클릭하면 공지 사항 이 페이지의 URL이 변경되지 않습니다. 861 00:42:20,590 --> 00:42:22,420 브라우저의 아이콘 회전 시작되지 않았습니다. 862 00:42:22,420 --> 00:42:27,050 난 아무데도 가지 않았다, 그것은이다 말 그대로 내가 False를 반환 말했다 때문이다. 863 00:42:27,050 --> 00:42:31,534 거짓 회로 단락 또는 정지를 돌려줍니다 폼의 기본 동작. 864 00:42:31,534 --> 00:42:33,700 다음 우리를 둔다는 점과 그래서 이 마지막 질문. 865 00:42:33,700 --> 00:42:34,764 문안은 무엇입니까? 866 00:42:34,764 --> 00:42:36,680 글쎄, 분명히 인사 라는 함수를 호출 867 00:42:36,680 --> 00:42:39,250 경고는 하나의 통과 롱 인수 868 00:42:39,250 --> 00:42:43,950 함께 연결하는 결과 문자열의 무리, 쉼표 공간 안녕하세요, 869 00:42:43,950 --> 00:42:45,810 다음이 반환 뭐든간에. 870 00:42:45,810 --> 00:42:51,490 그래서 문서 글로벌 같다 그 나무의 루트에 변수, 871 00:42:51,490 --> 00:42:55,560 특별한 함수를 호출, 그렇지 않으면 지금하는 방법으로 알려져 있습니다. 872 00:42:55,560 --> 00:42:57,650 의 기능 변수는 내부 873 00:42:57,650 --> 00:42:59,640 방법 대신 함수를 호출. 874 00:42:59,640 --> 00:43:01,570 >> 그래서 ID로 요소를 얻을. 875 00:43:01,570 --> 00:43:03,940 어떤 요소 당신을 ID로 싶어? 876 00:43:03,940 --> 00:43:06,970 인용을 끝내 이름을 견적과 다음 특별히 값입니다. 877 00:43:06,970 --> 00:43:12,000 따라서 환언하면, 그 코드 단순히 ID가 이름 텍스트 필드를 찾습니다 878 00:43:12,000 --> 00:43:13,380 다음의 값을 가져옵니다. 879 00:43:13,380 --> 00:43:16,460 그래서 만약 내가이 위치를 변경했다 그리고, 다빈 대신 데이비드 말 880 00:43:16,460 --> 00:43:20,670 우리는 지금, 제출을 클릭합니다 다빈에 대한 인사말이있다. 881 00:43:20,670 --> 00:43:22,890 >> 그래서 잘 할 좋아. 882 00:43:22,890 --> 00:43:25,480 그러나 우리가 할 수 있는지 보자 다만 이후 청소기이 조금 883 00:43:25,480 --> 00:43:28,190 이처럼 코드를 작성 일반적으로 눈살을 찌푸리게 될 것. 884 00:43:28,190 --> 00:43:30,060 이 무서운 보일 것입니다. 885 00:43:30,060 --> 00:43:32,330 하지만 첫 번째 무엇 여기서주의 차이 886 00:43:32,330 --> 00:43:35,970 게다가이 버전의 DOM의 하나에 변경 이름은? 887 00:43:35,970 --> 00:43:41,110 어떤 구조적으로 다른 보인다 다른 대에 대해? 888 00:43:41,110 --> 00:43:41,932 그래? 889 00:43:41,932 --> 00:43:43,890 관객 : 양식에가 이제 스크립트의 상단? 890 00:43:43,890 --> 00:43:46,570 DAVID 마란 : 네, 양식 상단에 일부 호기심 이유로 스크립트. 891 00:43:46,570 --> 00:43:48,736 그래서 우선이다 그 역시 나를 밖으로 이동합니다. 892 00:43:48,736 --> 00:43:50,990 그리고 다행히 적어도, 이 부분은 동일합니다. 893 00:43:50,990 --> 00:43:53,470 그래서 보인다 유일한 다르게하는 것은 이것이다. 894 00:43:53,470 --> 00:43:55,296 >> 그래서 여기에 깔끔한 무엇 자바 스크립트 2에 대한. 895 00:43:55,296 --> 00:43:57,420 그리고 그것은에 열심히하게 언뜻 이해, 896 00:43:57,420 --> 00:44:00,670 특히 최종 프로젝트의 경우에 당신은, 온라인 샘플 코드를 찾고 897 00:44:00,670 --> 00:44:04,200 하지만 몇 가지 문제로 귀결 기본 문법 기능. 898 00:44:04,200 --> 00:44:06,230 여기에 다시 것입니다 글로벌 변수 문서. 899 00:44:06,230 --> 00:44:09,540 여기서 다시 그 방법 또는 기능입니다 그 ID로 요소를 얻을 말한다. 900 00:44:09,540 --> 00:44:11,570 내가 원하는이 시간 데모라는 ID를 얻을. 901 00:44:11,570 --> 00:44:12,490 그 어디있어? 902 00:44:12,490 --> 00:44:15,400 그건 분명히 맞아 여기에, 양식 자체. 903 00:44:15,400 --> 00:44:20,010 >> 그리고 지금 알이 분명히있는 경우 I 트리에서 노드를 돌아가는 건 904 00:44:20,010 --> 00:44:22,940 형태를 나타냅니다 그 자체가 아니라 텍스트 필드, 905 00:44:22,940 --> 00:44:26,970 는 것을, 그 형태를 밝혀 트리에서 노드 또는 사각형, 906 00:44:26,970 --> 00:44:30,450 우리는 속성을 호출합니다 것을 가지고 매우, 매우, 매우 유사 907 00:44:30,450 --> 00:44:35,390 C의 구조체에 정신이 단지 이 사각형의 내부 데이터 멤버. 908 00:44:35,390 --> 00:44:38,300 >> 그래서 양식을 가지고 여기에, 나는 부착하고있어, 909 00:44:38,300 --> 00:44:44,650 의에 제출에 아니면, 할당 해요 핸들러 또는 오히려에 속성을 제출 910 00:44:44,650 --> 00:44:45,740 다음과 같은 기능. 911 00:44:45,740 --> 00:44:49,000 그리고 이것은 지금까지, 미친,이다 것은 지금까지 구문. 912 00:44:49,000 --> 00:44:53,610 그것은 자바 스크립트와에서 밝혀 PHP, 솔직히 C에서 그 문제에 대한, 913 00:44:53,610 --> 00:44:58,990 우리가 그것을하지 않더라도, 당신은 할 수 무명, 익명, 또는 AKA (λ)를 추가 914 00:44:58,990 --> 00:45:03,000 이름이없는 기능 하지만 그럼에도 불구하고 호출 할 수 있습니다. 915 00:45:03,000 --> 00:45:07,050 >> 그래서 내가 여기하고있어 내가 할당되어있어 이에, 속성을 제출하는 916 00:45:07,050 --> 00:45:14,330 내 DOM 트리의이 노드의 내부 함수, 함수 포인터를 사용하면됩니다. 917 00:45:14,330 --> 00:45:16,310 즉, 함수는이 없습니다 이름,하지만하지 않습니다 918 00:45:16,310 --> 00:45:19,110 우리가 볼 수 있기 때문에 중요 순간에서 호출하는 방법에 대해 설명합니다. 919 00:45:19,110 --> 00:45:21,780 이 함수가 호출 될 때, 이 코드는 실행됩니다 920 00:45:21,780 --> 00:45:24,210 거짓은 바로 전에 같이 반환됩니다. 921 00:45:24,210 --> 00:45:25,800 >> 하지만 무슨 짓을했는지 알 수 있습니다. 922 00:45:25,800 --> 00:45:27,830 이 시점에서 이야기, 나는 양식을 가지고있다. 923 00:45:27,830 --> 00:45:30,190 이 데모라는 고유 ID를 가지고있다. 924 00:45:30,190 --> 00:45:33,740 여기선 내가 스크립트 태그가 즉, 다음의 코드를 실행합니다. 925 00:45:33,740 --> 00:45:37,720 그것은 해당 노드에 부착 그것에 나무에 제출의 926 00:45:37,720 --> 00:45:40,260 재산 여기에이 기능을 사용하지 않음. 927 00:45:40,260 --> 00:45:44,310 단지 브라우저가 작동하는 방식의 특성상, 지금 제출 또는 Enter 키를 누르 클릭하면, 928 00:45:44,310 --> 00:45:45,889 이 함수는 호출되는 것입니다. 929 00:45:45,889 --> 00:45:48,680 이 때문에 이름을 필요로하지 않는다 도대체이 호출 무슨 상관입니까. 930 00:45:48,680 --> 00:45:52,540 이제까지 얻을 것 만 시간 나는이 양식을 제출 때 호출이다. 931 00:45:52,540 --> 00:45:55,130 나에게 아무 필요도 없다, 인간의 개발자, 932 00:45:55,130 --> 00:45:57,330 실제로 다른 곳을 호출합니다. 933 00:45:57,330 --> 00:46:00,720 >> 지금은 그냥 맛보기로, 그 것처럼 충분한 굽힘 상관하지 않았다, 934 00:46:00,720 --> 00:46:03,330 우리는 심지어이 만들 수 있습니다 따라 암호화 사용을 보면 935 00:46:03,330 --> 00:46:05,850 슈퍼 인기있는 라이브러리는 jQuery를 불렀다. 936 00:46:05,850 --> 00:46:08,760 사실 jQuery를 자바 스크립트에서 종종으로 융합되어있다. 937 00:46:08,760 --> 00:46:12,790 그리고 우리가 수요일에 할 것이다 것은 시작이다 이 언어 이들 라이브러리를 사용하여 938 00:46:12,790 --> 00:46:16,030 점점 비동기 구축 동적 응용 프로그램 939 00:46:16,030 --> 00:46:18,950 지도처럼 점점 응용 프로그램, 응용 프로그램 940 00:46:18,950 --> 00:46:22,360 즉 실제의 웹 페이지를 업데이트 시간, 많은 페이스 북이나 Gchat 같은 941 00:46:22,360 --> 00:46:27,130 할, 더 이상 자신을 한정하지 GET하거나 우편으로 제출 타격 942 00:46:27,130 --> 00:46:27,630 혼자. 943 00:46:27,630 --> 00:46:29,055 그래서 나는 수요일에 표시됩니다. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [음악 연주] 946 00:46:35,550 --> 00:48:09,728