1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [음악 재생] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> DAVID 마란 :이 CS50이며 이 주 여덟의 시작입니다. 5 00:00:13,350 --> 00:00:17,510 그리고 우리는 환영 매우 기쁘게 생각합니다 다시, 놀랍게도, CS50 자신의 라몬 6 00:00:17,510 --> 00:00:22,160 갈반,되었습니다 상승 수석 지난 몇 개월 지출 7 00:00:22,160 --> 00:00:26,190 LA 년 7 월 이후, 할리우드, 말 그대로 새로운 TV 작업 8 00:00:26,190 --> 00:00:31,930 식민지라는 쇼의 창조자 실제로 하버드 졸업생 자신이다. 9 00:00:31,930 --> 00:00:36,610 그래서 우리는이를보고 매우 기쁘게 생각합니다 미국 네트워크 1 월에 데뷔. 10 00:00:36,610 --> 00:00:40,370 그래서에 대한 계속 지켜봐 주시기 바랍니다, 그리고에 대한 주 동안 더 라몬이 올 수 있습니다. 11 00:00:40,370 --> 00:00:42,550 >> 끝이 가까운 것을 지금 알 수 있습니다. 12 00:00:42,550 --> 00:00:47,400 그리고 이것이 의미하는 것은 없다라는 것이다 모두가 더 말할 필요도 슬픈, CS50의 왼쪽. 13 00:00:47,400 --> 00:00:49,400 우리는 세 가지 문제가 세트가있다 있고이 14 00:00:49,400 --> 00:00:52,510 문제에 six-- 설정 당신의 손은 현재 또는 곧 될 것입니다 15 00:00:52,510 --> 00:00:56,080 나중에 의미 week--이 다리로 인해 명령 줄, 우리의 세계 16 00:00:56,080 --> 00:00:59,450 우리가 사용하는 우리의 대부분의 시간을 보냈어요 C 및 웹 프로그래밍 세계. 17 00:00:59,450 --> 00:01:02,350 글쎄, 당신은 아이디어를 많이 볼 수 있습니다 명령 줄 작업에서 차용, 18 00:01:02,350 --> 00:01:04,560 하지만 새의 또한 많은 재미있는 아이디어 19 00:01:04,560 --> 00:01:07,929 또한 대한 밀접한 될 것되는 모바일 애플리케이션을위한 기술, 20 00:01:07,929 --> 00:01:10,470 더 일반적으로,있는 당신 사람들은 요즘 모두 잘 알고있는 21 00:01:10,470 --> 00:01:12,090 노트북과 휴대 전화 등을합니다. 22 00:01:12,090 --> 00:01:15,220 >> 그래서 당신은하지 구현합니다 웹 페이지 또는 웹 사이트 23 00:01:15,220 --> 00:01:17,620 본질적으로, 그러나, 실제 웹 서버. 24 00:01:17,620 --> 00:01:21,590 사용자는 웹 서버의 나머지를 기록 할 그 목적은 인생에서 C로 작성 25 00:01:21,590 --> 00:01:25,410 HTTP 요청들을 수신 할 우리는 계속 얘기 가상 봉투 26 00:01:25,410 --> 00:01:29,780 약, 실제로으로 하나 응답 도트 HTML과 같은 몇 가지 정적 content-- 27 00:01:29,780 --> 00:01:32,310 파일, JPEG 또는 도트 파일의 다른 수, 28 00:01:32,310 --> 00:01:37,070 심지어 PHP 파일함으로써 웹 서버는 PHP를 해석하는 것입니다 29 00:01:37,070 --> 00:01:38,332 코드와 결과를 뱉어. 30 00:01:38,332 --> 00:01:40,540 이제, 우리는 당신을 제공 한 프레임 워크의 꽤 31 00:01:40,540 --> 00:01:43,100 실제로 그건 ...에 대한 문제에 대한 분배 코드 32 00:01:43,100 --> 00:01:47,496 여섯 1,000 선 길이 설정 의 많은 의견 fair--되어야한다 33 00:01:47,496 --> 00:01:49,370 그러나 이것은 정말 의미 기회가 될 수 있습니다 34 00:01:49,370 --> 00:01:52,570 더러운 다이빙 손을 얻으려면 상당히 큰 프로젝트에 35 00:01:52,570 --> 00:01:55,570 우리는 매우 구체적으로했는지 당신을 위해 밖으로 조각 조각, 36 00:01:55,570 --> 00:01:59,046 그래서 정말 CS50를 종료 할 때와 프로그래밍의 현실 세계를 입력 37 00:01:59,046 --> 00:02:00,920 그리고 손 대고 싶어 프로젝트의 수, 38 00:02:00,920 --> 00:02:03,253 당신은 훨씬 더 할 것이다 편안함 일부 소스를 다운로드 39 00:02:03,253 --> 00:02:05,020 코드, 일부 오픈 소스 웹 프로젝트, 40 00:02:05,020 --> 00:02:08,174 과 다이빙 및 만들기 당신이 맞는 볼 변경. 41 00:02:08,174 --> 00:02:11,340 문제는 일곱에 대해 될 것입니다 설정 자신의 웹 기반 응용 프로그램을 42 00:02:11,340 --> 00:02:14,140 즉 동적 입력을 받아, 형태로 동적 출력을 생성 43 00:02:14,140 --> 00:02:16,920 etrade.com 같은 웹 사이트의. 44 00:02:16,920 --> 00:02:20,800 그리고 문제는 여덟 아직에 초점을 맞출 것이다 설정 자바 스크립트로 알려진 또 다른 언어입니다. 45 00:02:20,800 --> 00:02:24,170 >> 한편, 최종 이 프로젝트는 수평선에 있습니다. 46 00:02:24,170 --> 00:02:26,800 소위 프리 제안 오늘부터 일주일 예정이다. 47 00:02:26,800 --> 00:02:29,930 사양에 따라 사전 proposal--, CS50의 website--에있는이다 48 00:02:29,930 --> 00:02:33,260 꽤 캐주얼 기회입니다 당신은 매우 간결 이메일을 보낼 49 00:02:33,260 --> 00:02:35,170 당신의 교육 동료에 그를 알리기합니다 50 00:02:35,170 --> 00:02:38,250 또는 당신이 무슨 생각을하는지에 그녀의 사운드 보드로 그 사람이나 그 여자를 사용합니다. 51 00:02:38,250 --> 00:02:40,980 그리고 정신이 check-- 당신이 생각하는 여부 52 00:02:40,980 --> 00:02:43,210 너무 물고 약 너무 작은 많은 아니면, 53 00:02:43,210 --> 00:02:46,480 또는 어쩌면 당신은 전혀 생각이 없다 과의 대화에 참여합니다. 54 00:02:46,480 --> 00:02:48,480 >> 그 후 제안이다 상태 보고서 55 00:02:48,480 --> 00:02:51,860 여기에 소위 CS50의 해킹 마라톤 하버드와 예일 학생들을위한 캠브리지 56 00:02:51,860 --> 00:02:52,362 모두. 57 00:02:52,362 --> 00:02:54,320 최종 프로젝트의 구현은 다음 때문이다. 58 00:02:54,320 --> 00:02:59,290 그리고 여기 CS50 박람회, 캠브리지, 뿐만 아니라 뉴 헤이븐에있는 다른있다. 59 00:02:59,290 --> 00:03:02,500 제안 그래서 좀 봐 그 내역에 대한 웹 사이트. 60 00:03:02,500 --> 00:03:06,530 >> 하지만 더 호쾌도있다 기회는 당신의 손이 더러운 얻으려면, 61 00:03:06,530 --> 00:03:09,350 그리고 전체에 개방 당신의 마음은 주제와 도구의 무리 62 00:03:09,350 --> 00:03:12,920 그 기술은 보조입니다 과정의 핵심 강의로, 63 00:03:12,920 --> 00:03:14,810 하지만 그럼에도 불구하고 관련. 64 00:03:14,810 --> 00:03:18,400 또한 훌륭한 디딤돌로 정말 멋진 최종 프로젝트를 수행하는 65 00:03:18,400 --> 00:03:22,020 물론 재료를 넘어 우리가 다루었 이동 공식적으로 문제에 설정하거나 강의한다. 66 00:03:22,020 --> 00:03:24,446 그래서 위해 CS50의 웹 사이트로 이동 세미나의 전체 명단. 67 00:03:24,446 --> 00:03:26,070 아직 등록하지 않으면, 그 괜찮아요. 68 00:03:26,070 --> 00:03:29,860 가서 아직도 가입하고 우리는 것 라이브 스트리밍 링크와 다음, 69 00:03:29,860 --> 00:03:31,844 날짜와 시간은 웹 사이트에 있습니다. 70 00:03:31,844 --> 00:03:33,760 그리고 모든 것이 될 것입니다 기록과 온라인으로 넣어 71 00:03:33,760 --> 00:03:35,800 당신은 할 수없는 경우 특정 날짜와 시간. 72 00:03:35,800 --> 00:03:39,380 >> thereafter-- 아니라 앞으로 무슨 일이 있을지에 관해서는, 물론, CS50의 해킹 마라톤이있다. 73 00:03:39,380 --> 00:03:43,560 촬영 일주일에 0에서이 사진, 리콜, 년 과거에 저녁 일 오전 4시 주변. 74 00:03:43,560 --> 00:03:46,900 CS50 박람회, 이는 다시 두 도시에서 개최됩니다. 75 00:03:46,900 --> 00:03:49,760 그리고, 단지를 심고 씨에도 여전히 우리하지만 76 00:03:49,760 --> 00:03:54,080 한 달이 플러스 경우, 학기의 왼쪽 당신은 CS50 자신의 교육에 참여하고 싶습니다 77 00:03:54,080 --> 00:03:56,770 직원, 당신은 시작하려면 CA되고에 대해 생각, 78 00:03:56,770 --> 00:03:59,550 또는 교육 동료, 알고 우리는 그것에 대해 더 많은 이야기를 시작합니다 79 00:03:59,550 --> 00:04:00,630 이번 학기. 80 00:04:00,630 --> 00:04:03,470 그러나 여기에 사진 올해의 팀의 가장. 81 00:04:03,470 --> 00:04:06,950 >> 그리고, PHP-- 나는 너무 슬펐다 지난 주 [그? Allyse?] 친절 82 00:04:06,950 --> 00:04:09,370 지고의 노력에 갔다 우리가이 멋진 소품 83 00:04:09,370 --> 00:04:11,720 내가 사용하게하지 않았다, 그렇게 정말 종류의 바보 보았다 84 00:04:11,720 --> 00:04:15,160 우리는 여기에 앉아 삽을 한 것으로 하루 지난 수요일, 그리고 약간의 숟가락. 85 00:04:15,160 --> 00:04:17,709 그러나 이것은 나의 은유를했습니다 페인트 노력의 방법 86 00:04:17,709 --> 00:04:21,600 왜 우리가 전환하고의 그림 C에서 PHP와 같은 언어. 87 00:04:21,600 --> 00:04:25,480 그리고 같은 모든라고 할 수있다 languages​​-- 자바, 파이썬, 루비의 수 88 00:04:25,480 --> 00:04:31,270 others--의 만에 반면 또는 다발 C는, 예를 들어 C에서 프로그램을 작성 89 00:04:31,270 --> 00:04:34,050 일반적으로 같은 수 있습니다 이 같은 숟가락을 복용 90 00:04:34,050 --> 00:04:36,770 그리고 구멍을 굴착 지상, 모래 나 흙에. 91 00:04:36,770 --> 00:04:39,770 PHP는 당신이 많이 걸릴 수 있습니다 문제의 밖으로 큰 물린, 92 00:04:39,770 --> 00:04:42,842 훨씬 적은 코드를 작성 훨씬 작은 공구를 사용하여, 93 00:04:42,842 --> 00:04:45,050 더 많은 그래서 거기 때문에 기능 개로 갈라. 94 00:04:45,050 --> 00:04:47,633 >> 이제, 우리가 정말 극적인한다면, 우리는 삽 뭔가이있을 것이다 95 00:04:47,633 --> 00:04:48,760 여기에,하지만 그래서 그것을합니다. 96 00:04:48,760 --> 00:04:51,370 한편, 다른 은유 우리가 함께했다 97 00:04:51,370 --> 00:04:53,770 물론, 당신은 할 수있다 렌치 같은 것을 사용 98 00:04:53,770 --> 00:04:56,610 손톱 같은 망치합니다. 99 00:04:56,610 --> 00:04:58,980 그러나 물론, 오른쪽 사용하는 도구는 것입니다 100 00:04:58,980 --> 00:05:01,360 순전히을 할 수 언어라는 C-- 101 00:05:01,360 --> 00:05:03,590 지금 나는 그냥 짜증 [? 샌더스?] 아마, 102 00:05:03,590 --> 00:05:07,890 우리는 그래서를 later-- 해결합니다 오른쪽 도구는 자주 사용하는 103 00:05:07,890 --> 00:05:09,640 될 수 없습니다 이 가장 낮은 수준의 도구입니다. 104 00:05:09,640 --> 00:05:13,720 그리고 실제로, C는 언어 아니라고 당신의 대부분은 지금, 사용하려는 105 00:05:13,720 --> 00:05:15,590 또는 반드시 다시 사용해야합니다. 106 00:05:15,590 --> 00:05:18,350 >> 실제로, 작은 유일한 시간을 secret-- 107 00:05:18,350 --> 00:05:23,160 나는 C 나 자신 사이에 꽤 많이 사용 매년 가을 9 월 및 전기 108 00:05:23,160 --> 00:05:23,870 학기. 109 00:05:23,870 --> 00:05:25,790 그리고 그 우리 때문에 기회로 사용 110 00:05:25,790 --> 00:05:27,852 기본을 가르치는 프로그래밍, 111 00:05:27,852 --> 00:05:29,810 과 컴퓨터 과학 기초, 데이터 112 00:05:29,810 --> 00:05:32,435 구조, 알고리즘과 그때 엔하지만 매우 빠르게 당신은 것입니다 113 00:05:32,435 --> 00:05:35,010 구문 이니까 참조 그리고 아이디어는 C의 기초 114 00:05:35,010 --> 00:05:37,530 너무 멋지고입니다 현대에 양도 115 00:05:37,530 --> 00:05:41,130 더 높은 레벨의 언어 등에 PHP와 Python과 Perl과 자바 116 00:05:41,130 --> 00:05:46,750 및 목표 - C--, 너무 많은 실제로을 목표 - C--하지만 스위프트, 이러한 새로운 117 00:05:46,750 --> 00:05:50,010 언어 당신의 많은 것 다음 최종 프로젝트에 손 대고. 118 00:05:50,010 --> 00:05:55,070 >> 속히 그래서, 실제로하자 몇 가지 문제를 해결하기 위해 PHP를 사용합니다. 119 00:05:55,070 --> 00:06:00,230 마지막으로, 조기에 리콜 주, 우리가 사용 CS50 IDE, 120 00:06:00,230 --> 00:06:02,990 우리는 말쑥한 작은 프로그램을 작성 그건 그냥 "안녕하세요 세계"고 말했다. 121 00:06:02,990 --> 00:06:05,680 그리고 나는 그것을 저장 파일이 hello.php했다. 122 00:06:05,680 --> 00:06:07,280 그리고 나는이 명령을 실행. 123 00:06:07,280 --> 00:06:08,080 >> 그리고 왜? 124 00:06:08,080 --> 00:06:09,900 영어로, 여기 무슨 일이야? 125 00:06:09,900 --> 00:06:12,760 나는 때 무엇을하고 있었 나는이 명령을 실행? 126 00:06:12,760 --> 00:06:13,405 >> 그래? 127 00:06:13,405 --> 00:06:16,572 >> 청중 : 일부 기능 PHP가있다 그 in-- 것을 이해하고 무엇을 읽습니다. 128 00:06:16,572 --> 00:06:19,696 데이비드 마란 : 좋음, 일부 기능이있다 PHP--과 좀 더 구체적으로 보자 129 00:06:19,696 --> 00:06:21,810 PHP라는 프로그램은 일명, 거기에 130 00:06:21,810 --> 00:06:25,872 이해 통역, hello.php의 내용, 131 00:06:25,872 --> 00:06:27,830 그리고 위에서 그것을 해석 아래, 왼쪽에서 오른쪽으로 132 00:06:27,830 --> 00:06:29,590 그 명령이 무슨 말을한다. 133 00:06:29,590 --> 00:06:33,320 hello.php의 명령, 물론, 다만 code-- 기능을 소스 134 00:06:33,320 --> 00:06:35,750 변수와 루프와 등, 우리 자신을 그 135 00:06:35,750 --> 00:06:37,460 PHP로 쓰기 시작했다. 136 00:06:37,460 --> 00:06:40,240 >> 그러나 C는 달리, 어느입니다 컴파일 된 언어, 137 00:06:40,240 --> 00:06:42,810 PHP는 당신은 그것을 작성하고 실행합니다. 138 00:06:42,810 --> 00:06:46,420 당신의 중개인의 단계를 건너 뛸 수 0과 1로 변환, 139 00:06:46,420 --> 00:06:47,790 다음을 실행. 140 00:06:47,790 --> 00:06:50,510 그리고 이것의 상승은 무엇인가? 141 00:06:50,510 --> 00:06:52,690 왜 우리는 단계를 건너 뛰는거야? 142 00:06:52,690 --> 00:06:55,238 왜 더 현대적인 언어를 할 이 단계를 생략하는 경향이? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 이점은 무엇입니까? 145 00:07:01,220 --> 00:07:02,080 >> 아니면 그냥 직관적으로? 146 00:07:02,080 --> 00:07:04,200 우리는 적이 없다하더라도 전에 많은 PHP를 작성, 147 00:07:04,200 --> 00:07:07,210 무엇을하지에 대한 도움의 코드를 컴파일하는 것은 당신이 생각하십니까? 148 00:07:07,210 --> 00:07:08,520 아니? 149 00:07:08,520 --> 00:07:09,610 커밋하지? 150 00:07:09,610 --> 00:07:11,350 머리를 긁적? 151 00:07:11,350 --> 00:07:12,614 그래. 152 00:07:12,614 --> 00:07:13,600 >> 청중 : 더 동적. 153 00:07:13,600 --> 00:07:14,683 >> 데이비드 마란 : 더 동적? 154 00:07:14,683 --> 00:07:16,032 당신은 무엇을 의미합니까? 155 00:07:16,032 --> 00:07:17,000 >> 청중 : [들리지] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 데이비드 마란 : OK, 좋은, 그래서 입력에 따라, 158 00:07:22,390 --> 00:07:23,470 당신은 매번 컴파일 할 필요가 없습니다. 159 00:07:23,470 --> 00:07:24,990 그리고 그것은 정말로 같다 that-- 간단 무엇 160 00:07:24,990 --> 00:07:26,990 계속의 포인트입니다 코드를 컴파일하는 방법? 161 00:07:26,990 --> 00:07:29,480 이것은 그냥 단계입니다 making-- 이는, 요구되는 162 00:07:29,480 --> 00:07:31,900 지난 몇 대한 주, 배 많은 단계 163 00:07:31,900 --> 00:07:33,820 같은 당신의 프로그램을 실행. 164 00:07:33,820 --> 00:07:36,940 그것은 당신이 있다는보고에 유용한이었다 , 등 몇 가지 오류 메시지 및 참조 165 00:07:36,940 --> 00:07:38,720 하지만 여전히 단지 성가신 단계입니다. 166 00:07:38,720 --> 00:07:41,810 >> 그래서 프로그래머는 실현 시간이 지남에 따라, 우리는 왜하지 167 00:07:41,810 --> 00:07:45,327 하지 않는 언어를 쓰기 시작 그 상당히 기계적인 단계가 필요합니다 168 00:07:45,327 --> 00:07:47,160 그래서 그냥 쓸 수 있습니다 코드 및 실행합니다. 169 00:07:47,160 --> 00:07:48,920 하지만 가격 뭔지 우리는 우리가 지불 보았다 170 00:07:48,920 --> 00:07:50,910 하나의 특정 예와, 주 어제? 171 00:07:50,910 --> 00:07:51,650 네? 172 00:07:51,650 --> 00:07:52,370 >> 속도. 173 00:07:52,370 --> 00:07:54,690 그래서 [? ?] 통역 무엇 조금 느리게, 174 00:07:54,690 --> 00:07:57,330 점에서 0과 1은 좋은 컴퓨터의 빠른 175 00:07:57,330 --> 00:08:00,070 이해하기 때문에 인텔 CPU, 또는 그것이 무엇이든, 176 00:08:00,070 --> 00:08:03,070 그냥 무슨 일이 일어나고 있는지 이해 비트 그 패턴에. 177 00:08:03,070 --> 00:08:05,370 통역 반면 프로그램은 정말 178 00:08:05,370 --> 00:08:07,980 아스키 소스를 읽을 수있다 당신이 작성한 코드, 179 00:08:07,980 --> 00:08:12,700 및 변환, 말하자면, 또는하기 그것은 궁극적으로 변환하는 방법을 알아낼 180 00:08:12,700 --> 00:08:13,525 0과 1에. 181 00:08:13,525 --> 00:08:15,650 그래서 조금 걸립니다 성능 저하의 비트. 182 00:08:15,650 --> 00:08:16,858 그래서 트레이드 오프의 비트입니다. 183 00:08:16,858 --> 00:08:21,570 우리가 여기 이렇게 지금, 나하자 가서 다음과 같은 예를 않습니다. 184 00:08:21,570 --> 00:08:26,610 내가 여기에 갈 경우, 새 파일, 내가 갈거야 다시 저장하는 hello.php입니다. 185 00:08:26,610 --> 00:08:31,450 그리고 지금 나는 앞서 갈거야 와 "인쇄 안녕하세요"라고 말할 - 186 00:08:31,450 --> 00:08:35,130 내가 인쇄를 사용할 수있는 기억, 내가하지 인쇄-F를 사용해야합니다. 그리고 지금 여기에 아래로 187 00:08:35,130 --> 00:08:42,039 내가 hello.php의 PHP를 할 경우, huh-- 나는 그것을 해석 한 것으로 보이지 않는다. 188 00:08:42,039 --> 00:08:43,412 내가 잘못 무슨 짓을 한거야? 189 00:08:43,412 --> 00:08:44,710 >> 청중 : 각도 팔찌. 190 00:08:44,710 --> 00:08:47,015 >> 데이비드 마란 : 그래, 당신이 필요로하는 그 꺾쇠 괄호까지 가기. 191 00:08:47,015 --> 00:08:49,390 그래서 그것은 성가신의 종류,이다하지만 당신은 빨리 익숙해. 192 00:08:49,390 --> 00:08:53,500 나는 PHP 코드를 작성할 필요가 있다면, 일반적으로 프로그램을 말할 필요, 193 00:08:53,500 --> 00:08:56,950 또는 이봐, 인터프리터에게 PHP는, 여기에 몇 가지 PHP 코드를 온다. 194 00:08:56,950 --> 00:09:00,440 그리고 좋은 측정을 위해, 나는 것 이하지이를 닫 아니라 195 00:09:00,440 --> 00:09:03,740 그냥 물음표 각도 브래킷, 지금 여기 아래에 있기 때문에, 196 00:09:03,740 --> 00:09:06,840 내가 다시 실행할 경우, 지금 내가 원하는 결과를 얻을. 197 00:09:06,840 --> 00:09:09,820 >> 이제 약간의 최적화를 할 수 있도록, 당신이 그것을 전에 본 적이 너무. 198 00:09:09,820 --> 00:09:14,040 이 종류의 짜증나는 내가 그 PHP 공간 hello.php를 실행해야합니다, 199 00:09:14,040 --> 00:09:16,060 때문에 과거 나에 단지 점 슬래시를 작성할 수 200 00:09:16,060 --> 00:09:17,560 가지 좋은 프로그램 이름. 201 00:09:17,560 --> 00:09:19,420 그것은 더 나은 사용자 경험을 가지입니다. 202 00:09:19,420 --> 00:09:24,160 >> 이 밝혀 그래서 당신은이 작업을 수행 할 수 있습니다 following-- I와 PHP에서 203 00:09:24,160 --> 00:09:28,780 이 상당히 애매을 사용할 수 있습니다 여기에 상단의 주문, 204 00:09:28,780 --> 00:09:31,740 이는 일반적으로 오두막이라고, 이 기호는 날카로운있다, 205 00:09:31,740 --> 00:09:34,270 말하자면,이 강타이다 또는 느낌표. 206 00:09:34,270 --> 00:09:38,490 그리고 이것은 지금 프로그램의 경로입니다 일반적인 리눅스 시스템에 그 207 00:09:38,490 --> 00:09:41,500 환경, 또는 ENV라고합니다. 208 00:09:41,500 --> 00:09:43,920 그리고 이것은 긴 이야기를 line-- short-- 라인 하나 단지 209 00:09:43,920 --> 00:09:48,710 컴퓨터 이봐, PHP를 찾을 말한다 환경의 날을위한 통역, 210 00:09:48,710 --> 00:09:50,610 말하자면, 당신의 기억에서 그것을 찾을 수 있습니다. 211 00:09:50,610 --> 00:09:54,130 >> 그리고, 지금은 좋은 무엇이다 그 내가 여기 내려 가면, 212 00:09:54,130 --> 00:09:57,750 나는 점 슬래시을 수행 할 수 있습니다 안녕하세요 도트 PHP, or-- 흠. 213 00:09:57,750 --> 00:09:59,000 권한이 거부되었습니다. 214 00:09:59,000 --> 00:10:02,350 글쎄, 당신은이의 더를 볼 수 있습니다 당신이 경우 문제, 일곱 설정 215 00:10:02,350 --> 00:10:04,060 아니 이미 권한이 있습니다. 216 00:10:04,060 --> 00:10:06,510 내가 필요하다고 밝혀 이 명령을 실행합니다 217 00:10:06,510 --> 00:10:10,779 [라고? chamod?] 변경 플러스 X의 hello.php를 mode--. 218 00:10:10,779 --> 00:10:13,820 나는 [들림] 추가이 하나 필요 내 컴퓨터를 말하고 단계, 219 00:10:13,820 --> 00:10:16,400 hello.php 실행합니다. 220 00:10:16,400 --> 00:10:21,310 그리고 지금 점을 happens-- 무엇을보고 hello.php 슬래시, 그냥 실행됩니다. 221 00:10:21,310 --> 00:10:23,310 내가 지정할 필요가 없습니다 더 이상 인터프리터. 222 00:10:23,310 --> 00:10:26,680 그리고 심지어 예쁘게 만들 수 있습니다, 여전히, 경우에 나는이 일을 이름을 바꿉니다. 223 00:10:26,680 --> 00:10:30,570 난 그냥이에 hello.php를 이동하는 경우 Hello-- 그래서, 왼쪽 상단에 주목 224 00:10:30,570 --> 00:10:32,860 프로그램의 이름입니다 실제로 지금 바로 안녕하세요. 225 00:10:32,860 --> 00:10:37,300 지금은 C 프로그램처럼 보이게 할 수 있습니다, 그것은 PHP-- 작성 비록 226 00:10:37,300 --> 00:10:39,210 나 솔직히 숫자 다른 언어의. 227 00:10:39,210 --> 00:10:41,480 >> 그래서 한계 향상, 기능상의 차이는 없습니다. 228 00:10:41,480 --> 00:10:44,460 그러나 그것은 단지 작은 호기심이다 지금, 당신은 프로그램을 작성할 수 있도록 229 00:10:44,460 --> 00:10:48,989 어떤 언어, 사용자는하지 않는다 알거나 그이 무엇인지 관심을해야합니다. 230 00:10:48,989 --> 00:10:51,030 음, 좀 더 살펴 보자 뛰어난 예 지금 231 00:10:51,030 --> 00:10:52,850 나는 사전에 채찍질있다. 232 00:10:52,850 --> 00:10:54,955 그리고 이것은 quote.php이라고합니다. 233 00:10:54,955 --> 00:10:56,740 그리고 온라인으로 사용할 수 있습니다. 234 00:10:56,740 --> 00:11:00,299 그리고 그것은 꽤 short--의 통지 그러나의 커맨드 라인 프로그램이다 235 00:11:00,299 --> 00:11:02,840 주식 가격을 찾아 볼 것 나를 위해, 이는 실제로 것입니다 236 00:11:02,840 --> 00:11:04,230 문제가 일곱 설정에 밀접한합니다. 237 00:11:04,230 --> 00:11:05,396 >> 그래서 내가 뭘하는지 보자. 238 00:11:05,396 --> 00:11:08,640 맨 위에 내가있어 오픈 브래킷 물음표 PHP. 239 00:11:08,640 --> 00:11:13,372 나는 이에 그럼,이 라인을 가지고있어 functions.php--라는 파일을 필요로 240 00:11:13,372 --> 00:11:15,080 우리는 보게 될 것입니다 조금이 더 많은, 241 00:11:15,080 --> 00:11:17,340 그러나 이것은 C의처럼 날카로운의 버전은 포함 242 00:11:17,340 --> 00:11:19,090 당신이 가고 싶은 곳 다른 파일을 포함한다. 243 00:11:19,090 --> 00:11:23,720 PHP는하지만, 그것은 필요 호출 또한이 기능을 포함 있습니다. 244 00:11:23,720 --> 00:11:26,861 그리고 그것은 function.php임을 밝혀 뭔가 내가 수업 전에 썼다. 245 00:11:26,861 --> 00:11:29,860 나는 때문에, 같은 디렉토리에 넣어 나는 몇 가지 코드를 고려하고 싶어 246 00:11:29,860 --> 00:11:31,800 것을 우리는 다른 곳에서 사용 할 수 있습니다. 247 00:11:31,800 --> 00:11:34,560 >> 한편, 당신은 아마 수 여기에 무슨 일이 일어나고 있는지 추론. 248 00:11:34,560 --> 00:11:39,200 이 C--하지만 약간 다릅니다 나는 무엇을 의미합니까 적절한 사용을 보장? 249 00:11:39,200 --> 00:11:41,180 기술적으로이 번역. 250 00:11:41,180 --> 00:11:45,950 어떤 상황에서 내가 오전 프로그램을 종료하거나 종료? 251 00:11:45,950 --> 00:11:47,074 그래? 252 00:11:47,074 --> 00:11:47,990 >> 청중 : 당신이 필요가 없습니다 두 개의 명령 줄 인수. 253 00:11:47,990 --> 00:11:49,480 >> 데이비드 마란 : 나는이 없습니다 행 인수를 명령합니다. 254 00:11:49,480 --> 00:11:52,396 그리고 그 중 하나를 기억 인수는 프로그램의 이름 자체입니다. 255 00:11:52,396 --> 00:11:55,340 그리고 두 번째가 될 것입니다 다른 단어 나 프롬프트 후 입력합니다. 256 00:11:55,340 --> 00:11:57,460 그래서 그냥 C와 같은이 검사의 나의 방법이다, 257 00:11:57,460 --> 00:12:00,022 사용자가 협력 않았고 내가 의도 한대로 프로그램을 실행? 258 00:12:00,022 --> 00:12:01,730 지금, 거기에 뭔가 조금 다른 259 00:12:01,730 --> 00:12:04,020 모든 C-- 처음으로 우리 이 달러 기호를 가지고, 260 00:12:04,020 --> 00:12:07,710 그리고 달러를 무엇 PHP에서 나타내는 서명? 261 00:12:07,710 --> 00:12:08,440 그냥 변수입니다. 262 00:12:08,440 --> 00:12:11,731 그 다음에 all-- 단지 변수의 당신이 무엇을 실제로 전화를 할 수 있습니다. 263 00:12:11,731 --> 00:12:14,000 뭔가가 주목 내 PHP 프로그램에서 누락, 264 00:12:14,000 --> 00:12:18,210 그냥 마지막없는 것처럼 주, C 대, 무엇을하는 것입니다? 265 00:12:18,210 --> 00:12:21,620 >> 타입뿐만 아니라 다른 것. 266 00:12:21,620 --> 00:12:26,409 아무 일이 없다 주요 기능을 function--. 267 00:12:26,409 --> 00:12:27,450 더 주요 기능은 없습니다. 268 00:12:27,450 --> 00:12:29,680 당신은 그냥 쓰기 시작 하지 않고 코드 269 00:12:29,680 --> 00:12:32,790 상당히 임의의에 대해 걱정 몇 가지 기본 명명 규칙 270 00:12:32,790 --> 00:12:33,880 main 함수. 271 00:12:33,880 --> 00:12:36,720 그래서 인수 C는 정말입니다 전역 변수 272 00:12:36,720 --> 00:12:39,049 인터프리터 그 나에게 사용할 수 있습니다. 273 00:12:39,049 --> 00:12:40,090 지금,이 흥미 롭다. 274 00:12:40,090 --> 00:12:41,140 그래서 물건을 찾아보십시오. 275 00:12:41,140 --> 00:12:43,370 달러 기호 주식에 왼쪽, 내 변수입니다. 276 00:12:43,370 --> 00:12:45,120 오른쪽에, 분명히있다 277 00:12:45,120 --> 00:12:50,270 PHP에서 함수가 조회를 호출하는 내 마지막 명령 줄을 전달 해요 278 00:12:50,270 --> 00:12:51,902 인수는 어떤 이러시면 단어입니다. 279 00:12:51,902 --> 00:12:53,610 그리고 우리는 어떻게이를 볼 수 있습니다 순간에 작동합니다. 280 00:12:53,610 --> 00:12:55,380 >> 그리고 마지막으로 내가 가격을보고하고있다. 281 00:12:55,380 --> 00:12:58,650 나는 1을 인쇄하고 있습니다 이런 저런의 몫. 282 00:12:58,650 --> 00:13:02,082 그리고이 기억하십시오 에 PHP-- PHP--의 방법 방법 283 00:13:02,082 --> 00:13:04,290 당신은 할 필요가 없습니다 경우 더 이상 달러 기호 S. 284 00:13:04,290 --> 00:13:06,782 당신은 중괄호를 사용할 수 있습니다 일부 변수에 연결합니다. 285 00:13:06,782 --> 00:13:09,240 당신은 걱정하지 않아도 같은 방법으로의 printf를 사용하여. 286 00:13:09,240 --> 00:13:13,530 >> 그리고 옆으로, 같은 당신은 변수를 둘 때 이 같은 큰 따옴표의 내부, 287 00:13:13,530 --> 00:13:17,370 당신은 멋진 기술을 사용하는 변수 보간했다. 288 00:13:17,370 --> 00:13:20,380 그냥 여기에 변수를 연결을 의미한다. 289 00:13:20,380 --> 00:13:23,760 그리고 옆으로, 어떤 당신의 오는 사람들로 다른 프로그래밍 배경을, 290 00:13:23,760 --> 00:13:26,960 당신은 작은 따옴표를 사용할 수 없습니다 주위 문자열은이 작업을 수행 할 수 있습니다. 291 00:13:26,960 --> 00:13:30,290 당신을위한 따옴표를 사용해야합니다 변수 보간이 작동합니다. 292 00:13:30,290 --> 00:13:32,740 그렇지 않으면 그대로거야 그 중괄호를 참조하십시오. 293 00:13:32,740 --> 00:13:34,500 >> 그래서 마지막으로, 이제 가서이 실행하자. 294 00:13:34,500 --> 00:13:36,690 내 단말기가 조금 더 큰 만들어 보자. 295 00:13:36,690 --> 00:13:41,940 내가 가서 실행하자 내 견적 디렉토리의 내부. 296 00:13:41,940 --> 00:13:46,950 [? CDsource?] [? 오전?] [? 견적?] PHP 시세 점 PHP, 297 00:13:46,950 --> 00:13:50,290 내가 뭔가를 검색 할거야 그 시세의 상징이다 GOOG 같은, 298 00:13:50,290 --> 00:13:55,510 그 새 이름의 일주, 알파벳 Inc의 오늘의로, $ 717의 비용. 299 00:13:55,510 --> 00:13:58,680 좋아, 우리가 원하는 경우 다시 실행, 사람 300 00:13:58,680 --> 00:14:02,600 다른 주식 시세를 그들은까지보고 싶지? 301 00:14:02,600 --> 00:14:06,770 >> 마이크로 소프트 나는 생각 이 하나, MSFT-- $ 53. 302 00:14:06,770 --> 00:14:09,720 나는 야후가 어쩌면 생각합니다. 303 00:14:09,720 --> 00:14:12,130 그리고 페이스 북은 그입니다. 304 00:14:12,130 --> 00:14:13,740 >> 이렇게이 프로그램은 무엇인가? 305 00:14:13,740 --> 00:14:16,306 마법이 내장 될 것 같다 이 검색 기능에서. 306 00:14:16,306 --> 00:14:17,430 그럼 잠깐 살펴 보자. 307 00:14:17,430 --> 00:14:21,815 >> 그 오지 않는 그것은 밝혀 PHP로, 그것은 functions.php에 있어요. 308 00:14:21,815 --> 00:14:23,690 그리고 우리는 통과하지 않습니다 훌륭한 세부 사항이, 309 00:14:23,690 --> 00:14:28,040 그러나 여기에서 수술 단어입니다주의 그 functions.php--의 라인 여섯에 310 00:14:28,040 --> 00:14:29,440 말 그대로 기능을 말한다. 311 00:14:29,440 --> 00:14:31,050 내 함수의 이름을 지정합니다. 312 00:14:31,050 --> 00:14:34,330 나는 그 때를 지정할 인수 또는 매개 변수, 313 00:14:34,330 --> 00:14:36,480 그 기능이 더 형식을 take--하지 싶다. 314 00:14:36,480 --> 00:14:37,580 그리고 나는 그것을 구현합니다. 315 00:14:37,580 --> 00:14:39,240 >> 그리고 나는 내 손을 흔들어합니다 구현에서, 316 00:14:39,240 --> 00:14:42,115 그것은 상당히 진보 된 권리이기 때문에 지금, 그러나 우리가 실제로 다시 볼 수 있습니다 317 00:14:42,115 --> 00:14:44,700 주 문제에 칠을 설정합니다. 318 00:14:44,700 --> 00:14:47,490 하지만 나도이를 정리 할 수​​ 있습니다. 319 00:14:47,490 --> 00:14:49,590 나는 또한에 포함 오늘의 코드 버전 320 00:14:49,590 --> 00:14:52,340 더 도트 PHP 파일이 없습니다 인용,의. 321 00:14:52,340 --> 00:14:57,270 에 아마도 무엇 때문에 다만 인용라는 프로그램의 상단? 322 00:14:57,270 --> 00:15:00,140 즉 shebang-- 소위 상당히 난해한 주문 323 00:15:00,140 --> 00:15:04,590 그 다음 PHP를 찾아 말한다 여기에 내 코드에서 실행합니다. 324 00:15:04,590 --> 00:15:07,360 >> 좋아, 그래서 제공 우리가 중단 된 곳으로 우리 325 00:15:07,360 --> 00:15:09,560 이기는하지만 지난 time-- 좀 더 고급 예. 326 00:15:09,560 --> 00:15:13,980 질문 지금까지 약 PHP 나 우리는 무엇을하고있어? 327 00:15:13,980 --> 00:15:15,570 말아요 - 모든 권리. 328 00:15:15,570 --> 00:15:16,180 그래? 329 00:15:16,180 --> 00:15:19,610 >> 청중 : 내부 HTML 파일은 있는데 ... 할 330 00:15:19,610 --> 00:15:22,226 [? 당신은 무엇입니까?] [? 그냥 전화?] [들림] PHP 파일? 331 00:15:22,226 --> 00:15:23,350 데이비드 마란 : 좋은 질문입니다. 332 00:15:23,350 --> 00:15:26,070 우리가있어 웹 맥락에서, 로 전환 할 문자에 대한, 333 00:15:26,070 --> 00:15:28,028 당신은 소위를 사용하지 않는 상단에있는 오두막, 334 00:15:28,028 --> 00:15:31,980 웹 server-- 종종 때문에 이 프로그램은 아파치 또는 Microsoft라는 335 00:15:31,980 --> 00:15:37,470 IIS, 인터넷 정보 서버, 또는 다른 웹 서버 소프트웨어의 임의의 수, 336 00:15:37,470 --> 00:15:40,636 그것을 볼 때 것을 알고있다 도트 PHP 파일, 그것은 그 337 00:15:40,636 --> 00:15:42,010 그것에 인터프리터를 실행해야합니다. 338 00:15:42,010 --> 00:15:43,468 그것은 그 첫 번째 줄에 보이지 않는다. 339 00:15:43,468 --> 00:15:45,580 이 첫 번째 줄 트릭 그래서 당신이있어 바로 그 때입니다 340 00:15:45,580 --> 00:15:48,330 쓰기 명령 줄 programs-- 우리는 매우 자주하지 않을 것이다, 341 00:15:48,330 --> 00:15:52,510 하지만 브리지의 우리의 방법 지금 우리의 PHP에 대한 우리의 C 예. 342 00:15:52,510 --> 00:16:00,680 >> 그래서 참으로이 세상을 연결하자 웹에 명령 줄 세계에서 343 00:16:00,680 --> 00:16:02,230 다음을 수행하여. 344 00:16:02,230 --> 00:16:05,090 내가 가서 그려 보자 여기에 단지 잠시 동안. 345 00:16:05,090 --> 00:16:09,940 우리가 오히려 웹 서버, 또는 경우에 따라서 우리가 여기 내 노트북​​에 걸쳐있는 경우, 346 00:16:09,940 --> 00:16:11,280 이는이 같은 그릴 수 있습니다. 347 00:16:11,280 --> 00:16:14,250 그리고 여기에 우리는이 어떤 형태의 인터넷. 348 00:16:14,250 --> 00:16:18,210 그리고 여기, 우리가 빌딩 안에있는 서버 349 00:16:18,210 --> 00:16:20,760 이 방법은 인터넷입니다 works-- 여기에서 350 00:16:20,760 --> 00:16:23,120 어쩌면 일부 조명하는 서버입니다. 351 00:16:23,120 --> 00:16:27,530 실제로 무슨 일이야 이 두 연결 사이? 352 00:16:27,530 --> 00:16:29,240 >> 그래서,이 건물 안에 웹 서버이다. 353 00:16:29,240 --> 00:16:31,420 그건 그냥 컴퓨터의 그 일부 운영을 실행중인 354 00:16:31,420 --> 00:16:34,561 외 시스템 어쩌면 자유 소프트웨어라는 CS50 IDE가 실행중인 아파치,. 355 00:16:34,561 --> 00:16:36,310 그래서 당신은 실제로 수 이 건물의 생각 356 00:16:36,310 --> 00:16:38,579 의 건물 인 것으로 어떤 CSt0 IDE는 저장됩니다. 357 00:16:38,579 --> 00:16:40,870 여러분이이 곳이다 당신의 계정, 여기서 모든 358 00:16:40,870 --> 00:16:43,130 자신의 웹 서버가 여러분 모두를 실행 359 00:16:43,130 --> 00:16:45,730 자신의 고유 한 URL이 우리가 논의되면서, 360 00:16:45,730 --> 00:16:47,280 P. 여섯 설정에서 당신은 더 많은 것을 볼 수 있습니다. 361 00:16:47,280 --> 00:16:49,450 >> 여기에 내 노트북​​은 어딘가에 인터넷에서 다른. 362 00:16:49,450 --> 00:16:54,550 내가 URL을 방문 할 때 그리고 그 속 나에게, 그 인터넷 트래픽 것입니다 363 00:16:54,550 --> 00:16:58,360 서버, 서버에 이상 수신 HTTP request-- 364 00:16:58,360 --> 00:17:02,900 같은 index.html을 얻고 그것입니다 해당 웹 페이지에 회신. 365 00:17:02,900 --> 00:17:04,280 그래서 일반적인 패러다임이다. 366 00:17:04,280 --> 00:17:07,089 최대 모든 반면 지금 현재, 모든 것을까지 367 00:17:07,089 --> 00:17:09,660 에서만 일어나고 이 건물의 경계. 368 00:17:09,660 --> 00:17:12,910 내 노트북​​을 사용되었지만 나는, CS50 IDE에 연결된 369 00:17:12,910 --> 00:17:17,369 그래서 그 모든 프로그램은 내가 실행중인 해당 서버 자체의 내부했다. 370 00:17:17,369 --> 00:17:22,660 >> 하지만 지금의이 PHP를 다시 시작하자 일부 실제 프로그램을 작성하는 그 371 00:17:22,660 --> 00:17:24,230 웹 서버에 의해 제공됩니다. 372 00:17:24,230 --> 00:17:30,320 그리고이 일을, 내가 갈거야 예를 왕창로 373 00:17:30,320 --> 00:17:33,710 즉, 여기에이 아이디어를 소개합니다. 374 00:17:33,710 --> 00:17:38,500 그래서이의 멋진 방법 종류 프로그래밍 패러다임을 설명. 375 00:17:38,500 --> 00:17:41,540 >> 그리고 사실로 당신은 CS50를 종료 또는, 최종 프로젝트를 수행 376 00:17:41,540 --> 00:17:43,520 또는 일부 따라 취할 클래스에, 당신은 시작합니다 377 00:17:43,520 --> 00:17:45,740 을 전 세계에 있는지 특히 성장하는 데 378 00:17:45,740 --> 00:17:48,300 C와 같은 언어와 슈퍼 낮은 level--됩니다 379 00:17:48,300 --> 00:17:51,290 더 나은 거기 실현 쓰기 소프트웨어의 방법. 380 00:17:51,290 --> 00:17:53,290 특정있다 당신이 따를 수 패턴, 381 00:17:53,290 --> 00:17:57,640 파일 구성의 특정 방법 당신의 함수 이름을 지정하는 방법, 382 00:17:57,640 --> 00:18:00,300 그래서 긴 이야기를 짧게, 세계 최대왔다 383 00:18:00,300 --> 00:18:04,340 약어의 전체 무리와 함께 프로그래밍 방식의 이름. 384 00:18:04,340 --> 00:18:06,260 이들은 당신이 사용할 수있는 단지 기술이다. 385 00:18:06,260 --> 00:18:09,660 >> 그 중 하나는, MVC라고 모델 뷰 컨트롤러에 대한. 386 00:18:09,660 --> 00:18:12,270 그리고이 들어, 그냥 지금은 지나치게 복잡 387 00:18:12,270 --> 00:18:18,960 당신이 배치하는 방법을 말하는 방법 PHP 기반 웹 사이트, 우리의 경우. 388 00:18:18,960 --> 00:18:22,140 당신이 당신의 파일을 구성하려면 어떻게해야, 당신은 어떻게 당신의 논리를 구성 할 389 00:18:22,140 --> 00:18:26,220 에 쉽게 만드는 방법 더 복잡한 웹 사이트를 쓰기? 390 00:18:26,220 --> 00:18:28,550 그리고 실제로, 우리는 빨리거야 일곱 p는 세트와 거기에 도착. 391 00:18:28,550 --> 00:18:32,020 >> MVC의 세계에서 그래서, 당신은거야 참조에 대한 우리의 코드는 일반적으로 수 392 00:18:32,020 --> 00:18:38,290 어느 모델 코드로 특성화 될, 또는 컨트롤러 코드, 또는 뷰 코드. 393 00:18:38,290 --> 00:18:40,200 그리고 나는 갈거야 follows--로 지나치게 단순화 394 00:18:40,200 --> 00:18:42,074 컨트롤러 인 프로그램의 두뇌, 395 00:18:42,074 --> 00:18:44,100 그것의 위치를​​ 전부 재미있는 논리 문제가 발생합니다. 396 00:18:44,100 --> 00:18:46,110 그래서 모든 것을 우리가 있었어요 지금까지 수업 시간에 쓰고, 397 00:18:46,110 --> 00:18:48,210 종류의 컨트롤러처럼 code--는 제어 것 398 00:18:48,210 --> 00:18:50,585 프로그램, 당신의 루프, 당신의 조건, 당신의 기능 399 00:18:50,585 --> 00:18:52,100 변수와 모든 것을. 400 00:18:52,100 --> 00:18:56,160 >> 뷰는, 지금, 조금있을거야 웹의 세계에서 확실한. 401 00:18:56,160 --> 00:18:59,360 보기는 미학이다 당신의 웹 사이트의. 402 00:18:59,360 --> 00:19:04,080 또한, 사용자가 화상을 sees-- 무엇 HTML 테이블, HTML 태그 및 모든 403 00:19:04,080 --> 00:19:08,220 즉, 솜털 미학의 모든 쓰기가 어렵지 않다 물건, 404 00:19:08,220 --> 00:19:11,380 그러나 당신이 발생하는 것입니다, 소위보기, 미학이다. 405 00:19:11,380 --> 00:19:13,880 그리고 모델, 궁극적 것입니다 데이터베이스들 이예요을 할 수있는 406 00:19:13,880 --> 00:19:16,510 우리는 모든으로 다이빙을 시작합니다 더이 수요일. 407 00:19:16,510 --> 00:19:19,740 그래서 제어부 로직은, 보기, 미적 물건 408 00:19:19,740 --> 00:19:23,500 모델이 곳이 될 것입니다 우리는 우리의 실제 데이터를 저장합니다. 409 00:19:23,500 --> 00:19:26,410 >> 그래서 좀 더 구체적으로이 살펴 보자 다음의 예와. 410 00:19:26,410 --> 00:19:34,700 여기 내 디렉토리에 갈거야 오늘의 소스로하는 모든 code-- 411 00:19:34,700 --> 00:19:35,770 온라인이다. 412 00:19:35,770 --> 00:19:37,800 그리고 버전 제로로 갈거야. 413 00:19:37,800 --> 00:19:41,500 그리고 여기의이 부르 자 is-- CS50의 웹 사이트의 버전 제로. 414 00:19:41,500 --> 00:19:43,010 전혀 훨씬 여기가 아니다. 415 00:19:43,010 --> 00:19:46,810 그건 아주 간단한 웹 페이지의 아마 사용하여 어떤 HTML tags-- 단지 416 00:19:46,810 --> 00:19:48,970 과거의 예에서 추측? 417 00:19:48,970 --> 00:19:49,890 >> 그게 뭔데? 418 00:19:49,890 --> 00:19:53,920 아마 큰 대담한에 대한 H1-- 제목, 상단까지 그 로고, CS50. 419 00:19:53,920 --> 00:19:55,080 그리고 다른 어떤 놀이에있다? 420 00:19:55,080 --> 00:19:55,799 그래? 421 00:19:55,799 --> 00:19:56,840 청중 : 정렬되지 않은 목록입니다. 422 00:19:56,840 --> 00:19:59,990 데이비드 마란 : 정렬되지 않은 list-- 그래서 UL 태그와 LI 태그 어쩌면 부부. 423 00:19:59,990 --> 00:20:01,840 그리고 당신이 기억할 수없는 경우 그것은 정직하게 문제가되지 않습니다. 424 00:20:01,840 --> 00:20:04,170 다음은 무성한 종류입니다 HTML의 구현 세부 사항 425 00:20:04,170 --> 00:20:06,378 당신은 신속하게 찾아 볼 것을 당신은 다시 당신의 방법에있어. 426 00:20:06,378 --> 00:20:10,040 우리는 프로그래밍에 더 초점을 맞출 것 수분이 조각이다 아이디어. 427 00:20:10,040 --> 00:20:12,890 >> 그럼 그냥 빨리 보자 HTML--을보고 참으로 428 00:20:12,890 --> 00:20:16,880 나는 그래, 여기에 소스보기를 열 경우, 그것은 정확히 여기에 무슨 일인지. 429 00:20:16,880 --> 00:20:18,440 UL 태그가있다. 430 00:20:18,440 --> 00:20:20,630 그 안에 중첩 된 LI 태그이다. 431 00:20:20,630 --> 00:20:24,470 그리고 나는 URL을 빌려 여기에 실제 강의의. 432 00:20:24,470 --> 00:20:27,570 >> 그 다음에 lectures.php는 분명히있다 433 00:20:27,570 --> 00:20:31,640 다른 동적으로 생성 된 페이지 즉,의 아 see-- 할 수있을 것 434 00:20:31,640 --> 00:20:33,170 강의 2 주. 435 00:20:33,170 --> 00:20:36,600 그래서 주 제로 주 하나,하자 나는 페이지의 소스를 볼 경우이 항아리를 보면, 436 00:20:36,600 --> 00:20:38,120 또한 슈퍼 간단합니다. 437 00:20:38,120 --> 00:20:42,430 이 두 페이지를 선도하고 있습니다 라는 week0.php 및 week1.php. 438 00:20:42,430 --> 00:20:44,040 그래서 무슨 일이 일어나고 있는지 지금 생각. 439 00:20:44,040 --> 00:20:50,630 >> 내가 week0.php 클릭, 내 노트북 week0.php에 대한 요청을하고있다. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 웹 서버, 일명, CS50 IDE, 가상 봉투를 받고있다. 442 00:20:58,110 --> 00:21:01,040 이 메시지를보고있어 같은 week0.php 얻을. 443 00:21:01,040 --> 00:21:05,060 그런 다음 파일을 해석하고, 최고 아래로 파일을 right-- 왼쪽 444 00:21:05,060 --> 00:21:07,720 라는 week0.php--과 결과를 침. 445 00:21:07,720 --> 00:21:10,510 이 파일의 내부, week0.php,해야합니다 446 00:21:10,510 --> 00:21:15,410 생성되는 제어 로직 이 HTML은, 우리는 곧 나타납니다. 447 00:21:15,410 --> 00:21:19,340 >> 하지만 지금은, 내가 주 제로 클릭하자 그리고 지금 우리는, 수요일과 금요일이 448 00:21:19,340 --> 00:21:25,260 그리고 지금 우리는 슬라이드를 가지고 천천히 주 0에서. 449 00:21:25,260 --> 00:21:27,400 그리고 당신은 기억 할 수 다시이 길에서. 450 00:21:27,400 --> 00:21:29,340 그래서이 웹 사이트가하고있는 전부입니다. 451 00:21:29,340 --> 00:21:31,120 >> 그래서이이 일을 어떻게 생각해 보자. 452 00:21:31,120 --> 00:21:34,290 나는 다시 갈거야 CS50 IDE에서 여기 소스 코드, 453 00:21:34,290 --> 00:21:36,660 나는의 index.php를 열거야. 454 00:21:36,660 --> 00:21:38,910 이 파일의 상단에 의견의 무리입니다. 455 00:21:38,910 --> 00:21:43,000 그리고 나서이 파일의 중간에, 그것을 밝혀 어떠한 PHP 코드입니다. 456 00:21:43,000 --> 00:21:47,380 당신은 어떤이없는 경우 때문에 오픈 브래킷 물음표 PHP 태그, 457 00:21:47,380 --> 00:21:49,180 당신은 HTML을 넣어 무료입니다. 458 00:21:49,180 --> 00:21:51,480 >> 때문에 어떤 PHP 통역은 어떻게해야한다 459 00:21:51,480 --> 00:21:53,938 그것은이 file--을 읽을 때입니다 위에서 아래로, right-- 왼쪽 460 00:21:53,938 --> 00:21:59,100 그것은 단지 그 사이에 볼 코드를 해석 그 꺾쇠 괄호 마크에 의문을 제기. 461 00:21:59,100 --> 00:22:02,380 그리고 다른 것, 그것은하지 않습니다 PHP로 인식, 그냥 뱉어. 462 00:22:02,380 --> 00:22:05,080 그리고 HTML은 물건 중 하나입니다 그냥 뱉어 것입니다. 463 00:22:05,080 --> 00:22:09,090 >> 그래서이 파일을 가질 수있다 index.html을 호출 된, 464 00:22:09,090 --> 00:22:11,690 하지만 나는 모든 명명 해요 디딤돌로 점 PHP. 465 00:22:11,690 --> 00:22:15,960 유사 Lectures.php-- 실망, 그냥 약간의 HTML입니다. 466 00:22:15,960 --> 00:22:19,840 Week0.php, 유사 그냥 HTML. 467 00:22:19,840 --> 00:22:22,300 >> 하지만 지금의이에 넣어 보자 속담 엔지니어링 모자, 468 00:22:22,300 --> 00:22:24,400 우리는이 문제를 개선 할 수있는 방법을 고려한다. 469 00:22:24,400 --> 00:22:28,541 그것은이 작업을 수행하기 어렵지 않다,하지만 난 종류 복사 및 붙여 넣기로 양도​​. 470 00:22:28,541 --> 00:22:31,540 그리고 사실, 나는 일주일에 두 만들 경우 아마 할거야 알아? 471 00:22:31,540 --> 00:22:34,940 나는 난, week1.php로 이동거야 모든 것을 강조하는 것. 472 00:22:34,940 --> 00:22:39,110 나는 그것을 복사거야, 붙여 넣기 week2.php라는 새로운 파일로, 473 00:22:39,110 --> 00:22:42,440 일부 URL을 조정할, 내 방법에있을. 474 00:22:42,440 --> 00:22:45,240 >> 그래서 우리는 한 내용을 기반으로 이미 C에서 본 475 00:22:45,240 --> 00:22:46,860 이 잘하면, 느낌이 좋지 않습니다. 476 00:22:46,860 --> 00:22:49,610 복사, 붙여 넣기 거의 최적의 솔루션. 477 00:22:49,610 --> 00:22:51,429 그래서 우리는 시작할 수있는 이를 개선하기 위해해야​​ 할 일? 478 00:22:51,429 --> 00:22:53,345 어디에 기회가있다 더 나은 디자인을 검색 하시나요? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> 내가 도착 시간으로 주 여덟, 그것은거야 481 00:22:58,760 --> 00:23:00,910 정말 짜증나는 일하기 나는 변경하려는 경우 482 00:23:00,910 --> 00:23:03,930 하나 하나의 글꼴 내가 원하는 경우, 또는 내 페이지 483 00:23:03,930 --> 00:23:06,522 레이아웃의 구조를 변경한다. 484 00:23:06,522 --> 00:23:08,396 어디 기회 더 나은 디자인을 검색 하시나요? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 음, 무슨 생각 해보자 이러한 모든 파일에서 공유. 487 00:23:15,160 --> 00:23:21,696 >> 여기에 여기에 주의, 주 하나 제로, 여기 lectures.php이야, 488 00:23:21,696 --> 00:23:25,790 여기에 같은 무엇 index.php-- 그리고 다른 대략 무엇을 말하고, 489 00:23:25,790 --> 00:23:26,760 이러한 파일의 각각에? 490 00:23:26,760 --> 00:23:30,560 491 00:23:30,560 --> 00:23:32,060 그래? 492 00:23:32,060 --> 00:23:34,560 >> 청중 : [들리지] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 데이비드 마란 : 좋아, 좋아. 495 00:23:42,160 --> 00:23:46,115 그래서 패턴은 확실히있다,있다 때마다 나는, 강의 I을 선택 496 00:23:46,115 --> 00:23:48,250 나는를 생성한다 매우 유사하게 보이는 페이지입니다. 497 00:23:48,250 --> 00:23:50,375 그래서 아마도 내가 활용할 수 있습니다 사실 정말, 498 00:23:50,375 --> 00:23:53,060 의도적으로 수치 우리 우리의 lectures-- 색인 499 00:23:53,060 --> 00:23:55,290 나는 더 넣을 수있는 경우 당신의 대답 단어. 500 00:23:55,290 --> 00:23:59,984 그리고, 정말, 유일한 것입니다 그 주 사이에 변화하고 one-- 501 00:23:59,984 --> 00:24:02,400 그것은 그래서 저를 아래로 스크롤 할 수 거의 같은 place--에 502 00:24:02,400 --> 00:24:05,480 그래서 여기에 주 제로, 대략 상단. 503 00:24:05,480 --> 00:24:12,370 여기에 일주일에 한 주입니다 제로, 일주일, 일주일 제로. 504 00:24:12,370 --> 00:24:14,370 확인, 문자 그대로 당신이 알고있는 경우 어떠한 프로그램이 없습니다, 505 00:24:14,370 --> 00:24:16,286 이 단지처럼 지금 패턴 매칭 게임. 506 00:24:16,286 --> 00:24:17,200 그래서 다른 무엇입니까? 507 00:24:17,200 --> 00:24:18,765 그래? 508 00:24:18,765 --> 00:24:19,777 >> 청중 : [들리지] 509 00:24:19,777 --> 00:24:22,360 데이비드 마란 : 좋은, 그래서 제목 이제까지 약간, 변화하고 있습니다. 510 00:24:22,360 --> 00:24:24,010 제로는 하나, 물론 것입니다. 511 00:24:24,010 --> 00:24:25,570 같은 일이 H1 태그에 무슨 일이 일어나고. 512 00:24:25,570 --> 00:24:28,790 그리고 우리는 아주, 쉽게 그것을 볼 수 없어 URL은 조금 긴 때문이다. 513 00:24:28,790 --> 00:24:30,670 하지만 그 URL은 약간 변화하고있다. 514 00:24:30,670 --> 00:24:34,490 >> 그러나 IS 변경하지 무슨, 내가 감히 말 page--의 내용의 대부분 515 00:24:34,490 --> 00:24:38,530 HTML 태그는 동일한있어, 헤드는 같은, 제목은 거의 동일합니다 516 00:24:38,530 --> 00:24:40,659 본체는 동일하고, 다른 거의 모든 517 00:24:40,659 --> 00:24:42,450 을 제외하고는 동일합니다 그 작은 개조하면 되겠 어. 518 00:24:42,450 --> 00:24:45,310 그래서 우리는에 대해 어떻게 갈 수 이 중 일부를 인수 분해? 519 00:24:45,310 --> 00:24:48,740 >> 그럼 내가 정확히 제시 할 수 다음 버전에서 해당. 520 00:24:48,740 --> 00:24:53,890 그래서 여기 버전에서, 나는 정확한이 같은 파일 모두, 그리고 다른 사람의 커플. 521 00:24:53,890 --> 00:24:59,730 여기 index.php-- 경우에도 해당의 당신은 전에 PHP를 본 적이 없어 522 00:24:59,730 --> 00:25:05,511 무슨 일이 아마이 문제를 해결하는 일을하고있다 당신이 보는 것을 기반으로 problem--? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 그래, 약간의 약속이다? 525 00:25:12,760 --> 00:25:13,450 아니? 526 00:25:13,450 --> 00:25:16,020 예,에 이동합니다. 527 00:25:16,020 --> 00:25:17,380 >> 청중 : [들리지] 528 00:25:17,380 --> 00:25:18,380 >> 데이비드 마란 : 그래. 529 00:25:18,380 --> 00:25:20,380 >> 청중 : [들리지] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> 데이비드 마란 : 나는 당신이 필요합니다 조금 큰 소리를 말한다. 532 00:25:28,669 --> 00:25:31,084 >> 청중 : [들리지] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 데이비드 마란 : 좋아, 좋아. 535 00:25:36,660 --> 00:25:38,620 그리고 나는 그것이 think-- 있는데 ...하지만 난 듣고 하드 536 00:25:38,620 --> 00:25:42,690 당신이에서 얻고있는 것은 있다고 생각합니다 상단까지 일반적이었다 태그, 537 00:25:42,690 --> 00:25:47,710 에 일반적이었다 및 태그 바닥, 지금, 밖으로 고려 된 538 00:25:47,710 --> 00:25:51,140 또는 어떤 파일에 이관? 539 00:25:51,140 --> 00:25:53,476 Header.php 및 footer.php-- 우리는거야 540 00:25:53,476 --> 00:25:55,600 일부 개조하면 되겠 어를 만들기 위해 문제를 해결 단지 541 00:25:55,600 --> 00:25:59,370 를 들어, 번호 변경에 대해 제기 예, 제가 제대로 들었 경우. 542 00:25:59,370 --> 00:26:02,060 >> 그러나 그것은 그것의 요지가 될 것으로 보인다. 543 00:26:02,060 --> 00:26:04,820 엄청난 양의가 있었다면 페이지 상단의 중복, 544 00:26:04,820 --> 00:26:06,736 그리고 엄청난 양의 하단의 중복, 545 00:26:06,736 --> 00:26:09,280 의 말 그대로 그냥 강조하자 그 내용을 잘라, 546 00:26:09,280 --> 00:26:13,270 별도의 file-- 단지 등에 넣어 우리가 고려 CSS의 생각 547 00:26:13,270 --> 00:26:16,710 넣어 매우 유사 미학, 별도의 도트 PHP 파일에서, 548 00:26:16,710 --> 00:26:20,340 이 mechanism--을 필요로 사용하는 C 날카로운 다음을 포함처럼 인 549 00:26:20,340 --> 00:26:23,570 본질적으로 갈 말처럼 , header.php의 내용을 잡아 550 00:26:23,570 --> 00:26:25,370 복사하여 여기에 붙여 넣습니다. 551 00:26:25,370 --> 00:26:29,490 >> 그러나 이것이 의미하는 것을 지금에 index.php에, 나는 그 두 줄이 있습니다. 552 00:26:29,490 --> 00:26:32,130 lectures.php에서, 나는 또한 그 두 줄이 있습니다. 553 00:26:32,130 --> 00:26:35,230 week0.php에서, 나는 또한 그 두 줄이 있습니다. 554 00:26:35,230 --> 00:26:38,380 >> 그래서 지금은 변경하려는 경우 내 모든 페이지의 제목, 555 00:26:38,380 --> 00:26:40,530 아니면을 변경하려면 기본 구조, 556 00:26:40,530 --> 00:26:44,380 나는 단지 한 곳에서 지금을 변경할 수 있습니다 두 places-- 머리글과 바닥 글, 557 00:26:44,380 --> 00:26:45,429 각각. 558 00:26:45,429 --> 00:26:47,970 이제 코드의 시작을 볼 수 있습니다 좀 더 애매한, 오른쪽? 559 00:26:47,970 --> 00:26:53,590 하지만 당신에 대해 생각하면 어떤 페이지 내가 week0.php를 요청하고있어 경우 doing--된다, 560 00:26:53,590 --> 00:26:59,880 바로 위에 드로잉에 같은 here-- week0.php을 요청, 561 00:26:59,880 --> 00:27:00,960 그게 무슨 뜻 이죠? 562 00:27:00,960 --> 00:27:04,410 >> 말 그대로,이 파일은 브라우저에 의해 요청했다. 563 00:27:04,410 --> 00:27:06,240 웹 server-- 일명 564 00:27:06,240 --> 00:27:09,250 CS50 ID--이 잡고 파일 week0.php, 그리고 읽기 565 00:27:09,250 --> 00:27:10,780 그것은 위에서 아래로, 왼쪽에서 오른쪽으로. 566 00:27:10,780 --> 00:27:15,400 첫번째 라인의 즉시 발견 오픈 브래킷 물음표 PHP, 필요 567 00:27:15,400 --> 00:27:17,872 헤더 점 PHP 등 무엇 PHP 인터프리터 568 00:27:17,872 --> 00:27:20,580 즉, 웹에 내장 does-- 서버, 우리가 미리 때문에 569 00:27:20,580 --> 00:27:24,580 그것은 자동으로 이동 얘들 아에 대한 header.php에, 사본의 내용, 570 00:27:24,580 --> 00:27:25,640 여기에 붙여 넣습니다. 571 00:27:25,640 --> 00:27:28,790 >> 그러나 인터프리터 만남 물음표 가까운 브래킷, 572 00:27:28,790 --> 00:27:30,320 그래서 모든 생각 이루어집니다. 573 00:27:30,320 --> 00:27:33,400 지금은 그냥 맹목적으로 뱉어 라인 아웃 일곱을 통해 두, 574 00:27:33,400 --> 00:27:35,240 그냥 원시 HTML의 때문이다. 575 00:27:35,240 --> 00:27:38,470 여덟 줄을 취득하고, 그 수행 파일을 여는 again-- 같은 마법, 576 00:27:38,470 --> 00:27:41,460 내용을 잡아와 을 요구하거나 붙여 넣기 577 00:27:41,460 --> 00:27:42,480 바로 그때 나있다. 578 00:27:42,480 --> 00:27:44,210 >> 하지만 난 그냥 버그 언급. 579 00:27:44,210 --> 00:27:48,610 이것은 이전 버전과의 부분적인 단계입니다 우리는 header.php에서 보면 때문에, 580 00:27:48,610 --> 00:27:50,850 나는 종류의 모서리를 잘라했습니다. 581 00:27:50,850 --> 00:27:56,250 나는 순서에 포기 했는가 기능 이 논쟁의 여지가 더 나은 디자인을 얻기 위해? 582 00:27:56,250 --> 00:27:57,305 그래? 583 00:27:57,305 --> 00:27:58,180 청중 : [들리지] 584 00:27:58,180 --> 00:28:00,570 데이비드 마란 : 그래, 난 종류 의 사소 모서리를 잘라. 585 00:28:00,570 --> 00:28:04,489 당신은 무엇을 변경하는 것을 지적 제목이었다, 제목에 숫자, 586 00:28:04,489 --> 00:28:05,530 와 H1의 숫자. 587 00:28:05,530 --> 00:28:08,170 그래서 내 솔루션은 확인했다 그냥 페이지의 이름을 바꿀 수 있습니다, 588 00:28:08,170 --> 00:28:10,080 그와 거래를하지 무엇이 문제. 589 00:28:10,080 --> 00:28:12,130 그래서 그 부분이야 확실히 뒤로 단계. 590 00:28:12,130 --> 00:28:14,300 >> 그러나 여기서 주목할만한 것입니다 내가 행한 것이 무엇 591 00:28:14,300 --> 00:28:17,200 그렇지 않으면 고려한다 모든 일반적인 물건을 밖으로. 592 00:28:17,200 --> 00:28:21,520 그리고 footer.php에, 나는 고려 통지 이 모든 아웃, 작은이기는하지만, 593 00:28:21,520 --> 00:28:22,790 일반적인 물건. 594 00:28:22,790 --> 00:28:26,070 그래서 어떻게 든 지금 할 수 있어야합니다 앞으로 다른 조치를 취할 및 수정 595 00:28:26,070 --> 00:28:27,160 그 제목 문제. 596 00:28:27,160 --> 00:28:28,180 그럼 그렇게하자. 597 00:28:28,180 --> 00:28:35,060 >> 내 두 번째 버전으로 가자 여기에, 이는 다시, 같은 파일이 598 00:28:35,060 --> 00:28:36,825 하나의 새로운 추가를 제외하고. 599 00:28:36,825 --> 00:28:38,950 그리고 조금 더 자세한 만의이 있는지 확인하자 우리 600 00:28:38,950 --> 00:28:40,550 여기에 무슨 일이 일어나고 있는지 떨어져 애타게 할 수 있습니다. 601 00:28:40,550 --> 00:28:45,370 그래서 그 대신 요구하는 header.php와 footer.php, 602 00:28:45,370 --> 00:28:50,180 나는 단지 하나를 필요로 할 것 file-- helpers.php 물론,라고. 603 00:28:50,180 --> 00:28:52,560 그리고, 내가 지금 규정하자 helpers.php의 내부에 무슨 604 00:28:52,560 --> 00:28:55,330 기능의 단지 무리입니다 그게 내가 방금 전에 같이 썼다. 605 00:28:55,330 --> 00:28:57,550 그러나 나는 그것을 helpers.php했다. 606 00:28:57,550 --> 00:29:00,370 >> 이제 명백하게,에 라인 세, 10, 나는 해요 607 00:29:00,370 --> 00:29:02,840 두 functions--를 호출 헤더 렌더링, 바닥 글을 렌더링합니다. 608 00:29:02,840 --> 00:29:05,040 제공되지 않는 PHP는, 나는 그에게 자신을 썼다. 609 00:29:05,040 --> 00:29:07,880 그리고 helpers.php에 넣어. 610 00:29:07,880 --> 00:29:11,210 >> 이제, 우리는이 구문을 본 적이 한 번, 그리고 슈퍼 간단한이었다. 611 00:29:11,210 --> 00:29:15,330 그러나 이것은 분명히 인수입니다 헤더, 기능을 렌더링한다. 612 00:29:15,330 --> 00:29:16,450 왜 나는 그것을 알 수 있습니까? 613 00:29:16,450 --> 00:29:18,522 자, 여기 가까이 괄호이야, 여기에 열린 괄호입니다. 614 00:29:18,522 --> 00:29:21,230 그리고 물론, 단지 C처럼, 그 괄호 사이에 아무것도 615 00:29:21,230 --> 00:29:23,350 input-- 또는이다 함수에 인수. 616 00:29:23,350 --> 00:29:26,710 >> 이 인수의 데이터 유형은 무엇입니까, 내가 강조 표시 한 내용을 기반으로? 617 00:29:26,710 --> 00:29:30,820 그 대괄호는 어떻게 지난주에 기초하여, 표시? 618 00:29:30,820 --> 00:29:33,390 그래, array--의 구체적으로 연관 배열. 619 00:29:33,390 --> 00:29:35,700 그리고이 구문으로 인정 하듯이 약간 펑키이다, 620 00:29:35,700 --> 00:29:38,860 그러나 이것은 단지 통과 하나의 키 값 쌍. 621 00:29:38,860 --> 00:29:43,530 키 인용 인용을 끝내이다 제목 및 값 CS50이다. 622 00:29:43,530 --> 00:29:46,220 >> 우리가했던 경우이 C에서는 대신 수도 623 00:29:46,220 --> 00:29:49,400 이상과 같이, 다만 인용 인용을 끝내 CS50-- 624 00:29:49,400 --> 00:29:52,460 또는 실제로는 곱슬 것 중괄호, 또는 C처럼 뭔가, 625 00:29:52,460 --> 00:29:55,580 여기서 키가 제로, 및 값은 CS50이다. 626 00:29:55,580 --> 00:29:59,840 그러나 다시, PHP에서, 비록 구문은, 다시, 조금 이상한 627 00:29:59,840 --> 00:30:02,860 그것은 당신이 통과 할 수 있습니다 단어 대신 숫자 628 00:30:02,860 --> 00:30:05,120 값과 키를 연결합니다. 629 00:30:05,120 --> 00:30:06,390 >> 그래서이 모든 무엇을 의미 하는가? 630 00:30:06,390 --> 00:30:09,750 내가 helpers.php에 들어갈 경우, 의이 기능을 살펴 보자. 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, 오히려 renderHeader 내 기능입니다 632 00:30:13,620 --> 00:30:16,220 그리고 내가보기 때문에 알고 여기 function 키워드. 633 00:30:16,220 --> 00:30:19,450 이것은 분명히 그것을 C--에서 새로운 data--라는 인수를 634 00:30:19,450 --> 00:30:22,400 그러나 나는이를 불렀다 수 아무것도하지만, 데이터를 호출 635 00:30:22,400 --> 00:30:25,090 조금 clean-- 할 수 및 다만 특히, 추측을 636 00:30:25,090 --> 00:30:28,173 당신은 다른 프로그래밍 한 경우 전에 더 높은 수준의 언어, 뭔가 637 00:30:28,173 --> 00:30:29,820 C 이상, 개념적. 638 00:30:29,820 --> 00:30:33,820 >> 무슨 일이 동일한 오픈 브라켓을 수행 아마 대괄호을 의미합니까? 639 00:30:33,820 --> 00:30:35,540 아니면 무엇을 의미하는 것인가? 640 00:30:35,540 --> 00:30:39,660 우리는 네 C.이 본 적이 없다? 641 00:30:39,660 --> 00:30:40,480 >> 빈 배열입니다. 642 00:30:40,480 --> 00:30:45,440 특히,이 의미하는 경우 그 사용자는 renderHeader를 호출하지 않습니다 643 00:30:45,440 --> 00:30:49,340 인수와 함께, 나는 아직도 갈거야 데이터라는 주장을 가지고, 644 00:30:49,340 --> 00:30:52,327 하지만 기본 값은 빈 배열 될 것이다. 645 00:30:52,327 --> 00:30:53,660 그래서 그냥 좋은 편리합니다. 646 00:30:53,660 --> 00:30:56,493 나는 사용자 소리 치지 필요가 없습니다 또는 당신이 내 기능을 잘못 사용 말한다. 647 00:30:56,493 --> 00:30:59,849 난 그냥 사용자에게 기본을 줄 수 있습니다 값, 나는 특별히 걱정하지 마십시오. 648 00:30:59,849 --> 00:31:01,890 이제이 기능, 나는 해요 나의 손을 흔들 것. 649 00:31:01,890 --> 00:31:07,620 그러나이 추출 기능이 있습니다 우리는 데이터에서 이러한 변수를 전달하기 650 00:31:07,620 --> 00:31:10,360 다음과 같은 방법으로 header.php에. 651 00:31:10,360 --> 00:31:13,100 그리고 이것은 마지막 조각이다, 나는 펑키 구문, 생각합니다. 652 00:31:13,100 --> 00:31:15,860 여기 내 새로운 버전입니다 의를 header.php-- 653 00:31:15,860 --> 00:31:20,140 말 그대로, 말을 사용, 열기 브래킷 제목 CS50, 그리고 그것은 그 것이었다. 654 00:31:20,140 --> 00:31:21,766 그리고 H1에 대한 같은 일. 655 00:31:21,766 --> 00:31:24,310 >> 지금은 분명히 말한다 꽤 펑키 뭔가. 656 00:31:24,310 --> 00:31:28,030 그리고 날이 단순화하자 잠시으로 다음과 같습니다. 657 00:31:28,030 --> 00:31:31,020 이것은 내가했습니다 것입니다 수 나의 제목을 변경했습니다. 658 00:31:31,020 --> 00:31:35,140 그러나, 조금 못생긴 점점 PHP로 지속적으로 오픈 브라켓에, 659 00:31:35,140 --> 00:31:36,610 다음 인쇄 기능을 사용합니다. 660 00:31:36,610 --> 00:31:40,810 그것은 PHP는 속기이 밝혀 그냥 이것에 대한 표기, 661 00:31:40,810 --> 00:31:45,050 기술적 인 등호, 호출 된 함수 대신 인쇄의 메아리 662 00:31:45,050 --> 00:31:46,800 하지만 효과적으로, 같은 일이다. 663 00:31:46,800 --> 00:31:48,440 >> 그건 그냥 잘 보인다. 664 00:31:48,440 --> 00:31:50,510 그냥 구문이다 설탕, 만약에 당신, 665 00:31:50,510 --> 00:31:52,260 그건 내 코드가 조금 더 볼 수 있습니다. 666 00:31:52,260 --> 00:31:54,010 그러나 그것은 밝혀,과 우리는 다시이를 볼 수 있습니다 667 00:31:54,010 --> 00:31:57,420 오래 전에, 우리는이 전화를해야 귀찮게 긴 함수가 호출 668 00:31:57,420 --> 00:32:00,582 HTML 특수 문자에 PHP, 그것이 밝혀 때문에 669 00:32:00,582 --> 00:32:02,790 특정 입력이 있습니다 사용자가 우리에게 줄 수있는 그 670 00:32:02,790 --> 00:32:05,160 또는 사용자가 우리에게 줄 수 있음을, 즉, 우리의 위치를​​ 중단 할 것입니다. 671 00:32:05,160 --> 00:32:07,035 그러나 우리는 그 다음을 볼 수 있습니다 자바 스크립트와 주. 672 00:32:07,035 --> 00:32:10,740 하지만 지금은, 그냥 알고 이 파일 headers.php, 단순히 673 00:32:10,740 --> 00:32:13,040 제목을 소요 내가 전달, 그것은 확인 674 00:32:13,040 --> 00:32:17,380 그것은 안전 확인은 웹에 주입한다 페이지, 그리고 내 제목으로 그것을 밖으로 뱉어 675 00:32:17,380 --> 00:32:18,640 내 H1있다. 676 00:32:18,640 --> 00:32:24,440 그래서 지금이 버전에 가면, 강의 제목을 다시 가지고 통지, 677 00:32:24,440 --> 00:32:28,630 주 제로 다시 제목을 가지고 있으며, 실제로, HTML은 내가 발생 해요 678 00:32:28,630 --> 00:32:32,110 무엇 나의 첫 번째 버전과 동일 내 공백을 제외하고 전 ... -, 679 00:32:32,110 --> 00:32:35,150 나는 포맷 시작했기 때문에 다르게 내 코드는 조금. 680 00:32:35,150 --> 00:32:38,082 하지만 생성 된 모든 것 내가 관심있는 코드. 681 00:32:38,082 --> 00:32:39,790 그래서 저를 위해 일시​​ 정지하자 잠시 볼 682 00:32:39,790 --> 00:32:42,200 질문이 있다면 또는 혼란 내가 만들었습니다. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 좋아, 그래서 트위스트하자 좀 더 열심히 여기에 685 00:32:48,150 --> 00:32:51,500 이 있는지 확인합니다 개선을위한 기회를 제공합니다. 686 00:32:51,500 --> 00:32:56,130 Helpers.php 또한이 있었다 기능, renderFooter을했다. 687 00:32:56,130 --> 00:32:59,652 약 주목할만한 무엇 renderHeader 및 renderFooter? 688 00:32:59,652 --> 00:33:02,610 그리고 또, 오늘의 목적을 위해, 알고 추출 기능은 단지입니다 689 00:33:02,610 --> 00:33:08,280 전달 인자의 길 header.php와 footer.php에. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> 죄송합니다? 692 00:33:11,780 --> 00:33:13,056 >> 청중 : [들리지] 693 00:33:13,056 --> 00:33:15,180 데이비드 마란 : 그래, 난 단지 이 라인이 필요 변경. 694 00:33:15,180 --> 00:33:19,410 그래서 말 그대로, 나는 죄를 범했습니다 복사 및 붙여 넣기의, 다시 한번. 695 00:33:19,410 --> 00:33:21,920 그것은 엄청난 수의 아니에요 라인,하지만 on-- 올 696 00:33:21,920 --> 00:33:25,220 내가 복사하고 모든 것을 붙여있어 경우 하나의 작은 단어를 변경하려면, 697 00:33:25,220 --> 00:33:28,610 그리고 하나의 작은 단어는 앨런 가리 밖으로 대, 여기에 바닥 글 여기에 헤더. 698 00:33:28,610 --> 00:33:30,670 그렇지 않으면, 모든입니다 동일를 제외 699 00:33:30,670 --> 00:33:32,180 물론, 함수의 이름. 700 00:33:32,180 --> 00:33:33,690 그래서 우리는 더 나은 무엇을 할 수 있을까? 701 00:33:33,690 --> 00:33:39,810 >> 그럼 내가이 버전을 열어 보자 여기에, 이에 helpers.php에, 702 00:33:39,810 --> 00:33:42,300 왜 난 그냥 얻을하지 않습니다 이것에 대해 스마트 작은? 703 00:33:42,300 --> 00:33:46,410 약간 더 복잡한 쓰기 코드 만 렌더링 전화를? 704 00:33:46,410 --> 00:33:48,470 그래서 근본적으로 무엇을 변경? 705 00:33:48,470 --> 00:33:51,770 >> 이 인수를들을 당장 두 개의 인수, 여전히 데이터. 706 00:33:51,770 --> 00:33:54,444 그리고 첫 번째 무엇 아마 사용되고 이름 707 00:33:54,444 --> 00:33:55,860 당신이 읽고있는 내용에 기초? 708 00:33:55,860 --> 00:33:58,452 하더라도 구문의 일부는 여전히 새로운 기능입니다. 709 00:33:58,452 --> 00:33:59,660 달러 기호 템플릿은 무엇입니까? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> 죄송합니다? 712 00:34:03,016 --> 00:34:03,710 >> 청중 : 머리글 또는 바닥 글. 713 00:34:03,710 --> 00:34:04,510 >> 데이비드 마란 : 머리글 또는 바닥 글. 714 00:34:04,510 --> 00:34:07,134 그래서 분명히, 내가 결정하는 경우 변화하고있는 유일한 715 00:34:07,134 --> 00:34:10,159 내가 원하는 템플릿입니다 print-- 및 템플릿에 의해 716 00:34:10,159 --> 00:34:13,100 나는이에 대한 청사진 의미 내가 출력 할 코드, 717 00:34:13,100 --> 00:34:16,350 그러나 나는 몇 가지를 연결하려면 values​​-- 그래서 경우에만 헤더의 718 00:34:16,350 --> 00:34:20,440 또는 바닥 글, 왜 매개 변수화하지 않습니다 그 인수 달러 기호를 호출 719 00:34:20,440 --> 00:34:21,409 템플릿? 720 00:34:21,409 --> 00:34:26,250 그리고이 펑키 구문이 날 수 있습니다 여기에 변수에 경로를 만들 수 있습니다. 721 00:34:26,250 --> 00:34:28,030 >> 그래서 달러 기호 경로는 변수입니다. 722 00:34:28,030 --> 00:34:31,120 이 구문을 무엇 당신이 잘 알고 있다면, 무엇입니까? 723 00:34:31,120 --> 00:34:32,512 그래? 724 00:34:32,512 --> 00:34:34,065 >> 청중 : [들리지] 725 00:34:34,065 --> 00:34:34,940 데이비드 마란 : 맞아요. 726 00:34:34,940 --> 00:34:37,600 템플릿 인 경우, 인용을 끝내 인용, 헤더, 또는 템플릿 인 경우, 727 00:34:37,600 --> 00:34:41,170 인용을 끝내 인용, 바닥 글, 거기에 그 라인 내가 강조했다고, 8 번째 줄, 728 00:34:41,170 --> 00:34:46,330 단순히 헤더처럼, 그 이름을 복용, 도트 PHP로을 연결. 729 00:34:46,330 --> 00:34:49,750 그래서 우리는이 연산자를하지 않았다 C에서이 점 연산자이다 730 00:34:49,750 --> 00:34:54,520 당신이 있다면 PHP--에서 놀라운 일 자바 스크립트 또는 Java에 대해 잘 알고, 731 00:34:54,520 --> 00:34:56,949 당신은 플러스를 사용할 수 있습니다 연결을 위해 로그인합니다. 732 00:34:56,949 --> 00:34:59,974 >> C에서는 neck--의 통증이다 여섯 (P)이 세트에서 내가, 미안 해요, 733 00:34:59,974 --> 00:35:02,390 당신이해야 할거야 이 항아리 것이 골칫거리이다 734 00:35:02,390 --> 00:35:03,930 문자열을 연결합니다. 735 00:35:03,930 --> 00:35:04,670 왜? 736 00:35:04,670 --> 00:35:06,580 글쎄, 당신이 가지고있는 경우에 때문에 긴이있어 캐릭터, 737 00:35:06,580 --> 00:35:09,538 긴이있어 다른 문자열, 당신은 단지 그들을 함께 연결 할 수 없습니다. 738 00:35:09,538 --> 00:35:11,070 당신은 무엇을 대신 C로해야합니까? 739 00:35:11,070 --> 00:35:11,680 그래? 740 00:35:11,680 --> 00:35:12,380 >> 청중 : [들리지] 741 00:35:12,380 --> 00:35:15,090 >> 데이비드 마란 : 당신의 malloc해야 메모리, 또는 스택에 배열을 사용합니다. 742 00:35:15,090 --> 00:35:17,214 그리고 당신은 사실에있다 충분히 그 배열이 큰하게 743 00:35:17,214 --> 00:35:20,940 이 플러스이에 맞게, 플러스 백 슬래시 제로. 744 00:35:20,940 --> 00:35:24,994 그런 다음 사용하여 그들을 함께 연결하여 루프와 고양이 또는 수동으로 저어, 745 00:35:24,994 --> 00:35:26,160 기술 또는 임의의 수. 746 00:35:26,160 --> 00:35:27,760 그리고 우리는 당신의 몇 가지를 보여 P-설정 여섯. 747 00:35:27,760 --> 00:35:29,080 >> 그것은 목에 통증이있다. 748 00:35:29,080 --> 00:35:34,190 그리고 이것은 내가 대해 무엇을 의미하는지 진정으로 PHP 대 C 등이 항아리 대이. 749 00:35:34,190 --> 00:35:36,870 당신은 훨씬 더를 얻을 수 무료 기능, 750 00:35:36,870 --> 00:35:39,030 당신이 초점을 맞출 수 있도록, 이상적으로, 재미에 751 00:35:39,030 --> 00:35:41,190 부호화 부, 당신이 해결하려는 프로젝트, 752 00:35:41,190 --> 00:35:43,190 오히려 낮은 수준의 사소한보다. 753 00:35:43,190 --> 00:35:49,840 >> 그래서 그냥 생성 header.php 또는 내가 부르는 하나를 기반으로 footer.php. 754 00:35:49,840 --> 00:35:52,280 그리고 실제로 내가 가면 의 index.php에 예고 755 00:35:52,280 --> 00:35:56,230 모든 대신의 changed-- 것 헤더 렌더링이나 바닥 글을 렌더링 호출, 756 00:35:56,230 --> 00:36:00,230 나는 다음에, 렌더링 전화 해요 내가 원하는 서식 파일의 이름입니다. 757 00:36:00,230 --> 00:36:02,370 그리고 당신도,이 표시됩니다, 문제에서, 일곱 설정 758 00:36:02,370 --> 00:36:05,530 우리는 당신이를 사용할 수있다 같은 기능은 송이를 만들기 위해 759 00:36:05,530 --> 00:36:07,550 다른 웹 페이지의 움 큼. 760 00:36:07,550 --> 00:36:10,570 >> 그래서 오히려 너무 거보다 그 details--에 훨씬 더 761 00:36:10,570 --> 00:36:13,210 당신은 다시 볼 수있는 문제 세트의가 살펴 보자 seven-- 762 00:36:13,210 --> 00:36:16,850 솔루션의 지금 시작 부분에 더 흥미로운 문제. 763 00:36:16,850 --> 00:36:19,310 지금까지 아무것도 우리는도 없어 수행 저장된 데이터가 있습니다. 764 00:36:19,310 --> 00:36:22,920 사실, 우리는 단지 시간 이제까지 저장 한 우리가이 클래스에서 수행 한 일 765 00:36:22,920 --> 00:36:31,030 우리는 잠시 매우 간단한 데모를했다 때 다시, 이에 우리는, C에서 파​​일 입출력을 사용 766 00:36:31,030 --> 00:36:34,520 그리고 내가 내 이름으로 입력 생각하고, 한나의 이름, 그리고 마리아의 이름, 767 00:36:34,520 --> 00:36:37,610 아니면 앤디의 이름 및 우리는 CSV의 file-- 저장 768 00:36:37,610 --> 00:36:39,430 쉼표는 값 파일을 분리. 769 00:36:39,430 --> 00:36:43,530 >> 그리고 우리는 내가 생각하는 fopen-- 사용 내 기억으로 우리는 fprintf를 사용 770 00:36:43,530 --> 00:36:44,910 그리고 우리는 파일을 저장. 771 00:36:44,910 --> 00:36:46,920 자, 가장 간단한이다 데이터베이스의 형태로. 772 00:36:46,920 --> 00:36:50,230 당신을위한 웹 사이트를 확인하려면 신입생 인스턴트 메시지 프로그램, 이에 신입생 773 00:36:50,230 --> 00:36:53,390 이상적으로, 스포츠를 등록 할 수 있습니다 데이터와 뭔가를 할 수 있습니다. 774 00:36:53,390 --> 00:36:55,370 지난 주, 우리는 아무것도하지 않았다 data--으로 우리는 단지 말했다, 775 00:36:55,370 --> 00:36:56,661 당신은 정말, 등록되어 있습니다. 776 00:36:56,661 --> 00:36:58,950 아니면 내가 이메일 감독관, 그리고 그것은 그 것이었다. 777 00:36:58,950 --> 00:37:02,110 >> 내가 할 수있는 경우 그러나 그것은 좋은 것입니다 그 감독관에게 CSV 파일을 제공 778 00:37:02,110 --> 00:37:03,340 Excel 파일 등을들 수있다. 779 00:37:03,340 --> 00:37:05,090 또는 더 나은 아직, 그것은 것 내가 할 수있는 경우에 좋은 780 00:37:05,090 --> 00:37:08,830 이러한 사용자의 이름을 넣어 이름을 기숙사와 그 모든 781 00:37:08,830 --> 00:37:11,740 데이터베이스에 그 단지는 영원히 살아있다 782 00:37:11,740 --> 00:37:13,530 전까지는 데이터를 삭제를 선택합니다. 783 00:37:13,530 --> 00:37:15,645 수 있도록 데이터베이스 나 정보를 조회합니다. 784 00:37:15,645 --> 00:37:18,070 그리고 실제로, 그 데이터베이스가 무엇인지입니다. 785 00:37:18,070 --> 00:37:20,470 >> 우리는 오늘 소개하고 다음 주, 너무, 기술 786 00:37:20,470 --> 00:37:25,020 라는 SQL-- 구조적 쿼리 다른 언어 언어,. 787 00:37:25,020 --> 00:37:28,750 그것은 본질적으로 프로그래밍있어 언어,하지만 데이터베이스. 788 00:37:28,750 --> 00:37:31,760 그리고 지금은 데이터베이스, 단지 슈퍼 멋진 버전으로 생각 789 00:37:31,760 --> 00:37:35,710 Microsoft Excel에서, 또는 Google의 스프레드 시트, 또는 애플 번호. 790 00:37:35,710 --> 00:37:39,950 그것은 일반적으로 할 수있는 프로그램입니다 당신은 데이터의 전체 무리를 저장 791 00:37:39,950 --> 00:37:43,960 행과 열로, 아주 같은 당신은 엑셀 파일에있을 수 있습니다. 792 00:37:43,960 --> 00:37:47,100 >> 그러나이 특히 좋다 우리는, 엑셀 슈퍼 익숙하지 793 00:37:47,100 --> 00:37:52,040 어떤 SQL은 당신이 할 수 있습니다하면 쿼리이있다 줄의 코드를 작성하여 정보 794 00:37:52,040 --> 00:37:55,220 여기서 당신이 할 수있는, 경우에도 데이터베이스는 그 안에 만 행이 795 00:37:55,220 --> 00:37:57,190 당신은 일을 슈퍼 빠른 찾을 수 있습니다. 796 00:37:57,190 --> 00:37:59,950 사실, 엑셀 특히입니다 대용량 데이터 세트에 나쁜. 797 00:37:59,950 --> 00:38:02,460 실제로, 몇까지 년 전에 밝혀졌다 798 00:38:02,460 --> 00:38:08,890 엑셀은 당신이 저장 허용 data--의 최대 65,535 행 799 00:38:08,890 --> 00:38:12,020 에서하지만, 많은 같은 소리 시간 나는 대학원 학생이었다 800 00:38:12,020 --> 00:38:14,920 내가 걸려 넘어 기억 이 내가 생성 되었기 때문에 801 00:38:14,920 --> 00:38:17,900 내 연구와 나는에 대한 CSV 파일 신속하게 분석하고 싶었다 802 00:38:17,900 --> 00:38:19,530 그냥 엑셀에서 열어. 803 00:38:19,530 --> 00:38:23,730 물론, 내 컴퓨터는 추락, 나는 이상 65,000 행을했기 때문에. 804 00:38:23,730 --> 00:38:27,210 >> 그러나 65,535 어디에서 왔는가? 805 00:38:27,210 --> 00:38:29,670 마이크로 소프트가 무엇을하고 있었다, 아마? 806 00:38:29,670 --> 00:38:32,430 두 당신의 능력을 가진 좋은 경우? 807 00:38:32,430 --> 00:38:37,160 네, 16 비트를 사용하고 값은 행 번호를 나타내는. 808 00:38:37,160 --> 00:38:41,310 그리고 16 두이다 65,536-- 마이너스 하나, 당신 때문에 경우 809 00:38:41,310 --> 00:38:45,414 제로 인덱스는이이었다 의미 내가 할 수 행 가장 많은. 810 00:38:45,414 --> 00:38:46,830 그리고 그것은 단지 디자인 결정이었다. 811 00:38:46,830 --> 00:38:52,760 16 비트를 저장하여, 그들이 나를 제한 대신 40 억의 16,000 행에, 812 00:38:52,760 --> 00:38:54,322 이는 내가 이상적으로 가지고 있었다. 813 00:38:54,322 --> 00:38:57,030 하지만 지금, 우리는 갈거야 웹 컨텍스트에서이 더 소개합니다. 814 00:38:57,030 --> 00:39:00,390 그리고 무엇 SQL에 대한 좋은 것은 심지어이다 그것은 꽤 강력하고 꽤 비록 815 00:39:00,390 --> 00:39:04,050 정교한, 정말 종기 아래에 네 개의 키 조작, 네 816 00:39:04,050 --> 00:39:08,060 주요 기능, 선택 will-- 경우, 데이터를 검색하는 검색을위한 817 00:39:08,060 --> 00:39:12,510 데이터에 대한; 삭제하거나 데이터를 삭제; 데이터베이스에 행을 추가 삽입; 818 00:39:12,510 --> 00:39:13,410 및 업데이트. 819 00:39:13,410 --> 00:39:17,010 혹시 구글 사용한 경우에 따라서 스프레드 시트, 애플 번호, 마이크로 소프트 820 00:39:17,010 --> 00:39:19,310 엑셀, 당신은 실행 한 대부분, 모든 821 00:39:19,310 --> 00:39:22,530 인간으로 이러한 작업으로의 당신의 키보드와 mouse--를 사용하여 822 00:39:22,530 --> 00:39:26,050 당신의 눈을, 데이터를 삽입하여 선택 또는 데이터를 검색하려면 823 00:39:26,050 --> 00:39:28,360 또는 업데이트 데이터, 또는 데이터 삭제. 824 00:39:28,360 --> 00:39:29,870 >> 그래서 이것은 무엇을 의미합니까? 825 00:39:29,870 --> 00:39:34,300 음, CS50에 미리 설치 IDE는 MySQL의라는 프로그램입니다. 826 00:39:34,300 --> 00:39:37,050 그것은 무료, 오픈 소스의 슈퍼 인기있는 데이터베이스. 827 00:39:37,050 --> 00:39:40,590 한국어는, 예를 들면,이이를 사용 그들이 사용하는 다른 도구 중 하루. 828 00:39:40,590 --> 00:39:44,300 그리고 매우 인기있는 웹 사이트를 많이 사용 그것은 많은 부분은, 빠른 때문에 829 00:39:44,300 --> 00:39:45,230 그것은 무료이기 때문에. 830 00:39:45,230 --> 00:39:46,820 확실히 있지만 대안이 존재한다. 831 00:39:46,820 --> 00:39:49,580 그리고 당신의 일부에 손 대고 있습니다 최종 프로젝트를위한 대안. 832 00:39:49,580 --> 00:39:55,330 >> 이 중 한편, 스크린 샷입니다 phpMyAdmin을라는 웹 기반 도구입니다. 833 00:39:55,330 --> 00:39:58,260 그것은 우연의 일치입니다 이 웹 기반 도구는 또한 834 00:39:58,260 --> 00:40:01,720 언어로 작성, PHP, 그러나 그것은해야 할 의미가 있는지 835 00:40:01,720 --> 00:40:04,620 우리에게 제공하는 웹 기반 데이터베이스에 대한 인터페이스. 836 00:40:04,620 --> 00:40:07,180 MySQL이 일반적이기 때문에 뭔가, 역사적으로, 당신을 837 00:40:07,180 --> 00:40:08,770 단지와 상호 작용하는 것 명령 행. 838 00:40:08,770 --> 00:40:10,811 그리고 슈퍼 영웅이 될 것입니다 성가신 가지고 비밀 839 00:40:10,811 --> 00:40:14,487 선택 텍스트 명령을 입력합니다 데이터는 데이터를 삽입하고, 데이터를 삭제합니다. 840 00:40:14,487 --> 00:40:16,820 인터넷에 그래서 어떤 사람들 웹 기반 프로그램을 작성 841 00:40:16,820 --> 00:40:18,900 단지 우리가 관리 할 수​​ 있음 우리의 데이터베이스에있는 데이터. 842 00:40:18,900 --> 00:40:23,040 그것은 엑셀을 더블 클릭처럼, 그리고 이들의 웹 기반 버전을 실행. 843 00:40:23,040 --> 00:40:26,370 >> 그리고 당신은이를 사용하려고하는지 궁극적으로 다음 주,하지의 P-설정 여섯, 844 00:40:26,370 --> 00:40:28,680 하지만 무언가를 구축하는 것입니다 CS50 금융,라고하는 845 00:40:28,680 --> 00:40:32,630 의 데이터베이스를해야 할 것입니다 사용자 이름과 암호를 가진 사용자, 846 00:40:32,630 --> 00:40:34,860 달러는 금액 그들이 자신의 은행 계좌에 있습니다. 847 00:40:34,860 --> 00:40:37,280 그것은 될 것 당신이 저장하는 데 사용할 무엇인가 848 00:40:37,280 --> 00:40:39,910 기호 및 수량 주식의 사용자 849 00:40:39,910 --> 00:40:42,567 가상하여 구입 당신이 그들에게주지 달러. 850 00:40:42,567 --> 00:40:44,900 그리고 그것은 사용자 수 것 귀하의 사이트에 등록, 851 00:40:44,900 --> 00:40:47,190 그래서 당신의 친구가 당신의 웹 사이트에 조정할 수 있습니다 852 00:40:47,190 --> 00:40:49,360 실제로 등록 로그인 및 놀 853 00:40:49,360 --> 00:40:52,807 및 코드에서 오류를 찾아보십시오, 귀하의 웹 사이트에서 버그를 찾아보십시오. 854 00:40:52,807 --> 00:40:55,390 그리고 그들은 단순히으로 등록 할 수 있습니다 효과적으로, 자신을 추가 855 00:40:55,390 --> 00:40:58,120 코드를 통해 당신은 당신의 데이터베이스에 기록. 856 00:40:58,120 --> 00:41:02,470 >> 예를 들면,이 스크린 샷은 빠른 무엇 데이터베이스는 다음과 같을 수 있습니다. 857 00:41:02,470 --> 00:41:05,190 이 중 하나였다 작년의 solutions-- 858 00:41:05,190 --> 00:41:07,760 이 미니 엑셀처럼 우리의 데이터베이스에 저장, 파일, 859 00:41:07,760 --> 00:41:09,950 MySQL의 호출이 소프트웨어에 저장된다. 860 00:41:09,950 --> 00:41:13,260 좌측, I 명백하게했습니다 모든 사용자에게 고유 번호를 부여. 861 00:41:13,260 --> 00:41:16,200 두 번째 열에서, 내가 준 모든 사람이 사용자가 내 자신을 name-- 862 00:41:16,200 --> 00:41:16,880 그 (것)들의 사이에서. 863 00:41:16,880 --> 00:41:21,430 그리고 오른쪽에, 나는 그들에게 해시를 부여했습니다. 864 00:41:21,430 --> 00:41:26,760 >> 지금이 실제로 암호입니다, 하지만 일반 텍스트 암호 아니다. 865 00:41:26,760 --> 00:41:30,160 이 경우, 암호화 된 패스워드의 당신은 것, 또는 해시 암호를 입력합니다. 866 00:41:30,160 --> 00:41:32,000 어떤 우리가 오래 전에 다시 올 것이다. 867 00:41:32,000 --> 00:41:34,340 >> 그러나 당신은 이제까지 읽은 경우 방법에 대한 기사 868 00:41:34,340 --> 00:41:37,950 일부 은행이나 일부에서 비밀번호 웹 사이트는, 손상되었을 수 있습니다 869 00:41:37,950 --> 00:41:39,630 그것은 일반적으로 두 가지 중 하나를 의미 할 수있다. 870 00:41:39,630 --> 00:41:42,780 그래서이 여섯 사용자 만 발췌 한 것입니다. 871 00:41:42,780 --> 00:41:45,460 여러분 모두는 이제 알 수 있습니다 해킹 또는 크래킹을 통해 밖으로 872 00:41:45,460 --> 00:41:47,690 우리 육명의 암호는 무엇인지. 873 00:41:47,690 --> 00:41:49,720 그러나 당신은 이제까지받은 한 경우 경고 또는 사과 874 00:41:49,720 --> 00:41:52,803 회사 또는 웹 사이트의 말에서, 죄송합니다, 해커는 우리의 데이터베이스에 침입 875 00:41:52,803 --> 00:41:56,360 당신은 아마 변경해야합니다 당신의 암호, 그게 무슨 뜻 수 있는가? 876 00:41:56,360 --> 00:41:59,670 >> 그런데, 하나를 의미 할 수있다 회사는 더 바보 같은있다 877 00:41:59,670 --> 00:42:03,630 과 암호를 저장하고있다 이 같은 열에서 암호화되지 않은. 878 00:42:03,630 --> 00:42:05,840 어떤 대적을 의미한다, 누가, 데이터베이스를 훔쳐 879 00:42:05,840 --> 00:42:07,440 말 그대로 알고 사용자 이름과 암호를 입력합니다. 880 00:42:07,440 --> 00:42:08,960 즉, 최악의 시나리오입니다. 881 00:42:08,960 --> 00:42:11,710 그리고 당신은 P-세트에서 볼 수 있습니다로 일곱, 방지하기 쉽습니다. 882 00:42:11,710 --> 00:42:15,624 절대적으로 변명은 거기에 없다 오늘날의 인터넷 어리 석음의 형태. 883 00:42:15,624 --> 00:42:18,540 Two-- 우리는 몇 가지 기사를 찾을 수 있습니다 이 여전히 있다는 사실을 증언하기 884 00:42:18,540 --> 00:42:21,710 nonetheless--, 발생 두, 어쩌면 상대 885 00:42:21,710 --> 00:42:23,840 데이터베이스의 버전을 훔쳤다. 886 00:42:23,840 --> 00:42:27,110 어느 여전히 종류의 나쁜 해주기 때문에 그들은 내가 여섯 고객을 알고, 887 00:42:27,110 --> 00:42:29,270 I는 사용자 이름을 알고 여섯 고객, 888 00:42:29,270 --> 00:42:32,910 나는 암호화 알고 버전, 또는 해시 버전 889 00:42:32,910 --> 00:42:34,340 여섯 고객의 암호. 890 00:42:34,340 --> 00:42:37,010 당신의 모든하지만 누가 수도 [짓을 한거야? 해커 2?] 891 00:42:37,010 --> 00:42:41,150 당신은 암호를 금, 또는했다 경우 문제의 해당 버전을보고 892 00:42:41,150 --> 00:42:46,280 세트, 왜 아직도 조금 걱정을하다 사탄은 당신의 해시를 알고 있다면 893 00:42:46,280 --> 00:42:47,435 암호? 894 00:42:47,435 --> 00:42:49,732 >> 청중 : 그들이 할 수 있기 때문에 전체 사전을 입력 895 00:42:49,732 --> 00:42:50,690 해시 함수로. 896 00:42:50,690 --> 00:42:54,520 그리고 비밀번호는 사전의 경우 단어 [? 그들은 단지 match-- 수 있습니까?] 897 00:42:54,520 --> 00:42:57,640 >> 데이비드 마란 : 정확히, 적 당신의 일부처럼 코드를 작성할 수 있습니다 898 00:42:57,640 --> 00:43:00,526 [위해 한? 해커?] (2) 당신은 반복된다 899 00:43:00,526 --> 00:43:03,400 사전에있는 모든 단어, 또는 모든 가능한 조합 900 00:43:03,400 --> 00:43:06,610 Z 통해 nine--을 통해 하나 이는 많은 같은 소리하고있다. 901 00:43:06,610 --> 00:43:08,361 그러나 컴퓨터, 그것은 무척 빠르다. 902 00:43:08,361 --> 00:43:10,610 사실, 즉이었다 [포인트? 해커 2?]했다 903 00:43:10,610 --> 00:43:12,540 그 물건을 촬영합니다 문자 그대로, 다음과 같습니다 904 00:43:12,540 --> 00:43:14,900 및 리버스 엔지니어링 무엇 실제로이었다. 905 00:43:14,900 --> 00:43:17,270 >> 어떻게 우리가 할 수있는 그래서 우리는 볼 것이다 보다 효율적으로이를 저장합니다. 906 00:43:17,270 --> 00:43:20,210 다행히도 MySQL의에서 밝혀 데이터 유형이있을 것입니다. 907 00:43:20,210 --> 00:43:22,800 그리고 대한 재미있는 부분 중 하나 데이터베이스 디자인은, 솔직히 말해서 908 00:43:22,800 --> 00:43:25,810 실제로 자신을 위해 결정하는 당신은 어떻게 데이터를 표현해야 하는가? 909 00:43:25,810 --> 00:43:29,630 당신은 전화 번호를 나타내야 큰 숫자, 또는 긴 같은 INT? 910 00:43:29,630 --> 00:43:31,630 아니면 실제로합니까 문자의 순서로? 911 00:43:31,630 --> 00:43:33,780 그리고 아주있을 수 있습니다 이 아닌 사소한 영향. 912 00:43:33,780 --> 00:43:36,714 >> 사실의 한 초기, 재미 밀접한 이야기 913 00:43:36,714 --> 00:43:39,880 마크 주커 버그가 구축되었을 때입니다 페이스 북, 그것은 원래 작성되었습니다, 914 00:43:39,880 --> 00:43:42,300 여전히 크게 PHP로 작성되었습니다. 915 00:43:42,300 --> 00:43:45,400 그리고 가장 큰 과제 중 하나 그들은 초기 확장되었다에 직면했다. 916 00:43:45,400 --> 00:43:48,820 그들은 후에 학교를 추가로 유지하는 경우 학교 졸업 후, 나의 지식, 917 00:43:48,820 --> 00:43:51,639 원래 솔루션 중 하나 복사 및 붙여 넣기가 본질적으로했다 918 00:43:51,639 --> 00:43:53,430 데이터베이스의 일부 및 코드의 일부, 919 00:43:53,430 --> 00:43:55,346 하버드가되도록 자신의 서버에서 실행, 920 00:43:55,346 --> 00:43:56,995 와 MIT는 자신의 서버에서 실행되었다. 921 00:43:56,995 --> 00:43:59,120 그리고이 왜, 몇 가지 당신의 사람들을 불러 있습니다, 922 00:43:59,120 --> 00:44:01,510 당신은 친구가 없습니다 다른 네트워크에. 923 00:44:01,510 --> 00:44:05,050 >> 당신은 아마에서 친구가 없습니다 10 년 정도 전에 MIT 나 하버드, 924 00:44:05,050 --> 00:44:07,467 하지만 당신은 네트워크를 확장 할 수 부분적으로 그 이유. 925 00:44:07,467 --> 00:44:10,550 그리고 가장 큰 과제 중 하나 마크와 페이스 북과 같은 기업에 대한 926 00:44:10,550 --> 00:44:13,460 실제로 수백을 처리 그리고 수천 수백만 927 00:44:13,460 --> 00:44:14,460 초당 요청. 928 00:44:14,460 --> 00:44:16,501 그래서 일이 우리가 시작합니다 이번 주 이야기 929 00:44:16,501 --> 00:44:19,860 정말 밀접한 될거야 좋은 소프트웨어를 작성하고 대중적으로 930 00:44:19,860 --> 00:44:23,040 성공적인 도구 그 많은 사용자를 처리 할 수​​ 있습니다. 931 00:44:23,040 --> 00:44:25,460 >> 그래서 우리는 것들에 대해 이야기 할 것입니다 인덱싱 및 검색 등, 932 00:44:25,460 --> 00:44:26,910 하지만 오늘 그 것이다. 933 00:44:26,910 --> 00:44:28,780 우리는 수요일에 더 당신을 볼 수 있습니다. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [음악 - "펠트"주제] 936 00:44:33,902 --> 00:44:35,943 데이비드 마란 : 당신은에 있습니다 그것은, 그것에서 뺍니다. 937 00:44:35,943 --> 00:44:38,859 그리고 당신은 고수 할 필요가 없습니다 메모리의 일부 미리 정해진 양. 938 00:44:38,859 --> 00:44:40,580 그럼, 그 호출 할거야? 939 00:44:40,580 --> 00:44:42,369 >> 스피커 1 : 음, 무슨 일이야? 940 00:44:42,369 --> 00:44:43,535 스피커 2 : 당신은 무엇을 의미합니까? 941 00:44:43,535 --> 00:44:44,451 그는 강연을주고있다. 942 00:44:44,451 --> 00:44:47,650 데이비드 마란 : 그리고 우리가 사용할 수 있습니다 기능은 memory--하는 malloc을 호출 943 00:44:47,650 --> 00:44:50,050 >> 스피커 1 : 왜 그의 팔은 움직이지 않는거야? 944 00:44:50,050 --> 00:44:52,450 >> 스피커 2 : 음 that's-- 당신도 알다시피, 그건 정상입니다. 945 00:44:52,450 --> 00:44:57,162 그는 단지가 것처럼 단지 큰 소시지가 매달려입니다. 946 00:44:57,162 --> 00:44:59,040 >> 스피커 1 : 그건 정상입니다? 947 00:44:59,040 --> 00:45:03,096 >> 스피커 2 : 그래, 우리 생각 단지 실수로 그가 가정 948 00:45:03,096 --> 00:45:06,840 순간 접착제와의 탈취제를 대체했다. 949 00:45:06,840 --> 00:45:07,608