1 00:00:00,000 --> 00:00:02,405 >> [음악 재생] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 데이비드 마란 : 좋아,이 CS50입니다. 4 00:00:11,980 --> 00:00:13,740 이 주 팔의​​ 끝입니다. 5 00:00:13,740 --> 00:00:15,887 그리고 오늘, 우리는 시작 일부 조각을 채우기 위해 6 00:00:15,887 --> 00:00:17,720 이 건물에 관해서 웹에 일. 7 00:00:17,720 --> 00:00:20,020 그래서, 월요일에 그 리콜 우리는 더 많은 시간을 보내고 8 00:00:20,020 --> 00:00:22,530 PHP에있는이 역동적이다 프로그래밍 언어 그 9 00:00:22,530 --> 00:00:26,872 다른 가운데, 우리에게 출력을 할 수 있습니다 일, HTML 및 기타 내용 10 00:00:26,872 --> 00:00:27,830 우리는보고 싶은거야. 11 00:00:27,830 --> 00:00:30,871 그러나 우리는 정말 방법을 못 봤어 우리는 어떤 정보를 저장하는 것입니다. 12 00:00:30,871 --> 00:00:34,477 사실, 거의 모든이의 슈퍼 오늘 방문 흥미로운 웹 사이트 13 00:00:34,477 --> 00:00:36,560 데이터베이스의 일종 백 엔드에, 오른쪽? 14 00:00:36,560 --> 00:00:39,540 페이스 북은 확실히 많은 양의 데이터를 저장 에 대한 모든 우리와의 Gmail 상점의 모든 15 00:00:39,540 --> 00:00:40,210 당신의 전자 우편의. 16 00:00:40,210 --> 00:00:44,150 >> 그리고, 많은 다른 사이트는 아니다 정보의 정적 콘텐츠. 17 00:00:44,150 --> 00:00:45,640 그것은 어떤 식 으로든 실제로 동적입니다. 18 00:00:45,640 --> 00:00:48,480 당신은 입력, 그것은 업데이트 제공 다른 사람들을위한 페이지. 19 00:00:48,480 --> 00:00:50,620 당신은 당신이 보내는 메시지를 얻을 등 메시지 및. 20 00:00:50,620 --> 00:00:54,250 그래서 오늘, 우리는에서 자세히 살펴 프로젝트의 토대 21 00:00:54,250 --> 00:00:57,330 당신은 다음에 뛰어거야 주, CS50 금융, 어떤 22 00:00:57,330 --> 00:01:00,509 실제로 구축해야 할 것입니다 하지 C에서,하지만 PHP에서 뭔가. 23 00:01:00,509 --> 00:01:02,550 보이는 웹 사이트 이 같은 작은 선물 24 00:01:02,550 --> 00:01:05,810 즉, 구매 및 판매 할 수 있습니다 실제로 주식 25 00:01:05,810 --> 00:01:09,044 실시간에 그릴 것 야후 금융에서 주식 데이터. 26 00:01:09,044 --> 00:01:11,960 그리고 궁극적으로, 당신은있을 것이다 자신을 위해 사용자에 대한 환상 27 00:01:11,960 --> 00:01:14,550 당신은 실제로 사고 파는 있다는 것을 주식과 거의 실시간으로 받고 28 00:01:14,550 --> 00:01:16,800 업데이트, 관리 포트폴리오, 모두의 29 00:01:16,800 --> 00:01:20,310 데 요구하는 것입니다, 궁극적으로, 사용자의 데이터베이스. 30 00:01:20,310 --> 00:01:23,330 >> 그래서, 당신 자신의 말로, 당신은 아니에요 특히 31 00:01:23,330 --> 00:01:25,670 컴퓨터와 슈퍼 익숙한 과학이나 데이터베이스, 무엇을 32 00:01:25,670 --> 00:01:30,790 데이터베이스를 아는 것은 할 수 지금, 비 기술적 인 측면에서? 33 00:01:30,790 --> 00:01:32,300 그것은 무엇인가? 34 00:01:32,300 --> 00:01:36,882 당신은 그것을 설명하는 방법 룸메이트 또는 친구에게? 35 00:01:36,882 --> 00:01:40,100 >> 청중 : [들리지] 정보 [들림] 36 00:01:40,100 --> 00:01:44,430 >> 데이비드 마란 : 그래서, 정보 목록, 또는 정보의리스트를 store-- 37 00:01:44,430 --> 00:01:47,160 당신은 저장할 수 있음 사용자가 같은 약. 38 00:01:47,160 --> 00:01:50,190 그리고 사용자가 무엇을 그들과 관련된? 39 00:01:50,190 --> 00:01:53,160 당신은 페이스 북이나의 사용자의 경우 지메일, 특징은 무엇인가 40 00:01:53,160 --> 00:01:54,940 있음을 우리 모두는 사용자가? 41 00:01:54,940 --> 00:01:58,530 마찬가지로, 어떤 일이 몇 가지있을 수 있습니다 스프레드 시트의 열에있는 우리 42 00:01:58,530 --> 00:01:59,390 지난 시간에 언급? 43 00:01:59,390 --> 00:02:01,140 다시, 당신이 할 수 있기 때문에 데이터베이스의 생각 44 00:02:01,140 --> 00:02:05,810 정말 멋진 Excel 파일 또는 Google로 스프레드 시트 또는 Apple 번호 ​​파일. 45 00:02:05,810 --> 00:02:08,280 >> 그래서, 당신은 어떻게 생각합니까 당신은 사용자에 대해 어떻게 생각하면? 46 00:02:08,280 --> 00:02:11,290 그들이 무엇을해야합니까? 47 00:02:11,290 --> 00:02:11,790 그게 뭔데? 48 00:02:11,790 --> 00:02:12,470 >> 청중 : 이름. 49 00:02:12,470 --> 00:02:13,303 >> 데이비드 마란 : 이름. 50 00:02:13,303 --> 00:02:16,840 그렇다면 이름처럼, 데이비드 마란 일부 사용자의 이름이 될 것이다. 51 00:02:16,840 --> 00:02:17,980 사용자는 다른 무엇을해야합니까? 52 00:02:17,980 --> 00:02:18,770 >> 청중 : ID입니다. 53 00:02:18,770 --> 00:02:19,561 >> 데이비드 마란 : ID입니다. 54 00:02:19,561 --> 00:02:23,320 그래서, 당신의 하버드 같은 ID 번호, 등 ID 또는 예일 넷 ID 등. 55 00:02:23,320 --> 00:02:24,923 사용자는 다른 무엇을 가지고 있는가? 56 00:02:24,923 --> 00:02:25,890 >> 청중 : 비밀번호. 57 00:02:25,890 --> 00:02:29,240 >> 데이비드 마란 : 아마 암호, 주소, 어쩌면 전화 번호, 어쩌면 58 00:02:29,240 --> 00:02:30,050 이메일 주소를 입력합니다. 59 00:02:30,050 --> 00:02:32,640 그래서, 필드 및이의 다발있다 일종의 통제 불능 나선형 수 60 00:02:32,640 --> 00:02:34,760 빨리 빨리 시작으로 오,이 해 저장할 수 있도록, 실현 61 00:02:34,760 --> 00:02:36,190 과의는 이것 저것을 저장 할 수 있습니다. 62 00:02:36,190 --> 00:02:37,657 >> 하지만 어떻게 우리가 실제로 그렇게 할 수 있습니까? 63 00:02:37,657 --> 00:02:39,740 그래서 다시, 정신 모델 오늘 갖도록 우리 64 00:02:39,740 --> 00:02:42,320 실제 SQL로 다이빙, 구조적 쿼리 언어, 65 00:02:42,320 --> 00:02:44,186 이처럼 보이는 데이터베이스입니다. 66 00:02:44,186 --> 00:02:45,310 그것은 단지 행과 열을합니다. 67 00:02:45,310 --> 00:02:48,309 그리고 당신은 Google 스프레드 시트를 상상할 수 또는 다른 프로그램의 수. 68 00:02:48,309 --> 00:02:52,130 하지만 MySQL을 약 키는 무엇입니까 데이터베이스 소프트웨어 우리가 사용하는거야, 69 00:02:52,130 --> 00:02:54,920 자유롭게 공개 페이스 북 사용을 available-- 70 00:02:54,920 --> 00:02:59,200 그것과 다른 websites--의 수 데이터베이스는 관계형으로 물건을 저장합니다. 71 00:02:59,200 --> 00:03:01,770 그리고 관계형 데이터베이스 그냥 말 그대로 하나의 의미 72 00:03:01,770 --> 00:03:03,672 행 및 열 데이터를 저장한다. 73 00:03:03,672 --> 00:03:04,630 그것은 그렇게 간단합니다. 74 00:03:04,630 --> 00:03:07,230 >> 그래서, 오라클 등도 뭔가 그 당신은 일반적으로 들었을 수도 75 00:03:07,230 --> 00:03:08,271 관계형 데이터베이스이다. 76 00:03:08,271 --> 00:03:10,929 그리고 후드 아래에, 그것을 행 및 열 데이터를 저장한다. 77 00:03:10,929 --> 00:03:12,970 그리고 오라클은 당신을 청구 많은 돈은 그렇게, 78 00:03:12,970 --> 00:03:15,550 MySQL의 요금 반면, 동일한에 대한 당신은 아무것도 없습니다. 79 00:03:15,550 --> 00:03:18,790 그래서, SQL은 우리에게 줄 것입니다 적어도 4 개의 조작. 80 00:03:18,790 --> 00:03:23,190 읽기와 같은 데이터를 선택하는 기능 데이터를 삽입, 삭제 및 업데이트 데이터. 81 00:03:23,190 --> 00:03:25,525 즉, 그것들은 아르 정말 네​​ 개의 키 조작 82 00:03:25,525 --> 00:03:28,950 즉, 우리가 변경할 수 있도록거야 그 행과 열에서 물건. 83 00:03:28,950 --> 00:03:33,250 >> 우리는 특히 오늘날 사용합니다 도구 SQL을 배우고 그것으로 재생 84 00:03:33,250 --> 00:03:34,627 다시 PHP MyAdmin라고합니다. 85 00:03:34,627 --> 00:03:35,460 이 웹 기반 도구입니다. 86 00:03:35,460 --> 00:03:38,200 총 우연의 일치가 그것은 PHP로 작성된 것. 87 00:03:38,200 --> 00:03:42,400 그러나 그것은 우리에게 그래픽을 줄 것 사용자 인터페이스 우리가 실제로 할 수 있도록 88 00:03:42,400 --> 00:03:46,054 이러한 행과 열을 생성 다음 코드를 통해 그들에게 이야기한다. 89 00:03:46,054 --> 00:03:47,970 그래서, 지금에 시작하자 내가 생각하는 것은 솔직히입니다 90 00:03:47,970 --> 00:03:51,000 의 재미 공정 가지 웹 사이트의 백 엔드를 구축, 91 00:03:51,000 --> 00:03:54,580 사용자에게는없는 부분 볼 수 있지만, 확실히에 대한 관리를 수행 92 00:03:54,580 --> 00:03:56,170 그 때문에 데이터의가는 오히려. 93 00:03:56,170 --> 00:03:59,570 C와 너무 유사 덜 PHP와 같은 작은, 94 00:03:59,570 --> 00:04:04,954 SQL, 또는 지원하는 데이터베이스 SQL은 적어도 이러한 데이터 형식을 가지고 95 00:04:04,954 --> 00:04:05,870 다른 사람의 무리가. 96 00:04:05,870 --> 00:04:08,107 CHAR, VARCHAR, INT, BIGINT, 10 진수를 DATETIME. 97 00:04:08,107 --> 00:04:09,940 그리고 전체있다 다른 기능의 무리, 98 00:04:09,940 --> 00:04:11,940 하지만 이제이 작업을 수행 할 수 실제 예로서. 99 00:04:11,940 --> 00:04:16,450 >> 나는 CS50 IDE에 갈거야 여기서, 미리, 나는에 로그인 한 100 00:04:16,450 --> 00:04:19,372 나는 또한 URL을 방문한 PHP MyAdmin이라는 도구입니다. 101 00:04:19,372 --> 00:04:22,580 그리고 문제가 일곱을 설정, 우리는 말할 것이다 당신은 정확히이 인터페이스에 도착합니다 102 00:04:22,580 --> 00:04:23,200 뿐만 아니라. 103 00:04:23,200 --> 00:04:25,640 왼쪽 상단 모서리에, 알이 강의를 말한다. 104 00:04:25,640 --> 00:04:27,610 그리고는 것을 의미 사전에, 내가 만든 105 00:04:27,610 --> 00:04:31,360 빈 데이터베이스라는 강의 그 아직에는 스프레드 시트가 없습니다. 106 00:04:31,360 --> 00:04:32,600 어떤 행과 열이 없습니다. 107 00:04:32,600 --> 00:04:34,308 첫 번째 때문에 일이 우리가 할거야 108 00:04:34,308 --> 00:04:37,100 테이블을 작성하기 시작한다 즉, 우리의 사용자를 저장하는 것입니다. 109 00:04:37,100 --> 00:04:39,100 >> 그래서, 말 그대로 이상 여기에서 오른쪽으로, 내가 해요 110 00:04:39,100 --> 00:04:42,070 데이터베이스를 말하려고 나는 테이블 사용자라고 할 수 있습니다. 111 00:04:42,070 --> 00:04:44,845 그래서,이 파일처럼 그 나는 내 모든 데이터를 저장할. 112 00:04:44,845 --> 00:04:45,720 그리고 얼마나 많은 열? 113 00:04:45,720 --> 00:04:47,740 음, 지금은 간단하게 할 수 있습니다. 114 00:04:47,740 --> 00:04:51,855 난 그냥 같이 저장할 사용자 이름과 사용자 이름을 입력합니다. 115 00:04:51,855 --> 00:04:53,020 우리는 작은 시작합니다. 116 00:04:53,020 --> 00:04:55,370 그래서 나는 두 개의 열 총을 원한다. 117 00:04:55,370 --> 00:04:57,360 내가 가서 이동을 클릭하겠습니다. 118 00:04:57,360 --> 00:04:59,210 그리고 나서, 이러한 열, 내가 무엇을하려고 해요 119 00:04:59,210 --> 00:05:04,576 이 인터넷 경우 do--하기 모든 권리를 cooperates-- 120 00:05:04,576 --> 00:05:05,950 그래서 우리는 다시 시도하는 것입니다. 121 00:05:05,950 --> 00:05:09,180 나는라는 테이블을 만들거야 두 개의 열, 사용자는 확인, 이동을 클릭합니다. 122 00:05:09,180 --> 00:05:10,520 이제 우리는 정말 빨리있어. 123 00:05:10,520 --> 00:05:12,065 아주 잘, 감사합니다. 124 00:05:12,065 --> 00:05:14,440 좋아, 그래서 우리가 원하는 무엇을 이 열은 호출 할 수 있습니까? 125 00:05:14,440 --> 00:05:16,080 >> 그래서, 하나는 이름 호출 할 것입니다. 126 00:05:16,080 --> 00:05:19,480 here-- 및 인터페이스 그래서, 모두가 내가 볼 솔직히, 결국 조금 못생긴 도착 127 00:05:19,480 --> 00:05:21,270 당신이 한 번이 모든 데이터를 입력 시작합니다. 128 00:05:21,270 --> 00:05:27,450 그러나 좋은 것은 그런 종류입니다 역설적으로, 나는 열을 만드는거야, 129 00:05:27,450 --> 00:05:29,977 하지만이 도구는 어리석게도있다 행에서 그들을 배치 130 00:05:29,977 --> 00:05:31,560 그래서 나는이 열을 구성 할 수 있습니다. 131 00:05:31,560 --> 00:05:33,550 그래서, 이름에서 두 개의 공백이있다. 132 00:05:33,550 --> 00:05:36,180 그리고 이러한 필드 중 하나의 I 아이디라고 할, 133 00:05:36,180 --> 00:05:38,000 다른 필드는 내가 이름을 호출 할 수 있습니다. 134 00:05:38,000 --> 00:05:40,340 >> 그리고 지금은 선택해야 이러한 것들에 대한 데이터 유형. 135 00:05:40,340 --> 00:05:42,330 그래서, Excel에서 반면, 구글 스프레드 시트, 136 00:05:42,330 --> 00:05:45,531 당신이 열을 원하는 경우, 당신 그대로 단지 이름이나 사용자 이름을 입력, Enter 키를 누르십시오. 137 00:05:45,531 --> 00:05:48,030 어쩌면 당신은 굵게 만들 단지 명확성을 위해,하지만 그것 뿐이다. 138 00:05:48,030 --> 00:05:50,140 당신을 지정하지 컬럼의 종류. 139 00:05:50,140 --> 00:05:53,790 이제 구글 스프레드 시트 또는 Excel 당신에 데이터가 렌더링되는 방법을 지정할 수 있습니다. 140 00:05:53,790 --> 00:05:58,120 당신은 서식 메뉴로 이동하고 수 이 같은 달러 기호를 표시 지정할 수 있습니다, 141 00:05:58,120 --> 00:05:59,900 부동 소수점 값이 같은 표시. 142 00:05:59,900 --> 00:06:01,990 >> 그래서, 그것은 정신에는 변함이있어 우리가하려고하는지 그, 143 00:06:01,990 --> 00:06:04,740 그러나 이것은 실제로 강제 것입니다 데이터는 특정 유형이어야합니다. 144 00:06:04,740 --> 00:06:07,750 이제,도 잠시 전에 생각 나는 단지 소수의 데이터 형식 거기 상기 145 00:06:07,750 --> 00:06:11,120 실제로있다 훨씬, 그들은있어 146 00:06:11,120 --> 00:06:12,910 특이성의 다양한 각도에서. 147 00:06:12,910 --> 00:06:14,970 그리고 옆으로, 당신 심지어 멋진 일을 할 수있다 148 00:06:14,970 --> 00:06:17,520 저장 형상 등 데이터베이스의 내부. 149 00:06:17,520 --> 00:06:19,250 당신은 일을 저장할 수 있습니다 GPS 좌표 등 150 00:06:19,250 --> 00:06:22,420 실제로, 수학적 발견 다른 사람에 가까운 점. 151 00:06:22,420 --> 00:06:24,128 그러나 우리는 갈거야 이 슈퍼 간단한 유지 152 00:06:24,128 --> 00:06:26,800 그리고, 여기에 모두 올라 소위 문자열 타입. 153 00:06:26,800 --> 00:06:29,240 >> 그래서, 여기의 목록입니다 옵션의 전체 무리. 154 00:06:29,240 --> 00:06:32,740 CHAR, VARCHAR, TINYTEXT, MEDIUMTEXT, LONGTEXT. 155 00:06:32,740 --> 00:06:34,110 그리고 그것은 압도적 가지입니다. 156 00:06:34,110 --> 00:06:37,610 그리고 불행하게도, 약간 역설적으로 C에, 157 00:06:37,610 --> 00:06:40,120 CHAR 정말 CHAR 없습니다. 158 00:06:40,120 --> 00:06:44,170 당신은 데이터베이스에 지정하는 경우 데이터 유형이 CHAR 즉, 159 00:06:44,170 --> 00:06:47,390 즉 예, 그것은을 것을 의미 CHAR는 있지만, 하나 이상의 문자이다. 160 00:06:47,390 --> 00:06:49,630 그리고 당신은 지정해야 얼마나 많은 문자 당신이 원하는. 161 00:06:49,630 --> 00:06:51,636 그럼, 전형적인있어 사용자 이름의 길이는? 162 00:06:51,636 --> 00:06:52,760 한계는 일반적으로이 있습니까? 163 00:06:52,760 --> 00:06:53,920 >> 청중 : [들리지] 164 00:06:53,920 --> 00:06:55,050 >> 데이비드 마란 : 16 아마? 165 00:06:55,050 --> 00:06:55,990 뭐 그런. 166 00:06:55,990 --> 00:06:57,948 당신은 다시, 알고 일,이 여덟을 사용. 167 00:06:57,948 --> 00:07:00,289 때로는 16 때로는이다 는 것보다 훨씬 더. 168 00:07:00,289 --> 00:07:02,080 그래서,이하지 않습니다 나에게 하나의 CHAR을 제공 의미한다. 169 00:07:02,080 --> 00:07:04,730 이것은 내가 지정하는 것을 의미합니다 필드의 길이, 170 00:07:04,730 --> 00:07:07,402 지금은 16 뭔가를 말할 수 있습니다. 171 00:07:07,402 --> 00:07:08,610 그리고 여기에 트레이드 오프가있다. 172 00:07:08,610 --> 00:07:11,360 그래서, 우리는 순간에 볼 수 있습니다 이 하나의 의미, 173 00:07:11,360 --> 00:07:14,620 모든 사용자 이름은 16 자이어야한다. 174 00:07:14,620 --> 00:07:18,720 그러나 분, M-A-L-A-N을 기다립니다. 그건 경우 내 이름과 내가 다섯을 사용하고, 175 00:07:18,720 --> 00:07:23,070 데이터베이스가 무엇을 제안 할 것이다 다른 11 문자를 수행하는 그 176 00:07:23,070 --> 00:07:24,471 나는 공간을 예약했다? 177 00:07:24,471 --> 00:07:25,220 당신은 무엇을 할 것인가? 178 00:07:25,220 --> 00:07:26,480 >> 청중 : [들리지] 179 00:07:26,480 --> 00:07:27,160 >> 데이비드 마란 : 그래, 그냥 그들 모두 널 (null)합니다. 180 00:07:27,160 --> 00:07:28,290 그들에게 공간을 확인합니다. 181 00:07:28,290 --> 00:07:30,816 그러나 아마 널 (null), 그래서 백 슬래시 제로의 많은. 182 00:07:30,816 --> 00:07:33,190 따라서, 한편으로, 우리는했습니다 지금은 내 이름 것​​을 확인했다 183 00:07:33,190 --> 00:07:34,780 16 자 이하가 될 수 있습니다. 184 00:07:34,780 --> 00:07:37,590 그리고 그의 플립 측면이다 그 나는 정말로 긴 이름을 가지고있는 경우 185 00:07:37,590 --> 00:07:39,940 또는 정말 오래 원 당신의 일부처럼 username을 186 00:07:39,940 --> 00:07:44,840 사람이 그 대학에있을 수 있습니다 또는 Yale.edu에서, 당신은 하나를 가질 수 없습니다. 187 00:07:44,840 --> 00:07:47,177 그리고 사실, 당신은했습니다 경우 이제까지 웹 사이트에 등록 188 00:07:47,177 --> 00:07:49,385 당신이 말하는 소리 쳤다 얻을 비밀번호가 너무 길어 189 00:07:49,385 --> 00:07:52,710 또는 사용자 이름은이다, 너무 오래입니다 단순히 프로그래머, 때 때문에 190 00:07:52,710 --> 00:07:55,500 자신의 데이터베이스를 구성, 결정이 필드 것 191 00:07:55,500 --> 00:07:57,150 더 이상이 길이보다 수 없습니다. 192 00:07:57,150 --> 00:08:00,580 >> 좋아, 그래서 만약에 우리는 이름을 계속? 193 00:08:00,580 --> 00:08:05,240 얼마나해야 보통 사람의 이름은? 194 00:08:05,240 --> 00:08:07,492 얼마나 많은 문자, 16? 195 00:08:07,492 --> 00:08:09,450 나는 우리가 할 수 같은데요 이 방에있는 사람을 찾아 196 00:08:09,450 --> 00:08:13,210 여기서 마지막으로 자신의 첫 번째 플러스로 이름은 16 자 이상입니다. 197 00:08:13,210 --> 00:08:14,850 그래서, 17보다 더 나은 무엇입니까? 198 00:08:14,850 --> 00:08:17,040 18? 199 00:08:17,040 --> 00:08:18,830 25? 200 00:08:18,830 --> 00:08:20,350 더 큰? 201 00:08:20,350 --> 00:08:20,980 30? 202 00:08:20,980 --> 00:08:21,855 >> 청중 : [들리지] 203 00:08:21,855 --> 00:08:23,700 데이비드 마란 : 5,000, 나의 하나님 오. 204 00:08:23,700 --> 00:08:26,309 그래서, 아마 괜찮은이다 상단, 행하여야한다 우리는 말한다. 205 00:08:26,309 --> 00:08:28,350 그리고 여기에 우리는 가지가 판단 통화를 할 수 있습니다. 206 00:08:28,350 --> 00:08:30,400 마찬가지로, 여기에는 정답이 없다. 207 00:08:30,400 --> 00:08:32,740 무한 꽤 할 수 없습니다 우리가 결국이기 때문에 208 00:08:32,740 --> 00:08:34,781 우린 잔 마셔요 것 메모리가 부족할 것. 209 00:08:34,781 --> 00:08:36,909 그래서, 우리는을해야 어떤 점에서 판단 호출. 210 00:08:36,909 --> 00:08:41,010 >> 매우 일반적인 것, 예를 들면, use-- 나 여기 CHAR을 지정할 수 있도록 211 00:08:41,010 --> 00:08:46,050 같은 before-- (255)는 그대로였다 이 데이터베이스 소프트웨어에 상한 212 00:08:46,050 --> 00:08:46,700 몇 년 전에. 213 00:08:46,700 --> 00:08:48,575 그리고 인간의 너무 많이 잘 말할 것입니다. 214 00:08:48,575 --> 00:08:49,420 255 한계입니다. 215 00:08:49,420 --> 00:08:50,620 그냥 최대를 사용하자. 216 00:08:50,620 --> 00:08:51,870 그리고이 꽤 말도 안돼. 217 00:08:51,870 --> 00:08:55,060 마찬가지로, 당신은 누군가의 입력하는 경우 200 플러스 문자의 이름, 218 00:08:55,060 --> 00:08:56,140 조금 말도있다. 219 00:08:56,140 --> 00:08:59,624 >> 하지만, ASCII가 아닌 기억 문자에 대한 유일한 시스템입니다. 220 00:08:59,624 --> 00:09:01,540 그리고, 특히에 아시아 언어의 많은 221 00:09:01,540 --> 00:09:04,248 문자가 어디 우리는 할 수 없습니다 내 미국과 같은 키보드에 표현 222 00:09:04,248 --> 00:09:08,209 키보드, 실제로 일부 문자 16 비트 대신 8 비트를 차지합니다. 223 00:09:08,209 --> 00:09:10,250 그리고,이 실제로 모든 부당하지 않다 224 00:09:10,250 --> 00:09:12,250 우리는 더 필요 공간이 우리에 맞게하려면 225 00:09:12,250 --> 00:09:16,252 바로 미국보다 큰 문자 중심 것들 우리가 논의하는 경향이있어. 226 00:09:16,252 --> 00:09:17,460 그래서, 우리는 약간의 상한이 필요합니다. 227 00:09:17,460 --> 00:09:21,470 나는 최고의 하나가 무엇인지 모른다 하지만 255은 일반적으로 공통입니다. 228 00:09:21,470 --> 00:09:22,700 25 낮은 느낀다. 229 00:09:22,700 --> 00:09:23,857 16, 32는 낮은 느낌. 230 00:09:23,857 --> 00:09:25,690 나는 측에 잘못 것 더 높은 무엇인가. 231 00:09:25,690 --> 00:09:27,330 하지만 무역은 항상 꺼져있다. 232 00:09:27,330 --> 00:09:31,902 아마도, 분명 무엇인가 255 문자를 예약의 해제 무역 233 00:09:31,902 --> 00:09:33,360 내 데이터베이스에있는 모든 사람의 이름을 검색 하시나요? 234 00:09:33,360 --> 00:09:34,230 >> 청중 : [들리지] 235 00:09:34,230 --> 00:09:34,510 >> 데이비드 마란 : 무엇입니까? 236 00:09:34,510 --> 00:09:35,430 >> 청중 : [들리지] 237 00:09:35,430 --> 00:09:37,138 >> 데이비드 마란 : 그것은이다 메모리의 많은, 오른쪽? 238 00:09:37,138 --> 00:09:42,280 M-A-L-A-N. 난 그냥 250을 낭비 문자는 그냥 내 이름을 저장합니다 239 00:09:42,280 --> 00:09:46,000 수비, 단지의 경우에있는 사람 클래스에 정말로 긴 이름이 있습니다. 240 00:09:46,000 --> 00:09:47,940 즉, 과도한 절충처럼 보인다. 241 00:09:47,940 --> 00:09:52,040 >> 그래서, 그 SQL을 밝혀 이 데이터베이스 언어, 242 00:09:52,040 --> 00:09:55,480 실제로 뭔가를 지원합니다 VARCHAR 또는 CHAR 변수가 호출. 243 00:09:55,480 --> 00:09:59,390 그리고 이것은 그이있는 종류의 좋은 당신은 고정를 지정할 수 있습니다 244 00:09:59,390 --> 00:10:01,900 폭이 아니라, 가변 폭. 245 00:10:01,900 --> 00:10:05,060 보다 구체적으로는, 필드의 최대 폭입니다. 246 00:10:05,060 --> 00:10:08,901 그래서,이 이름 수 있음을 의미 더 이상 250 자, 247 00:10:08,901 --> 00:10:10,150 그러나 그것은 확실히 적은 수 있습니다. 248 00:10:10,150 --> 00:10:11,733 그리고 데이터베이스는 스마트 될 것입니다. 249 00:10:11,733 --> 00:10:14,860 당신은 M-A-L-A-N에 넣어 경우, 그것은 단지, 다섯을 사용하는거야 250 00:10:14,860 --> 00:10:18,120 어쩌면 여섯 바이트 등 뒤에 널 문자, 251 00:10:18,120 --> 00:10:23,330 그리고 추가로 지출하지 불필요하게 249 또는 250 바이트. 252 00:10:23,330 --> 00:10:27,380 >> 그래서,이게 내가해야 것 같아 이 이야기를 시작했다. 253 00:10:27,380 --> 00:10:29,140 그러나 항상 상충 관계가있다. 254 00:10:29,140 --> 00:10:33,024 따라서, 한편으로는 자명 I했습니다 하드 16에서 부호화 대상 지정 255 00:10:33,024 --> 00:10:34,940 어쩌면 그게 아니었다 오른쪽 전화, 어쩌면 그것을 256 00:10:34,940 --> 00:10:40,040 하지만, 왜 사용하지 모든 것을으로 VARCHAR? 257 00:10:40,040 --> 00:10:42,020 >> 그것은 이유가 존재한다. 258 00:10:42,020 --> 00:10:46,200 왜 모든 필드으로 VARCHAR를 사용하지 길이가 사전에 몰라 259 00:10:46,200 --> 00:10:48,180 그것은 바로, 좋은 일이 될 것 같다면? 260 00:10:48,180 --> 00:10:50,482 만큼만​​ 공간을 사용 이 한계까지해야합니까? 261 00:10:50,482 --> 00:10:51,271 >> 청중 : 느린. 262 00:10:51,271 --> 00:10:52,146 데이비드 마란 : 도전자? 263 00:10:52,146 --> 00:10:53,120 청중 : 느리게 만든다? 264 00:10:53,120 --> 00:10:53,970 데이비드 마란 : 아,이 느리다. 265 00:10:53,970 --> 00:10:55,720 좋은, 그것은 거의 항상 대답은, 솔직히. 266 00:10:55,720 --> 00:10:56,520 마찬가지로, 트레이드 오프는 무엇입니까? 267 00:10:56,520 --> 00:10:58,570 그 중 하나는 더 많은 공간 비용 아니면 더 많은 시간을 요한다. 268 00:10:58,570 --> 00:11:00,111 그래서,이 경우에는, 느려질 수 있습니다. 269 00:11:00,111 --> 00:11:00,920 왜? 270 00:11:00,920 --> 00:11:05,830 >> 청중 : [들리지] [들림] 결정. 271 00:11:05,830 --> 00:11:06,640 >> 데이비드 마란 : 좋은. 272 00:11:06,640 --> 00:11:09,670 그래서, 당신도에서 기억 수도 있습니다 PSED5은, 당신의 접근 방식을 가지고 노는 273 00:11:09,670 --> 00:11:12,750 사전에, 당신이해야하는 경우 동적으로 메모리를 할당하거나 유지 274 00:11:12,750 --> 00:11:14,630 있다는 버퍼 성장 실제로 속도가 느려질 수 있습니다. 275 00:11:14,630 --> 00:11:16,963 당신이 malloc을 호출해야하는 경우 후드 아래에 아마 276 00:11:16,963 --> 00:11:19,610 즉, MySQL은 그래서, 무엇을하고 있는지의 확실히 그 사건이 될 수 있습니다. 277 00:11:19,610 --> 00:11:22,430 그리고 당신은 방법을 생각하는 경우 다시도 PSet--하거나 278 00:11:22,430 --> 00:11:26,340 같은 주에 두, 우리가 한 일 이진 검색 또는 선형 검색, 279 00:11:26,340 --> 00:11:30,690 모든 단어에 대한 좋은 것들 중 하나 열에서 데이터베이스 또는 모든 단어 280 00:11:30,690 --> 00:11:33,690 심지어, 정확히 동일한 길이 인 경우 해당 문자의 전체 무리 281 00:11:33,690 --> 00:11:37,390 비어있는, 당신이 사용할 수 있다는 것입니다 데이터에 랜덤 액세스, 오른쪽? 282 00:11:37,390 --> 00:11:40,310 >> 당신은 모든 것을 알고있는 경우 워드는 16 자 거리 283 00:11:40,310 --> 00:11:46,460 당신은 그렇게, 포인터 연산을 사용할 수 있습니다 말, 우리로 이동 16, 32, 48, 64, 284 00:11:46,460 --> 00:11:49,589 당신은 이동할 수 있습니다 즉시 연산을 사용하여 285 00:11:49,589 --> 00:11:51,130 데이터베이스에있는 단어 중 하나에. 286 00:11:51,130 --> 00:11:54,280 이 VARCHAR의 경우 반면에, 당신은 무엇을 대신해야합니까? 287 00:11:54,280 --> 00:11:55,960 >> [전화벨] 288 00:11:55,960 --> 00:11:58,680 >> 이 VARCHAR의 경우, 임의 접근을 사용할 수 없다. 289 00:11:58,680 --> 00:12:01,341 당신은 무엇을 찾거나 할 필요가? 290 00:12:01,341 --> 00:12:01,840 그래? 291 00:12:01,840 --> 00:12:03,240 >> 청중 : [들리지] 292 00:12:03,240 --> 00:12:04,310 >> 데이비드 마란 : 봐 whole-- 추적을 통해 293 00:12:04,310 --> 00:12:06,518 전체 목록을 가장 가능성, 무엇을 찾고 있나요? 294 00:12:06,518 --> 00:12:08,356 특수 값의 종류는? 295 00:12:08,356 --> 00:12:09,230 청중 : [들리지] 296 00:12:09,230 --> 00:12:11,105 데이비드 마란 : 찾고 널 터미네이터 297 00:12:11,105 --> 00:12:13,637 그 단어의 분리를 구별. 298 00:12:13,637 --> 00:12:15,720 그래서 다시, 트레이드 오프, 그리고 권리 대답은 없다. 299 00:12:15,720 --> 00:12:18,380 그러나 이것은 특히, 어디 사용자가 많은 것으로 얻을 때 300 00:12:18,380 --> 00:12:21,700 서버에와 부하, 사람들의 숫자가 높아지면 사용 301 00:12:21,700 --> 00:12:23,650 이러한 사실은 사소하지 않은 결정이다. 302 00:12:23,650 --> 00:12:26,640 그래서, 우리는 이러한 떠날 수 있지만, 의 오른쪽에 위로 아래로 스크롤 할 수 303 00:12:26,640 --> 00:12:27,332 여기에. 304 00:12:27,332 --> 00:12:30,290 이제 열 몇이있다 우리는 판단 호출을해야한다. 305 00:12:30,290 --> 00:12:35,170 그것은 사용자의 있도록 말돼 사용자의 사용자 이름이나 사용자의 이름 306 00:12:35,170 --> 00:12:36,370 null의하는 이름은? 307 00:12:36,370 --> 00:12:37,610 즉, 단지 비어 있습니다. 308 00:12:37,610 --> 00:12:40,360 조금 무의미한 느낌, 그래서 해요 그 확인란을 선택하지 않을. 309 00:12:40,360 --> 00:12:42,670 그러나 그것은에서 밝혀 데이터베이스, 당신은 말할 수 310 00:12:42,670 --> 00:12:44,620 사람이 임의로 값을 가질 수있다. 311 00:12:44,620 --> 00:12:47,180 이 열은 없습니다 실제로이있을 수 있습니다. 312 00:12:47,180 --> 00:12:48,570 >> 지금,이 드롭 다운 메뉴가있다. 313 00:12:48,570 --> 00:12:50,810 그리고 난 아직도있어주의 이 첫 번째 행에, 314 00:12:50,810 --> 00:12:52,520 그래서 지금은 이름에 대해 이야기하고있다. 315 00:12:52,520 --> 00:12:56,290 그리고, 데이터베이스 밝혀 간단한 단순한 스프레드 시트와는 달리, 316 00:12:56,290 --> 00:12:58,520 인덱스라는 강력한 기능을 가지고 있습니다. 317 00:12:58,520 --> 00:13:02,600 그리고 인덱스는 이야기의 방법입니다 사전에 데이터베이스 나는 인간이 318 00:13:02,600 --> 00:13:03,900 당신보다 더 똑똑입니다. 319 00:13:03,900 --> 00:13:10,430 >> 나는, 쿼리의 종류를 선택 알고 또는 삽입하거나 삭제 또는 업데이트 320 00:13:10,430 --> 00:13:13,182 내 코드는 종료려고하고있다 이 데이터베이스에 일입니다. 321 00:13:13,182 --> 00:13:14,390 I는 많은 양의 데이터를 읽고 자. 322 00:13:14,390 --> 00:13:15,681 나는 많은 양의 데이터를 삽입 할. 323 00:13:15,681 --> 00:13:17,530 나는 끊임없이를 원하는 많은 양의 데이터를 삭제. 324 00:13:17,530 --> 00:13:21,520 나는 될거야 것을 알고있는 경우 많은 자명 같은 필드를 액세스, 325 00:13:21,520 --> 00:13:24,770 나는 선제을 알 수 있습니다 데이터베이스, 나는 당신보다 더 많은 것을 알고 326 00:13:24,770 --> 00:13:29,220 나는 법령에 원하는 당신은 색인이 필드를해야합니다. 327 00:13:29,220 --> 00:13:33,200 필드 또는 열을 인덱싱하는 경우 즉, 사전에 데이터베이스 328 00:13:33,200 --> 00:13:37,040 같은에서 몇 가지 아이디어를 빌려해야한다, 일주일에 4, 5 여섯 CS50에서 329 00:13:37,040 --> 00:13:39,240 실제로 구축 이진 검색과 같은 330 00:13:39,240 --> 00:13:41,560 나무 또는 무엇인가 일반적으로 B 트​​리라고 331 00:13:41,560 --> 00:13:43,410 당신은 배울 것 클래스 같은 CS124에 332 00:13:43,410 --> 00:13:46,710 하버드, 알고리즘 클래스, 또는 다른 장소의 수. 333 00:13:46,710 --> 00:13:49,570 >> 데이터베이스 및 스마트 그것을 구현 사람들 334 00:13:49,570 --> 00:13:53,880 저장하는 방법을 알아낼 것이다 정보의 테이블 335 00:13:53,880 --> 00:13:57,061 메모리 그래서 검색과 다른 작업은 매우 빠르다. 336 00:13:57,061 --> 00:13:58,060 당신은 그것을 할 필요가 없습니다. 337 00:13:58,060 --> 00:14:00,640 당신은 구현할 필요가 없습니다 선형 검색 또는 이진 검색 338 00:14:00,640 --> 00:14:03,300 또는 정렬 또는 선택을 병합 종류, 그 중 하나. 339 00:14:03,300 --> 00:14:06,590 당신이 말한다면 데이터베이스는 당신을 위해 그것을 수행 그것은 선제 인덱스에이 필드. 340 00:14:06,590 --> 00:14:09,100 >> 그리고 당신은 거기에, 너무 볼 수 있습니다 다른 특성 341 00:14:09,100 --> 00:14:11,010 우리는 데이터베이스가 적용 말할 수있다. 342 00:14:11,010 --> 00:14:16,431 나는 고유를 선택하면 그것은 무엇을 의미 할 수 있습니다 이 메뉴에서 바로 직관적으로? 343 00:14:16,431 --> 00:14:16,930 그래? 344 00:14:16,930 --> 00:14:17,889 >> 청중 : [들리지] 345 00:14:17,889 --> 00:14:19,930 데이비드 마란 : 그래, 사용자 이름은 고유해야합니다. 346 00:14:19,930 --> 00:14:23,330 이 좋은 일이나 나쁜 일을위한 사용자와 웹 사이트를위한 데이터베이스? 347 00:14:23,330 --> 00:14:24,965 사용자 이름은 고유해야 하는가? 348 00:14:24,965 --> 00:14:25,880 네, 아마. 349 00:14:25,880 --> 00:14:27,800 그건 경우 어떻게 이 필드를 우리가 로그인 할 때 사용 350 00:14:27,800 --> 00:14:31,867 당신은 정말 사람들이 가지고 싶지 않아 같은 느낌 또는 동일한 사용자 이름. 351 00:14:31,867 --> 00:14:33,700 그래서, 우리는있을 수 있습니다 데이터베이스는 그래서 시행 352 00:14:33,700 --> 00:14:37,880 이제 내 PHP 코드 또는 언어, 나는, 예를 들어, 확인 할 필요가 없습니다 353 00:14:37,880 --> 00:14:41,490 반드시이 이름을 수행 나는 다른 사람이 등록 할 수 전에 존재 하는가? 354 00:14:41,490 --> 00:14:46,690 데이터베이스라는 두 사람을 못하게 데이비드 또는 Malans이 경우 등록합니다. 355 00:14:46,690 --> 00:14:50,030 >> 그리고 옆으로, 심지어이 생각 메뉴는 당신이 하나를 선택할 수 있습니다, 356 00:14:50,030 --> 00:14:54,550 고유 인덱스의 하나입니다 슈퍼 빠른 성능을 위해 인덱스, 357 00:14:54,550 --> 00:14:56,100 뿐만 아니라 고유성을 적용. 358 00:14:56,100 --> 00:14:58,850 그리고 우리는 다시 올 거 야 단지 순간에 의미 다른 두. 359 00:14:58,850 --> 00:15:00,930 한편, 난에 가면 내 두 번째 행, 어떤 360 00:15:00,930 --> 00:15:06,230 사용자의 이름은, 내가 지정해야합니다 이름은 고유해야? 361 00:15:06,230 --> 00:15:09,550 아니, 당신은 확실히 할 수 있기 때문에 잔 마셔요 두 개의 다윗은 없다 362 00:15:09,550 --> 00:15:11,050 이 방에있는 Malans, 대부분. 363 00:15:11,050 --> 00:15:14,290 그러나 우리는 다른 이름을 선택하면, 우리는 반드시 충돌이있을 수 있습니다. 364 00:15:14,290 --> 00:15:16,130 >> 테이블과 같은 해시 다시 생각한다. 365 00:15:16,130 --> 00:15:18,604 그래서, 우리는 확실하지 않으 이름 필드에 고유하게합니다. 366 00:15:18,604 --> 00:15:21,270 그래서, 우리는 떠날거야 그 대시, 대시, 대시, 아무것도있다. 367 00:15:21,270 --> 00:15:22,660 그리고 난 떠날거야 혼자 다른 모든 것들. 368 00:15:22,660 --> 00:15:25,035 사실,이 분야의 가장 우리는 걱정 할 필요가 없습니다. 369 00:15:25,035 --> 00:15:27,830 그리고이 내용을 저장 할 준비가있을 때, , 인터넷이 협력하는 경우 370 00:15:27,830 --> 00:15:35,032 나는 매우, 매우, 매우 저장을 클릭하고, 천천히 데이터베이스가 저장됩니까. 371 00:15:35,032 --> 00:15:37,240 그리고 지금 나는이 다시 해요 인터페이스, 이는 일반적으로 인정 하듯이, 372 00:15:37,240 --> 00:15:38,680 첫눈에 압도적이다. 373 00:15:38,680 --> 00:15:42,450 하지만 내가 할거야 모두 클릭입니다 왼쪽 상단에있는 단어를 사용자에. 374 00:15:42,450 --> 00:15:47,630 내가 여기에 갈거야, 클릭 사용자 및 기준 기본, 그것을 375 00:15:47,630 --> 00:15:50,180 일부 SQL을 실행했지만 잠시 그에 대한 자세한. 376 00:15:50,180 --> 00:15:52,654 여기에 내가 무슨 짓을했는지 그냥 요약입니다. 377 00:15:52,654 --> 00:15:55,320 그리고 당신이 볼 것을 걱정하지 여기에 라틴어와 스웨덴어의 언급. 378 00:15:55,320 --> 00:16:00,490 사람들은 단지 기본이다 설정, 원래의 MySQL 때문에, 379 00:16:00,490 --> 00:16:04,000 또는 PHP MyAdmin는, 두 사람은 무슨 일이 있었 일부 스웨덴어 사람들에 의해 작성된다. 380 00:16:04,000 --> 00:16:06,100 그러나 여기에 우리의 경우에 무관하다. 381 00:16:06,100 --> 00:16:08,280 >> 좋아, 그래서 왜 이 모든 재미? 382 00:16:08,280 --> 00:16:13,050 그것은 밝혀, 나는 데이터를 삽입 할 수 있습니다 코드를 작성하여 데이터베이스에. 383 00:16:13,050 --> 00:16:15,940 내가 가서 해요 여기 내 파일에, 나는 해요 384 00:16:15,940 --> 00:16:19,000 가서 척 것 이것은 해당 데이터베이스에 연결되어있는 385 00:16:19,000 --> 00:16:23,040 그 순간 아니지만 것 우리가 문제에 도착 일곱을 설정하면합니다. 386 00:16:23,040 --> 00:16:25,640 그리고 앞서 갈거야 및 쿼리라는 함수를 실행 387 00:16:25,640 --> 00:16:28,730 이는 우리가 문제에서 당신을 줄 것이다 것을, 일곱의 유통 코드를 설정 388 00:16:28,730 --> 00:16:31,490 적어도 하나의 인자를, 이는 단지 문자열입니다. 389 00:16:31,490 --> 00:16:33,460 SQL 코드의 문자열입니다. 390 00:16:33,460 --> 00:16:36,700 그래서, 당신은 방법을 배울 수있어 구조적 쿼리 언어 물품. 391 00:16:36,700 --> 00:16:41,270 >> 나는에 새 행을 삽입 할 경우 내 데이터베이스 사람이 제출 한 때문에 392 00:16:41,270 --> 00:16:47,600 내 코드 형태로, 말 그대로 것 사용자 삽입 다음 쓰기 393 00:16:47,600 --> 00:16:52,800 필드 : 사용자 이름, 쉼표, 이름, 값, 394 00:16:52,800 --> 00:16:57,480 지금은 삽입해야 마란 및 견적과 같이, 395 00:16:57,480 --> 00:17:01,490 맺다 '데이비드 마란.' 그리고 지금 심지어 SQL에 익숙하지 않은 사람들을 위해, 396 00:17:01,490 --> 00:17:07,830 나는 왜 작은 따옴표를 사용하고 있습니다 이 녹색 문자열의 내부? 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 어떤 이유는 여기에있을 수 있는가? 399 00:17:13,040 --> 00:17:14,609 >> 내가 공동 연합 두 가지 언어이야 알 수 있습니다. 400 00:17:14,609 --> 00:17:18,099 쿼리, PHP 함수입니다 하지만 인수를 사용합니다. 401 00:17:18,099 --> 00:17:21,740 그리고 그 주장은 그 자체가 될 수 라고하는 다른 언어로 작성된 402 00:17:21,740 --> 00:17:23,500 SQL은 쿼리 언어를 구조화. 403 00:17:23,500 --> 00:17:27,940 그래서, 모든 것을 내가 여기 강조 404 00:17:27,940 --> 00:17:30,380 SQL이라는 언어입니다. 405 00:17:30,380 --> 00:17:36,290 그래서, 작은 따옴표로 무엇을, 그냥 빨리 전성 검사로? 406 00:17:36,290 --> 00:17:37,324 어서. 407 00:17:37,324 --> 00:17:37,990 그들은 문자열입니다. 408 00:17:37,990 --> 00:17:41,590 따라서, 인용, 인용을 끝내 마란 및 견적, 인용을 끝내 데이비드 마란은 문자열입니다. 409 00:17:41,590 --> 00:17:45,210 그리고 바로 지금, 직관적으로 생각 당신은 C와 PHP에 대해 알고있는 것을 알고, 410 00:17:45,210 --> 00:17:50,220 내가 왜이 작업을 수행하는 나는 보통하지 않았다 문자열을 사용 따옴표? 411 00:17:50,220 --> 00:17:52,310 왜 그렇게하고 싶지 않았다? 412 00:17:52,310 --> 00:17:52,810 그래? 413 00:17:52,810 --> 00:17:53,685 >> 청중 : [들리지] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 데이비드 마란 : 맞아요. 416 00:17:57,570 --> 00:17:59,653 이미 사용하고 있기 때문에 가는 길에 큰 따옴표 417 00:17:59,653 --> 00:18:01,929 인수의 외부 PHP 함수에, 418 00:18:01,929 --> 00:18:03,470 난 그냥 인터프리터를 혼동한다. 419 00:18:03,470 --> 00:18:04,860 그것은 알 수 없습니다,이 함께 가야합니까? 420 00:18:04,860 --> 00:18:05,735 이 함께 가야합니까? 421 00:18:05,735 --> 00:18:06,810 이 함께 가야합니까? 422 00:18:06,810 --> 00:18:08,070 그래서, 내가 대신 대체. 423 00:18:08,070 --> 00:18:11,784 >> 아니면, 이런 식으로 뭔가를 할 수있는 백 슬래시 따옴표 또는 백 슬래시 따옴표. 424 00:18:11,784 --> 00:18:14,200 솔직히, 그것은 단지 시작 매우 읽을 추한 얻을. 425 00:18:14,200 --> 00:18:16,790 하지만 그 달성 것이다 뿐만 아니라 동일한 결과. 426 00:18:16,790 --> 00:18:19,760 >> 내가 있다면 그래서,이를 실행합니다 쿼리는 지금의 일이 무엇인지 살펴 보자. 427 00:18:19,760 --> 00:18:22,740 지금은 오히려 앞서 갈거야 PHP 코드를 실행하는 것보다 428 00:18:22,740 --> 00:18:24,610 연주 볼 수있는 곳입니다 문제에서, 일곱 설정 429 00:18:24,610 --> 00:18:27,200 내가 대신 PHP MyAdmin에 갈거야. 430 00:18:27,200 --> 00:18:29,770 그리고 수동으로 갈거야 SQL 탭으로 이동하고, 431 00:18:29,770 --> 00:18:31,580 나를 인터페이스를 확대 할 수 있습니다. 432 00:18:31,580 --> 00:18:34,007 그리고 난에 붙여 넣을거야 나는 방금 입력 한 것. 433 00:18:34,007 --> 00:18:36,090 그리고 색상 코드가있다 지금 조금 변경 434 00:18:36,090 --> 00:18:38,750 단지 프로그램 형식 때문에 일 약간 다르게. 435 00:18:38,750 --> 00:18:41,960 그러나 모든 내가했던 것을 알 수 이다 나는 사용자 삽입 말했다했습니다. 436 00:18:41,960 --> 00:18:45,790 나는 쉼표, 다음, 지정한 분리 괄호 목록이 437 00:18:45,790 --> 00:18:48,850 내가 삽입 할 필드 및 나는 말 그대로 말한 값 438 00:18:48,850 --> 00:18:51,510 또 괄호 뒤에 다음 두 값 439 00:18:51,510 --> 00:18:53,520 나는 플러그인 할, 그리고 지금은 좋은 측정을 위해, 440 00:18:53,520 --> 00:18:55,010 나는 마지막에 세미콜론을 넣어 것입니다. 441 00:18:55,010 --> 00:18:56,570 그래서,이 이것은 PHP 아니다 C. 없습니다. 442 00:18:56,570 --> 00:18:59,970 이것은 지금 SQL이고, 나는 그것을 붙여 넣기 해요 의이 웹 기반 인터페이스로 443 00:18:59,970 --> 00:19:02,710 그냥 날 수 있도록 것, 최대한 빨리 이동을 클릭로서, 444 00:19:02,710 --> 00:19:08,060 데이터베이스에서이 쿼리를 실행 CS50의 IDE의 내부에서 실행. 445 00:19:08,060 --> 00:19:09,470 >> 그래서이 좋다. 446 00:19:09,470 --> 00:19:12,520 말했다 공지 한 행 삽입, 슈퍼 빠른 갔다 447 00:19:12,520 --> 00:19:15,190 0.0054 초 데이터를 삽입합니다. 448 00:19:15,190 --> 00:19:16,610 그래서, 꽤 건강한 소리. 449 00:19:16,610 --> 00:19:19,350 그것은 내 쿼리를 다시 포맷 단지 그것을 보려면 여기를 나를 위해 450 00:19:19,350 --> 00:19:21,730 색상 코드 버전의 종류에. 451 00:19:21,730 --> 00:19:24,540 하지만 지금은 클릭하면 찾아도, 그 통지 452 00:19:24,540 --> 00:19:29,070 혼란의 많은에이 비록 화면, 내 표는 이제 두 개의 행이 있습니다. 453 00:19:29,070 --> 00:19:30,700 >> 그래서, 내가 가서 다른 작업을 수행 할 수 있습니다. 454 00:19:30,700 --> 00:19:33,760 대신이의 저를 보자 다시 SQL 탭으로 이동합니다. 455 00:19:33,760 --> 00:19:40,723 그리고 이번에는 내가 좋아하는 뭔가를 삽입합니다 롭과 그의 이름은 롭 보덴 될 것입니다. 456 00:19:40,723 --> 00:19:42,330 보덴. 457 00:19:42,330 --> 00:19:44,040 의 저장을 클릭하자. 458 00:19:44,040 --> 00:19:46,140 아차, 오히려 이동합니다. 459 00:19:46,140 --> 00:19:48,890 >> 다시 찾아보기를 클릭 한 지금은 두 행이 알 수 있습니다. 460 00:19:48,890 --> 00:19:52,390 그래서,이 단지 방법이 더 복잡 개방 Google 스프레드 시트의 방법 461 00:19:52,390 --> 00:19:54,010 단지 컬럼에 행을 입력. 462 00:19:54,010 --> 00:19:57,070 그러나 키가 있다는 것입니다 무엇 우리는 이제 구문이 463 00:19:57,070 --> 00:20:00,220 있는 코드를 작성할 수 있도록 궁극적으로, 우리가 실제로 할 수 464 00:20:00,220 --> 00:20:01,790 일부 및 이렇게. 465 00:20:01,790 --> 00:20:05,380 그 PHP 지원 리콜 슈퍼 전역 변수. 466 00:20:05,380 --> 00:20:08,415 >> 달러의 내부에 무엇입니까 PHP에서 GET 밑줄 서명? 467 00:20:08,415 --> 00:20:10,290 우리는 하나 살펴 보았다 또는 두 가지 간단한 예. 468 00:20:10,290 --> 00:20:15,640 그리고 PSet6, 당신은 안녕이 리콜 이 변수를 사용하여 점 PHP. 469 00:20:15,640 --> 00:20:17,870 어떻게 거기에 간다? 470 00:20:17,870 --> 00:20:21,015 아니면 무엇입니까? 471 00:20:21,015 --> 00:20:22,522 조금 더 크게. 472 00:20:22,522 --> 00:20:23,790 >> 청중 : [들리지] 473 00:20:23,790 --> 00:20:25,030 >> 데이비드 마란 : 그것은 눈의 배열의 씨앗, 어떤 474 00:20:25,030 --> 00:20:27,714 말의 단지 멋진 방법입니다 키 값 쌍을 가지고 배열입니다. 475 00:20:27,714 --> 00:20:28,880 그리고 키는 숫자하지 않습니다. 476 00:20:28,880 --> 00:20:30,420 그들은 단어 나 문자열입니다. 477 00:20:30,420 --> 00:20:32,750 구체적으로 무엇을 그 키 값 쌍은? 478 00:20:32,750 --> 00:20:35,110 그들은 어디에서 오는가? 479 00:20:35,110 --> 00:20:35,620 죄송합니다? 480 00:20:35,620 --> 00:20:36,994 >> 청중 : [들리지] 481 00:20:36,994 --> 00:20:37,660 데이비드 마란 : 아니? 482 00:20:37,660 --> 00:20:40,700 어디 그 키를 할 값 쌍에서 온? 483 00:20:40,700 --> 00:20:42,490 다시 말? 484 00:20:42,490 --> 00:20:44,610 다시? 485 00:20:44,610 --> 00:20:46,472 나는 하나의 청각 뭔가 있나요? 486 00:20:46,472 --> 00:20:47,810 >> [웃음] 487 00:20:47,810 --> 00:20:49,042 >> 즉, 그래, 맞아? 488 00:20:49,042 --> 00:20:50,435 >> 청중 : [들리지] 489 00:20:50,435 --> 00:20:52,560 데이비드 마란 : 네, 쿼리 문자열에서 온다. 490 00:20:52,560 --> 00:20:55,380 그래서, 당신은 시간에 되감기 경우 우리는 구글 플레이 한 ​​때 491 00:20:55,380 --> 00:20:59,600 우리는 Google.com 슬래시에 갔어요 검색 물음표 Q는 고양이 같다 492 00:20:59,600 --> 00:21:03,550 내가 칠 것 인 경우에 입력 한 경우 구글은 PHP로 구현 된 493 00:21:03,550 --> 00:21:07,017 구글이 쓴 PHP 코드 달러 기호에 액세스 할 것 494 00:21:07,017 --> 00:21:11,600 이는 내부 GET을 강조 호출 키와 Q 값은 495 00:21:11,600 --> 00:21:17,680 그 다음 사용할 수라는 고양이 와 실제 검색을 수행하는 데 사용됩니다. 496 00:21:17,680 --> 00:21:20,860 >> 그래서, 사실, 내가 무슨거야 지금 내 PHP 코드로 돌아갈 것입니다 수행 497 00:21:20,860 --> 00:21:23,140 다시 PSet7에서의 더 많은 것을 볼 수있다. 498 00:21:23,140 --> 00:21:25,440 그리고 대신 연결 하드 코딩 된 값에있는 499 00:21:25,440 --> 00:21:27,630 아닌 것 같아 매우 동적 인 웹 사이트, 500 00:21:27,630 --> 00:21:30,680 나는 당신의 티저를 줄거야 실제 코드는 어떻게 할 것인지. 501 00:21:30,680 --> 00:21:32,854 두에 둘 것 질문은 다음과 같이 표시합니다. 502 00:21:32,854 --> 00:21:34,270 나는 이름이 무엇인지 모른다. 503 00:21:34,270 --> 00:21:37,390 내가 무엇을 모르는 이름이 될 것입니다 504 00:21:37,390 --> 00:21:39,470 그러나 나는 내가 할 수있는 알고 동적으로 얻을. 505 00:21:39,470 --> 00:21:43,420 >> 그래서, 지금 우리가 작성하는 코드가있는 경우 구글의 서버에서 실행되는 코드, 506 00:21:43,420 --> 00:21:46,940 또는이 안녕하세요 점의 경우 PSet6 함께 제공 PHP, 507 00:21:46,940 --> 00:21:48,650 나는에 통과거야 조회 함수 508 00:21:48,650 --> 00:21:51,450 단지 printf와 같은 두 개의 다른 인수. 509 00:21:51,450 --> 00:21:57,120 견적, GET, 인용을 끝내 사용자 이름, 및 인용, 인용을 끝내 이름, GET. 510 00:21:57,120 --> 00:22:00,720 그리고 지금, 무엇을 알 일반적인 구조는 여기에있다. 511 00:22:00,720 --> 00:22:03,320 나는 왼쪽에 있어요 통화 편, 512 00:22:03,320 --> 00:22:05,480 이 함수는 PHP에서 쿼리를했다. 513 00:22:05,480 --> 00:22:08,160 나는 아직도 처음으로이 인수, 텍스트의 단순한 문자열입니다. 514 00:22:08,160 --> 00:22:11,000 >> 그러나 텍스트의 문자열입니다 SQL이라는 언어로 작성. 515 00:22:11,000 --> 00:22:12,616 그리고 솔직히, 그것은 큰 언어 아니다. 516 00:22:12,616 --> 00:22:14,990 우리는 단지에 대해 이야기하는거야 그것은 공식적으로 오늘, 정말. 517 00:22:14,990 --> 00:22:17,031 그리고 문제의 설정 일곱, 상대적있다 518 00:22:17,031 --> 00:22:18,800 우리가있어 몇 가지 기능 활용하는 것. 519 00:22:18,800 --> 00:22:22,530 물음표는하지만, 플러그인 의미 다른 값에 여기에 값 및 플러그 520 00:22:22,530 --> 00:22:23,130 여기에. 521 00:22:23,130 --> 00:22:26,010 그리고주의 사항, 나는 생략 한 내용 quote-- 빌어 먹을 각국에서 522 00:22:26,010 --> 00:22:30,470 인용 주위 그건 ... 이 시간을 표시합니다. 523 00:22:30,470 --> 00:22:34,930 나는 인용을 생략했습니다 물음표 주위 마크, 524 00:22:34,930 --> 00:22:36,410 죄송합니다, 주위에. 525 00:22:36,410 --> 00:22:38,870 >> 그럼, 이것에 대해 좋은 데요 물음표 기능을하는 526 00:22:38,870 --> 00:22:42,830 PHP는, 루비를 지원하는 경향이 있고, 파이썬과 다른 언어, 527 00:22:42,830 --> 00:22:45,730 이것은 단지 몇 가지 플러그인을 의미한다 여기에 가치를 당신은 무엇을 알아? 528 00:22:45,730 --> 00:22:48,300 당신은 사용할지 여부를 알아낼 작은 따옴표 또는 큰 따옴표. 529 00:22:48,300 --> 00:22:50,966 그 날 귀찮게하지 마십시오 지적 재미 세부 사항. 530 00:22:50,966 --> 00:22:53,780 그러나,이 올바른지의 확인 내 코드는 궁극적으로 너무 531 00:22:53,780 --> 00:22:57,010 운영 및 안전하는 오래 전에 의미를 가질 것이다. 532 00:22:57,010 --> 00:23:00,460 >> 지금, 얼마나 많은 인수 단지로, 총 분명히, 쿼리 기능 복용은? 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 사람은 두 개 이상의 투표 싶어? 535 00:23:07,581 --> 00:23:08,080 세? 536 00:23:08,080 --> 00:23:10,001 물론, 그 이유는 무엇입니까? 537 00:23:10,001 --> 00:23:10,920 왜 세? 538 00:23:10,920 --> 00:23:12,305 >> 청중 : [들리지] 539 00:23:12,305 --> 00:23:13,180 데이비드 마란 : 맞아요. 540 00:23:13,180 --> 00:23:14,610 첫 번째 부분은 문자열입니다. 541 00:23:14,610 --> 00:23:18,640 두 번째 인수는 달러 기호입니다 GET 브래킷의 이름을 강조. 542 00:23:18,640 --> 00:23:21,950 그리고 세 번째 인수가 같은 일을하지만, 단지 이름. 543 00:23:21,950 --> 00:23:24,590 이제, 환언 그래서 나는 웹 양식이 있다면 544 00:23:24,590 --> 00:23:27,149 즉, 텍스트 필드에 있었다 사용자의 사용자 이름에 대해 하나, 545 00:23:27,149 --> 00:23:29,690 자신에 대해 하나 그녀의 이름, 단지 같은 당신은 웹 사이트에서 볼 것 546 00:23:29,690 --> 00:23:32,120 당신이 등록 할 때 일부 웹 사이트,이 힘 547 00:23:32,120 --> 00:23:35,450 백 엔드에 코드를하는 것이 실제로 삽입 이제 않습니다 548 00:23:35,450 --> 00:23:37,220 데이터베이스로. 549 00:23:37,220 --> 00:23:40,870 >> 지금 대조적으로, 빨리 감기하자. 550 00:23:40,870 --> 00:23:43,840 사용자가 지금 가정 로그인하고 당신이 원하는 551 00:23:43,840 --> 00:23:48,860 여부를 확인 PHP 코드를 작성하는 다만 로그인있어 사람 552 00:23:48,860 --> 00:23:52,250 사용자가 실제로, 당신은 할 수있다 아주 간단 구문을 사용합니다. 553 00:23:52,250 --> 00:23:55,832 당신의 말을하자, 선택을 말할 수있다 스타가 모든 것을 의미하는 경우, 스타. 554 00:23:55,832 --> 00:23:57,540 내가 무엇을 모르는 나는 원하는, 그래서 그냥 줘 555 00:23:57,540 --> 00:24:01,585 테이블의 모든 열 사용자가 어디라고, 이것은 좋은 것입니다. 556 00:24:01,585 --> 00:24:03,710 선택은 무엇 지원 인 조건이라고 557 00:24:03,710 --> 00:24:06,630 당신이 원하는 자격을하는 방법 등을들 수있다. 558 00:24:06,630 --> 00:24:10,590 어디에서 사용자 이름과 동일 인용, 인용을 끝내 마란. 559 00:24:10,590 --> 00:24:13,680 그래서 여기에 너무, 나는 임베디드했습니다 인수 내부 560 00:24:13,680 --> 00:24:16,110 PHP 함수,​​ SQL 코드의 라인. 561 00:24:16,110 --> 00:24:18,680 그리고 SQL 코드이 시간은 말 그대로 것입니다 562 00:24:18,680 --> 00:24:21,790 견적 검색, 마란를 맺다. 563 00:24:21,790 --> 00:24:24,420 >> 이제이 모든 것을 유용 아니다 그래서 나는 그를 건너 뛸거야 564 00:24:24,420 --> 00:24:28,650 내가 치워거야 브래디에서이 팁은, 가서 565 00:24:28,650 --> 00:24:30,990 및 플러그인 대신 여기에 물음표. 566 00:24:30,990 --> 00:24:33,290 그래서, 그냥 명확하게 무엇을 내 두 번째 인수해야 567 00:24:33,290 --> 00:24:37,480 누군가는 내가 로그인 한 할 경우 그 또는 그녀가 실제로 있는지 확인하려면 568 00:24:37,480 --> 00:24:39,265 사용자? 569 00:24:39,265 --> 00:24:40,140 청중 : [들리지] 570 00:24:40,140 --> 00:24:40,890 데이비드 마란 : 그래. 571 00:24:40,890 --> 00:24:44,120 나는 달러 기호 밑줄을 듣고 인용, 인용을 끝내 이름을 가져옵니다. 572 00:24:44,120 --> 00:24:50,040 그리고 그것은 나에게 반환해야 내 데이터베이스에있는 행의 573 00:24:50,040 --> 00:24:51,986 그 마란의 사용자 이름을 가지고있다. 574 00:24:51,986 --> 00:24:54,860 이제 희망, 나는 돌아갈거야 제로 마란의 여기 적이있는 경우, 575 00:24:54,860 --> 00:24:56,290 또는 한 그는이있는 경우. 576 00:24:56,290 --> 00:24:59,026 나는 돌아 가야하지 말아야 두 가지 또는 세 가지 또는 네. 577 00:24:59,026 --> 00:24:59,526 왜? 578 00:24:59,526 --> 00:25:00,220 >> 청중 : [들리지] 579 00:25:00,220 --> 00:25:01,120 >> 데이비드 마란 : 바로, 독특한했다? 580 00:25:01,120 --> 00:25:01,750 간단한 이유. 581 00:25:01,750 --> 00:25:04,030 내가 말했듯이 있기 때문에이에있어 다만 논리적으로, 고유, 582 00:25:04,030 --> 00:25:07,940 만 0 또는 1 Malans을 가질 수있다 특정 데이터베이스 테이블. 583 00:25:07,940 --> 00:25:10,965 지금 당신은 본 적이 제외하고, 너무로 그것은, 내가 계속 사용하더라도 GET 584 00:25:10,965 --> 00:25:14,350 그리고 PSet6에만 사용하더라도 , 당신은 확실히 POST를 가질 수 GET. 585 00:25:14,350 --> 00:25:17,212 그리고 포스트 다른 것을 기억 정보를 제출하기위한 기술 586 00:25:17,212 --> 00:25:19,170 양식에서,하지만 URL에 표시되지 않습니다. 587 00:25:19,170 --> 00:25:22,690 그것은을 위해 확실히 좀 더 안전한이다 사용자 이름과 암호 같은 것들, 588 00:25:22,690 --> 00:25:25,210 이는 PSet7는 사실, 포함 할 것이다. 589 00:25:25,210 --> 00:25:28,130 >> 자, PHP에서이 작업을 수행 할 수 MyAdmin 어떻게되는지. 590 00:25:28,130 --> 00:25:30,020 나는 MySQL의 탭으로 이동하겠습니다. 591 00:25:30,020 --> 00:25:34,450 그리고에 대한 그 기본 값을 알 수 PHP MyAdmin, 그냥, 도움이 될하려고합니다 592 00:25:34,450 --> 00:25:37,050 여기서 사용자가 하나에서 별을 선택하는 것입니다. 593 00:25:37,050 --> 00:25:39,430 음, 하나는 그래서, 항상 true입니다 이 효과 바보가 있습니다 594 00:25:39,430 --> 00:25:40,400 단지 모든 것을 선택합니다. 595 00:25:40,400 --> 00:25:42,691 하지만 난 조금있을거야 더 현학적 수동 596 00:25:42,691 --> 00:25:45,920 사용자의 선택 스타를 입력합니다. 597 00:25:45,920 --> 00:25:48,294 >> 지금 기술적으로, 당신은 할 수 테이블의 이름을 인용한다. 598 00:25:48,294 --> 00:25:50,460 그것은 당신이 가지고 드문, 그러나이 그렇지 않은 통지 599 00:25:50,460 --> 00:25:52,240 미국 키보드에 일반 따옴표. 600 00:25:52,240 --> 00:25:54,760 이것은 소위 역음, 인 왼쪽 상단에 일반적으로 601 00:25:54,760 --> 00:25:56,000 키보드의 코너. 602 00:25:56,000 --> 00:25:58,500 그러나 그것은 당신이거야 드문 실제로 신경 필요 603 00:25:58,500 --> 00:25:59,950 그래서 난 그냥 어쨌든을 생략합니다. 604 00:25:59,950 --> 00:26:02,280 그래서 지금, 내가 가서 가서 공격 할 수 있습니다. 605 00:26:02,280 --> 00:26:06,616 그리고 얼마나 많은 행이 내가 가야 다시 나는 사용자의 스타를 선택하면? 606 00:26:06,616 --> 00:26:08,407 >> 청중 : [들리지] 607 00:26:08,407 --> 00:26:09,990 데이비드 마란 : 물론 행의 수. 608 00:26:09,990 --> 00:26:12,390 하지만이에 얼마나 많은 지금 구체적인 이야기? 609 00:26:12,390 --> 00:26:14,640 두, 거기 때문에 저와 롭이 있었다. 610 00:26:14,640 --> 00:26:19,370 내가 이동을 클릭한다면, 나는 시각적으로 볼 나는, 참으로, 다시 두 행을 입수했습니다. 611 00:26:19,370 --> 00:26:22,060 혼란의 많은에있다 화면이,하지만 난 두 행을 참조하십시오. 612 00:26:22,060 --> 00:26:28,580 내가 다시이 작업을 수행하고있는 경우 반대로 수행 사용자, 여기서 사용자 이름로부터 SELECT 스타 613 00:26:28,580 --> 00:26:31,840 인용, 인용을 끝내 동일 마란은, 지금은, Go를 클릭하면 614 00:26:31,840 --> 00:26:33,970 나는 단지 다시 한 행을 얻을거야. 615 00:26:33,970 --> 00:26:36,499 그리고 마지막으로, 나는 할 경우 이 같은, 가정 616 00:26:36,499 --> 00:26:38,290 나는 상관하지 않는 것이 모든 것을 받고, 617 00:26:38,290 --> 00:26:41,020 이는 지금 가지 의미가 없다, 단지 두 개의 열이 있기 때문에. 618 00:26:41,020 --> 00:26:43,103 내가 선택하는 것 같은 아니에요 엄청난 양의 데이터. 619 00:26:43,103 --> 00:26:46,720 내가 가서 가정 FROM 이름을 선택합니까 620 00:26:46,720 --> 00:26:51,990 사용자 이름은 마란 동일 사용자, 무엇을 정직하게 SQL에 대한 좋은 데요, 621 00:26:51,990 --> 00:26:54,290 그것은 정말 않는다는 것입니다 당신은 무엇을 할 그것을 말해. 622 00:26:54,290 --> 00:26:57,550 그것은 꽤 간결하지만 당신 말 그대로 당신이 원하는 무엇을 말해. 623 00:26:57,550 --> 00:27:01,130 사용자 곳에서 선택 이름 사용자 이름은 마란 같습니다. 624 00:27:01,130 --> 00:27:03,440 그리고 그것은 정말 명시 적입니다. 625 00:27:03,440 --> 00:27:08,410 그래서, 지금은 이동, 얼마나 많은 충돌하는 경우 행은 내가 돌아올 것입니까? 626 00:27:08,410 --> 00:27:10,770 하나, 그냥 때문에 마란, 희망. 627 00:27:10,770 --> 00:27:13,100 제로 그가 아니라면 이,하지만 최대한 하나. 628 00:27:13,100 --> 00:27:17,610 >> 그리고 내가 다시 얼마나 많은 열을받을 수 있습니까? 629 00:27:17,610 --> 00:27:18,450 얼마나 많은 열? 630 00:27:18,450 --> 00:27:20,658 이 시간, 난 그냥 갈거야 내가하지 않았기 때문에 하나를 얻으려면 631 00:27:20,658 --> 00:27:22,380 모든 인 스타를 선택합니다. 632 00:27:22,380 --> 00:27:27,900 지금은 그냥 이름을 선택, 그래서있어 하나의 열과 하나의 행을 다시 얻을. 633 00:27:27,900 --> 00:27:31,730 그리고 그것의 적절하게 정렬 보인다 말도, 그냥보고 슈퍼 634 00:27:31,730 --> 00:27:33,060 이 같은 작은. 635 00:27:33,060 --> 00:27:34,290 그래서, 정말 무슨 일이야? 636 00:27:34,290 --> 00:27:36,890 당신은 SQL을 실행하면 쿼리를 선택하여 637 00:27:36,890 --> 00:27:38,700 당신이 있어요 다시 데이터베이스에서 638 00:27:38,700 --> 00:27:42,970 임시 테이블처럼 행과 열, 어쩌면, 639 00:27:42,970 --> 00:27:46,260 하지만 아무것도 생략 그 실제로 당신에 의해 선택되지 않았습니다. 640 00:27:46,260 --> 00:27:49,010 그래서, 누군가가 큰이 있다면처럼 모든 학생들의 스프레드 시트 641 00:27:49,010 --> 00:27:51,610 일부 등록 학생 그룹, 당신은 말한다, 642 00:27:51,610 --> 00:27:55,097 저에게했습니다 신입생을 모두 제공 우리의 학생 그룹에 등록, 무엇을 643 00:27:55,097 --> 00:27:56,930 당신의 동료 학생 그룹은 할 수 있습니다 644 00:27:56,930 --> 00:27:58,430 그들은 단지 손으로 할 수있다 당신이 전체 스프레드 시트. 645 00:27:58,430 --> 00:27:59,742 즉, 선택 스타 말처럼. 646 00:27:59,742 --> 00:28:02,200 그리고 만약 조금 짜증나 당신은 단지 신입생을 원했다. 647 00:28:02,200 --> 00:28:05,640 그래서 대신, 말했다 경우 데이터베이스 테이블에서 선택 스타 648 00:28:05,640 --> 00:28:08,470 여기서 년도와 동일 인용, 인용을 끝내 신입생, 649 00:28:08,470 --> 00:28:10,810 그것은 당신의 친구처럼의 학생 그룹 650 00:28:10,810 --> 00:28:13,770 말 그대로 강조 복사 만 신입생 행 651 00:28:13,770 --> 00:28:16,780 새 Google로 붙여 스프레드 시트 또는 Excel 파일, 652 00:28:16,780 --> 00:28:18,860 다시 당신을 물려 전용 파일을 생성. 653 00:28:18,860 --> 00:28:21,710 즉, 무슨 일이 전부입니다 개념적으로 여기에. 654 00:28:21,710 --> 00:28:23,920 >> 그래서 결국, 우리는 할 수있다 꽤 멋진 일 655 00:28:23,920 --> 00:28:26,560 사용자 이름 같은 것들을 저장하여 및 암호 등을들 수있다. 656 00:28:26,560 --> 00:28:30,310 그러나, 그것은 밝혀, 우리는 무엇을해야 다르게보다 약간. 657 00:28:30,310 --> 00:28:34,750 그것은 단지 해당 스마트 아니다 사용자 이름과 암호를 저장합니다. 658 00:28:34,750 --> 00:28:37,790 이전 사람, 생각 여기에 아래로 ID를 제안했다. 659 00:28:37,790 --> 00:28:40,787 이제 ID는 같은 수 하버드 ID 나 예일의 인터넷 ID, 660 00:28:40,787 --> 00:28:42,870 하지만 더 간단 할 수있다 우리의 데이터베이스 경우. 661 00:28:42,870 --> 00:28:45,120 그리고 실제로, 일반적인 경우 다른 열을 가지고있다. 662 00:28:45,120 --> 00:28:46,953 그리고 나는 갈거야 앞서 내 테이블을 편집 할 수 있습니다. 663 00:28:46,953 --> 00:28:49,521 그리고 당신은 함께 놀러 경우 PSet7이 인터페이스, 664 00:28:49,521 --> 00:28:51,770 당신은 당신이 확인할 수 있습니다 것을 볼 수 있습니다 여기에이 버튼 추가 665 00:28:51,770 --> 00:28:53,750 테이블의 시작 부분에 필드. 666 00:28:53,750 --> 00:28:56,720 내가 이동을 클릭 지금한다면, 그것은거야 나에게 그 형태 중 하나를 제공합니다 667 00:28:56,720 --> 00:28:57,600 이전부터. 668 00:28:57,600 --> 00:29:00,170 나는 ID라는 필드를 추가하는거야. 669 00:29:00,170 --> 00:29:03,070 그리고 나는 숫자를 입력 할거야. 670 00:29:03,070 --> 00:29:05,362 >> 나는 전체 무리가 의 수치 값. 671 00:29:05,362 --> 00:29:08,677 난 그냥 INT를 선택하는거야와 서로 다른 크기에 대해 걱정하지. 672 00:29:08,677 --> 00:29:10,510 내가 지정할 필요가 없습니다 길이 또는 값, 673 00:29:10,510 --> 00:29:13,710 가 될 것 때문에 32 비트 상관없이. 674 00:29:13,710 --> 00:29:16,070 속성은, 우리가 전에 보지 않았다. 675 00:29:16,070 --> 00:29:18,410 이들의에 관심 메뉴 옵션이 시간? 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 인터넷 용? 678 00:29:23,745 --> 00:29:24,620 당신은 무엇을 제안 했는가? 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 아니? 681 00:29:28,445 --> 00:29:29,570 이들의 이해가 있습니까? 682 00:29:29,570 --> 00:29:30,536 그래. 683 00:29:30,536 --> 00:29:31,900 바로, 부호, 그래? 684 00:29:31,900 --> 00:29:35,930 >> 우리가려고하는 경우에 일반적으로 제공하는 모두 고유 번호, 어느 685 00:29:35,930 --> 00:29:38,200 이 이야기는 어디 가는, 정말 만 할 686 00:29:38,200 --> 00:29:41,919 사람이 제로와 같은 번호를 갖도록 하나, 둘, 셋, 넷. 687 00:29:41,919 --> 00:29:43,710 내가 처리 할 필요가 없습니다 음수와. 688 00:29:43,710 --> 00:29:45,210 그것은 단지 과도한 복잡성처럼 보인다. 689 00:29:45,210 --> 00:29:48,470 나는 사십억 가능한 값을 원하는, 하지 사십억 가능한 값, 690 00:29:48,470 --> 00:29:50,699 그래서 난 그냥 두 배 내 INT의 용량. 691 00:29:50,699 --> 00:29:53,490 제쳐두고, 당신이 관계 할 것처럼 페이스 북과 같은이 뭔가, 692 00:29:53,490 --> 00:29:56,190 나의 일 때의 종류에 페이스 북은 먼저 나왔다 693 00:29:56,190 --> 00:29:59,510 나는 그들이 무엇인지 생각 자신의 MySQL 데이터베이스에 사용 694 00:29:59,510 --> 00:30:02,856 사용자를 저장할 식별자, 그냥 INT이었다. 695 00:30:02,856 --> 00:30:05,230 그러나 물론, 많은있다 세계에서 실제 사람들. 696 00:30:05,230 --> 00:30:07,438 가짜 페이스 북이 많이있다 세계 차지하고있다. 697 00:30:07,438 --> 00:30:11,701 그래서 결국, 페이스 북은 넘쳐 INT의 크기, 사십억 698 00:30:11,701 --> 00:30:12,200 값. 699 00:30:12,200 --> 00:30:15,032 그 이유를 보면 어느 주변 웹 사이트 거기 700 00:30:15,032 --> 00:30:16,740 그 당신에게 말할 수있는 당신의 고유 한 ID입니다. 701 00:30:16,740 --> 00:30:19,781 그리고 당신의 이름을 선택하지 않을 경우 페이스 북은, 당신은 당신의 고유 ID를 볼 수 있습니다. 702 00:30:19,781 --> 00:30:23,080 나는 그것이 프로필 점 PHP 생각 물음표 ID는 무엇인가 같습니다. 703 00:30:23,080 --> 00:30:27,210 즉 지금 큰 같은 것입니다 INT, 또는 긴 당신이 경우, 704 00:30:27,210 --> 00:30:29,700 64 비트 값이되는 것이다 또는 유사한 무언가. 705 00:30:29,700 --> 00:30:33,620 >> 따라서, 심지어 이러한 현실 세계에서 수행 문제는 궁극적으로 때때로 문제. 706 00:30:33,620 --> 00:30:37,600 난 경우 그리고, 여기에 밝혀 내 사용자의 고유 한 ID를 모두 제공 707 00:30:37,600 --> 00:30:41,750 나는 슈퍼 명시하고 싶은 최소한이 필드에 고유합니다. 708 00:30:41,750 --> 00:30:44,750 하나 거기 밖으로하지만 변 명칭 오늘의 조각 너무 709 00:30:44,750 --> 00:30:46,470 즉, 기본 키입니다. 710 00:30:46,470 --> 00:30:49,800 당신은 데이터베이스를 설계하는 경우 테이블과 사전에 알고 711 00:30:49,800 --> 00:30:55,580 해당 테이블의 열 중 하나가 고유 행을 식별한다 712 00:30:55,580 --> 00:30:58,500 표에, 당신이 원하는 를 지정하고 데이터베이스를 말해, 713 00:30:58,500 --> 00:31:00,250 이 내 기본 키입니다. 714 00:31:00,250 --> 00:31:02,110 중복이있을 수 있습니다 다른 분야에서, 715 00:31:02,110 --> 00:31:06,330 하지만 난이 그 데이터베이스를 말하는거야 내 기본이고, 나의 가장 중요한 분야, 716 00:31:06,330 --> 00:31:08,420 그는 고유 보장합니다. 717 00:31:08,420 --> 00:31:09,660 >> 자,이 중복 보인다. 718 00:31:09,660 --> 00:31:13,830 나는 지금 우리를 제안하고있다 여기에 저장을 클릭하여, 추가, 719 00:31:13,830 --> 00:31:17,210 필드 called--와 나는거야 가서 인공 지능을 클릭합니다, 720 00:31:17,210 --> 00:31:19,720 우리는 다시 올 것이다 순간에, 저장하는 것이. 721 00:31:19,720 --> 00:31:22,540 나는 지금 제안하고 내 표는 다음과 같다. 722 00:31:22,540 --> 00:31:26,305 나는, ID라는 INT 필드가 아이디라는 CHAR 필드, 723 00:31:26,305 --> 00:31:31,100 VARCHAR 이름이라는 필드하지만, ID, 이 차 때문에 고유의 경우, 724 00:31:31,100 --> 00:31:33,760 왜 난 그냥 낭비 않았다 시간 무엇을 소개 725 00:31:33,760 --> 00:31:39,140 효과적으로 고유의 두 번째입니다 필드는 지능의 ID라고? 726 00:31:39,140 --> 00:31:41,980 >> 사용자 이름, 리콜했다 이미 고유 한, 우리는 말했다. 727 00:31:41,980 --> 00:31:45,350 그러니 그냥 논리적으로, 당신은 필요가 없습니다 이유에 대한 데이터베이스 경험 728 00:31:45,350 --> 00:31:47,570 왜이를 통해 내가가 발생했을 수 있습니다 729 00:31:47,570 --> 00:31:50,065 뿐만 아니라 나의 고유 식별자로 INT? 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 이 항아리는 다시 무슨 말이야? 732 00:31:53,930 --> 00:31:55,580 >> 청중 : [들리지] 733 00:31:55,580 --> 00:31:59,534 >> 데이비드 마란 : 무작위 접근이 용이하다, 왜? 734 00:31:59,534 --> 00:32:00,410 >> 청중 : [들리지] 735 00:32:00,410 --> 00:32:02,367 데이비드 마란 : 그래, 그것의 단지 숫자 액세스. 736 00:32:02,367 --> 00:32:04,750 따라서, 경우에 당신은 진정으로이 생각 테이블, 배열처럼이고 737 00:32:04,750 --> 00:32:07,690 지금은 고유 식별자가 내가 움직이지 수 있습니다. 738 00:32:07,690 --> 00:32:11,520 그리고 그보다 더 나은 여전히​​ 것입니다 얼마나 큰 INT 다시 될 것입니다? 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 32 비트 또는 4 바이트. 741 00:32:15,800 --> 00:32:17,750 >> 얼마나 큰 내 이름이 될 것입니다? 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 최대로? 744 00:32:21,990 --> 00:32:22,880 16 바이트. 745 00:32:22,880 --> 00:32:26,080 >> 그래서 당신은 정말, 약 돌보는 경우 코드의 성능, 746 00:32:26,080 --> 00:32:31,390 당신이 선호하는 것, 다시 PSet5에 대한 생각 네 바이트 값 또는 (16)를 검색하려면 747 00:32:31,390 --> 00:32:32,240 바이트 값, 오른쪽? 748 00:32:32,240 --> 00:32:33,810 정말만큼 간단합니다. 749 00:32:33,810 --> 00:32:38,060 당신은 많은 일을 4 배를해야 그 때문에 사용자 이름을 검색합니다 750 00:32:38,060 --> 00:32:38,830 16 바이트입니다. 751 00:32:38,830 --> 00:32:41,320 그래서, 당신은 문자 그대로를해야 로 16 바이트를 비교 752 00:32:41,320 --> 00:32:43,140 예 물론, 이것은 내가 원하는 사용자 이름입니다. 753 00:32:43,140 --> 00:32:46,610 인터넷 용, 당신이 할 수있는 반면 단지 4 바이트와 함께 할. 754 00:32:46,610 --> 00:32:49,212 >> 그리고 옆 사람들에게로 컴퓨터 하드웨어에 관심이, 755 00:32:49,212 --> 00:32:52,420 당신이 뭔가를 넣을 수 밝혀 INT 또는 무언가에 32 비트 값 756 00:32:52,420 --> 00:32:55,330 컴퓨터에서 레지스터라고 이 슈퍼 뜻 CPU, 757 00:32:55,330 --> 00:32:58,400 가장 낮은에서, 슈퍼 빠른 컴퓨터의 하드웨어 수준. 758 00:32:58,400 --> 00:33:00,530 그래서, 주위의 모든 단지의 장점이있다. 759 00:33:00,530 --> 00:33:01,530 그래서, 이것은 무엇을 의미합니까? 760 00:33:01,530 --> 00:33:04,850 사실, 때 설계하고 시간의 거의 모든 데이터베이스 테이블 761 00:33:04,850 --> 00:33:07,170 당신이하지 않은거야 단지 당신이 걱정하는 데이터, 762 00:33:07,170 --> 00:33:09,280 같은뿐만 아니라 무엇인가 고유 식별자 763 00:33:09,280 --> 00:33:11,280 이 때문에에 가고 우리가 다른 일을 할 수 있습니다. 764 00:33:11,280 --> 00:33:13,160 그리고 이제 여기에 문제가 걸려 넘어 질 수 있습니다. 765 00:33:13,160 --> 00:33:15,990 >> 사용자가하지 않은 것을 가정 단지 사용자 이름과 이름, 766 00:33:15,990 --> 00:33:19,540 그러나 또한 도시 같은 것들을 가지고 그리고 국가와 우편 번호, 적어도 767 00:33:19,540 --> 00:33:20,432 여기에 미국에서. 768 00:33:20,432 --> 00:33:22,390 그래서, 내가 가서거야 그냥 빨리 말, 769 00:33:22,390 --> 00:33:26,180 나에게 세 이상의 열을 제공 표 끝. 770 00:33:26,180 --> 00:33:28,900 그리고 이것은, 도시가 될 것입니다 이것은 국가가 될 것입니다 771 00:33:28,900 --> 00:33:30,400 이것은 우편 될 것입니다. 772 00:33:30,400 --> 00:33:32,710 >> 이제 도시, 어떤 데이터 유형 이것은 아마도되어야 하는가? 773 00:33:32,710 --> 00:33:35,460 774 00:33:35,460 --> 00:33:35,989 VARCHAR? 775 00:33:35,989 --> 00:33:37,780 내가 무엇을 모르는 가장 긴 이름의 도시입니다. 776 00:33:37,780 --> 00:33:40,571 어딘가에 미국에서, 거기에 아마 엄청나게 긴 단어, 777 00:33:40,571 --> 00:33:43,605 그래서 약간, 그냥 255로 가자 역사적으로 또는 임의로. 778 00:33:43,605 --> 00:33:44,730 주, 당신은 무엇을하고 싶어? 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 심판의 호출, 오른쪽? 781 00:33:50,367 --> 00:33:51,700 무엇이 가장 효율적인 아마입니까? 782 00:33:51,700 --> 00:33:53,500 얼마나 많은 문자? 783 00:33:53,500 --> 00:33:55,950 어쩌면 두, 경우 우리는 할 수 단지 일을 함께 도망, 784 00:33:55,950 --> 00:33:58,250 같은, MA 매사 추세 츠에 대한 등등. 785 00:33:58,250 --> 00:34:00,520 그래서, 두 CHAR 값을 갈거야. 786 00:34:00,520 --> 00:34:03,080 >> 우편 번호는 흥미로운 하나입니다. 787 00:34:03,080 --> 00:34:06,679 우리는 수 있도록, 02138에 여기 우리는 무엇을 사용해야 제안? 788 00:34:06,679 --> 00:34:07,470 그것은 바로, INT입니까? 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 INT, INT, 짧은? 791 00:34:12,800 --> 00:34:14,521 짧은 작동합니다. 792 00:34:14,521 --> 00:34:15,020 아니? 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 CHAR 또는 다섯,하지만 지능합니다. 795 00:34:20,870 --> 00:34:23,710 왜 INT 다시 밀어? 796 00:34:23,710 --> 00:34:26,820 이에서 저를 설득. 797 00:34:26,820 --> 00:34:29,210 무엇 INT, 내 생각에 대해 바보입니까? 798 00:34:29,210 --> 00:34:29,871 그래. 799 00:34:29,871 --> 00:34:31,199 >> 청중 : 더 많은 메모리를 차지합니다. 800 00:34:31,199 --> 00:34:32,909 >> 데이비드 마란 : 더 많은 메모리를 차지합니다. 801 00:34:32,909 --> 00:34:35,310 4 바이트,하지만 당신은있어 우편 번호를 제안 802 00:34:35,310 --> 00:34:39,000 다섯 바이트로 누군가가 CHAR로했다 그건 정말 아니다, 어처럼 느끼는 803 00:34:39,000 --> 00:34:39,620 경우. 804 00:34:39,620 --> 00:34:40,489 >> 음, 재미있는 이야기. 805 00:34:40,489 --> 00:34:43,179 몇 년 전, 내가 사용하는 데 사용하는 경우 내 이메일에 대한 마이크로 소프트 아웃룩, 806 00:34:43,179 --> 00:34:45,150 나는 결국 Gmail로 전환하고 싶었다. 807 00:34:45,150 --> 00:34:48,949 그래서, 나는 모두를 내 보낸 내 CSV 파일로 아웃룩의 연락처. 808 00:34:48,949 --> 00:34:50,699 쉼표로 구분 된 값, 이는 그냥 의미 809 00:34:50,699 --> 00:34:54,060 내 친구들 이름을 가지고 있었고, 마지막 이름과 전화 번호, 우편 번호 810 00:34:54,060 --> 00:34:54,747 그 모든. 811 00:34:54,747 --> 00:34:56,580 그리고 내가 만든 그것을 개방의 실수 812 00:34:56,580 --> 00:34:58,640 Excel에서, 이는입니다 스프레드 시트 프로그램이 813 00:34:58,640 --> 00:35:00,289 우리가 보았 듯이 CSV 파일을 이해한다. 814 00:35:00,289 --> 00:35:03,080 그러나, 나는, 같은 공격해야합니다 한 지점에서 명령 또는 컨트롤 S. 815 00:35:03,080 --> 00:35:06,250 엑셀 명백하게 한번에 언제든지함으로써 기능을 가지고 그것을 816 00:35:06,250 --> 00:35:08,100 그것은 도움이 될하려고 번호를 보았다. 817 00:35:08,100 --> 00:35:11,610 그리고 그 숫자는 시작하는 경우 제로, 그냥 그들을 제거합니다. 818 00:35:11,610 --> 00:35:13,420 왜 선도해야합니까 정수에 제로? 819 00:35:13,420 --> 00:35:15,140 그들은 수학적 의미입니다. 820 00:35:15,140 --> 00:35:17,530 그들은 의미가 아니에요 미국 우편 시스템. 821 00:35:17,530 --> 00:35:19,954 그래서, 몇 년 동안 했어, 이 날, 나는 여전히 822 00:35:19,954 --> 00:35:22,370 것을 친구가있을 때 나는 누군가의 필요에 드문 경우 823 00:35:22,370 --> 00:35:24,078 요즘 해결, 나는 아직도 내가를 볼 수 있습니다 824 00:35:24,078 --> 00:35:26,767 캠브리지에있는 친구가 매사 추세 츠, 2138. 825 00:35:26,767 --> 00:35:29,350 당신이 있다면 그리고 그것은 짜증나 프로그램의 정렬 시도 826 00:35:29,350 --> 00:35:30,975 봉투를 생성하거나 그냥 적어. 827 00:35:30,975 --> 00:35:33,599 그리고 그 때문에이 이유이다 나는 잘못된 데이터 유형을 선택했다. 828 00:35:33,599 --> 00:35:34,490 그래서, 나는 당신의 아이디어를 사랑 해요. 829 00:35:34,490 --> 00:35:35,650 의는 CHAR 필드를 사용하자. 830 00:35:35,650 --> 00:35:38,340 5 자 제외 코너 경우가있다. 831 00:35:38,340 --> 00:35:42,220 여전히 메일을 보낼 경우, 때로는 요즘 코드를 압축, 832 00:35:42,220 --> 00:35:45,360 그들은 같은있어, 플러스 네. 833 00:35:45,360 --> 00:35:48,200 그래서, 우리는 다음 하이픈 및 필요 우리는 더 4 개의 번호가 필요합니다. 834 00:35:48,200 --> 00:35:50,330 그래서 솔직히 말해서, 그것은 수 여러 가지 방법으로 이동합니다. 835 00:35:50,330 --> 00:35:52,371 >> 지금, 나는 계속거야 그것은 간단하고 난 그냥 해요 836 00:35:52,371 --> 00:35:54,780 가 있다는 말을하려고 다섯 CHAR 값과 우리가있어 837 00:35:54,780 --> 00:35:56,739 전체 대시 플러스 넷을 건너 뛸 것. 838 00:35:56,739 --> 00:35:58,280 그러나 이러한 트레이드 오프의 종류입니다. 839 00:35:58,280 --> 00:36:00,196 그리고 당신은 생각할 수 발생하는 같은 문제 840 00:36:00,196 --> 00:36:01,860 전화 번호 또는 다른 필드. 841 00:36:01,860 --> 00:36:04,350 >> 그리고 지금,이 실제로 어리석은 도로 아래로 이동합니다. 842 00:36:04,350 --> 00:36:08,000 롭 그리고 한나 모두 가정 마리아와 [? Davon?] 앤디 843 00:36:08,000 --> 00:36:12,820 및 직원에 다른 모든 살 캠브리지, 매사 추세 츠, 02138에서. 844 00:36:12,820 --> 00:36:17,970 이것은 실제로 난 것을 바보가 된 기분 내 사용자 테이블에 추가, 도시, 주, 845 00:36:17,970 --> 00:36:18,630 및 우편 번호. 846 00:36:18,630 --> 00:36:20,980 왜? 847 00:36:20,980 --> 00:36:21,960 >> 청중 : [들리지] 848 00:36:21,960 --> 00:36:22,918 >> 데이비드 마란은 : 다시 말? 849 00:36:22,918 --> 00:36:24,310 청중 : [들리지] 850 00:36:24,310 --> 00:36:25,850 >> 데이비드 마란 : 그들은 항상있어 바로, 함께 갈? 851 00:36:25,850 --> 00:36:28,660 그것이 나오는 때, 우리는 생각하는 데 사용 이 철저하게 우리까지의 경우와 852 00:36:28,660 --> 00:36:30,570 전체 미국 검색 하고 있음이 밝혀 853 00:36:30,570 --> 00:36:32,653 일부 불일치는 여기서 여러 도시가있다 854 00:36:32,653 --> 00:36:35,060 이상한 동일한 우편 번호. 855 00:36:35,060 --> 00:36:40,580 그러나, 우리는 지금 02,138을 그것을 위해 규정하는 경우 항상 캠브리지, 매사 추세 츠입니다 856 00:36:40,580 --> 00:36:44,910 왜 세상에서 당신에 저장하는 것 데이터베이스 캠브리지와 석사 02138 857 00:36:44,910 --> 00:36:49,357 나를 위해 한나과 롭과 [하시나요? Davon?]과 살고 다른 사람을 위해 858 00:36:49,357 --> 00:36:51,190 여기 캠브리지, 그건 완벽하게 중복. 859 00:36:51,190 --> 00:36:54,480 >> 우리는 도망한다 단지 무엇을 저장에? 860 00:36:54,480 --> 00:36:55,610 그냥 우편 번호. 861 00:36:55,610 --> 00:36:58,660 그러나, 우리는 단지 저장하는 경우 우편 번호, 난, 아마, 원하는 게 862 00:36:58,660 --> 00:37:02,160 02138이 어디 내 웹 사이트에 대해 알고. 863 00:37:02,160 --> 00:37:03,910 그래서, 다른 테이블이 필요합니다. 864 00:37:03,910 --> 00:37:04,697 그리고 괜찮아요. 865 00:37:04,697 --> 00:37:07,530 실제로,이 중 하나이다 디자인 테이블의 디자인 프로세스 866 00:37:07,530 --> 00:37:11,472 당신은뿐만 아니라 이에 PSet7에서 할거야 당신은 일반적인 데이터를 고려하고 싶다. 867 00:37:11,472 --> 00:37:14,430 그냥 우리가 감안 된 것 같은 공통 코드 밖으로 인수 분해 일반적인 868 00:37:14,430 --> 00:37:17,380 여기, CSS에서 스타일 또한 데이터베이스, 869 00:37:17,380 --> 00:37:21,180 난 단지 고유을에 02138을 필요로하는 경우 누군가의 고향을 식별 870 00:37:21,180 --> 00:37:25,020 캠브리지, 질량을 저장하지 않습니다 테이블의 모든 터무니없는 사용자입니다. 871 00:37:25,020 --> 00:37:29,770 >> 대신,라는 별도의 테이블이 우편 번호가 있어야 그 어떤 열? 872 00:37:29,770 --> 00:37:33,490 아마 ID 필드, 단지에 대한 때문에 원칙은 우리가 지금 얘기하고 있습니다. 873 00:37:33,490 --> 00:37:35,720 02138에 대한 아마 우편 필드. 874 00:37:35,720 --> 00:37:38,400 그리고 아마 어떤 다른 열? 875 00:37:38,400 --> 00:37:42,950 도시와 상태,하지만 하나가 행 02,138를 들어, 02139에 대한 하나의 행, 876 00:37:42,950 --> 00:37:44,772 90210에 대한 하나의 행. 877 00:37:44,772 --> 00:37:46,730 그리고 그 말 그대로입니다 내가 아는 모든 우편 번호. 878 00:37:46,730 --> 00:37:49,012 >> 그래서 지금, 당신은 무엇을 할 수 있습니까? 879 00:37:49,012 --> 00:37:51,220 이 때문에, 문제가 지금은 두 테이블을 가지고있다. 880 00:37:51,220 --> 00:37:54,660 그래서, 내 사용자가 대부분 여기에 있습니다, 그러나 그들의 도시 국가 정보입니다 881 00:37:54,660 --> 00:37:55,390 여기. 882 00:37:55,390 --> 00:37:58,635 그래서, 거기에, SQL로 판명 실제 방법은, 정보에 합류 883 00:37:58,635 --> 00:38:00,470 당신은 PSET이 표시됩니다. 884 00:38:00,470 --> 00:38:03,000 >> 그러나 그것은 당신이 할 수있는 밝혀 이런 일을한다. 885 00:38:03,000 --> 00:38:10,501 사용자의 선택 스타, ON 지퍼 가입하세요 사용자는 지퍼 지퍼는 지퍼를 점 동일 점. 886 00:38:10,501 --> 00:38:13,360 어떤 작은 말의이다, 일반적으로 인정 하듯이,하지만 단지 887 00:38:13,360 --> 00:38:17,590 에서 선택 모든 것을 의미합니다 내 사용자 테이블을 복용의 과정 888 00:38:17,590 --> 00:38:19,580 내 지퍼 테이블. 889 00:38:19,580 --> 00:38:22,120 하나를 가입 필드들은 열에 있습니다. 890 00:38:22,120 --> 00:38:24,780 그래서, 말 그대로 뭔가를하고 이런 식으로, 다시 줘 891 00:38:24,780 --> 00:38:27,360 새 임시 테​​이블 즉, 즉 더 큰, 더 넓은이다 892 00:38:27,360 --> 00:38:29,450 즉, 모두가 둘의 열. 893 00:38:29,450 --> 00:38:33,510 그리고는, 아주 간단하게 될 것입니다 이 같은 작업을 수행하기위한 구문. 894 00:38:33,510 --> 00:38:35,540 >> 따라서, 앞으로이있다 하지만 거기에 무슨 895 00:38:35,540 --> 00:38:38,950 다른 디자인 결정을 할하려면거야 뿐만 아니라 인덱스, 확인해야 896 00:38:38,950 --> 00:38:40,550 또한 문제로 실행. 897 00:38:40,550 --> 00:38:43,360 사실, 문제있다 데이터베이스 설계 898 00:38:43,360 --> 00:38:47,930 이에 때로는 두 사람이 할 수 있습니다 데이터베이스의 동일한 행에 액세스 할 899 00:38:47,930 --> 00:38:48,530 테이블. 900 00:38:48,530 --> 00:38:51,450 그래서,이 일이 우리가 거​​ 야입니다 뿐만 아니라 PSet7에 발생합니다. 901 00:38:51,450 --> 00:38:54,686 >> 하지만 난 하나 봐 줄 알았는데 SQL에서 가능 공격. 902 00:38:54,686 --> 00:38:56,560 의 일부를 무엇입니까 발생할 수있는 문제? 903 00:38:56,560 --> 00:38:58,170 그래서, 당신은 PSet7이 발생할 수 있습니다. 904 00:38:58,170 --> 00:39:01,874 그리고 우리는 크게 무엇을 당신에게 이 문제에 대한 코딩 솔루션이다. 905 00:39:01,874 --> 00:39:04,790 하지만 당신은 더 높은 수준의 클래스를 가지고가는 경우에, 특히, 운영 시스템, 906 00:39:04,790 --> 00:39:06,950 당신은 만날거야 자성의 문제, 907 00:39:06,950 --> 00:39:10,080 일을하려고하는 문제 여러 가지 한 번에 908 00:39:10,080 --> 00:39:11,000 중단없이. 909 00:39:11,000 --> 00:39:14,560 >> 그리고 나는이 소개 줄 알았는데 은유와 PSet7에 대한 생각 910 00:39:14,560 --> 00:39:18,160 나는 마고 자신을 배운 탄산수의 CS164 운영 체제 911 00:39:18,160 --> 00:39:18,990 전 클래스 년. 912 00:39:18,990 --> 00:39:22,230 당신이이 기숙사 중 하나를 가지고 있다고 가정하자 기숙사 나 집에 냉장고, 913 00:39:22,230 --> 00:39:24,474 당신은 우유에 대한 실제 경향이있다. 914 00:39:24,474 --> 00:39:27,140 그래서, 당신은 클래스에서 집에 와서 어느 날, 당신은 냉장고를 엽니 다. 915 00:39:27,140 --> 00:39:27,620 아, 젠장. 916 00:39:27,620 --> 00:39:28,870 냉장고에는 우유가 없습니다. 917 00:39:28,870 --> 00:39:32,470 그래서, 당신은 냉장고를 닫습니다, 문을 잠 기숙사를 잠금, 918 00:39:32,470 --> 00:39:34,770 코너 산책 CVS에, 줄 수, 919 00:39:34,770 --> 00:39:36,312 일부 우유 체크 아웃 시작합니다. 920 00:39:36,312 --> 00:39:38,978 그리고, 시간이 걸릴 것 그 빌어 먹을 셀프 체크 아웃 때문에 921 00:39:38,978 --> 00:39:40,570 카운터 어쨌든 사용 영원히 걸릴. 922 00:39:40,570 --> 00:39:41,950 그래서 그 사이에, 당신의 룸메이트가 집에 온다. 923 00:39:41,950 --> 00:39:43,470 그 또는 그녀는 정말뿐만 아니라 우유를 좋아한다. 924 00:39:43,470 --> 00:39:45,520 그들은 기숙사 방에 와서, 냉장고를 열고, 오, 그것을 터무니. 925 00:39:45,520 --> 00:39:46,490 더 이상 우유가 없습니다. 926 00:39:46,490 --> 00:39:49,040 >> 그래서, 그 또는 그녀는 또한 모퉁이 간다. 927 00:39:49,040 --> 00:39:51,670 하지만 지금은, 이후이 같은있다 또는 서너 CVSes 근처, 928 00:39:51,670 --> 00:39:53,800 그들 중 하나에 갈 일이 광장에서 다른 사람. 929 00:39:53,800 --> 00:39:55,830 그리고 지금, 몇 분 당신 이후, 모두 930 00:39:55,830 --> 00:39:58,060 집에 와서 지금까지 우, 최악의 문제. 931 00:39:58,060 --> 00:40:00,967 지금 당신은 너무 많은 우유가 이 신 갈 것 때문에. 932 00:40:00,967 --> 00:40:03,050 그리고 당신은 우유를 좋아하지만, 정말 우유를 좋아하지 않는다. 933 00:40:03,050 --> 00:40:06,730 >> 이제, 이것은 비싼 것이었다 실수 둘 때문에 934 00:40:06,730 --> 00:40:09,870 를 기반으로 결정을 일부 변수의 상태 그 935 00:40:09,870 --> 00:40:12,660 과정에 참여 당신에 의해 변경되고, 936 00:40:12,660 --> 00:40:14,560 우유를 얻기 위해가는 개시. 937 00:40:14,560 --> 00:40:17,785 그럼, 아마도 인간 그 문제에 대한 해결책? 938 00:40:17,785 --> 00:40:18,660 청중 : [들리지] 939 00:40:18,660 --> 00:40:19,430 데이비드 마란은 : 오른쪽 메모를 남겨? 940 00:40:19,430 --> 00:40:21,850 당신이 있다면 항상 메모를 남겨 그 쇼에 대해 잘 알고. 941 00:40:21,850 --> 00:40:23,100 네, 우리의 두 가지가 있습니다. 942 00:40:23,100 --> 00:40:25,940 그래서, 항상 메모를 남겨, 또는 말 그대로 냉장고를 잠글 943 00:40:25,940 --> 00:40:28,602 자물쇠의 어떤 종류 또는 그런 맨 위에 뭔가. 944 00:40:28,602 --> 00:40:31,310 그러나 실제로 될 것 데이터베이스 설계와 핵심 문제, 945 00:40:31,310 --> 00:40:34,710 당신은 할 수 있습니다, 특히 여러 브라우저, 여러 노트북, 946 00:40:34,710 --> 00:40:37,450 여러 사용자가 모든 시도 한 번에 정보를 업데이트 할 수 있습니다. 947 00:40:37,450 --> 00:40:40,590 특히 민감한 정보 금융 정보 등 948 00:40:40,590 --> 00:40:43,350 이에 주식 거래와 당신 같은 웹 사이트를 구축 할 것입니다, 949 00:40:43,350 --> 00:40:47,270 당신은 얼마나 많은 돈을 확인하려면 무엇을 당신이 다음 당신이 충분히있는 경우, 950 00:40:47,270 --> 00:40:48,490 일부 주식을 구입? 951 00:40:48,490 --> 00:40:50,899 >> 그러나 만약 다른 사람 당신과 함께 공동 계정을 가지고 952 00:40:50,899 --> 00:40:52,690 동시에 시도 일부 주식을 구입 하는가? 953 00:40:52,690 --> 00:40:55,190 그래서, 그 또는 그녀를 검사 둘 계정 잔액, 954 00:40:55,190 --> 00:40:57,540 같은 돌아 가야 대답은, 어떤 우유가 없습니다. 955 00:40:57,540 --> 00:41:00,580 아니면 둘 다, 답을 다시 얻을 당신은 계정에 $ 100이 있습니다. 956 00:41:00,580 --> 00:41:04,680 당신의 모두 결정을 만들려고 일부 회사 주식의 일주를 구입합니다. 957 00:41:04,680 --> 00:41:06,130 >> 그리고 지금, 무슨 일이? 958 00:41:06,130 --> 00:41:07,140 당신은 이주가? 959 00:41:07,140 --> 00:41:08,420 당신은 주식이 없다? 960 00:41:08,420 --> 00:41:10,320 같은 문제가 발생할 수 있습니다. 961 00:41:10,320 --> 00:41:11,755 그래서, 우리는이 발생할 수 있습니다. 962 00:41:11,755 --> 00:41:14,630 SQL 주입 공격, 다행히도, 우리가 당신을 도울 것입니다 뭔가, 963 00:41:14,630 --> 00:41:17,430 그러나 이들은 atrociously 있습니다 여전히 일반적인 요즘. 964 00:41:17,430 --> 00:41:18,680 그래서, 이것은 단지 예입니다. 965 00:41:18,680 --> 00:41:21,290 나는 어떤 주장을하지 않습니다 그 하버드 PIN 시스템이다 966 00:41:21,290 --> 00:41:23,130 이 특정 공격에 취약. 967 00:41:23,130 --> 00:41:24,160 우리는 시도했습니다. 968 00:41:24,160 --> 00:41:26,120 그러나, 당신이 알고 우리가 이 같은 필드가 있습니다. 969 00:41:26,120 --> 00:41:29,620 그리고 예일의 인터넷 ID가 비슷한이 요즘 화면을 찾고. 970 00:41:29,620 --> 00:41:33,190 그리고 그것은, 밝혀 어쩌면 PIN 시스템은 PHP에서 구현된다. 971 00:41:33,190 --> 00:41:37,050 >> 이 were-- 만약 그들이 하죠 그래입니다 이처럼 보이는 코드가있을 수 있습니다. 972 00:41:37,050 --> 00:41:38,210 그들은 두 개의 변수가 있습니다. 973 00:41:38,210 --> 00:41:42,495 나에게 사용자 이름과 암호를 제공 포스트 슈퍼 전역 변수에서 974 00:41:42,495 --> 00:41:43,970 우리는 이전에 대해 얘기하는 것이. 975 00:41:43,970 --> 00:41:47,310 아마 하버드​​ 쿼리를 가지고 사용자의 선택 스타처럼 976 00:41:47,310 --> 00:41:50,005 여기서 사용자 이름이 그와 동일 및 암호는 동일합니다. 977 00:41:50,005 --> 00:41:51,880 그리고 난 그냥 해요 통지 사용에 연결해 978 00:41:51,880 --> 00:41:55,050 서로 중괄호 표기법 그냥 값을 연결 수단 일, 979 00:41:55,050 --> 00:41:55,550 여기에. 980 00:41:55,550 --> 00:41:57,449 나는를 사용하지 않는거야 물음표 기술. 981 00:41:57,449 --> 00:41:59,240 나는 어떤 두 번째가 없습니다 또는 세 번째 인수. 982 00:41:59,240 --> 00:42:02,350 난 그냥 그대로 해요 문자열 자신을 구성. 983 00:42:02,350 --> 00:42:04,930 >> 문제는, 비록 있다는 누군가가 scroob를 좋아하는 경우에, 984 00:42:04,930 --> 00:42:09,020 이는 영화에 대한 참조입니다, 이런 일에 기록, 985 00:42:09,020 --> 00:42:11,250 나는 점을 삭제했습니다 일반적으로 은폐하는 것이 986 00:42:11,250 --> 00:42:14,370 그가 어떤 경우 암호, 특히 악성 987 00:42:14,370 --> 00:42:18,860 자신의 암호는 아마도, 12345 라는 영화 당 "Spaceballs" 988 00:42:18,860 --> 00:42:21,970 그러나 그는 매우 유형 오 후 작은 따옴표, 989 00:42:21,970 --> 00:42:24,790 다음 문자 또는 단어 공간에서 다음을 인용, 990 00:42:24,790 --> 00:42:29,160 인용을 끝내 하나가 인용 한 동일 그러나 그는 무엇을 생략 고시? 991 00:42:29,160 --> 00:42:32,700 그는 오른쪽에 따옴표를 생략있어 그는 왼쪽에 따옴표를 생략합니다. 992 00:42:32,700 --> 00:42:35,170 >> 때문에 만약이 공격자 scroob의 추정 993 00:42:35,170 --> 00:42:38,160 사람이 쓴 것입니다 이 PHP 코드는, 너무 밝은하지 않았다 994 00:42:38,160 --> 00:42:42,990 어쩌면 그들은 단지 어떤 하나의이 보간 따옴표 995 00:42:42,990 --> 00:42:45,210 중괄호의 변수? 996 00:42:45,210 --> 00:42:48,620 그래서 어쩌면, 그는 종류의 수 자신의 생각을 완료 997 00:42:48,620 --> 00:42:53,290 그들을 위해,하지만 방법으로 그 일이야 그 PIN 시스템을 해킹 할 수 있습니다. 998 00:42:53,290 --> 00:42:55,310 즉, 가정 이것은 코드가 있는지 999 00:42:55,310 --> 00:42:57,140 우리는 지금 입력 scroob 무엇에 연결합니다. 1000 00:42:57,140 --> 00:42:58,770 나쁜이기 때문에 그리고, 빨간색입니다. 1001 00:42:58,770 --> 00:43:01,310 >> 그리고 기본 텍스트 그는에 입력 한 내용이다 1002 00:43:01,310 --> 00:43:05,510 scroob 하버드의 서버를 속일 수 SQL 쿼리를 구성에 1003 00:43:05,510 --> 00:43:07,440 이처럼 보이는 문자열입니다. 1004 00:43:07,440 --> 00:43:11,760 비밀번호는 12345 또는 하나 하나에 해당 같습니다. 1005 00:43:11,760 --> 00:43:14,820 그 결과 그 중, 논리적으로, 이 scroob를 기록 할 것입니다 1006 00:43:14,820 --> 00:43:18,360 그의 암호 인 경우에 12345 경우 또는 하나의 동등한 1007 00:43:18,360 --> 00:43:22,660 항상 물론 사실 하나, 어떤 scroob 항상에 들어갔을 의미한다. 1008 00:43:22,660 --> 00:43:26,060 >> 그래서, 방법은 해결하기 이, 많은 경우에서와 같이, 1009 00:43:26,060 --> 00:43:28,140 수비를 작성하는 것입니다. 1010 00:43:28,140 --> 00:43:30,390 같은 것을 사용하여 우리의 실제 쿼리 기능, 어떤 1011 00:43:30,390 --> 00:43:33,980 당신은 우리가 플러그 PSet7에 볼 수 있습니다 질문과 같이 여기에 표시합니다. 1012 00:43:33,980 --> 00:43:35,980 그리고의 아름다움 쿼리 기능이 우리 1013 00:43:35,980 --> 00:43:40,010 당신이 이들에 대해 방어입니다 제공 소위 SQL 주입 공격, 1014 00:43:40,010 --> 00:43:44,260 누군가에 코드를 속여됩니다 자신의 SQL 코드를 주입​​. 1015 00:43:44,260 --> 00:43:47,380 어떤 쿼리 기능 때문에 우리는 당신이 실제로 할 것입니다 제공, 1016 00:43:47,380 --> 00:43:51,270 당신은 물음표 구문을 사용하는 경우 그리고 두 번째와 여기에 세 번째 인수, 1017 00:43:51,270 --> 00:43:54,590 가 추가 한 일이다 사용자가 한 것으로 입력? 1018 00:43:54,590 --> 00:43:56,060 그 백 슬래시 인용. 1019 00:43:56,060 --> 00:43:58,590 >> 그래서, 어떤 잠재적 탈출 위험한 문자. 1020 00:43:58,590 --> 00:44:01,000 이것은, 지금 이상한 보인다 하지만 취약 아니다 1021 00:44:01,000 --> 00:44:03,260 그것은하지 않기 때문에 이상 논리를 변경할 1022 00:44:03,260 --> 00:44:06,470 그 모든 비밀이기 때문에 지금은 아니다 작은 따옴표, 1023 00:44:06,470 --> 00:44:07,596 사실, scroob의 암호를 입력합니다. 1024 00:44:07,596 --> 00:44:09,845 그래서, 약간의 농담이있었습니다 지난 몇 년 동안이 약. 1025 00:44:09,845 --> 00:44:12,570 그래서,이 사진을 찍은 주차장에서 약간 괴짜의 1026 00:44:12,570 --> 00:44:16,620 이에 해당 일부 도시를 알 수 있습니다 및 상태는 라이센스를 검색하려고 1027 00:44:16,620 --> 00:44:19,460 플레이트는 나 티켓을 청구하는 방법 이 같은없이 통과하는 경우, 1028 00:44:19,460 --> 00:44:20,660 E-Z 패스 것. 1029 00:44:20,660 --> 00:44:24,490 그래서,이 사람은 아마 것으로 추정 E-Z 패스 시스템을 쓰는 사람들 1030 00:44:24,490 --> 00:44:28,240 너무 밝은하지 않았다, 어쩌면 그들은 그냥 문자열을 함께 연결된, 1031 00:44:28,240 --> 00:44:32,190 그래서 그 또는 그녀는 악의적 할 수 없었다 그들의 생각을 완료하지, 1032 00:44:32,190 --> 00:44:35,150 하지만 실제로는 잘못된 명령을 실행, 이는 우리가 아직 언급되지 않은 한 1033 00:44:35,150 --> 00:44:36,380 하지만 당신은 아마 추측 할 수있다. 1034 00:44:36,380 --> 00:44:39,820 또한 그 삭제하고 삽입 및 업데이트를 선택, 1035 00:44:39,820 --> 00:44:43,370 드롭라는 키워드도있다, 있는 그대로 모든 내용이 삭제 1036 00:44:43,370 --> 00:44:45,300 데이터베이스에있는 특히 나쁘다. 1037 00:44:45,300 --> 00:44:48,760 >> 우리는이 경우 확대 할 수 있습니다 그것을보고 조금 힘듭니다. 1038 00:44:48,760 --> 00:44:52,300 이것은, 지금은 유명한 만화입니다 즉, 지금 멋지고 똑똑 1039 00:44:52,300 --> 00:44:53,145 하고 이해. 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [웃음] 1042 00:45:04,750 --> 00:45:05,910 >> 멋진, 그래. 1043 00:45:05,910 --> 00:45:06,800 종류의 어쩔 줄. 1044 00:45:06,800 --> 00:45:08,800 이러한 그래서, 다음,있다 SQL 주입 공격. 1045 00:45:08,800 --> 00:45:13,050 그리고 그들은 사용하여 피하기 위해 너무 쉽다 오른쪽 코드 또는 오른쪽 라이브러리. 1046 00:45:13,050 --> 00:45:15,947 그리고 당신은, 그건 PSet7에 볼 수 있습니다 왜 우리는 당신에게 쿼리 기능을 제공합니다. 1047 00:45:15,947 --> 00:45:17,780 그래서, 맛보기 몇 우리는 우리가 거​​라고 생각했다 1048 00:45:17,780 --> 00:45:19,930 여기에 당신을 줄 우리의 함께 분 남아. 1049 00:45:19,930 --> 00:45:24,030 그래서, 당신은 주 0에서 기억, 우리 이 두 개의 전구를 도입하는 1050 00:45:24,030 --> 00:45:26,610 아르 니스, 단지 때문에 그들은 꽤있어 다채로운 있습니다, 1051 00:45:26,610 --> 00:45:29,450 하지만 그들은 뭔가를 지원하기 때문에 응용 프로그램, API 호출 1052 00:45:29,450 --> 00:45:31,980 프로그래밍 인터페이스 CS50에 지금까지, 우리는했습니다 1053 00:45:31,980 --> 00:45:34,440 대부분 GET에 초점을 맞추고 POST는 있지만 밝혀 1054 00:45:34,440 --> 00:45:37,390 PUT과 같은 다른 HTTP 동사가있다. 1055 00:45:37,390 --> 00:45:39,430 >> 사실, 이것은이었다 주 0에서 슬라이드 1056 00:45:39,430 --> 00:45:44,930 이에 당신이 코드를 작성하는 경우 그 전송 라 PSet6 HTTP 요청이 1057 00:45:44,930 --> 00:45:49,647 텍스트의 덩어리와 같다 JSON라고 바닥에, 1058 00:45:49,647 --> 00:45:52,230 또는 자바 스크립트 객체 표기법 것을 우리는 다음 주에 대해 이야기 할 것입니다, 1059 00:45:52,230 --> 00:45:57,030 당신은 켜거나 끄거나 변경할 수있는 그와 같은 빛의 색상. 1060 00:45:57,030 --> 00:46:00,480 CS50 또한 일부 이외에 가지고 있다면 뉴 헤이븐에서 여기 전구 1061 00:46:00,480 --> 00:46:02,480 당신은 빌려하려는 경우 그 최종 프로젝트, 1062 00:46:02,480 --> 00:46:04,370 또한 일부 Microsoft 처럼 밴드, 1063 00:46:04,370 --> 00:46:07,619 당신이 당신의 손목에 착용하는 것이 시계 유사 있도록하는 API가 있음 1064 00:46:07,619 --> 00:46:10,040 그들을 위해 자신의 소프트웨어를 작성할 수 있습니다. 1065 00:46:10,040 --> 00:46:12,490 >> 우리는 계정이 애플의 아이폰 OS 코드 때문에 1066 00:46:12,490 --> 00:46:15,510 당신은 애플 시계 나있는 경우 아이폰이나 아이 패드 또는 아이팟, 1067 00:46:15,510 --> 00:46:17,707 당신은 코드를 작성 할 수 있습니다 실제로 그에서 실행됩니다. 1068 00:46:17,707 --> 00:46:19,540 우리는 전체 무리가 이다의 아두 이노, 1069 00:46:19,540 --> 00:46:22,010 작은 작은 컴퓨터 케이스없이 본질적 1070 00:46:22,010 --> 00:46:25,240 USB를 통해 연결할 수 있는지, 일반적으로 자신의 Mac 또는 PC에, 1071 00:46:25,240 --> 00:46:28,810 이러한 물리적에서 실행되는 코드를 작성 자주에 센서가있는 장치 1072 00:46:28,810 --> 00:46:30,790 그래서 당신은 현실 세계와 상호 작용할 수 있습니다. 1073 00:46:30,790 --> 00:46:32,860 우리는 전체 무리가 립 모션 디바이스, 1074 00:46:32,860 --> 00:46:36,500 Mac 용 USB 장치있는 및 여기에 다시, 뉴 헤이븐에있는 PC를,. 1075 00:46:36,500 --> 00:46:40,080 그리고 당신이 당신의 맥에 연결하면, 당신은 실제로 컴퓨터를 제어 할 수 있습니다 1076 00:46:40,080 --> 00:46:42,550 소프트웨어를 작성하여 그 적외선 빔을 통해, 1077 00:46:42,550 --> 00:46:46,360 당신의 인간의 손이 어디에 있는지 파악한다, 당신의 키보드를 건드리지 않고. 1078 00:46:46,360 --> 00:46:49,135 우리는 우리가 빠른을 공유하고자합니다 예를 들어,이에서 엿볼. 1079 00:46:49,135 --> 00:46:51,428 >> [음악 재생] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 그래서, 우리는 전체가 이러한 것들의 무리, 1082 00:47:57,590 --> 00:48:01,040 도 묘 암 밴드라고 이는 당신이 당신의 팔뚝을 통해 넣어 1083 00:48:01,040 --> 00:48:04,595 그리고 당신은 현실을 제어 할 수 있습니다 세계 또는이 같은 가상 세계. 1084 00:48:04,595 --> 00:48:06,471 >> [음악 재생] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 아니면, 우리는 또한 몇 가지 구글이 같은, 말 그대로 판지, 1087 00:49:20,920 --> 00:49:24,841 당신이에 넣을 수있는 골 판지 상자 당신의 그것으로 휴대폰의 얼굴,하지만 슬라이드 1088 00:49:24,841 --> 00:49:27,590 그래서 당신의 유리를 넣어 당신의 당신의 눈에 정말 가까이 전화. 1089 00:49:27,590 --> 00:49:30,190 구글 골판지입니다 $ 10, $ 20 꽤 저렴한. 1090 00:49:30,190 --> 00:49:32,230 그리고 작은 렌즈를 가지고 그 약간 변화 오프 1091 00:49:32,230 --> 00:49:35,900 당신의 인간에 대한 화면의 이미지 눈은 당신에게 깊이의 감각을 제공합니다 1092 00:49:35,900 --> 00:49:39,550 그래서 당신은 실제로 3D가 있는지 당신의 앞에 환경을 제공합니다. 1093 00:49:39,550 --> 00:49:42,927 우리는 또한 일부 삼성 기어를 가지고있는 이러한 고가의 버전이고, 1094 00:49:42,927 --> 00:49:46,010 하지만 유사에 밀어 수 있습니다 안드로이드 폰과 당신에게 환상을 제공 1095 00:49:46,010 --> 00:49:48,309 동행입니다 또는 경험을 제공 가상 현실의. 1096 00:49:48,309 --> 00:49:50,850 그리고 우리의 마지막 두 분, 우리는 우리가이 작업을 수행하려고 할 것이라고 생각합니다. 1097 00:49:50,850 --> 00:49:55,250 나는 콜튼이 무슨 투사 할 수있는 경우 여기에 당신의 식욕을 자극하는, 1098 00:49:55,250 --> 00:49:58,442 내가 가서 던져 보자 여기에 큰 화면에. 1099 00:49:58,442 --> 00:49:59,400 내가 불을 죽일 수 있습니다. 1100 00:49:59,400 --> 00:50:02,290 콜튼, 당신은 가서하고 싶어 그리고 잠시 동안 당신의 세포에 넣어 1101 00:50:02,290 --> 00:50:05,171 그리고까지 와서 단계의 중간? 1102 00:50:05,171 --> 00:50:07,420 그리고 당신은 project--하고 싶어 이 콜튼가 보는 것입니다. 1103 00:50:07,420 --> 00:50:10,560 >> 지금, 여기에 와이파이입니다 이 장치에 대한 매우 강력하지 1104 00:50:10,560 --> 00:50:13,870 이 슈퍼 경쟁력이다, 그러나 콜튼은 그대로입니다 1105 00:50:13,870 --> 00:50:15,710 이 마법의 미래 장소에서. 1106 00:50:15,710 --> 00:50:16,796 그는 단지 하나의 이미지를 볼 수 있습니다. 1107 00:50:16,796 --> 00:50:19,920 당신은 자신의 왼쪽과 오른쪽 눈을보고있다 그의 뇌는 함께 바느질됩니다 1108 00:50:19,920 --> 00:50:22,260 세 가지 차원에서 그의 얼굴에 환경. 1109 00:50:22,260 --> 00:50:24,319 그는 여기 메뉴 옵션을 선택합니다. 1110 00:50:24,319 --> 00:50:27,360 그리고 다시, 그는이 헤드셋을 입고 그것에 삼성 전화 그건 1111 00:50:27,360 --> 00:50:29,080 무선으로 우리의 오버 헤드 돌출. 1112 00:50:29,080 --> 00:50:30,349 지금 당신은 화성에, 생각있어? 1113 00:50:30,349 --> 00:50:31,140 콜튼 : 나는 그렇게 생각. 1114 00:50:31,140 --> 00:50:32,181 나는 [들림] 확실하지 않다. 1115 00:50:32,181 --> 00:50:34,250 [웃음] 1116 00:50:34,250 --> 00:50:36,374 >> 데이비드 마란은 : 밝혀 화성은 이러한 메뉴가 있습니다. 1117 00:50:36,374 --> 00:50:41,590 >> 콜튼 : [들림] 멋진 장소는 우리가 이러시면 가고 싶은 경우 1118 00:50:41,590 --> 00:50:43,330 >> 데이비드 마란 : 우리는 어디 가고 싶어? 1119 00:50:43,330 --> 00:50:45,837 >> 콜튼 : [들림] 1120 00:50:45,837 --> 00:50:48,170 데이비드 마란 : 그리고 보자 어디 콜튼의 지금 우리를 복용. 1121 00:50:48,170 --> 00:50:48,961 콜튼 : [들림] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> 데이비드 마란 : 그래서, 많은있다 다른 장소 당신은 자신을 취할 수 있습니다. 1124 00:50:56,380 --> 00:51:00,590 FAPIs가 어떤을 통해 당신은 할 수 있어요 게임이나 상호 작용을 쓰기 그 1125 00:51:00,590 --> 00:51:01,950 전화, 궁극적으로 실행합니다. 1126 00:51:01,950 --> 00:51:03,908 그래서, 당신 정말 휴대 전화 응용 프로그램을 작성. 1127 00:51:03,908 --> 00:51:06,380 그러나 소프트웨어 덕분에 및 그래픽 기능, 1128 00:51:06,380 --> 00:51:08,765 지금 콜튼이에 작은 작은 오두막. 1129 00:51:08,765 --> 00:51:10,515 그리고 위험 자신을 압도, 1130 00:51:10,515 --> 00:51:13,330 콜튼 나는 주위에 충실 할 것이다 동안 여기에 클래스의 끝에 오늘에 1131 00:51:13,330 --> 00:51:14,300 당신이 와서 연주하고 싶은 경우. 1132 00:51:14,300 --> 00:51:16,350 그리고 우리는 그들에게 가져다 드릴게요 다시 다음 주뿐만 아니라. 1133 00:51:16,350 --> 00:51:18,420 더없이 ADO를 그 오늘을 위해 그것을이다. 1134 00:51:18,420 --> 00:51:21,990 우리는 다음 주에 볼 수 있습니다. 1135 00:51:21,990 --> 00:51:24,140 >> [음악 - RAGGA 쌍둥이, "나쁜 남자"] 1136 00:51:24,140 --> 00:55:23,146