1 00:00:00,000 --> 00:00:03,920 >> [음악 연주] 2 00:00:03,920 --> 00:00:11,760 3 00:00:11,760 --> 00:00:13,800 >> DAVID J. 마란 : 좋아. 4 00:00:13,800 --> 00:00:15,640 이 CS50입니다. 5 00:00:15,640 --> 00:00:17,620 이 8 주간의 시작입니다. 6 00:00:17,620 --> 00:00:22,440 그리고 당신은 우리가 중단 된 것을 기억하고있을 것 마지막으로 새로운 언어보고 7 00:00:22,440 --> 00:00:23,240 모두. 8 00:00:23,240 --> 00:00:25,905 사실, 하나에서 그 상당히이다 경량 그것도 아니다 9 00:00:25,905 --> 00:00:26,940 프로그래밍 언어. 10 00:00:26,940 --> 00:00:31,100 그것은 우리가 할 수있는 마크 업 언어이다 실제로 구조 및 웹 페이지를 확인합니다. 11 00:00:31,100 --> 00:00:33,350 그리고 때 당신에게 뭔가를 이 항아리와 함께 12 00:00:33,350 --> 00:00:35,670 또는 당신은 곧 것입니다 경우 당신은 이미하지 않았습니다. 13 00:00:35,670 --> 00:00:38,530 우리는 캐스 케이 딩을 사용하는거야 스타일 시트, 또는 CSS, 어떤 14 00:00:38,530 --> 00:00:40,971 언어의 또 다른 유형은 속성과 값 15 00:00:40,971 --> 00:00:43,220 즉, 우리가 할 수 있도록거야 것들 색을 변경하고자 16 00:00:43,220 --> 00:00:46,010 및 위치를 변경 및 개조하면 되겠 이러한 종류의. 17 00:00:46,010 --> 00:00:49,940 그러나 오늘 이후, 우리는에 시작 더 강력한 언어에 초점 18 00:00:49,940 --> 00:00:52,810 PHP와 같은 실제 프로그래밍 언어. 19 00:00:52,810 --> 00:00:54,880 >> 그래서 PHP와 몇 시간 동안 주변되었습니다. 20 00:00:54,880 --> 00:00:56,810 그리고 당신은 그것을 볼 수 있습니다로 주로 설계되었습니다 21 00:00:56,810 --> 00:01:00,280 초기에 실제에 대한 웹 개발에 사용 22 00:01:00,280 --> 00:01:02,360 실제로 웹 페이지를 생성하는 단계를 포함한다. 23 00:01:02,360 --> 00:01:04,849 그렇게 어떤 종류의 기능은 언어를 않습니다 24 00:01:04,849 --> 00:01:10,040 웹을하기 위해 필요 동적으로 페이지? 25 00:01:10,040 --> 00:01:14,760 >> 즉, 당신은 생성하려는 경우 페이스 북의 같은 콘텐츠 dynamically-- 26 00:01:14,760 --> 00:01:19,480 끊임없이 변화 뉴스 피드, 또는 시간에서 팝업 인스턴트 메시지 27 00:01:19,480 --> 00:01:21,872 무엇처럼 외엔합니다 기능 키 부분 28 00:01:21,872 --> 00:01:24,580 당신은 프로그래밍 언어에 필요한 그 당신에게 동적으로 할 것 29 00:01:24,580 --> 00:01:28,070 화면에 새로운 정보를 인쇄? 30 00:01:28,070 --> 00:01:28,685 >> 학생 : 코드입니다. 31 00:01:28,685 --> 00:01:29,560 DAVID J. 마란 : 코드입니다. 32 00:01:29,560 --> 00:01:30,440 확인을 클릭합니다. 33 00:01:30,440 --> 00:01:31,995 우리는 걸릴거야. 34 00:01:31,995 --> 00:01:35,310 좀 더 정확한. 35 00:01:35,310 --> 00:01:37,639 내 말은, 우리가 할 수있는 솔직히 C,이. 36 00:01:37,639 --> 00:01:38,930 그것은 목에 통증이있을 것입니다. 37 00:01:38,930 --> 00:01:41,045 이 노력은하지만 ...인가? 38 00:01:41,045 --> 00:01:41,895 >> 학생 : 네. 39 00:01:41,895 --> 00:01:42,677 변수, 아마? 40 00:01:42,677 --> 00:01:43,760 DAVID J. 마란 : 변수. 41 00:01:43,760 --> 00:01:44,160 확인, 확인을 클릭합니다. 42 00:01:44,160 --> 00:01:45,740 변수는 확실히 우리를 도울 수있다. 43 00:01:45,740 --> 00:01:47,020 심지어 뭔가 간단. 44 00:01:47,020 --> 00:01:50,640 우리는 처음에 그것을 사용 첫날의 프로그램 45 00:01:50,640 --> 00:01:55,686 우리는 실제로 "안녕하세요."라고 할 때 46 00:01:55,686 --> 00:01:56,570 >> 학생 : 인쇄합니다. 47 00:01:56,570 --> 00:01:57,778 >> DAVID J. 마란 : 인쇄, 오른쪽? 48 00:01:57,778 --> 00:02:01,050 인쇄, 또는 printf의 C. 그래서 모든 시간의 세계, 49 00:02:01,050 --> 00:02:03,362 우리는에 했어 우리 처분 language-- C, 50 00:02:03,362 --> 00:02:05,570 particular--에서 심지어 그 문제에 대한 스크래치 그 51 00:02:05,570 --> 00:02:07,400 텍스트 문자열을 생성 할 수 있습니다. 52 00:02:07,400 --> 00:02:11,090 >> 우리가 지난 주에보고뿐만 아니라 HTML 경우입니다 텍스트 문자열의 단지 전체 무리 53 00:02:11,090 --> 00:02:14,692 열린 괄호와 폐쇄이기는하지만 브래킷과 운율의 일종 54 00:02:14,692 --> 00:02:16,650 그리고 그 뒤에 이유, 그럼 우리가 정말 할 수 55 00:02:16,650 --> 00:02:20,440 어느 웹 페이지를 생성하기 시작 수동의 gedit에서 그들을 입력하여 56 00:02:20,440 --> 00:02:23,870 또는 Microsoft Word에서, 그에 대한 문제가 .. 우​​리는 텍스트 편집기가 필요합니다. 57 00:02:23,870 --> 00:02:26,830 >> 아니면, 코드를 작성할 수있다 당신의 제안에 58 00:02:26,830 --> 00:02:30,435 이전, 즉 우리를 할 것입니다 동적으로 HTML을 생성, 59 00:02:30,435 --> 00:02:32,560 그리고 우리가 가고 무엇 PHP로 일을 시작합니다 60 00:02:32,560 --> 00:02:34,900 궁극적 심지어와 자바 스크립트라는 언어, 61 00:02:34,900 --> 00:02:37,910 또 생성 한 언어를 사용한다. 62 00:02:37,910 --> 00:02:40,720 그리고 실제로이 무엇 페이스 북이다 많은, 많은 다른 사이트 63 00:02:40,720 --> 00:02:44,530 실제로 동적으로을에 할 당신에게 새로운 정보를 표시합니다. 64 00:02:44,530 --> 00:02:47,117 >> 그래서 이일을 시작하자 암호 같은보고 라인,하지만 하나 65 00:02:47,117 --> 00:02:48,450 그 사실은 꽤 강력. 66 00:02:48,450 --> 00:02:51,210 지금까지, 우리는 C를 사용하고, 이는 컴파일 된 언어입니다. 67 00:02:51,210 --> 00:02:55,050 그리고 그냥 빨리 recap--은 컴파일 언어는 어떤 특징이있다? 68 00:02:55,050 --> 00:02:59,050 당신은 분명히 컴파일해야 그것은이지만, 무엇을 의미할까요? 69 00:02:59,050 --> 00:03:00,505 그래? 70 00:03:00,505 --> 00:03:02,940 >> 학생 : 그것은 할 필요가 기계어로 조립. 71 00:03:02,940 --> 00:03:03,060 >> DAVID J. 마란 : OK. 72 00:03:03,060 --> 00:03:04,530 그것은 조립 될 필요가 기계 코드로. 73 00:03:04,530 --> 00:03:07,340 그래서 당신은 소스 코드를 가지고 이는 영어와 같은 종류의 것입니다. 74 00:03:07,340 --> 00:03:09,270 당신은 해당 변환 뭔가 낮은 수준, 75 00:03:09,270 --> 00:03:11,590 궁극적으로 호출 객체는 0과 1의 code--. 76 00:03:11,590 --> 00:03:14,830 그리고 그 공의의의 1의 그 CPU, 인텔에 의해 만들어진 것과 같은, 77 00:03:14,830 --> 00:03:16,110 실제로 이해합니다. 78 00:03:16,110 --> 00:03:19,690 >> 이제, PHP와 파이썬과 루비와 자바 스크립트 및 기타 큼 79 00:03:19,690 --> 00:03:23,190 언어는 컴파일되지 않습니다 언어는하지만 언어를 해석, 80 00:03:23,190 --> 00:03:26,630 어떤 의미 당신은 단지 다음을 입력하고 당신은 0과 1로를 끄지 마십시오. 81 00:03:26,630 --> 00:03:30,790 당신은 대신 다음과 같은 제공 누군가 다른 사람의 프로그램에 입력, 82 00:03:30,790 --> 00:03:32,080 통역했다. 83 00:03:32,080 --> 00:03:34,460 그리고 그 사람의 프로그램 설계되었습니다 84 00:03:34,460 --> 00:03:38,280 무엇을 이해하기를 각각 파이썬이나 PHP의 모든 기호 85 00:03:38,280 --> 00:03:42,650 루비 또는 수의 또는 다른 언어는 것을 의미한다. 86 00:03:42,650 --> 00:03:44,760 >> 그래서 우리가 필요로하는 모든입니다 이 같은. 87 00:03:44,760 --> 00:03:46,350 그래서 사실, 내가 갈거야 기기에 가서 88 00:03:46,350 --> 00:03:48,100 여기에, 단지에 어떤 이전 창, 우리는있어 89 00:03:48,100 --> 00:03:52,580 앞서 열린 갈 라는 파일이, 안녕하세요, 말한다. 90 00:03:52,580 --> 00:03:55,780 이제 이전에, 내가 저장 한 수 심지어 파일 확장자이, 91 00:03:55,780 --> 00:03:57,910 하지만 난 할거야 뭔가 여기에 더 간단. 92 00:03:57,910 --> 00:04:02,450 내가 가서 시작하는거야 이 암호 같은 구문이 파일. 93 00:04:02,450 --> 00:04:06,310 그래서 "사용자, 빈, ENV, 환경, PHP. " 94 00:04:06,310 --> 00:04:10,670 >> 이 규범 단순히 한 줄입니다 내 운영 체제를 말하려고, 95 00:04:10,670 --> 00:04:13,730 지역에서 찾을 이동 즉 어떤 환경, 96 00:04:13,730 --> 00:04:18,149 PHP는 interpreter-- 핵폭탄 낙하 곳 그리고 가서 그 통역을 사용 97 00:04:18,149 --> 00:04:20,589 다음 코드를 해석합니다. 98 00:04:20,589 --> 00:04:22,760 지금,이 종류의 것입니다 PHP의 추한 기능입니다. 99 00:04:22,760 --> 00:04:24,980 그러나이 언어, 어떤 시간 당신은, PHP 코드를 작성 100 00:04:24,980 --> 00:04:29,200 이러한 추한 중 하나가 필요 시작의 경계를 PHP 태그 101 00:04:29,200 --> 00:04:32,220 당신의 code-- 00:04:37,430 >> 그러나 여기 아래에, 지금은 뭔가를 할 수 아주 간단합니다, 같은의 printf 안녕하세요 쉼표 103 00:04:37,430 --> 00:04:40,922 세계 백 슬래시 N 닫기 인용, 닫는 괄호. 104 00:04:40,922 --> 00:04:42,630 그리고 단지 이익을 위해 측정, 내가 갈거야 105 00:04:42,630 --> 00:04:45,380 앞서와 가까운 이동 여기에 내 PHP 태그 106 00:04:45,380 --> 00:04:47,390 그래서 모든 것이 외모 잘 꽤 인쇄. 107 00:04:47,390 --> 00:04:50,780 >> 그리고 최대한 빨리 저장을 클릭하는 gedit를 충분히 실제로 스마트 108 00:04:50,780 --> 00:04:54,620 바로 그 첫 번째 줄의 열람 및 아, 그리고 만약 당신이 PHP 코드를 작성하고, 실현. 109 00:04:54,620 --> 00:04:56,710 나에게 구문 강조하자 색상 그것 110 00:04:56,710 --> 00:04:58,690 그래서 여기 스탠드 좀 더 알아. 111 00:04:58,690 --> 00:05:01,300 하지만 지금은 갈거야 내 터미널 창에 아래로. 112 00:05:01,300 --> 00:05:02,340 나는 확대합니다. 113 00:05:02,340 --> 00:05:06,860 >> 이 프로그램은 "안녕하세요"라고했다 그래서, 안녕하세요 점 슬래시를 할거야 114 00:05:06,860 --> 00:05:07,990 하지만 권한이 거부되었습니다. 115 00:05:07,990 --> 00:05:08,490 배시. 116 00:05:08,490 --> 00:05:10,610 우리는 실제로 들어 일이 몇 주 전에 117 00:05:10,610 --> 00:05:13,140 Shellshock의 맥락에서, 그 버그 중 하나입니다. 118 00:05:13,140 --> 00:05:16,240 >> 그러나 권한은 우리가 본 적이 거부 전에, 어쩌면 다른 맥락에서. 119 00:05:16,240 --> 00:05:19,060 사람이 어떻게 기억 하는가 당신이 뭔가를 해결할 수 있습니다 120 00:05:19,060 --> 00:05:22,100 권한은 다음과 같이 거부되는 경우? 121 00:05:22,100 --> 00:05:23,490 이 명령은 적어도 무엇입니까? 122 00:05:23,490 --> 00:05:24,159 >> 학생 : chmod를. 123 00:05:24,159 --> 00:05:26,700 DAVID J. 마란 : 그래, chmod를, 파일의 방식 변경. 124 00:05:26,700 --> 00:05:30,171 그리고 당신은 더욱 익숙해 질 것이다 이후의 문제와이 다음 주 125 00:05:30,171 --> 00:05:30,670 설정합니다. 126 00:05:30,670 --> 00:05:33,211 하지만 지금은, 내가 변경거야 모드는 읽을 수 없습니다 127 00:05:33,211 --> 00:05:36,650 하지만 모든 사람이 executeability을 제공합니다 권한, 능력 128 00:05:36,650 --> 00:05:37,710 이 파일을 실행합니다. 129 00:05:37,710 --> 00:05:40,360 그리고 할당 할거야 파일에 그 안녕하세요. 130 00:05:40,360 --> 00:05:45,150 >> 지금 점 슬래시를 할 경우 안녕하세요, 당신을 입력 사실, 볼, 내 프로그램, 안녕하세요. 131 00:05:45,150 --> 00:05:48,760 그리고 어떤 단계는 내가했다 분명 모두 건너 뛰? 132 00:05:48,760 --> 00:05:49,520 컴파일. 133 00:05:49,520 --> 00:05:51,680 그래서 난 그냥 아주 간단하게이 프로그램을 실행. 134 00:05:51,680 --> 00:05:55,690 >> 그리고 그것은 당신이 작업을 수행 할 수 있습니다 밝혀 C. 연상 구문의 많은 135 00:05:55,690 --> 00:06:03,400 나 오늘의 코드에 가자 이는 내 가상 호스트 디렉토리에 넣어 136 00:06:03,400 --> 00:06:05,250 여기에, 진짜 이유 우리는 되돌아 올 것입니다. 137 00:06:05,250 --> 00:06:09,350 그리고 나는에 갈거야 조건 1,의 말을 보자. 138 00:06:09,350 --> 00:06:12,450 >> 그리고 먼저, 여기에 볼과 무엇보다도 주석의 전체 무리. 139 00:06:12,450 --> 00:06:15,240 그러나 이것은 실제로 PHP의 재 작성 140 00:06:15,240 --> 00:06:18,960 프로그램의 우리는 일주일에 한 하나라는 조건 1.C 141 00:06:18,960 --> 00:06:20,690 여기서 목적에 이 프로그램의 수명 142 00:06:20,690 --> 00:06:22,950 물어 분명히있다 정수에 대한 사용자 143 00:06:22,950 --> 00:06:25,270 다음 일부 솜 털을 그것은 이에에 분석 144 00:06:25,270 --> 00:06:29,510 이 양의 경우 또는 말 제로 또는 마이너스가 동일. 145 00:06:29,510 --> 00:06:34,220 그리고는이를 가지고 있기 때문에, 어쩌면 하나의 작은 세부 사항을 제외하고, 146 00:06:34,220 --> 00:06:37,150 그것은 C.에서 지금까지 흡사 147 00:06:37,150 --> 00:06:39,930 >> 하나의 특성은 무엇인가 여기에 아마 밖으로 점프 148 00:06:39,930 --> 00:06:41,410 조금 다른 같은 당신은? 149 00:06:41,410 --> 00:06:42,160 어쩌면 두 가지. 150 00:06:42,160 --> 00:06:42,660 그래? 151 00:06:42,660 --> 00:06:44,070 >> 학생 : 달러 기호 N? 152 00:06:44,070 --> 00:06:44,944 >> DAVID J. 마란 : 그래. 153 00:06:44,944 --> 00:06:46,210 그래서 달러 기호 n은 존재한다. 154 00:06:46,210 --> 00:06:48,120 그리고 달러 기호로 우리는 가고, 볼 155 00:06:48,120 --> 00:06:51,460 처음으로 수정 될 PHP의 모든 변수. 156 00:06:51,460 --> 00:06:54,250 그것은 모두 좋은 bad-- 좋은 그것은 종류의 명백한인지 알아 157 00:06:54,250 --> 00:06:56,797 그것의 그 나쁜 변수, 또 다른 점은 입력합니다. 158 00:06:56,797 --> 00:06:58,630 그리고 다른 하나는있다 것은 우리가하지 않은 아주 159 00:06:58,630 --> 00:07:00,876 적어도이 맞춤법에 의해, 본. 그래? 160 00:07:00,876 --> 00:07:01,630 >> 학생 : Readline의. 161 00:07:01,630 --> 00:07:02,671 >> DAVID J. 마란 : Readline의. 162 00:07:02,671 --> 00:07:06,550 Readline의 우리에서, 그 자체를 참조하지 않았다 뭔가가 존재하더라도 C, 163 00:07:06,550 --> 00:07:09,530 마찬가지로, 우리가있는 getString을 사용했지만, 이것은 그것의 대조이다. 164 00:07:09,530 --> 00:07:12,950 나는이 들어갈 경우에 따라서 될 일이 디렉토리, 165 00:07:12,950 --> 00:07:18,030 내 가상 호스트의 비트에 설명 할 것으로 디렉토리 내 소스 디렉토리, 166 00:07:18,030 --> 00:07:22,730 내가 가서 점 슬래시을 conditions-- whoops-- 점 슬래시 167 00:07:22,730 --> 00:07:26,710 조건 1, 당신은 다시 볼 수 있습니다 같은 issue-- 권한이 거부되었습니다. 168 00:07:26,710 --> 00:07:33,610 >> 그래서 저를 확대하자 플러스 chmod를 할 조건 점 슬래시 조건에 X. 169 00:07:33,610 --> 00:07:35,222 나는 50, 정수를 부탁합니다. 170 00:07:35,222 --> 00:07:36,930 그리고 우리는 이것을 할 수 있었다 게임 하루 종일. 171 00:07:36,930 --> 00:07:39,140 그것은 정확하게 행동 것 그것은 일주일에 그랬던 것처럼. 172 00:07:39,140 --> 00:07:42,860 >> 를 제외하고, OK 그래서 모든 차이를 보이지 하지 구문의 단지 약간의 비트, 173 00:07:42,860 --> 00:07:45,490 하지만 상단에, 나는 다시 이 라인이 있던 174 00:07:45,490 --> 00:07:49,760 내가 뭔가를 만들 수 그 안녕하세요라는 C 프로그램처럼 보인다 175 00:07:49,760 --> 00:07:51,150 라는 조건 1. 176 00:07:51,150 --> 00:07:54,520 그러나 그것은 아니다 0과 1 내가 직접 실행하고 있습니다. 177 00:07:54,520 --> 00:07:57,620 대신이 실행중인 이름이 통역 178 00:07:57,620 --> 00:07:59,440 언어에 동일하게 발생합니다. 179 00:07:59,440 --> 00:08:04,970 이 프로그램은 내 코드 PHP라고하고, 선 아래 하나는 그것으로 전달되고있다. 180 00:08:04,970 --> 00:08:07,740 >> 우리는 다른 아주 간단한 작업을 수행 할 수 있습니다 뭔가 연상 예 181 00:08:07,740 --> 00:08:09,240 우리는 주 전에했다. 182 00:08:09,240 --> 00:08:12,020 다시이의 일종 코드의 임의의 덩어리 183 00:08:12,020 --> 00:08:14,000 그 분명히하지 당신은 그것을 어떻게 실행할 때? 184 00:08:14,000 --> 00:08:15,625 어떤이는 아마도, 인쇄거야? 185 00:08:15,625 --> 00:08:23,540 186 00:08:23,540 --> 00:08:28,250 >> 그래서 처음에 라인 (16)에, 그것은이다 x는 아마 지금이 말할 것이다. 187 00:08:28,250 --> 00:08:30,920 % d를 달러의 printf I와 동일하다. 188 00:08:30,920 --> 00:08:33,460 그래서 그때는 큐빙 것, 점, 점, 라인 (17)에, 점. 189 00:08:33,460 --> 00:08:36,299 그리고 18 나타납니다 라인 함수 각 얼음을 호출합니다. 190 00:08:36,299 --> 00:08:37,600 어디 삼승 정의된다? 191 00:08:37,600 --> 00:08:40,319 >> 글쎄, 한 줄에 25에서처럼 보인다 그래서 모든 다른 아니다. 192 00:08:40,319 --> 00:08:42,610 나는 위의 몇 가지 의견을 가지고 이는, 그러나 대부분의 경우, 193 00:08:42,610 --> 00:08:45,370 그것은 매우 간단합니다 이식 또는 변환 194 00:08:45,370 --> 00:08:48,470 PHP 버전으로 C 프로그램에서. 195 00:08:48,470 --> 00:08:52,670 그러나 지금 몇가 어쩌면 밖으로 이동해야 차이. 196 00:08:52,670 --> 00:08:56,100 또 어떤 것은 방법에 대한 다른 C에서이 같은 프로그램을 작성할 수 있는가? 197 00:08:56,100 --> 00:08:57,900 >> 학생 : [들림]. 198 00:08:57,900 --> 00:09:00,070 >> DAVID J. 마란 :있다 어떤 프로토 타입 구성 Top 없습니다. 199 00:09:00,070 --> 00:09:03,210 그래서 PHP-- 솔직히, 현대 languages​​-- 많은 200 00:09:03,210 --> 00:09:06,920 많은 스마트 더 도움이됩니다 C는 점에서 컴파일러는보다 201 00:09:06,920 --> 00:09:09,740 여기에 기능을 넣을 수 있습니다, 당신은, 여기에 아래 함수를 넣을 수 있습니다 202 00:09:09,740 --> 00:09:12,740 인터프리터는 것입니다 당신에게 독서의 부탁을합니다 203 00:09:12,740 --> 00:09:16,010 전체 파일이 결정되기 전에 일부 기능은 존재하지 않습니다. 204 00:09:16,010 --> 00:09:17,970 나중에 그래서 좋은 개선 년. 205 00:09:17,970 --> 00:09:22,126 하지만 뭔가가 또 다른 나 여기 결석. 206 00:09:22,126 --> 00:09:22,626 그래? 207 00:09:22,626 --> 00:09:25,084 >> 학생 : [들림]. 208 00:09:25,084 --> 00:09:27,750 DAVID J. 마란 : 우리는 필요가 없습니다 변수의 타입을 선언 209 00:09:27,750 --> 00:09:31,780 그래서 우리는 전에 긴 것을 볼 수 있습니다 PHP 상이한 유형이있다, 210 00:09:31,780 --> 00:09:34,970 하지만 당신은 그들을 지정할 필요가 없습니다, 이는 또한 좋고 나쁜 모두입니다. 211 00:09:34,970 --> 00:09:36,623 그리고 한 가지의 누락이있다. 212 00:09:36,623 --> 00:09:37,430 >> 학생 : 어떤 라이브러리가 없습니다. 213 00:09:37,430 --> 00:09:38,630 >> DAVID J. 마란은 : 더 라이브러리가 없습니다. 214 00:09:38,630 --> 00:09:39,350 OK, 그래서 좋다. 215 00:09:39,350 --> 00:09:40,540 우리는 상자의 밖으로 더 많이 얻을. 216 00:09:40,540 --> 00:09:43,373 그래서 실제로는 훨씬 더있다 내가 생각했던 것보다 상황이 달랐다. 217 00:09:43,373 --> 00:09:44,350 어떻게 다시 방법에 대해? 218 00:09:44,350 --> 00:09:46,032 그게 뭐야? 219 00:09:46,032 --> 00:09:46,740 그것은 한 번 더 말? 220 00:09:46,740 --> 00:09:47,960 >> 학생 : 포인터. 221 00:09:47,960 --> 00:09:49,270 >> DAVID J. 마란 : 아니 포인터. 222 00:09:49,270 --> 00:09:51,280 OK, 적어도이 예에서, 아니. 223 00:09:51,280 --> 00:09:52,070 그게 공평. 224 00:09:52,070 --> 00:09:55,090 그래서 포인터가 아니다 실제로 일반적으로 PHP에서. 225 00:09:55,090 --> 00:09:58,730 뭔가라는 언급이있다, 그러나 우리는 거기에 너무 많은 시간을 소비하지 않습니다. 226 00:09:58,730 --> 00:09:59,520 그리고 다른 무엇? 227 00:09:59,520 --> 00:10:00,185 >> 학생 : 주. 228 00:10:00,185 --> 00:10:01,060 DAVID J. 마란 : 주. 229 00:10:01,060 --> 00:10:02,768 그래서이 문제 야했다 나는 생각했다. 230 00:10:02,768 --> 00:10:04,660 더 메인 엔트리 포인트가 없습니다 확인합니다. 231 00:10:04,660 --> 00:10:06,525 당신은 단순히 당신의 코드를 작성하기 시작합니다. 232 00:10:06,525 --> 00:10:08,400 그리고 이것은 실제로 유리 될 것 233 00:10:08,400 --> 00:10:10,560 우리는 전환 할 때 순간적으로 실제로 사용하는 234 00:10:10,560 --> 00:10:13,980 이 같은 언어로 웹을 기반 프로그래밍하는 동안 우리 235 00:10:13,980 --> 00:10:16,580 하나의 엔트리 포인트를 갖고 싶어하지 않습니다. 236 00:10:16,580 --> 00:10:19,980 우리는 한 무리를 할 수 있습니다 URL을 다른 파일들을 237 00:10:19,980 --> 00:10:22,930 모든 사용자 입력에 복용 출력을 생성한다. 238 00:10:22,930 --> 00:10:27,130 >> 하지만, 여기에 아주 엉망이다 예를 들어 나는 지난 시간에 약속 있음 239 00:10:27,130 --> 00:10:30,130 즉이 폴더에 여기에, 맞춤법 오류. 240 00:10:30,130 --> 00:10:33,680 이는이 파일 검사기에 따라서 우리 , 거기에 너무 많은 시간을 할애하지 않습니다 241 00:10:33,680 --> 00:10:37,870 본질적 porting-- P-O-R-T. 그것은, 말하자면 주어진 단어 만이다 242 00:10:37,870 --> 00:10:40,800 당신은 하나의 언어로 변환 수동으로 일반적으로 다른. 243 00:10:40,800 --> 00:10:45,680 >> 이 PC의 포팅 PSET 5에서 맞춤법의 버전. 244 00:10:45,680 --> 00:10:48,856 그리고 본질적으로 변환하는 시도 가깝게 내가 할 수있는 라인으로 그 라인. 245 00:10:48,856 --> 00:10:51,730 그래서 당신은 이런 종류의 일을 좋아하는 경우에, 실제로 어떤 점에서 가치가있다 246 00:10:51,730 --> 00:10:54,229 면을 위로하여 모두를 당겨 면과 같은 무엇을보고 247 00:10:54,229 --> 00:10:55,230 다른거야. 248 00:10:55,230 --> 00:10:57,510 그러나 그들은 무척 비슷한 것. 249 00:10:57,510 --> 00:11:00,110 당신이 기억한다면 무엇을 맞춤법도, 모습 250 00:11:00,110 --> 00:11:02,110 당신은하지 않았다하더라도 이 파일을 변경해야, 251 00:11:02,110 --> 00:11:04,860 꽤 비슷 구조적으로 단지 몇으로 252 00:11:04,860 --> 00:11:06,200 여기 저기 변경. 253 00:11:06,200 --> 00:11:10,140 >> 그래서이 꽤 있다고 말할 만하다 철자를 변환하는 간단 254 00:11:10,140 --> 00:11:12,000 C에서 PHP에. 255 00:11:12,000 --> 00:11:15,390 그러나 사전에, 거기에 더 강력한 무엇인가. 256 00:11:15,390 --> 00:11:19,270 내가 가서 만들어 보자 내 자신의 dictionary.php 파일. 257 00:11:19,270 --> 00:11:24,010 그에 따라서 약간의 차이 우리가 .c 대신을 .php가 전화 할게. 258 00:11:24,010 --> 00:11:26,980 이 PHP 파일이기 때문에, I 약간이 annoyingly--하더라도 - 259 00:11:26,980 --> 00:11:30,132 으로 파일을 시작합니다 같은 PHP 태그. 260 00:11:30,132 --> 00:11:32,340 그리고 앞서 갈거야 그리고 몇 가지 기능을 정의합니다. 261 00:11:32,340 --> 00:11:35,770 체크인이라는 기능, 전에 같은 단어에 걸릴 것. 262 00:11:35,770 --> 00:11:37,520 그러나이 인수의 달러를해야 할 것 263 00:11:37,520 --> 00:11:39,840 우리는, 다시, PHP를 사용하고 있기 때문에 로그인합니다. 264 00:11:39,840 --> 00:11:42,350 의 또 다른 기능 dictionary.c 부하이었다 265 00:11:42,350 --> 00:11:47,120 그리고, 사전의 이름으로했다 그래서 나는 갈 준비가 그 기능을 얻을 것이다. 266 00:11:47,120 --> 00:11:50,920 >> dictionary.c 또 다른 하나는 무엇입니까? 267 00:11:50,920 --> 00:11:54,580 크기는, 가장 좋은 것 중 하나였다 적어도 당신이 주변에 몇 가지 변수를 유지하는 경우. 268 00:11:54,580 --> 00:11:57,830 그래서 크기는 변수를 반환합니다. 269 00:11:57,830 --> 00:11:59,090 그리고 언로드가 있었다. 270 00:11:59,090 --> 00:12:02,830 >> 그래서이 네 가지가 있었다 문제의 기능 세트 (5) 271 00:12:02,830 --> 00:12:06,770 당신과 함께 구현하는 데 필요한 것을 일부 데이터 구조 또는 구조. 272 00:12:06,770 --> 00:12:10,170 그래서 내가 약속에 그 PHP, 우리는 선언 할 수 있습니다 273 00:12:10,170 --> 00:12:14,490 해시 테이블, 예를 들어, 더 쉽게 모든 것을. 274 00:12:14,490 --> 00:12:17,377 사실, 해시 테이블을 원하는 경우, 난 그냥 그렇게 갈거야 275 00:12:17,377 --> 00:12:18,460 내 해시 테이블이있다. 276 00:12:18,460 --> 00:12:21,555 그리고 그 노트는 엉망이다 우리는 지난 시간에 중단 된 것을. 277 00:12:21,555 --> 00:12:23,930 내가 원하는 경우 그리고 당신은, 무엇을 알고 크기에 대한 변수, 잘, 278 00:12:23,930 --> 00:12:25,867 이 하나는 모두가 아니다 C에서 서로 다른, 279 00:12:25,867 --> 00:12:27,450 하지만 난 가서 그렇게 할거야. 280 00:12:27,450 --> 00:12:28,630 그리고 데이터 유형을 알 수 없습니다. 281 00:12:28,630 --> 00:12:31,180 내가 나중에 다시 갈거야, 그리고 실제로 여기에 몇 가지 의견을 추가 할 수 있습니다. 282 00:12:31,180 --> 00:12:32,480 그러나 부하는? 283 00:12:32,480 --> 00:12:35,780 >> 만약 달러 기호 사전 내 파일의 이름입니다 284 00:12:35,780 --> 00:12:39,600 나는 실제로로드 할 지금이 테이블에 단어, 285 00:12:39,600 --> 00:12:42,360 나는 실제로 할 수있는 매우 간단하게 뭔가. 286 00:12:42,360 --> 00:12:44,880 보이면 이것은 minorly입니다 annoying-- PHP에서, 287 00:12:44,880 --> 00:12:47,710 당신은 내부에 지정해야 함수의 당신 경우 288 00:12:47,710 --> 00:12:51,060 일부 글로벌 액세스하려면 외부 정의되어 변수입니다. 289 00:12:51,060 --> 00:12:53,530 >> 그러나 특히 아니다 지금 재미. 290 00:12:53,530 --> 00:12:57,920 무엇보다 흥미로운 것은이 각입니다 나는 지난 시간에 언급 한 구성. 291 00:12:57,920 --> 00:13:01,880 그리고 PHP는 기능이 밝혀 그 목적은 인생에서 호출 된 파일 292 00:13:01,880 --> 00:13:05,550 파일을 열고 읽을 것입니다 배열의 모든 라인 293 00:13:05,550 --> 00:13:06,840 다시 그들에게 손을. 294 00:13:06,840 --> 00:13:12,170 >> 어느 내가 그렇게 사전을 할 수있는 말을하는 것입니다 지금 효과적으로 내가 파일을 호출 할 때, 295 00:13:12,170 --> 00:13:15,472 이 날 다시 손을 것입니다 파일에서 단어의 배열. 296 00:13:15,472 --> 00:13:16,430 그것은 모두 좋지 않다. 297 00:13:16,430 --> 00:13:20,130 아직 라인이 될 것 즉, 뭔가 리니어. 298 00:13:20,130 --> 00:13:23,880 하지만 가서 반복 할 수 이러한 각각의 단어 사용을 통해 299 00:13:23,880 --> 00:13:25,710 그 문법은 우리가 잠시 지난 시간을 보았다. 300 00:13:25,710 --> 00:13:27,940 그리고 당신은 그것을 더 볼 수 있습니다 곧 PSET에. 301 00:13:27,940 --> 00:13:32,070 >> 하지만 지금은 루프 반복하는이 사전의 각 단어 이상. 302 00:13:32,070 --> 00:13:36,100 그리고 반복 될 때마다, 난 기억 "단어."현재 단어를 호출 303 00:13:36,100 --> 00:13:39,790 그리고 모든이에 걸릴 거예요 사전이에 단어를 넣어 304 00:13:39,790 --> 00:13:43,530 워드 추측 될 것 "참." 305 00:13:43,530 --> 00:13:44,740 그건 내 삽입 기능입니다. 306 00:13:44,740 --> 00:13:46,661 그건 내 부하 함수의 내 사전에. 307 00:13:46,661 --> 00:13:49,410 이제 때문에 속임수의 비트입니다, 당신은 거기에 실제로 무엇을 알고 308 00:13:49,410 --> 00:13:52,920 단어의 끝에 백 슬래시 N의 나는 아마 제거해야, 309 00:13:52,920 --> 00:13:56,380 PHP가 있기 때문에 그러나 그것은 문제가되지 않습니다 기능이라고 잘라있는 그대로 310 00:13:56,380 --> 00:13:58,480 맨 마지막에 하나의 문자 오프 갈비. 311 00:13:58,480 --> 00:13:59,400 그래서 거기에 아무 문제. 312 00:13:59,400 --> 00:14:02,199 우리는 앞서 실제로 갔어요 그 바로이 단축. 313 00:14:02,199 --> 00:14:05,240 지금은 아마 추적한다 크기, 그래서하자 적어도 무사히 데려 ... 314 00:14:05,240 --> 00:14:05,835 크기 ++. 315 00:14:05,835 --> 00:14:07,339 나는 이전과 그 작업을 수행 할 수 있습니다. 316 00:14:07,339 --> 00:14:10,380 그리고 이것은 아마도 것입니다 의는 true를 돌려 있도록, 잘 작동합니다. 317 00:14:10,380 --> 00:14:10,930 완료. 318 00:14:10,930 --> 00:14:11,797 PSET 5. 319 00:14:11,797 --> 00:14:13,545 >> [웃음] 320 00:14:13,545 --> 00:14:14,420 >> DAVID J. 마란 : OK. 321 00:14:14,420 --> 00:14:16,628 우리는 다시 그렇게 할거야 너무 다음 PSET,와. 322 00:14:16,628 --> 00:14:18,730 그래서 크기에 대한? 323 00:14:18,730 --> 00:14:22,080 음,이 하나는 희망에 관한 것입니다 당신이 마지막으로 기대하는 것처럼, 324 00:14:22,080 --> 00:14:24,460 내가 할 필요가 있지만, 이 바보 글로벌 것. 325 00:14:24,460 --> 00:14:26,610 그것은에서 단지 장난 일 뿐이다 언어의 디자인. 326 00:14:26,610 --> 00:14:28,450 >> 그러나 검사는 조금 더 재미있다. 327 00:14:28,450 --> 00:14:31,420 나는 달러에 전달하면 그래서 내가 먼저 말을 서명 328 00:14:31,420 --> 00:14:34,060 액세스를 갖고 싶어 그 전역 변수 테이블. 329 00:14:34,060 --> 00:14:36,700 그리고 지금 내가 원하는 경우 단어가 있는지 확인, 330 00:14:36,700 --> 00:14:44,350 나는 단순히 그에 해당하는 경우라고 할 수 있습니다 다음 표에 설정하고, 331 00:14:44,350 --> 00:14:49,957 다음 가서 반환 사실; 또, false를 돌려줍니다. 332 00:14:49,957 --> 00:14:51,180 완료. 333 00:14:51,180 --> 00:14:52,440 PSET 5의 나머지 절반. 334 00:14:52,440 --> 00:14:54,540 >> 좋아요, 다시, 난 몇 모서리를 절단. 335 00:14:54,540 --> 00:14:56,831 공평, 이만 몇 초를 336 00:14:56,831 --> 00:14:58,300 이 구현에. 337 00:14:58,300 --> 00:15:01,860 그리고 아마 모든 조롱해서는 안 시간은 너무 PSET에 넣어. 338 00:15:01,860 --> 00:15:04,045 이렇게하여 strtolower는 함수이다. 339 00:15:04,045 --> 00:15:06,670 뭔가 비슷한 실존주의 C에서, 적어도 문자의 경우, 340 00:15:06,670 --> 00:15:08,560 하지만 PHP의는 전체 문자열 버전을 얻었다. 341 00:15:08,560 --> 00:15:11,226 >> 즉 모든 것을 강제 것 당신의 어느 일부를 소문자로 342 00:15:11,226 --> 00:15:14,944 무엇을 정규화하기 위해 수행했을 수 있습니다 당신은 당신의 사전에서 퍼팅했다. 343 00:15:14,944 --> 00:15:16,360 그리고 지금 당신도 C에서이 작업을 수행 할 수 있습니다. 344 00:15:16,360 --> 00:15:17,780 이것은 PHP와 아무 상관이있다. 345 00:15:17,780 --> 00:15:20,260 >> 그러나 언제든지, 당신은 부울 조건, 346 00:15:20,260 --> 00:15:22,680 라인에 뭔가 같은 만있다가 10, 347 00:15:22,680 --> 00:15:27,145 true로 평가하는 것 또는 거짓, 그리고 만약 다른 명확하게 348 00:15:27,145 --> 00:15:33,620 true 또는 false를 반환, 내가 할 수 단순히 정말 섹시합니다 349 00:15:33,620 --> 00:15:38,360 바로 이런 일을한다. 350 00:15:38,360 --> 00:15:40,500 그래야 나의 체크 기능이있다. 351 00:15:40,500 --> 00:15:42,560 오른쪽, 경우 부울 , true 또는 false를 반환 352 00:15:42,560 --> 00:15:44,630 그냥 바로 그것을 반환 할 수 있습니다. 353 00:15:44,630 --> 00:15:47,340 >> 그리고 몇 가지 다른 비틀기있다 나는 여기 저기 만들 수 있습니다. 354 00:15:47,340 --> 00:15:51,380 Load-- 언로드는, 그런데, 그 이루어집니다. 355 00:15:51,380 --> 00:15:52,850 아무것도 할 수 없습니다. 356 00:15:52,850 --> 00:15:55,840 모든 메모리에 있기 때문에 PHP와 다른 언어 357 00:15:55,840 --> 00:15:57,570 실제로 당신을 위해 관리됩니다. 358 00:15:57,570 --> 00:16:00,330 C에서 반면, 그래서 당신은 고통스럽게 배운, 359 00:16:00,330 --> 00:16:04,700 아무것도 당신의 malloc 또는은 calloc 또는 realloc을, 당신은 자신을 확보해야합니다. 360 00:16:04,700 --> 00:16:08,770 당신은 fopen 아무것도, 당신이 FCLOSE해야, 자원이 궁극적으로 해제되도록 361 00:16:08,770 --> 00:16:11,690 그리고 Valgrind의 같은 도구는하지 않습니다 통지 및 불평하지 않습니다, 362 00:16:11,690 --> 00:16:13,570 하는 그들에 실행하는 것이 일이다. 363 00:16:13,570 --> 00:16:16,190 >> 그러나 확실히,이 수행해야 바로, 일부 캐치 할 수? 364 00:16:16,190 --> 00:16:19,400 그렇지 않으면, 우리는 종류의 낭비 주의 전체 무리. 365 00:16:19,400 --> 00:16:23,270 그래서 여러 가지 이유가있다 왜 우리는 종류의,이 궤적을 366 00:16:23,270 --> 00:16:24,440 하지만, 트레이드 오프가있다. 367 00:16:24,440 --> 00:16:25,820 마우스 오른쪽 단추로,이 주제하고있다. 368 00:16:25,820 --> 00:16:29,690 >> 어떤 일이 트레이드 - 오프 (trade-off)는 수도 여기에 C에서 PHP로 이동? 369 00:16:29,690 --> 00:16:33,250 모두가 지금까지 다른 것보다 승리 같은 느낌 여기에 또는이 추의 비트. 370 00:16:33,250 --> 00:16:34,040 그래. 371 00:16:34,040 --> 00:16:34,700 그게 뭐야? 372 00:16:34,700 --> 00:16:36,064 >> 학생 : [들리지] 메모리. 373 00:16:36,064 --> 00:16:36,980 DAVID J. 마란 : 속도. 374 00:16:36,980 --> 00:16:37,479 확인을 클릭합니다. 375 00:16:37,479 --> 00:16:40,720 글쎄, 내 속도는 매우 빨랐다. 376 00:16:40,720 --> 00:16:42,020 오른쪽? 377 00:16:42,020 --> 00:16:44,320 그러나, 프로그램의 실행 속도? 378 00:16:44,320 --> 00:16:45,580 OK, 그래서 공정한 점이다. 379 00:16:45,580 --> 00:16:50,930 >> 그것은 사전에, 나는 일이 일어날 수 있도록 모두 나의 시도 솔루션을 보이기는 하나 380 00:16:50,930 --> 00:16:53,510 나는 큰 보드에 있었다 시도 기반 솔루션이었다 381 00:16:53,510 --> 00:16:55,510 나는 여기에이 디렉토리에 그 있습니다. 382 00:16:55,510 --> 00:16:58,510 그래서 나는 순간에, 내가 가서 할 수 있습니다 킹 제임스 성경에서이 작업을 실행, 383 00:16:58,510 --> 00:16:59,657 입력 타격. 384 00:16:59,657 --> 00:17:01,990 그리고이 희망 정확 끝에 구현 385 00:17:01,990 --> 00:17:05,109 총 나에게 시간을 제공합니다 그에 0.38 초 386 00:17:05,109 --> 00:17:07,270 하나 다소 임의적 예. 387 00:17:07,270 --> 00:17:09,270 >> 그리고 지금이 들어갈 경우 제 2 터미널 창 388 00:17:09,270 --> 00:17:14,569 처음의 gedit을 열어 여기 경우,하자 나, 이는 다시 오늘날의 code--로 이동 389 00:17:14,569 --> 00:17:19,650 이 디렉토리에 이곳에와 내가 가서 철자를 실행하자. 390 00:17:19,650 --> 00:17:23,470 그러니, 명확하게 이것은 PHP 버전입니다. 391 00:17:23,470 --> 00:17:25,170 난 그냥 여기의 상단을 표시하고 있습니다. 392 00:17:25,170 --> 00:17:32,020 >> 그래서 물결 CS50의 철자를 할 경우 PSET 5 텍스트는, 킹 제임스, 입력합니다. 393 00:17:32,020 --> 00:17:39,700 394 00:17:39,700 --> 00:17:43,050 그것은 쓰는 것보다 여전히 빠르다 C에서, 그러나 전체 시간 395 00:17:43,050 --> 00:17:47,650 반면, 통지, 0.93, 내 C 기반의 구현은 0.38이었다. 396 00:17:47,650 --> 00:17:49,110 그래서 비 단순 차이이다. 397 00:17:49,110 --> 00:17:51,100 >> 그리고 이것은 단지 하나의 파일에 있습니다. 398 00:17:51,100 --> 00:17:53,480 당신은 두 실행시키고 큰 보드 대 프로그램 399 00:17:53,480 --> 00:17:56,510 및 입력의 전체 무리가 시험이 반드시 추가 할 것입니다. 400 00:17:56,510 --> 00:18:00,310 그리고 우리는, 더 큰 데이터 세트를 가지고 있다면 이 역시 더욱를 추가합니다. 401 00:18:00,310 --> 00:18:04,820 그래서 그래, 어떤 가격을 지불 속도가 참으로 경우입니다. 402 00:18:04,820 --> 00:18:05,470 그 밖의 무엇? 403 00:18:05,470 --> 00:18:08,000 404 00:18:08,000 --> 00:18:08,860 그래? 405 00:18:08,860 --> 00:18:10,340 >> 학생 : RAM 사용의 양. 406 00:18:10,340 --> 00:18:11,756 >> DAVID J. 마란 : RAM 사용의 양. 407 00:18:11,756 --> 00:18:15,380 그래서 1 초를 포기하지 않았다 이 PHP를 작성할 때 생각 408 00:18:15,380 --> 00:18:17,300 에 같은 버전 얼마나 메모리 나 사용했다. 409 00:18:17,300 --> 00:18:22,080 나는 완전히 PHP에 그 연기 해요 자체 누구든지 해당 프로그램을 썼다. 410 00:18:22,080 --> 00:18:24,500 그리고는 확인 될 수 있습니다 하지만 만약 실제로 정말 411 00:18:24,500 --> 00:18:28,420 많은 성능을 짜내는 신경 내 프로그램 중 또는 내 웹 사이트 중 412 00:18:28,420 --> 00:18:31,150 또는 어떤 도구 중 어쩌면, 짓고 있어요 413 00:18:31,150 --> 00:18:33,310 PHP는, 참으로, 올바른 언어가 아닙니다. 414 00:18:33,310 --> 00:18:36,330 >> 그리고 사실, 그것은을 위해, 왜 예, 많은 웹 servers-- 415 00:18:36,330 --> 00:18:38,980 실제 프로그램이 웹 content--을 제공 416 00:18:38,980 --> 00:18:41,810 PHP에 기록되지 않습니다 파이썬이나 루비. 417 00:18:41,810 --> 00:18:44,630 그들은 같은 기록 당신은 지금, PSET 6 다하겠습니다 418 00:18:44,630 --> 00:18:48,120 당신이 짜 할 수 있도록 C에 그것에서 모든 성능 419 00:18:48,120 --> 00:18:50,780 정말 운동 무엇을 세밀하게 제어 420 00:18:50,780 --> 00:18:52,980 아래 진행 후드가 아니라 그냥 가지고 421 00:18:52,980 --> 00:18:54,890 몇 가지 더 부여 수준의 데이터 구조. 422 00:18:54,890 --> 00:18:58,071 >> 고려, 모든 후, PHP에서 누구든지 구현 423 00:18:58,071 --> 00:19:00,070 해시의 개념 실제로 더 많은 것은 table-- 424 00:19:00,070 --> 00:19:04,260 제대로 연관 array--라고 그는 작업을 수행 또는 그녀는 어떤 종류의 어떤 생각을 가지고 425 00:19:04,260 --> 00:19:07,090 입력하면 될거야 구조에 넣어? 426 00:19:07,090 --> 00:19:08,260 그래서 분명하지, 그렇지? 427 00:19:08,260 --> 00:19:10,340 그것은 일반적인 도구입니다 의 툴킷 428 00:19:10,340 --> 00:19:13,430 원하는 사람에게 제공 그래서 반드시 그것을 사용하고,에 429 00:19:13,430 --> 00:19:17,680 궁극적으로 최적화 될 수 없다 정확히 당신이 원하는 것을 위해. 430 00:19:17,680 --> 00:19:21,180 >> 그래서 무역 offs-- 개발 시간은 수도 성능은 다를 수 있습니다, 차이, 431 00:19:21,180 --> 00:19:23,120 복잡성 또는 메모리 사용량이 다를 수 있습니다. 432 00:19:23,120 --> 00:19:24,820 그래서 당신은 발견 할 것이다 무엇 점점이 있다는 것입니다 433 00:19:24,820 --> 00:19:26,570 다른 될 것 무역을위한 도구를 제공합니다. 434 00:19:26,570 --> 00:19:31,160 그리고 슈퍼 대부분 사실 이 클래스에있는 사람들의 마지막 프로젝트, 435 00:19:31,160 --> 00:19:34,360 믿거 나, C는하지 않을 수 없습니다 사용할 수있는 권리의 언어이어야합니다. 436 00:19:34,360 --> 00:19:37,880 >> 그리고 테이크 아웃의 사실, 하나 궁극적으로이 같은 모든 클래스 437 00:19:37,880 --> 00:19:40,510 당신에 대해 생각을 얻을 것입니다, 글쎄, 당신은 무엇을 해내한다 438 00:19:40,510 --> 00:19:42,710 선반 때 당신이 원하는 몇 가지 문제를 해결합니다. 439 00:19:42,710 --> 00:19:46,720 그리고 실제로, 우리는이 다리를 건너 것 더욱 우리는 더 많은 언어로 보면 440 00:19:46,720 --> 00:19:47,920 오늘날에도 넘어. 441 00:19:47,920 --> 00:19:50,530 >> 그래서 지금의 전환을하자 아마도 더 익숙한 상황 442 00:19:50,530 --> 00:19:52,480 PHP와 같은 언어를 사용합니다. 443 00:19:52,480 --> 00:19:56,720 그것은에서 사용하기 다소 일반적입니다 스크립트를 작성 명령 행, 444 00:19:56,720 --> 00:19:59,050 같은 나는했지만 그건 , 훨씬 더 많은 공통. 445 00:19:59,050 --> 00:20:02,350 그리고 그것은에 사용되도록 의도되었다 일반적으로 최종 파일의 형태 446 00:20:02,350 --> 00:20:05,060 에 .php--하지만 그건 하지 prerequisite-- 447 00:20:05,060 --> 00:20:07,990 자체는 웹 콘텐츠를 생성한다는. 448 00:20:07,990 --> 00:20:11,310 >> 그래서 내가 가서하자 몇 가지 열 예를 들면 나는 미리 준비. 449 00:20:11,310 --> 00:20:15,100 그리고이 사실은 일종의 해당 첫 번째 것들 중 하나에 이야기 450 00:20:15,100 --> 00:20:18,200 나는 지금까지 마친 후 자신했다 CS50 및 아마, 내 생각, 451 00:20:18,200 --> 00:20:21,350 CS51 년 전 내 룸메이트 내가 도움이되었다 452 00:20:21,350 --> 00:20:24,320 신입생 교내를 실행합니다 스포츠 프로그램, 어느 시점에서, 453 00:20:24,320 --> 00:20:28,610 신입생은 다양한에 등록했다 종이를 작성하여 스포츠, 454 00:20:28,610 --> 00:20:31,800 이 호출로, 산책 Wigglesworth에 마당에 걸쳐, 455 00:20:31,800 --> 00:20:34,030 일부에서 떨어지고 감독관의 문 드롭. 456 00:20:34,030 --> 00:20:37,210 그리고 그 또는 그녀를 통해 갈 것입니다 그 후, 실제로 수동으로 이메일을 보내 457 00:20:37,210 --> 00:20:39,140 우리는 어떤 스포츠에 등록 된 것을. 458 00:20:39,140 --> 00:20:41,166 >> 그래서 분명히 기회 개선. 459 00:20:41,166 --> 00:20:44,040 요즘, 당신은 단지로 전환 할 수 구글 양식,하지만 그 시절에, 460 00:20:44,040 --> 00:20:46,914 우리는 실제로이 가르치 디에 도달했다 심지어 오래 전, 갑자기 도달되지 않았습니다 461 00:20:46,914 --> 00:20:49,410 프로그래밍 PHP되지 않은 언어. 462 00:20:49,410 --> 00:20:51,200 이때,이었다 펄라는 것을, 463 00:20:51,200 --> 00:20:52,890 이는 이후 유행에서왔다. 464 00:20:52,890 --> 00:20:54,160 그러나 아이디어는 동일하다. 465 00:20:54,160 --> 00:20:58,940 >> 그리고 본질적으로 시도 앉았다 포트는 PHP에 펄 버전을 이동하려면 466 00:20:58,940 --> 00:21:03,710 그러나 면책 조항에, 포기하지 않았다 어떤는 아직 미학을 생각했다. 467 00:21:03,710 --> 00:21:04,960 그래서 여기에 웹 페이지이다. 468 00:21:04,960 --> 00:21:05,670 이것은 파일이다. 469 00:21:05,670 --> 00:21:09,470 내가 확대 할 경우, 그 분명히 라는 froshim0.php 470 00:21:09,470 --> 00:21:12,060 그냥 우리의 첫 번째 왜냐하면 이 시리즈의 예. 471 00:21:12,060 --> 00:21:15,970 그리고이 나타나는 것을 가지고 있음을 알 수 매우 추한 HTML 양식이어야합니다, 472 00:21:15,970 --> 00:21:18,680 하지만 형태는 재미있다 그것은 수 있기 때문에 473 00:21:18,680 --> 00:21:21,910 나 브라우저에 사용자 입력을 제공한다. 474 00:21:21,910 --> 00:21:27,730 >> 이제 마지막으로 우리에게 양식을했을 때 누구 우리는 우리의 쿼리 매개 변수를 제출 않았다 475 00:21:27,730 --> 00:21:30,450 가 호출되었을 때 큐 매개 변수? 476 00:21:30,450 --> 00:21:31,330 바로, 구글 그래서? 477 00:21:31,330 --> 00:21:34,090 우리는 완전히의 아이디어에 펀트 그 입력에 아무것도. 478 00:21:34,090 --> 00:21:36,160 >> 그러나 오늘, 우리는 출력을 생성 시작합니다. 479 00:21:36,160 --> 00:21:39,420 그리고 행동은 내가 볼거야 여기에 처음에 꽤 간단하다. 480 00:21:39,420 --> 00:21:42,980 다윗은, 내가 성을 확인합니다 여기, 여기 매튜스를 말한다. 481 00:21:42,980 --> 00:21:43,800 나는 주장하지 않습니다. 482 00:21:43,800 --> 00:21:45,410 나는 등록을 클릭거야. 483 00:21:45,410 --> 00:21:50,720 그리고 URL가 가지고있는 것을 알 수 레지스터 0.php을 변경, 484 00:21:50,720 --> 00:21:52,310 다음 여기에이 추한 텍스트가있다. 485 00:21:52,310 --> 00:21:54,460 나는에 어떤 생각을 포기하지 이의 서식. 486 00:21:54,460 --> 00:21:59,900 >> 그러나 흥미로운 것은 그 세 가지입니다 값은 분명히 전달했다. 487 00:21:59,900 --> 00:22:02,960 이의 PHP의 일종이다 printf--와 같습니다 488 00:22:02,960 --> 00:22:06,330 우리는 정말 불리는 것을 볼 수 있습니다 그냥 인쇄 bit--에 489 00:22:06,330 --> 00:22:08,300 당신이 그것으로 통과시켰다. 490 00:22:08,300 --> 00:22:11,414 그래서이는 형태 제안 그것은 적어도 세 개의 필드를 가지고 491 00:22:11,414 --> 00:22:12,580 당신은 저를 직접 입력 보았다. 492 00:22:12,580 --> 00:22:15,739 하나는 제 이름이고, 하나는 있었다 성별, 하나는 기숙사이었다. 493 00:22:15,739 --> 00:22:18,780 그리고 주장에도 전송되지 않았습니다 서버 나는 그것을 확인하지 않았기 때문이다. 494 00:22:18,780 --> 00:22:22,150 >> 그래서이 분명히 말을하는 것입니다, 웹에서 물건을 제출할 때, 495 00:22:22,150 --> 00:22:26,830 뿐만 아니라 때로는 URL을 수행 change-- 그렇지 않을 때도 있습니다. 496 00:22:26,830 --> 00:22:30,330 사실, 파일 이름 변경, 하지만 URL 결석 무엇인가 497 00:22:30,330 --> 00:22:32,861 우리는 구글과 마지막 시간을 볼했다는 것을. 498 00:22:32,861 --> 00:22:33,360 그래? 499 00:22:33,360 --> 00:22:34,380 >> 학생 : 없음 쿼리 문자열 500 00:22:34,380 --> 00:22:35,220 >> DAVID J. 마란은 : 더 쿼리 문자열이 없습니다. 501 00:22:35,220 --> 00:22:37,270 더 물음표 뭔가가 없습니다. 502 00:22:37,270 --> 00:22:40,050 더 물음표 Q가 없습니다 우리가 지난 시간에했던 것처럼, 고양이 같다. 503 00:22:40,050 --> 00:22:42,170 그리고 더 확실히있다 물음표 이름은 동일 504 00:22:42,170 --> 00:22:46,310 데이비드 또는 기숙사 매튜스 같다, 어디 모든려고하고 있다는 것을? 505 00:22:46,310 --> 00:22:51,290 >> 글쎄, 내가 다시 여기의 gedit에 가자 이들 파일의 첫번째를 열어 506 00:22:51,290 --> 00:22:57,020 내 가상 호스트에서 로컬 호스트 공개 여기에 디렉토리와 froshim0로 이동합니다. 507 00:22:57,020 --> 00:23:02,060 그래서 거의 밝혀 이 페이지의 모든는 HTML입니다. 508 00:23:02,060 --> 00:23:05,410 그리고 이것은, 사용자에게 친숙하지 않을 수도 있습니다 하지만 곧 PSET 6 더 그렇게 될 것입니다 509 00:23:05,410 --> 00:23:07,370 및 PSET 7 PSET 8. 510 00:23:07,370 --> 00:23:09,160 그러나 이것은 단지 HTML 페이지입니다. 511 00:23:09,160 --> 00:23:12,400 >> 그리고 재미있는 물건 이상 여기있을 것으로 보인다. 512 00:23:12,400 --> 00:23:16,290 누구의 행동 속성 form 태그 레지스터 0의 값을 갖는다. 513 00:23:16,290 --> 00:23:18,890 내가 제출할 때 이유 이것은, 그 파일로 이동합니다. 514 00:23:18,890 --> 00:23:20,620 그러나 방법은 다른 했죠 - 게시물입니다. 515 00:23:20,620 --> 00:23:23,120 그래서 적어도이있어 밝혀 사용 된 웹의 두 가지 방법 516 00:23:23,120 --> 00:23:24,911 정보를 전송하기 브라우저에서 서버로. 517 00:23:24,911 --> 00:23:25,980 get은 URL에 넣습니다. 518 00:23:25,980 --> 00:23:27,950 포스트는 다른 곳을 넣습니다. 519 00:23:27,950 --> 00:23:30,570 그리고 언제, 왜 수도 실제로 웹 사이트를 원하는 520 00:23:30,570 --> 00:23:34,110 대신 다음 포스트를 사용하는 그냥 직관적으로 얻을? 521 00:23:34,110 --> 00:23:37,080 어떤 웹 사이트. 522 00:23:37,080 --> 00:23:42,010 어떤 종류의 데이터는 전달해야 포스트를 통해 지금 추론에 의해 반대 523 00:23:42,010 --> 00:23:45,184 우리가 본 적이 있다면, 얻을 수 두 가지 차이점? 524 00:23:45,184 --> 00:23:46,350 학생 : [들리지] 고정합니다. 525 00:23:46,350 --> 00:23:47,790 DAVID J. 마란 : 당신이 원하는 경우 뭔가 안전합니다. 526 00:23:47,790 --> 00:23:50,360 그래서 당신은 암호를 입력 할 수 있습니다 홈페이지, 신용 카드 527 00:23:50,360 --> 00:23:53,030 웹 사이트에 것 이러한 차선의 종류 528 00:23:53,030 --> 00:23:56,220 브라우저는 것을 넣어 경우 URL의 내부 값. 529 00:23:56,220 --> 00:23:57,680 왜? 530 00:23:57,680 --> 00:24:00,059 하지 않는 당신은 그것을 볼 이러한 큰 문제가 될 것 같습니다, 531 00:24:00,059 --> 00:24:03,350 하지만 확률은 꽤 자주 거리에 있습니다 멀리 컴퓨터 또는 사용 컴퓨터에서 532 00:24:03,350 --> 00:24:05,310 실험실, 등등 사람 다른 또는 룸메이트 533 00:24:05,310 --> 00:24:08,220 쉽게 걸어 볼 수 있었다 그 개인 정보를 제공합니다. 534 00:24:08,220 --> 00:24:10,220 당신은 이메일을 보낼 때 웹을 통해, 당신 아마 535 00:24:10,220 --> 00:24:12,350 해당 데이터 결말을 원하지 않는 URL 최대뿐만 아니라. 536 00:24:12,350 --> 00:24:15,266 그래서 이유로 수있다 우리는 왜 여기에 넣어 둘 수도있다. 537 00:24:15,266 --> 00:24:18,610 photos-- 권리 그리고, 난 못해, 심지어 아주 당신이 그래픽을 얼마나 상상, 538 00:24:18,610 --> 00:24:21,480 JPEG처럼, 그리고 URL에 넣어. 539 00:24:21,480 --> 00:24:22,330 당신은 할 수 있습니다. 540 00:24:22,330 --> 00:24:25,840 거기를 인코딩하는 방법은, 그러나 그것은이다 단지 그렇게 간단하지 않습니다. 541 00:24:25,840 --> 00:24:29,030 >> 그래서 공 실제로 레지스터 매우 실망. 542 00:24:29,030 --> 00:24:31,610 모든 말 그대로이 말한다. 543 00:24:31,610 --> 00:24:35,910 그것은 몇 가지의 내부 출력합니다 HTML은 다음과 태그. 544 00:24:35,910 --> 00:24:38,640 여기 PHP 태그를 가지고 사전 태그 내에 중첩. 545 00:24:38,640 --> 00:24:42,300 "사전은"다만, 미리 포맷 된 텍스트를 의미한다 타자기처럼, 모노 간격. 546 00:24:42,300 --> 00:24:44,836 >> Printr는 인쇄 재귀 함수입니다. 547 00:24:44,836 --> 00:24:46,710 그리고이있다 여기서 흥미로운 것은. 548 00:24:46,710 --> 00:24:48,835 그리고 우리는 다시 올 것이다 다른 사람이 있기 때문에, 549 00:24:48,835 --> 00:24:51,140 하지만 달러 기호 밑줄 게시물이 나타납니다 550 00:24:51,140 --> 00:24:56,110 PHP에서 변수하는 아무것도에 당신은 서버에 브라우저에서 보내 551 00:24:56,110 --> 00:24:58,040 당신을 위해 저장됩니다. 552 00:24:58,040 --> 00:25:00,930 그리고 우리는 얻을하는 방법을 볼 수 있습니다 오래 전에 그 정보를 제공합니다. 553 00:25:00,930 --> 00:25:04,000 >> 그러나 먼저, 다시 가자 약간 다른 예. 554 00:25:04,000 --> 00:25:09,050 register--로 가는데 또는 오히려, froshims1.php, 555 00:25:09,050 --> 00:25:10,470 이는 조금 다른 보인다. 556 00:25:10,470 --> 00:25:12,670 나는 조금 더 걸렸다 서식 노력, 557 00:25:12,670 --> 00:25:14,370 비록 여전히 매우 추한. 558 00:25:14,370 --> 00:25:16,990 하지만 앞서 갈거야 지금은 "데이비드"를 입력. 559 00:25:16,990 --> 00:25:17,850 남성입니다. 560 00:25:17,850 --> 00:25:19,360 우리는 "주장"이 시간을 확인합니다. 561 00:25:19,360 --> 00:25:20,660 우리는 매튜스을 다하겠습니다. 562 00:25:20,660 --> 00:25:22,430 그리고 등록합니다. 563 00:25:22,430 --> 00:25:24,110 >> 그리고 이번에는 HM, 정말 말했다. 564 00:25:24,110 --> 00:25:26,180 좋아, 그래서의 1을 등록? 565 00:25:26,180 --> 00:25:30,509 날 열린 레지스터 1과 ... HM에 가자. 566 00:25:30,509 --> 00:25:32,300 좋아, 그래서 이것은이다 흥미로운,이 567 00:25:32,300 --> 00:25:34,880 디딤돌 지금을 향 더 흥미로운 프로그램. 568 00:25:34,880 --> 00:25:38,970 >> 이 파일을 가지고의 상단을 주목하라 PHP 태그뿐만 아니라 몇 가지 의견. 569 00:25:38,970 --> 00:25:42,590 그리고 이들은, 지금은 산만하다 그래서 그냥 그 주석을 제거하자 570 00:25:42,590 --> 00:25:47,070 그들은 C.에있어 그리고 나는 주장처럼 주석과 코드의이 덩어리와 함께 571 00:25:47,070 --> 00:25:49,280 이 코드는 그 제출을 검증. 572 00:25:49,280 --> 00:25:51,690 >> 글쎄, 그것은 밝혀 달러 기호와 같은 변수 573 00:25:51,690 --> 00:25:53,739 아르 게시물을 밑줄 슈퍼 전역했다. 574 00:25:53,739 --> 00:25:55,530 그들은이 같은거야 특별한 전역 변수 575 00:25:55,530 --> 00:25:58,840 그것은 단지 전 현재이다 프로그램 내에서 사용할 수 있습니다. 576 00:25:58,840 --> 00:26:03,870 그리고 당신은 대괄호 표기법을 사용할 수 있습니다 인덱스에 숫자를 사용하지 내로 577 00:26:03,870 --> 00:26:07,460 0, 1, 2, 3, 그러나 실제 단어 등을 포함한다. 578 00:26:07,460 --> 00:26:12,100 >> 그래서 당신은 달러 기호 생각할 수 해시 테이블의 일종으로 게시물을 강조 579 00:26:12,100 --> 00:26:15,920 당신은 조회에 키를 전달할 수 있음 단어의 사이에 대괄호, 580 00:26:15,920 --> 00:26:19,370 그리고 다시 당신을 줄 것 사용자가 실제로 제공하는 값. 581 00:26:19,370 --> 00:26:21,210 PHP는 기능을 갖는다 그 빈라는 단지 582 00:26:21,210 --> 00:26:23,720 이는, 예 또는 아니오라고 변수가 비어 있거나 없습니다. 583 00:26:23,720 --> 00:26:27,250 우리는이 두 줄로을 가지고, 이는 단지 C.처럼, 의미 또는 584 00:26:27,250 --> 00:26:31,740 >> 그래서 효과에,이 라인 4는 그냥 사용자가 이름을 지정하지 않은 경우 말 585 00:26:31,740 --> 00:26:36,540 또는 성별을주지하지 않았거나 않았다 기숙사를 제공, 가서 그를 재 586 00:26:36,540 --> 00:26:38,184 또는 그녀의 여기에이 라인을 통해. 587 00:26:38,184 --> 00:26:40,600 그래서이 조금 애매하다 그러나 이것은 단지 문자 그대로 의미 588 00:26:40,600 --> 00:26:43,330 이 위치로 다시 이동 그래서 사용자 팬트 589 00:26:43,330 --> 00:26:45,420 다시 그 또는 그녀가 온 곳이다. 590 00:26:45,420 --> 00:26:47,880 그러나 조금 세련이다 점에서 나는 열심히 코딩. 591 00:26:47,880 --> 00:26:52,150 >> 그러나이 경우 경우 조건 true로 평가하지 않는 이유는 무엇입니까? 592 00:26:52,150 --> 00:26:55,790 사용자가 나에게 무엇을 주 었는가하면 자신의 또는 그녀의 이름과 기숙사, 성별? 593 00:26:55,790 --> 00:26:58,540 조건이 아니라면 그 true로 평가하는 것, 594 00:26:58,540 --> 00:27:00,650 그래서 7 행의 종료를 공격하지 않습니다. 595 00:27:00,650 --> 00:27:01,680 그래서 무슨 일이? 596 00:27:01,680 --> 00:27:03,880 그리고 이것은 무엇이다 PHP에 대한 흥미. 597 00:27:03,880 --> 00:27:07,470 >> 당신은에 밖으로 놓을 수 있습니다 PHP 모드, 말하자면. 598 00:27:07,470 --> 00:27:10,985 당신은 어떤 코드가 실행하고자하는 경우, 당신은 열고 PHP 태그를 닫을 수 있습니다 599 00:27:10,985 --> 00:27:13,010 내가 여기했던 것처럼 거기에 코드를 삽입. 600 00:27:13,010 --> 00:27:16,810 최대한 빨리 닫으면 PHP 태그, 서버 601 00:27:16,810 --> 00:27:19,407 그냥 침을 것입니다 당신이 무엇을 거기에 넣어. 602 00:27:19,407 --> 00:27:21,740 그리고 사실,이 부분이었다 PHP의 원래 디자인, 603 00:27:21,740 --> 00:27:25,280 악화에 대한 더 나은,이이었다 코드와 마크 업의 혼합을 604 00:27:25,280 --> 00:27:25,920 언어. 605 00:27:25,920 --> 00:27:28,670 그리고 우리는 바로 이러한 것을 볼 수 있습니다 신속하게 엉망으로 양도한다. 606 00:27:28,670 --> 00:27:31,280 그래서 우리보다 더 잘 할 것이다 이 궁극적으로,하지만 단지 607 00:27:31,280 --> 00:27:35,620 I 해요 쉬움을 알 일부 로직을 실행하는 데 실제로 수. 608 00:27:35,620 --> 00:27:37,440 >> 그러나 아직도 약간 실망. 609 00:27:37,440 --> 00:27:41,210 버전을 열어 보자 신입생 인스턴트 메시지, 두있는 610 00:27:41,210 --> 00:27:44,270 분명히 register2.php에 제출합니다. 611 00:27:44,270 --> 00:27:47,600 그래서이 파일은 실제로 일어나고 거의 동일하게 표시합니다. 612 00:27:47,600 --> 00:27:50,780 나는 신입생 인스턴트 2로 갈거야. 613 00:27:50,780 --> 00:27:53,050 그러나 신입생 인스턴트 2, 의는 어떻게되는지 보자. 614 00:27:53,050 --> 00:27:58,110 >> 데이비드로, 라디오 버튼을 클릭합니다 그것은라고; 매튜스, 아니 주장. 615 00:27:58,110 --> 00:27:59,230 등록합니다. 616 00:27:59,230 --> 00:28:00,130 당신이 등록되어 있습니다. 617 00:28:00,130 --> 00:28:00,700 정말. 618 00:28:00,700 --> 00:28:02,574 아 기다린 우리는 한 그 예를 우리는하지 않았다? 619 00:28:02,574 --> 00:28:04,520 좋아, 대기. 620 00:28:04,520 --> 00:28:06,602 우리는 세 가지를 할 수 있습니다. 621 00:28:06,602 --> 00:28:08,560 분명히 뭔가 관하여 Gmail에서 발생합니다. 622 00:28:08,560 --> 00:28:09,600 우리는 거기에 도착합니다. 623 00:28:09,600 --> 00:28:11,900 >> 그래서 신입생 인스턴트 3은 다음과 같다. 624 00:28:11,900 --> 00:28:13,050 다르지 않습니다. 625 00:28:13,050 --> 00:28:19,850 그러나 내가 다윗, 남성, 매튜스, 그리고 이 세 번째이자 마지막 버전을 등록 626 00:28:19,850 --> 00:28:22,230 주장, 아주 간단하게, 당신에게 정말 등록되어 있습니다. 627 00:28:22,230 --> 00:28:23,560 즉 일종의 중요합니다. 628 00:28:23,560 --> 00:28:25,600 그러나 나는이와 주장 세 번째이자 마지막 버전 629 00:28:25,600 --> 00:28:30,610 지금은 정확히 다시 만들어 내 룸메이트와 나는 신입생 인스턴트을 위해 만들어진 630 00:28:30,610 --> 00:28:31,731 전 프로그램의 년. 631 00:28:31,731 --> 00:28:32,480 그리고 그것은 간단했다. 632 00:28:32,480 --> 00:28:34,330 어떤 데이터베이스는 없었다 Excel 스프레드 시트를 더. 633 00:28:34,330 --> 00:28:36,450 하지만 더 중요한 것은, 더 이상 종이가 없었다 634 00:28:36,450 --> 00:28:42,520 우리는이 프로그램에 무슨 짓을했는지 때문에 실제로 감독관을 이메일로 누구 635 00:28:42,520 --> 00:28:44,530 이전에받는 형태를 통해 이러한 것들을. 636 00:28:44,530 --> 00:28:48,890 >> 그리고 분명히 우리는이를 프로그램했습니다 이러한 방식으로 사람이 등록 때에, 637 00:28:48,890 --> 00:28:52,470 존 하버드의 계정 이메일 이 경우 proctor-- 또는 그 자신 638 00:28:52,470 --> 00:28:55,960 요한 Harvard-- 다음 text-- "이 사람은 그냥 등록했다." 639 00:28:55,960 --> 00:29:00,560 이름, 선장은 비어 데이비드; 성별, 남성; 과 기숙사, 매튜스. 640 00:29:00,560 --> 00:29:01,560 >> 그래서 무슨 일이 일어 났는가? 641 00:29:01,560 --> 00:29:05,360 여기에 문제의 음, 파일 분명히 register3.php입니다. 642 00:29:05,360 --> 00:29:09,080 나는이를 열 경우, 당신은 볼 것이다 같은 코드의 전원을 모두 643 00:29:09,080 --> 00:29:12,380 또한, 솔직히 불안 이메일과 같은 시스템. 644 00:29:12,380 --> 00:29:16,290 난 그냥 효과적으로 척했다 존 하버드는 다음과 같은 방법으로합니다. 645 00:29:16,290 --> 00:29:20,920 >> 나는, 최대 상단 오픈 PHP 태그를 가지고있는 여기 말한다 일부 PHP 코드를 제공됩니다. 646 00:29:20,920 --> 00:29:23,155 여기선이 밝혀 PHP의 라이브러리입니다. 647 00:29:23,155 --> 00:29:26,410 당신은 할 필요가 없습니다 만큼 헤더 파일이 포함됩니다. 648 00:29:26,410 --> 00:29:28,900 당신은 더 얻을 부엌 싱크대, 말하자면. 649 00:29:28,900 --> 00:29:31,820 >> 그러나 4 호선이 시간, 내가 할 라는 특별한 라이브러리에 원하는 650 00:29:31,820 --> 00:29:36,087 뭔가 당신이 PHP 메일러, 많은 시스템에서 무료로 설치할 수 있습니다. 651 00:29:36,087 --> 00:29:37,920 여기에 아래로 나는 검증 해요 제출 단지 652 00:29:37,920 --> 00:29:40,540 사용자가 주 었는가 확인하여 나 이름, 성별, 기숙사. 653 00:29:40,540 --> 00:29:44,130 그리고 만약 있다면, 가서 우편물을 인스턴스화합니다. 654 00:29:44,130 --> 00:29:47,020 >> 당신은 인 것으로 생각할 수 있습니다 단지 할당 코드의 라인. 655 00:29:47,020 --> 00:29:48,950 그것은,의 malloc처럼하지만, 그것은 조금 섹시의 656 00:29:48,950 --> 00:29:51,790 점에서 당신은하지 언급 malloc에​​ 일부 일반 번호. 657 00:29:51,790 --> 00:29:55,030 당신은 나에게 다음 중 하나를주는 말 나에게 이들의 새로운 하나를 제공합니다. 658 00:29:55,030 --> 00:29:57,950 >> 그리고 당신은 프로그래밍 한 경우 Java 또는 C ++ 또는 다른 언어, 659 00:29:57,950 --> 00:29:59,130 당신이 알고있는 독자들도있을 것이다. 660 00:29:59,130 --> 00:30:01,840 그러나 그것의 짧은 경우 익숙하지 않은,이 선 661 00:30:01,840 --> 00:30:05,410 달러 기호 메일에두고 라고 불리는 특별한 구조체 662 00:30:05,410 --> 00:30:08,731 내장 된 객체 이메일 기능을 제공합니다. 663 00:30:08,731 --> 00:30:10,355 그리고 사실,주의 및 이와 유사한 구문. 664 00:30:10,355 --> 00:30:11,900 >> 이는 포인터 자체가 아닙니다. 665 00:30:11,900 --> 00:30:13,990 PHP는 동일한 구문을 사용합니다. 666 00:30:13,990 --> 00:30:17,660 이 줄은 사용을 말하고있다 SMTP-- 단순 메일 전송 667 00:30:17,660 --> 00:30:20,900 단지입니다 프로토콜, 프로토콜은 메일을 보내는 데 사용. 668 00:30:20,900 --> 00:30:24,240 이것은 사용을 지정하는 것입니다 하버드의 SMTP 서버, 어떤 669 00:30:24,240 --> 00:30:25,830 캠퍼스에 어딘가에 여기에있다. 670 00:30:25,830 --> 00:30:28,480 >> 이 무슨 말 TCP 번호가 이야기하는 포트, 671 00:30:28,480 --> 00:30:31,650 난 그냥 그 정도는 알 인터넷 검색 또는 헬프 데스크에 요청하여. 672 00:30:31,650 --> 00:30:34,640 그리고 하버드 일부를 사용하기 때문에 메일 server--에 시스템 보안 673 00:30:34,640 --> 00:30:37,060 적어도 암호화 할 수 당신과 그 사이의 트래픽, 674 00:30:37,060 --> 00:30:41,380 누구 졌어요 보낼 수에도 불구하고 나는 TLS 프로토콜을 설정하는거야 675 00:30:41,380 --> 00:30:42,710 이 보안을 유지합니다. 676 00:30:42,710 --> 00:30:44,730 >> 그러나 이것은 어디 것들 조금 무서운 얻을. 677 00:30:44,730 --> 00:30:47,970 난 그냥 임의의 수 나는 jharvard임을 말 678 00:30:47,970 --> 00:30:51,930 난 그냥 임의의 수 여기에 자신 이메일을 보내. 679 00:30:51,930 --> 00:30:55,650 그리고 나는를 지정할 수 있습니다 여기이 선이 될 수 있습니다. 680 00:30:55,650 --> 00:30:58,460 >> 그리고 이것은 단지 추한 보이지만이다 연결의 단지 무리입니다. 681 00:30:58,460 --> 00:31:04,480 , PHP 슈퍼 유용한 기호가 밝혀 일부 언어 같은, 도트 연산자, 682 00:31:04,480 --> 00:31:07,340 이는 단지 문자 그대로 연결합니다 문자열 문자열 후 문자열 후, 683 00:31:07,340 --> 00:31:09,810 당신은 malloc에​​ 또는 그림에없는 문자열의 총 길이가 부족합니다. 684 00:31:09,810 --> 00:31:10,820 당신은 그것을 할. 685 00:31:10,820 --> 00:31:15,220 그리고 실제로, 나는 연결하는 거니까 이러한 점이 모든 것들에, 686 00:31:15,220 --> 00:31:18,330 그 이유는 이메일 I의 이처럼 전송 보였다. 687 00:31:18,330 --> 00:31:20,610 >> 그리고 마지막으로 여기에, 나는 메일을 보내고있다. 688 00:31:20,610 --> 00:31:22,580 이 false 인 경우 그래서, 난 그냥 죽을거야 689 00:31:22,580 --> 00:31:25,680 이는 기능입니다 단지 인쇄 화면 일부 오류 메시지. 690 00:31:25,680 --> 00:31:29,170 하지만 사실이며, 송신 함수를 호출. 691 00:31:29,170 --> 00:31:31,780 그렇지 않은 경우,이 모두가 실패하면, 여기 날 다시 리디렉션합니다. 692 00:31:31,780 --> 00:31:34,050 >> 그리고 그 이유를 보았는가 정말 등록 된거야? 693 00:31:34,050 --> 00:31:36,110 음, 여기 일어났다. 694 00:31:36,110 --> 00:31:38,170 그래서 나는이를 불러 몇 가지 이유. 695 00:31:38,170 --> 00:31:41,542 >> 하나는, 이것은 당신이 방법을 구축 할 경우 정확히 최종 프로젝트에 대한 몇 가지 웹 사이트 696 00:31:41,542 --> 00:31:44,000 또는 현실 세계를 위해, 여긴 당신은 전자 메일 미리 알림을 보낼 방법 697 00:31:44,000 --> 00:31:45,924 고객이나 가입자에. 698 00:31:45,924 --> 00:31:47,590 이렇게하면 암호 미리 알림을 보낼 방법이다. 699 00:31:47,590 --> 00:31:50,760 이렇게하면 사람들이 메시지를 보낼 방법입니다 그들은 새로운 페이스 북을 가지고 700 00:31:50,760 --> 00:31:52,990 메시지 보류 또는 그런 일. 701 00:31:52,990 --> 00:31:55,010 >> 그러나 그것은 또한에 말한다 사실 그이 수 702 00:31:55,010 --> 00:31:58,160 에서 아주 잘되었습니다 다빈 또는 다른 사람. 703 00:31:58,160 --> 00:32:00,567 그리고 나는 이러한 종류의 말 미소 난 때문에 704 00:32:00,567 --> 00:32:03,400 를 통해 무슨 일이 일어나고 있는지 확신 이 시점에서 당신의 마음의 여러. 705 00:32:03,400 --> 00:32:11,910 그러나 이것은 그 중 하나가 I로 할 것입니다 나는 사물의 종류를하지으로, 말 706 00:32:11,910 --> 00:32:14,480 그것은 사소하기 때문에 이 같은 이메일을 위조. 707 00:32:14,480 --> 00:32:16,480 하지만 당신은 볼 수 있습니다로 또는 크림슨 읽어, 708 00:32:16,480 --> 00:32:18,271 늦은 그것은 또한 아주이다 사람들을위한 사소한 709 00:32:18,271 --> 00:32:20,050 다시 약간의 원점을 추적합니다. 710 00:32:20,050 --> 00:32:23,790 그리고 아마도, 나에게 시간을 물어 CS50 점심에, 어떻게 처음 711 00:32:23,790 --> 00:32:27,080 매우 밀접하게 알고있어 거의 ED 보드 수년에 712 00:32:27,080 --> 00:32:30,890 전에 내가 발견했을 때 어떻게 인터넷이했다. 713 00:32:30,890 --> 00:32:36,940 어떤 약간 case--에 따라서 ED 보드가있었습니다. 714 00:32:36,940 --> 00:32:42,300 >> 그래서 어떤 경우에,이 슈퍼 전역의 전체 무리, 715 00:32:42,300 --> 00:32:45,960 그들이 여기라는 것으로, 하나의 우리는 달러 기호 밑줄 게시물을 안됐어. 716 00:32:45,960 --> 00:32:49,530 GET라는 상대가있다, 이는 URL 어디에서 물건입니다 717 00:32:49,530 --> 00:32:50,690 가는 끝납니다. 718 00:32:50,690 --> 00:32:54,051 그리고 다른 사람의 전체 무리가있다 너무 ... 세션과 서버와 쿠키. 719 00:32:54,051 --> 00:32:55,800 우리는 다시 올 것이다 다른 시간을 쿠키 720 00:32:55,800 --> 00:33:01,340 하지만 세션이 멋진 가지입니다 때문에 바로 지금은 - 최대 지금은 -까지 721 00:33:01,340 --> 00:33:06,350 모든 것을 우리는 웹 브라우저에서 수행 한 종류의 상태를 저장, 말하자면. 722 00:33:06,350 --> 00:33:10,060 나는 주위를 클릭, 액세스 서버, 뭔가에있는 파일 723 00:33:10,060 --> 00:33:13,500 화면에 발생하지만 다음 연결이 닫힙니다. 724 00:33:13,500 --> 00:33:17,450 Internet Explorer 또는 파이어 폭스 아이콘이 회전을 정지 725 00:33:17,450 --> 00:33:20,340 그리고 당신은 무엇을 참조 그 웹 페이지가 포함되어 있습니다. 726 00:33:20,340 --> 00:33:23,530 >> 그래서 HTTP는 점에서 상태를 저장 이 연결을 설정하면, 727 00:33:23,530 --> 00:33:25,050 그거야, 일부 데이터를 가져옵니다. 728 00:33:25,050 --> 00:33:29,940 더 이상 연결, 스카이프와는 달리, 페이스 타임과 달리 GChat 달리하는 729 00:33:29,940 --> 00:33:32,180 상수를 유지 서버에 연결. 730 00:33:32,180 --> 00:33:34,650 웹은 근본적 하지만 우리는 것이다 해제 731 00:33:34,650 --> 00:33:36,630 긴 방법 전에 참조 우리는 물건을 시뮬레이션 할 수 있습니다 732 00:33:36,630 --> 00:33:39,300 페이스 북 채팅과 GChat 같은, 이는 illusion--을 유지 733 00:33:39,300 --> 00:33:41,680 또는 사실을 유지 할 사용하여 일정한 연결 734 00:33:41,680 --> 00:33:43,270 현대 기술. 735 00:33:43,270 --> 00:33:49,000 >> 하지만 난에 가면, 말, counter.php, 이것은 또 다른 간단한 예입니다, 736 00:33:49,000 --> 00:33:52,700 우리가 살펴 보 겠지만, 그 현재 생각 나는 사이트 제로 시간을 방문했다. 737 00:33:52,700 --> 00:33:56,790 하지만 단순히 페이지를 다시로드하는 경우, 어떻게 든 내가 전에 여기에서 있었다 알고있다. 738 00:33:56,790 --> 00:33:58,840 다시 다시하는 경우를 내가 전에 여기에서 있었다 알고있다. 739 00:33:58,840 --> 00:34:01,100 그리고 다시하고 다시하고 다시하고 다시. 740 00:34:01,100 --> 00:34:03,610 >> 그래서 약간의 플러스 plussing이있다 진행하지만, 통지 741 00:34:03,610 --> 00:34:07,090 작은 일이 그렇게도 회전 간단히 상단까지 다음의 연결이 끊어, 742 00:34:07,090 --> 00:34:11,179 그래서 내가 상수를 가지고처럼하지 내 기기에 연결. 743 00:34:11,179 --> 00:34:16,929 음, counter.php에 가면, 이 간단한 방법을 알 수 있습니다. 744 00:34:16,929 --> 00:34:19,080 내가 처음이 특수 전화 작동하는지 우리는 곧거야 745 00:34:19,080 --> 00:34:21,513 당연한 복용 시작 세션 시작했다. 746 00:34:21,513 --> 00:34:22,179 세션을 시작합니다. 747 00:34:22,179 --> 00:34:25,095 >> 그리고 세션은 이제부터 그냥 쇼핑처럼, 양동이 될 것 748 00:34:25,095 --> 00:34:28,120 당신이 값을 넣을 수있는 카트 및 종류의 프로그래머로 신뢰 749 00:34:28,120 --> 00:34:31,590 그들은 때 여기에있을 거라고 이 사용자는 두 번째 다시 - 온다 750 00:34:31,590 --> 00:34:35,670 나중에 시간 후에, 심지어 년 후, 그 또는 그녀가 명확하지 않기 때문에 너무 오래 751 00:34:35,670 --> 00:34:37,602 자신의 쿠키, 우리는 결국 볼 수있다. 752 00:34:37,602 --> 00:34:39,310 그리고 지금 난 그냥이 여기 경우 조건. 753 00:34:39,310 --> 00:34:44,679 그래서 다음과 같은 키의 경우, 라는 카운터, 내부 설정 754 00:34:44,679 --> 00:34:49,210 이 슈퍼의이 해시를 global-- 테이블, 당신이라는 세션을 하겠지 경우, 755 00:34:49,210 --> 00:34:53,350 다음 가서 잡아 session-- 생각에서 값 756 00:34:53,350 --> 00:34:55,250 쇼핑 등이의 cart-- 및 저장 757 00:34:55,250 --> 00:34:57,680 카운터라는 임시 변수. 758 00:34:57,680 --> 00:35:02,240 >> 그렇지 않으면, 그 값 카운터 경우였다 소위 장바구니에 설정하지, 759 00:35:02,240 --> 00:35:04,430 그냥 0으로 초기화합니다. 760 00:35:04,430 --> 00:35:09,830 마지막으로, 여기로 가서 다시 넣어 쇼핑 카트 또는 세션으로 761 00:35:09,830 --> 00:35:13,000 카운터 +1의 값. 762 00:35:13,000 --> 00:35:16,730 그래서이 밝혀 특수 컨테이너와 ... 763 00:35:16,730 --> 00:35:20,355 이는 다시, 이러한 연관 중 하나입니다 배열, 배열은 당신이 할 수있는 인덱스 764 00:35:20,355 --> 00:35:25,010 대신 숫자들의 말에 사용자가 사라질 후에도 지속됩니다. 765 00:35:25,010 --> 00:35:26,510 다시 말하지만, 지금은 다시 페이지로 이동합니다. 766 00:35:26,510 --> 00:35:28,400 그것은 분 정도되었습니다. 767 00:35:28,400 --> 00:35:31,300 그러나 나는 그 사실을 기억 19 시간 전에 여기에 있었다. 768 00:35:31,300 --> 00:35:32,740 이것은 내 20 방문입니다. 769 00:35:32,740 --> 00:35:36,560 >> 그리고이 핵심이 될 것입니다 기억 어떤 웹 사이트를 구현 770 00:35:36,560 --> 00:35:40,640 당신은 당신이 넣어, 로그인하고 있는지 귀하의 쇼핑 바구니에 문자 뭔가 771 00:35:40,640 --> 00:35:43,902 구입 또는 일부를 가지고하는 메시지의 번호는 대기중인. 772 00:35:43,902 --> 00:35:45,610 언제 당신이 원하는 정보를 기억, 773 00:35:45,610 --> 00:35:48,130 우리는 같은 것을 PHP를 볼 수 있습니다 여러 다른 언어, 774 00:35:48,130 --> 00:35:53,640 상태의이 환상으로 우리를 제공합니다 비록, 당신이 PSET 6에서 살펴 보 겠지만, 775 00:35:53,640 --> 00:35:57,642 당신은 HTTP 요청을 만들고있어 클라이언트에서 서버로, 그것 뿐이다. 776 00:35:57,642 --> 00:35:59,850 당신은 다시 일단 반응은 아무것도 없다 777 00:35:59,850 --> 00:36:01,790 기본적으로 서버에서 다시오고. 778 00:36:01,790 --> 00:36:03,820 그러나 우리는 그 해결 방법을 확인할 수 있습니다. 779 00:36:03,820 --> 00:36:07,430 >> 그럼 이제가 봅시다 조금이를 정리합니다. 780 00:36:07,430 --> 00:36:09,470 우리는 몇 가지를 보았다 거기에 다른 예. 781 00:36:09,470 --> 00:36:12,250 아, 그리고 여담으로 대한 익숙하거나 익숙하지 않은, 782 00:36:12,250 --> 00:36:14,230 이유가 신입생 인스턴트 예는 갔다 783 00:36:14,230 --> 00:36:18,060 실제로보고에서 잘 slightly--하는 추한, 784 00:36:18,060 --> 00:36:23,160 여전히 약간에 ugly-- 여전히 추한 비록 적은 추한 785 00:36:23,160 --> 00:36:25,230 우리가 보면 때문이다 여기 소스 코드, 786 00:36:25,230 --> 00:36:28,240 내가이가 밝혀 파일의 맨 위에. 787 00:36:28,240 --> 00:36:32,570 >> 부트 스트랩 중 하나입니다 밝혀 거기 자유롭게 사용할 라이브러리 788 00:36:32,570 --> 00:36:37,140 프로그래밍 언어 아니 존재하는 항상 있지만, CSS 또는 자바 스크립트 789 00:36:37,140 --> 00:36:39,190 HTML 또는 언어의 번호 나. 790 00:36:39,190 --> 00:36:42,160 >> 와 ... 그리고이 사람들 원래 나왔다 791 00:36:42,160 --> 00:36:44,730 Twitter-- 단지가 스타일의 전체 무리. 792 00:36:44,730 --> 00:36:47,360 그것은 거대한 파일의 여기에 누군가가 쓴, 793 00:36:47,360 --> 00:36:51,020 또는 다른 사람의 시간이 지남에, 쓴 색상과 서식을 지정합니다 794 00:36:51,020 --> 00:36:53,740 그리고 이것 저것 내가 할 수 있도록 종류의 구문을 빌려 795 00:36:53,740 --> 00:36:56,157 및 알아낼 필요가 없습니다 어떻게 내 양식을 배치합니다. 796 00:36:56,157 --> 00:36:57,990 이것은 또한 축소 된입니다 컴퓨터가 할 수 있도록 797 00:36:57,990 --> 00:37:00,560 그것을 이해하지만 반드시 인간. 798 00:37:00,560 --> 00:37:03,050 그래서는 이유있어 양식이 변경되었습니다. 799 00:37:03,050 --> 00:37:05,450 >> 그러나의 지금 더 잘 할 수 있도록 디자인 측면에서, 800 00:37:05,450 --> 00:37:07,490 우리가 엎드려 경우 때문에 너무 긴이 길, 801 00:37:07,490 --> 00:37:11,290 우리의 코드에 무슨 지저분하고 지저분 얻을. 802 00:37:11,290 --> 00:37:13,040 그래서 여기서 이러한 예에 초점을 수 있습니다. 803 00:37:13,040 --> 00:37:15,090 오늘의 마지막. 804 00:37:15,090 --> 00:37:18,720 >> 그래서 여기에 슈퍼 간단합니다 CS50의 웹 사이트의 버전 1.0. 805 00:37:18,720 --> 00:37:21,250 그것은 단지 링크가 강의와 강의, 806 00:37:21,250 --> 00:37:25,490 그리고 그 정렬되지 않은 목록을 사용하고 우리가 지난 시간에 사용되는 UL 태그를 tag--. 807 00:37:25,490 --> 00:37:28,800 그리고 사실, 난 경우 , 페이지 소스보기를 열고 808 00:37:28,800 --> 00:37:31,710 이는 것을 볼 수 있습니다 정말, 정말 간단한 HTML. 809 00:37:31,710 --> 00:37:35,460 그리고 사실, 이것은 비록 후드 아래에 PHP 파일, 810 00:37:35,460 --> 00:37:38,620 여전히 단지 풍기고 지금은 밖으로 만 HTML. 811 00:37:38,620 --> 00:37:41,312 >> 그래서 강의를 클릭하면, 우리는 이런 일을 참조하십시오. 812 00:37:41,312 --> 00:37:43,020 그리고 나는 주를 클릭하면 제로는, 우리는이를 참조하십시오. 813 00:37:43,020 --> 00:37:44,920 그리고 클릭하면 수요일, 우리는이를 참조하십시오. 814 00:37:44,920 --> 00:37:47,900 그리고 이것은 분명히 PDF이었다 그 날의 슬라이드. 815 00:37:47,900 --> 00:37:52,020 내가 한 모든이와 링크 여기에이 URL에 앵커 태그. 816 00:37:52,020 --> 00:37:55,400 >> 그래서이 꽤라고 할 만하다 CS50의 웹 사이트의 간단한 버전입니다. 817 00:37:55,400 --> 00:37:56,790 의가 구현 어떻게 보자. 818 00:37:56,790 --> 00:38:01,240 내가 mvc0 디렉토리로 이동하면, 우리는 몇 개의 파일을 볼 수 있습니다. 819 00:38:01,240 --> 00:38:03,250 하나는 README, 그래서 경우 이 중 일부는, 너무 빠른 820 00:38:03,250 --> 00:38:05,166 당신은 단지 살펴볼 수 있습니다 더 여유롭게 이상. 821 00:38:05,166 --> 00:38:07,930 그리고 여기에서주의 사항 index.php 파일입니다. 822 00:38:07,930 --> 00:38:09,960 이 밝혀지면 그 당신 자신, 인간, 823 00:38:09,960 --> 00:38:14,460 에 최종 이름을 지정하지 URL, 보통 웹 서버 824 00:38:14,460 --> 00:38:17,010 당신을 위해 몇 가지 기본 이름을 유추합니다. 825 00:38:17,010 --> 00:38:20,060 인덱스 도트 무엇인가 일반적으로 기본값입니다. 826 00:38:20,060 --> 00:38:23,010 >> 그래서 왜 좀 전에이다 내가 여기에이 URL을 방문했을 때, 827 00:38:23,010 --> 00:38:26,750 파일 이름, 아니 파일 확장, URL에없는 기간. 828 00:38:26,750 --> 00:38:29,710 그냥 마술 어떻게 든 알고 index.php를 찾으십시오. 829 00:38:29,710 --> 00:38:30,870 그냥 컨벤션입니다. 830 00:38:30,870 --> 00:38:32,360 아무것도 호출 할 수 없습니다. 831 00:38:32,360 --> 00:38:35,110 >> 지금에 들어갈 경우에 따라서 index.php에, 당신은 볼 것이다 832 00:38:35,110 --> 00:38:37,100 ,의하자 indeed-- 있음 주석 제거 833 00:38:37,100 --> 00:38:39,500 여기 정말 거기 때문에 흥미로운 것은 졌어요 없습니다 834 00:38:39,500 --> 00:38:41,579 이것은 단지 하드 HTML을 코딩된다. 835 00:38:41,579 --> 00:38:43,370 그래서, 일치의 내 주장과 생각, 836 00:38:43,370 --> 00:38:45,230 것을 당신은 HTML과 PHP를 뒤섞 수 있습니다. 837 00:38:45,230 --> 00:38:48,060 실제이 없습니다 여기에서 논리 프로그래밍. 838 00:38:48,060 --> 00:38:51,030 >> 그리고 다른 파일이 꽤 있습니다 같은 재미 단지 많은. 839 00:38:51,030 --> 00:38:56,240 그것은 단지 주에 하나의 하드 코딩 된 것 여기에 일주일에 M과 주 하나, W 840 00:38:56,240 --> 00:38:57,510 월요일과 수요일. 841 00:38:57,510 --> 00:39:01,890 그리고 내가 주 제로 열 경우, 거의 동일한 느끼지. 842 00:39:01,890 --> 00:39:03,320 >> 그리고는 키 테이크 아웃 가지입니다. 843 00:39:03,320 --> 00:39:06,180 이 얼마나 중복 확인합니다. 844 00:39:06,180 --> 00:39:10,710 이 파일은 거의 변경, 아직 I 이러한 복사 / 붙여 넣기 작업 중 하나를 뽑아 845 00:39:10,710 --> 00:39:13,420 어디 아마도 하나 file--했다 주 zero-- 그것을 복사 846 00:39:13,420 --> 00:39:16,320 주 하나가 주위에 왔을 때, 몇 값을 쥐게. 847 00:39:16,320 --> 00:39:18,590 우리는 아마 수 있어야한다 이것보다 더 잘 할 수 있습니다. 848 00:39:18,590 --> 00:39:21,800 >> 그럼 MVC까지 돌아 가자 버전 하나로 이동합니다. 849 00:39:21,800 --> 00:39:24,810 내가있어주의 몇 개의 파일, 무엇 때문에 850 00:39:24,810 --> 00:39:29,870 해당 파일의 모든 단지에 공통적이었다 나는 버전 0으로 돌아 가면 순간, 갑자기 851 00:39:29,870 --> 00:39:32,600 의 인덱스로 돌아 가자, 그냥 postulate-- 852 00:39:32,600 --> 00:39:36,090 나는 comments--을 제거하면 이 페이지의 어떤 부분 853 00:39:36,090 --> 00:39:40,072 내 파일 하나 하나에 아마도입니까? 854 00:39:40,072 --> 00:39:40,780 그냥 불러. 855 00:39:40,780 --> 00:39:44,620 어떤 라인이 중복되어 아마이 모든 페이지에서? 856 00:39:44,620 --> 00:39:45,120 그래? 857 00:39:45,120 --> 00:39:46,110 >> 학생 : [들림]. 858 00:39:46,110 --> 00:39:47,660 >> DAVID J. 마란 : 1 ~ 9. 859 00:39:47,660 --> 00:39:48,720 네, 절대적으로. 860 00:39:48,720 --> 00:39:52,080 어쩌면 8을 제외한 9 일, CS50 때문에 조금 변경 861 00:39:52,080 --> 00:39:54,650 하게 강의 또는 주 제로 또는 뭔가. 862 00:39:54,650 --> 00:39:55,970 그러나 거의 동일합니다. 863 00:39:55,970 --> 00:39:58,657 그래서 모든 물건은 그냥 종류의 복사 및 붙여 넣기. 864 00:39:58,657 --> 00:40:00,490 그리고 몇있다 다른 라인은 내가 생각할 수있는 865 00:40:00,490 --> 00:40:05,000 그 아마 동일 모든 파일에서. 866 00:40:05,000 --> 00:40:06,315 >> STUDENT : (12, 13). 867 00:40:06,315 --> 00:40:07,190 DAVID J. 마란 : 그래. 868 00:40:07,190 --> 00:40:11,220 물론, 12, 13, 14, 아마 그냥 재미있는 물건 때문에 869 00:40:11,220 --> 00:40:15,460 라인 (11)에 무슨 일이 일어나고 10, 그래서 것 같다. 870 00:40:15,460 --> 00:40:18,350 그럼 버전 1을 살펴 보자, 어떤이 개선하려고합니다. 871 00:40:18,350 --> 00:40:24,020 이 MVC example--의 버전 1에서 우리는거야 설명 순간은에서 MVC 어떤 수단 872 00:40:24,020 --> 00:40:27,420 나는 인덱스로 이동하는 경우, 종류의 지금 조금 혼란 보인다. 873 00:40:27,420 --> 00:40:28,880 그것은 이전과 확실히 간단하지. 874 00:40:28,880 --> 00:40:30,906 >> 하지만 당신은에 시작하면 주의 깊게, 그것의 읽기 875 00:40:30,906 --> 00:40:32,530 그것은 무엇을하고 있는지 매우 간단. 876 00:40:32,530 --> 00:40:34,397 분명히 1 라인과 라인 8은 교체 한 877 00:40:34,397 --> 00:40:37,230 당신이 identified-- 물건의 모든 그냥 좋은 측정을위한 생각, 878 00:40:37,230 --> 00:40:41,900 나는 단지의 경우 일부가 적 UL 왼쪽 일 것들의 목록을 가지고 있지 않았다. 879 00:40:41,900 --> 00:40:47,860 그리고 종류의 파운드처럼 필요 C. 그것은 복사 및 붙여 넣기에 포함 880 00:40:47,860 --> 00:40:50,470 내용을 효과적으로 바로 여기에이 파일에. 881 00:40:50,470 --> 00:40:53,650 >> 그래서 header.php에서, 당신으로 그 이름에서 유추 할 수 있습니다, 882 00:40:53,650 --> 00:40:55,330 페이지의 헤더가 될 것입니다. 883 00:40:55,330 --> 00:40:57,110 이 종류의 여기 고아입니다. 884 00:40:57,110 --> 00:41:01,820 그것은 아니라, 가기가 있지만 아래에 더 이상 콘텐츠가 없습니다. 885 00:41:01,820 --> 00:41:05,070 >> 그리고 난 그 사이에 바닥 글을 보면, 이는 다른 파일이었다 mentioned-- 886 00:41:05,070 --> 00:41:08,830 이 사람은, 더 적은 흥미로운 그러나 다시, 그것은 모든 것을 일반적이다. 887 00:41:08,830 --> 00:41:10,250 그래서이 바닥 글입니다. 888 00:41:10,250 --> 00:41:11,300 이것은 헤더이다. 889 00:41:11,300 --> 00:41:13,950 이것은의 파일입니다 변화하는, 그래서 왜 안 890 00:41:13,950 --> 00:41:18,140 공통점을 인수 분해하려고 여기에 두 줄? 891 00:41:18,140 --> 00:41:20,090 >> 그러나 우리는이를 청소 할 수 있습니다 조금 더 위로. 892 00:41:20,090 --> 00:41:23,260 나는 앞서 갈거야 및 버전 두 열어 893 00:41:23,260 --> 00:41:27,106 우리는이 있다는 것을 볼 수 있습니다 새 파일, helpers.php. 894 00:41:27,106 --> 00:41:28,610 우리는이 순간에 무엇을 볼 수 있습니다. 895 00:41:28,610 --> 00:41:30,930 의이 같은 인덱스에 가자 이전과 진입 점. 896 00:41:30,930 --> 00:41:35,230 >> 그리고 지금 내가 필요로하고있어주의 helpers.php, 머리글 또는 바닥 글 없습니다. 897 00:41:35,230 --> 00:41:41,720 그러나 헬퍼 가지처럼 PSET 2에서 helpers.c 및 helpers.h 898 00:41:41,720 --> 00:41:46,150 또는 오래 전에 실제로 PSET 3 검색 및 그 PSET을 위해 찾았어요, 899 00:41:46,150 --> 00:41:50,950 당신은 정렬에 모든 코드를했다 그리고 별도의 파일에서 검색. 900 00:41:50,950 --> 00:41:52,510 즉, 여기에 무슨 일이 일어나고 있는지입니다. 901 00:41:52,510 --> 00:41:54,390 >> 그리고 지금 라인 (3)은 조금 다른 보인다. 902 00:41:54,390 --> 00:41:55,920 그리고 그것은 단지 하나의 라인입니다. 903 00:41:55,920 --> 00:41:57,950 이 더욱를 만들려면 분명, 난 그냥 수 904 00:41:57,950 --> 00:42:01,820 이 문체 일관성을 위해 할 다른 모든 것들과 우리는 완료했습니다. 905 00:42:01,820 --> 00:42:04,130 하지만 그건 정말 아니에요 기능을 변경. 906 00:42:04,130 --> 00:42:05,880 그것은 실제 한 줄의 코드입니다. 907 00:42:05,880 --> 00:42:09,010 >> 분명히, 기능이있다 어딘가 헤더 렌더링라고, 908 00:42:09,010 --> 00:42:11,420 이 어디 것들 꽤 강력한 얻을. 909 00:42:11,420 --> 00:42:17,040 그 괄호의 내부를 주목하라 구문의 어떤 다른 부분은? 910 00:42:17,040 --> 00:42:19,780 911 00:42:19,780 --> 00:42:23,350 그것은, 아마 말을 조금 어렵지만, 나는 약간 흰색을 놓을 게요하게 있어요 통지 912 00:42:23,350 --> 00:42:24,300 공간. 913 00:42:24,300 --> 00:42:25,530 대괄호가있다. 914 00:42:25,530 --> 00:42:29,700 >> 대괄호 우리는 조금 전에 보았던 연관 어레이의 맥락에서, 915 00:42:29,700 --> 00:42:31,580 해시 테이블처럼, 다시, 어떤 있습니다. 916 00:42:31,580 --> 00:42:36,230 그리고 당신은 C에 지금 생각하면, 함수에 인수의 순서 917 00:42:36,230 --> 00:42:37,570 항상 동일해야한다. 918 00:42:37,570 --> 00:42:41,146 당신은 무엇을 기억해야 는 ... X, Y, Z 또는 Z, Y, x-- 주문 919 00:42:41,146 --> 00:42:44,020 그리고 당신은 항상 그들을 제공해야 같은 순서로하거나 찾아 920 00:42:44,020 --> 00:42:45,100 당신은 잊어 버린 경우. 921 00:42:45,100 --> 00:42:51,140 >> 하지만이 영리한 방법이 될 것으로 보인다 임의의 키 값을 전달 922 00:42:51,140 --> 00:42:55,840 제목이 이름입니다 이에 쌍 이 경우 인수 923 00:42:55,840 --> 00:42:58,334 과 CS50는 값입니다. 924 00:42:58,334 --> 00:43:00,250 내가 가지고있는 그것과 사실 이러한 대괄호 925 00:43:00,250 --> 00:43:02,560 여기에 내가 할 수있는 것을 의미한다 또한 뭔가 전달 926 00:43:02,560 --> 00:43:07,550 같은 주 0 또는 1 또는 2 또는 3이다. 927 00:43:07,550 --> 00:43:10,550 그래서 우리는 매개 변수화 한 이러한 방법으로이 기능을 928 00:43:10,550 --> 00:43:15,180 그것은 여러 개의 입력을 할 수있는, 하지만 지금은 그냥 하나입니다. 929 00:43:15,180 --> 00:43:20,060 >> 지금 helpers.php에 들어갈 경우, 그것은 무엇을하고 있는지 알 수 있습니다. 930 00:43:20,060 --> 00:43:22,030 이것은 조금이다 새로운 기능, 931 00:43:22,030 --> 00:43:24,190 하지만 지금은 그냥 가지고 이것이 믿음에 932 00:43:24,190 --> 00:43:26,570 구문하는 당신 PHP에서 함수를 정의합니다. 933 00:43:26,570 --> 00:43:27,840 당신은 말 그대로 기능을 말한다. 934 00:43:27,840 --> 00:43:30,090 당신은 반환을 지정하지 입력 한 그 일관성의 935 00:43:30,090 --> 00:43:33,880 변수 세부 이전으로 여기서 당신은 정말 강하게 입력하지 마십시오. 936 00:43:33,880 --> 00:43:35,650 >> 이것은 단지 지정 즉, 기본적으로이 937 00:43:35,650 --> 00:43:37,460 연관됩니다 인수로 배열입니다. 938 00:43:37,460 --> 00:43:38,210 그리고 당신이 뭘 알아? 939 00:43:38,210 --> 00:43:41,450 사용자는 하나를 통과하지 않는 경우 에서, 디폴트 값을 가정한다. 940 00:43:41,450 --> 00:43:44,680 >> 이는 C가 가지고 있지 않는 기능입니다 우리를 위해, 이는 지금 때문에, 좋은 941 00:43:44,680 --> 00:43:46,430 데이터, 심지어 경우 그에게 아무것도 제공하지 않습니다, 942 00:43:46,430 --> 00:43:49,300 를 될 것입니다 배열하지만 빈 하나. 943 00:43:49,300 --> 00:43:51,860 그리고 옆으로, 추출물 다만 펑키 무언가를 944 00:43:51,860 --> 00:43:56,380 어디이에서 키를 모두 취 연관 배열, 모든 것들 945 00:43:56,380 --> 00:43:59,950 대괄호에 넣어 수 있습니다, 그 중에서 변수를 생성 946 00:43:59,950 --> 00:44:06,270 우리가 궁극적으로 액세스 할 수 있도록 그들에게 footet.php과 header.php에서. 947 00:44:06,270 --> 00:44:08,950 즉 조금 추상적이다, 그래서 내가이 문제를 지적 할 수 있습니다. 948 00:44:08,950 --> 00:44:12,990 >> 의 index.php에서 난 것을 알 수 제목의 키 값 쌍을 전달 949 00:44:12,990 --> 00:44:14,850 CS50의 값. 950 00:44:14,850 --> 00:44:18,660 지금 helpers.php 보면, 그 RenderHeader 통지 951 00:44:18,660 --> 00:44:23,870 내가 전달하고있어 그 데이터를 추출한다 에서 다음 header.php을 요구. 952 00:44:23,870 --> 00:44:27,970 내가 무슨 짓을했는지하는 것은 가난한 사람의의 일종이다 이제 다음의 구현입니다. 953 00:44:27,970 --> 00:44:31,720 >> 내가 header.php를 열 경우, 열심히 더 이상도 없어 통지 954 00:44:31,720 --> 00:44:34,890 이 헤더 파일에있는 단어 CS50 코딩. 955 00:44:34,890 --> 00:44:39,310 보다시피 atrociously이를 넣었습니다 이름 기능, HTML 특수 문자, 956 00:44:39,310 --> 00:44:40,170 거기에. 957 00:44:40,170 --> 00:44:41,640 하지만 무슨 짓을했는지 알 수 있습니다. 958 00:44:41,640 --> 00:44:44,240 나는 열려있는 HTML을 가지고있다. 959 00:44:44,240 --> 00:44:47,420 나는 그 열기 머리와 오픈 타이틀을 가지고있다. 960 00:44:47,420 --> 00:44:52,380 >> 그리고 내부의 제목의 오픈과 가까운 태그, 나는 PHP 코드의 비트를 가지고있다. 961 00:44:52,380 --> 00:44:56,670 그리고 이것은, 좋은 그러나 구문이다 이는 그냥 반향을 의미합니다. 962 00:44:56,670 --> 00:44:59,840 말 그대로 두도록 의미 following-- 에코 963 00:44:59,840 --> 00:45:01,910 그러나 이것은 쓸 섹시하다. 964 00:45:01,910 --> 00:45:05,000 제목을 에코 그는 전달 됐어요. 965 00:45:05,000 --> 00:45:07,560 >> 하지만 HTML을 어떻게 생각하십니까 특수 문자는, 모두에 대해 966 00:45:07,560 --> 00:45:10,590 특히 당신이 가지고있는 경우 일부 이전 HTML 경험? 967 00:45:10,590 --> 00:45:14,050 어떤 문자를 수 있습니다 페이지에 통과 할 위험 968 00:45:14,050 --> 00:45:17,980 위치를 동적으로 생성하고 이 같은 코드를 사용하여 웹 페이지? 969 00:45:17,980 --> 00:45:21,370 970 00:45:21,370 --> 00:45:24,650 날이 파일에 가자, 버전 나는이를 유도 할 수없는 경우 두 가지, 그리고 참조하십시오. 971 00:45:24,650 --> 00:45:26,210 >> 버전 두 사람은 이것이다. 972 00:45:26,210 --> 00:45:28,510 그리고 모든 것을 알 수 잘 작동, 괜찮습니다. 973 00:45:28,510 --> 00:45:35,280 하지만 난의 index.php에 가서 가정 나는 지정된 내 페이지의 제목 974 00:45:35,280 --> 00:45:36,630 CS50 없습니다. 975 00:45:36,630 --> 00:45:44,930 그것은 오픈 브래킷 스크립트 경고입니다 안녕하세요, 가까운 작은 따옴표, 976 00:45:44,930 --> 00:45:49,740 닫는 괄호, 세미콜론, 대괄호, 슬래시 스크립트. 977 00:45:49,740 --> 00:45:51,897 >> 스크립트로 우리는거야 결국 태그가 참조 978 00:45:51,897 --> 00:45:54,480 다른의 용도에 사용할 수있는 프로그래밍 언어라고 979 00:45:54,480 --> 00:45:56,330 웹 페이지의 내부 자바 스크립트. 980 00:45:56,330 --> 00:45:57,960 그리고 지금 여기에 논리를 알 수 있습니다. 981 00:45:57,960 --> 00:45:59,840 여기에 제목이라는 키입니다. 982 00:45:59,840 --> 00:46:02,690 여기에 지금 미친 긴 값이야입니다. 983 00:46:02,690 --> 00:46:07,840 >> 하지만 도우미에 가면 페이지 - 또는 오히려, 헤더 페이지, 984 00:46:07,840 --> 00:46:11,310 나는이 함수를 호출 해요 먼저 제목. 985 00:46:11,310 --> 00:46:15,250 그래서 지금이 페이지를 다시로드하는 경우, I 말도 보이는,이 참조 986 00:46:15,250 --> 00:46:16,110 하지만 안전합니다. 987 00:46:16,110 --> 00:46:17,310 그냥 바보 보인다. 988 00:46:17,310 --> 00:46:20,320 >> 하지만 그 대신 가정 나는이를 잊고 있었다. 989 00:46:20,320 --> 00:46:24,660 그리고 내 말 명심, 0이 아닌 숫자 당신은이 작업을 수행하는 것을 잊지 의지 990 00:46:24,660 --> 00:46:27,790 당신은 몇 가지 근면를 얻을 수 있습니다 학생이나 친구가오고 991 00:46:27,790 --> 00:46:31,540 당신에게 CS50 박람회 또는 익명으로 밤에 당신의 웹 사이트에 주위에 파고 992 00:46:31,540 --> 00:46:35,300 본질적으로 코드를 주입 귀하의 사이트에 당신이 모르는 사이에 993 00:46:35,300 --> 00:46:35,800 어떻게 든. 994 00:46:35,800 --> 00:46:39,000 >> 단순히 침을 받았을 경우 여기에 제목과 제목 아웃 995 00:46:39,000 --> 00:46:44,330 저기 아니라, 제목 경우 그대로 이와 PHP처럼 보인다 996 00:46:44,330 --> 00:46:47,660 침을 뱉을 수있는 언어로 다른 언어로 텍스트 출력, 997 00:46:47,660 --> 00:46:50,650 이 문자 그대로 것입니다 에이 태그를 교체하려면, 998 00:46:50,650 --> 00:46:53,010 물론, 나는 다른 것을 넣어. 999 00:46:53,010 --> 00:46:57,640 >> 그래서 만약 내가 지금 여기 가서 한 후 다시로드 그 안전 메커니즘을 취소, 1000 00:46:57,640 --> 00:46:59,982 지금은 여기에 안녕하세요 세계를 가지고있다. 1001 00:46:59,982 --> 00:47:02,690 이제 모든 큰 일 아니야 거래,하지만 당신은 뭔가를 할 수 1002 00:47:02,690 --> 00:47:05,119 좀 더 악의적 인 여기에, 등이있다 1003 00:47:05,119 --> 00:47:08,410 우리는 우리가 지출 한 번 살펴 보 겠지만 다른 tags-- 위치 같은 JavaScript--에 더 많은 시간 1004 00:47:08,410 --> 00:47:14,910 점 HREF는 인용, 인용을 끝내, HTTP 가져옵니다 business.com,하지만 그 반대 1005 00:47:14,910 --> 00:47:15,950 다른 날부터. 1006 00:47:15,950 --> 00:47:20,120 그리고 지금 당신은 웹을 유도 할 수있다 페이지는 실제로 바로 이동 1007 00:47:20,120 --> 00:47:21,190 여기에이 웹 페이지로 이동합니다. 1008 00:47:21,190 --> 00:47:23,000 >> 그리고 실제로, 나는 싶지 않아 심지어 business.com로 이동합니다 1009 00:47:23,000 --> 00:47:24,749 내가 원하는하지 않기 때문에 그게 뭔지 알고. 1010 00:47:24,749 --> 00:47:28,710 하지만이 역시 코드를 트리거 이 페이지에 주입한다. 1011 00:47:28,710 --> 00:47:32,680 그래서이 비록 말을 아니라 우리는 몇 가지 슈퍼 조기 도입하고 1012 00:47:32,680 --> 00:47:36,800 이보다 복잡한 구조, 그것은 확실히 만드는 끝으로 전부 1013 00:47:36,800 --> 00:47:39,320 당신의 코드가 악용 될 수 없습니다. 1014 00:47:39,320 --> 00:47:40,960 >> 그래서 지금 여기에 세 번째 버전. 1015 00:47:40,960 --> 00:47:42,470 그것은 조금 애호가지고있어. 1016 00:47:42,470 --> 00:47:44,875 정말하지 않았다이었다고 나할까요 나 항문 쪽 1017 00:47:44,875 --> 00:47:47,750 에 의해 약간의 짜증 얻고 있었다 나는 함수가 호출했다는 사실 1018 00:47:47,750 --> 00:47:51,940 RenderHeader 및 RenderFooter 즉 거의 동일했다. 1019 00:47:51,940 --> 00:47:55,400 그래서 나에게 발생, 왜하지 나는이 기능을 매개 변수화 1020 00:47:55,400 --> 00:47:59,180 렌더링이라는 하나에, 그것은 두 번째 인수를했습니다 1021 00:47:59,180 --> 00:48:04,420 서식 파일의 이름과 같은, 최종 머리글 또는 바닥 글 중 하나를 render-- 하는가? 1022 00:48:04,420 --> 00:48:07,160 그리고 선택적으로, 내가 원하는 경우 일부 키 값 쌍을 전달합니다 1023 00:48:07,160 --> 00:48:10,580 같은 나는의 제목을 위해 할 하지만 바닥 글 헤더, 1024 00:48:10,580 --> 00:48:11,800 나는 그렇게 할 수 있습니다. 1025 00:48:11,800 --> 00:48:16,510 >> 그래서 지금은 helpers.php에 가면, 그것은 좀 더 복잡하다. 1026 00:48:16,510 --> 00:48:19,670 그리고 나는 나의 손을 흔들 것 상세하지만 단지 하나의 함수이다. 1027 00:48:19,670 --> 00:48:21,890 그래서 더 나은 디자인을 향한 단계입니다. 1028 00:48:21,890 --> 00:48:23,360 >> 우리는 한 단계 더 나아가서 수 있습니다. 1029 00:48:23,360 --> 00:48:28,890 나는 나의 네 번째로 갈 경우 이 버전은, 지금 주목 1030 00:48:28,890 --> 00:48:31,320 내가 뭔가를하고있는 걸 수수께끼의 더 많은 종류. 1031 00:48:31,320 --> 00:48:33,230 그리고 나는이 알고 많은 한 번에 흡수 1032 00:48:33,230 --> 00:48:35,080 그러나 우리는 친절 의 물건을 청소. 1033 00:48:35,080 --> 00:48:38,550 지금은 내 도우미를 걸었습니다 라는 폴더에 파일을 1034 00:48:38,550 --> 00:48:41,190 includes-- 단지 임의을 내가 물건을 넣어 원하는 위치의 이름을 1035 00:48:41,190 --> 00:48:44,300 나는 그 다음을 포함하고 원하는 이 나머지는 동일하다. 1036 00:48:44,300 --> 00:48:47,140 >> 하지만 gedit에서 지금 보면, 내가 없애 왔 통지 1037 00:48:47,140 --> 00:48:51,940 그 다른 모든 파일의 나는했습니다 여기에, 예를 들어, 그것들을 옮겼다. 1038 00:48:51,940 --> 00:48:55,110 다음 템플릿에서, 나도 여기있다. 1039 00:48:55,110 --> 00:48:59,292 그리고이 단계를 향해 지금 전부입니다 의 더 나은 디자인 패턴을 사용. 1040 00:48:59,292 --> 00:49:01,000 그리고 우리는 매우 빨리있어 멀리 이동하는 것 1041 00:49:01,000 --> 00:49:03,870 PHP의 기본 기능에서, 이는 우리가 여기 시작 1042 00:49:03,870 --> 00:49:07,655 당신이 PHP를 뒤섞 경우, 당신의 HTML, 및 CSS, 1043 00:49:07,655 --> 00:49:09,780 당신은 그냥 뱉어 당신은 당신의 방법에 대해 이동합니다. 1044 00:49:09,780 --> 00:49:11,404 그것은 매우 유지 보수 할 수 없을거야. 1045 00:49:11,404 --> 00:49:14,481 그냥 C처럼, 우리는 사용하기 시작 여러 파일 및 다양한 기능 1046 00:49:14,481 --> 00:49:15,730 팩토링 물건이 밖으로. 1047 00:49:15,730 --> 00:49:16,688 우리는 여기에 동일한 작업을 수행합니다. 1048 00:49:16,688 --> 00:49:19,970 그리고 사실, 제 5 및 최종의 버전 여기에, 나는 한 가지를했다. 1049 00:49:19,970 --> 00:49:23,710 심지어, 점 점을 사용할 수있는, 다시, 단지 부모 디렉토리입니다. 1050 00:49:23,710 --> 00:49:28,260 더 보안 의식하기 위해, 내가 듣기를 보면 때문에 1051 00:49:28,260 --> 00:49:32,450 여기에 다섯 번째 및 최종 버전, 통지에 대한 여기라는 하나의 디렉토리를 가지고 1052 00:49:32,450 --> 00:49:35,180 공개 한 다음에 같은 수준이므로, 말하자면 1053 00:49:35,180 --> 00:49:38,490 나는 포함하고 템플릿있어 다음 텍스트 파일 추가 정보. 1054 00:49:38,490 --> 00:49:41,130 >> 그리고 그 이유는 구조화 한 그것은 이런것 때문에 많은 웹 좋아 1055 00:49:41,130 --> 00:49:44,330 호스트, 특히 5 달러 달 사람 또는 $ 10개월 것들, 1056 00:49:44,330 --> 00:49:47,170 당신은 이들 중 하나 했어 경우 그들 중 많은이 무엇 services-- 1057 00:49:47,170 --> 00:49:50,690 그들은 단지 당신이 모든 덤프 기대입니다 하나의 디렉토리에 파일의, 1058 00:49:50,690 --> 00:49:53,640 같은 우리는 이미 한 이 첫 번째 예. 1059 00:49:53,640 --> 00:49:56,740 >> 그러나 곧 당신은 더 많은 구축을 시작으로 단지 저장 정교한 사이트 1060 00:49:56,740 --> 00:50:00,480 데이터는이에 대해 파일을 관심 실제로 일을 조직, 신경 1061 00:50:00,480 --> 00:50:05,060 정확하고 더 보안 마음에 의식 할 수 1062 00:50:05,060 --> 00:50:07,927 우리는 방어 시작 모든 친구에 대한 1063 00:50:07,927 --> 00:50:10,135 당신은 또는 중 하나를 가지고 이 클래스의 외부에있는 사람, 1064 00:50:10,135 --> 00:50:12,510 가능한 빨리 만들기 시작으로 웹 프로그램 자신을, 1065 00:50:12,510 --> 00:50:15,140 따기 시작 예정 당신에 그들에. 1066 00:50:15,140 --> 00:50:17,420 >> 그래서 우리는 볼 것이다 궁극적으로이 디자인에서. 1067 00:50:17,420 --> 00:50:20,010 이것은 단지 사진입니다 그 다음을 나타낸다. 1068 00:50:20,010 --> 00:50:22,897 우리는 모두 넣어거야 우리 하나 이상의 파일에 로직을 프로그래밍, 1069 00:50:22,897 --> 00:50:25,230 우리는 단지 시작하는거야 그 컨트롤러를 호출. 1070 00:50:25,230 --> 00:50:28,022 그것은의 경우 뇌의 우리의 웹 사이트는 사실이다. 1071 00:50:28,022 --> 00:50:29,730 그럼 우리가가는거야 뷰 및 전망을 1072 00:50:29,730 --> 00:50:32,480 다만 별도만큼 간단합니다 자주라는 템플릿을 files--. 1073 00:50:32,480 --> 00:50:34,410 그들은 단지가 내 페이지의 미학, 1074 00:50:34,410 --> 00:50:37,020 내가 보는 페이지를 원하는 색상과 레이아웃이었다고 나할까요 1075 00:50:37,020 --> 00:50:38,870 및 위치 모든 변수. 1076 00:50:38,870 --> 00:50:41,120 >> 그리고 더 재미있는 다음 우리는 결국 얻을 거라고 1077 00:50:41,120 --> 00:50:45,420 단지가 될 것입니다 모델이며, 우리가 다른 기술을 때리고 단어 1078 00:50:45,420 --> 00:50:47,771 우리는에 가지고 있음 사진, 실제 데이터베이스와 같은, 1079 00:50:47,771 --> 00:50:49,520 당신이 원하는 때 그렇게 정보를 저장, 1080 00:50:49,520 --> 00:50:52,140 당신은 이메일을 보내하지 않습니다 시험 감독관 또는 자신에게, 1081 00:50:52,140 --> 00:50:57,350 실제로 데이터베이스에 저장 SQL로 알려진 다른 언어를 사용. 1082 00:50:57,350 --> 00:51:00,450 그래서 우리는 오늘 떠날거야, 그리고 수요일에이 함께 데리러 1083 00:51:00,450 --> 00:51:02,990 다음 데이터베이스를 소개합니다. 1084 00:51:02,990 --> 00:51:06,940 >> [음악 연주] 1085 00:51:06,940 --> 00:54:24,555