ANDI 펭 : 우리는 거의 모든 psets를 통해. 사실, 우리는 대부분 통해있어 가장 어려운 psets를의. 그래서 우리는 실제로있어 바람 가지로 이동 앞으로 수주를 통해. 우리는 얘기를 시작하는거야 우리 최종 프로젝트는, 이벤트가 올라오고 앞으로 몇 주에. 그리고 인생은 바람 일 것이다. 그래서 너무 많은 오늘. 바라 건데, 실제로 산들 바람됩니다 오늘의 의제를 통해, 다음 여기서 일 여유 시간에. 또한, 나는 사과 할 사탕의 부족 오늘. 난 이유를 모르겠어. 그러나 주에서 선도 할로윈, 나는 사탕을 잊지 것이다. 그래서 난 그냥 실제로 광대 해요 지금 당신에게 실망. 말 그대로 사탕을 기억하기 때문에 모든 단일 클래스,하지만 할로윈. 그러나 다음 주, 나는 가져올 것 사탕의 양을 두 배로 모든 당신을 위해, 그 만회한다. 그것은 잘 될 것입니다. 그래서 발표의 몇 가지있다 일부 일정에 관한. 나는 약간의 스케줄링 문제가 있습니다. 그 다음 우리는로 이동거야 chmod를 불리는 것에 대해 이야기한다. 우리에 대해 이야기하는거야 신속 TCP / IP HTTP. 그리고 우리는 코드거야 우리 HTML과 CSS를 사용하여 자신의 웹 사이트. 그리고 사실은 아마 떠날거야 20분처럼 pset6에 대해 이야기합니다. pset6 실제로 많이 있기 때문에 우리는 이미 이전에 본 적이 물건, 하지만 새로 원 그 개념의 일부 뿐만 아니라 몇 가지 새로운 기능을 가르 칠 때. 시원한. 모든 그래서 일단, 휴식에서 돌아 오신 것을 환영합니다. 난 당신이 휴식 시간이 즐거웠다있어 바랍니다. 당신은 휴식에 들어하지 않았겠습니까? 청중 : 뉴욕에 갔다. ANDI 펭 : 당신은 뉴욕에 갔다? 나는 반 우리 학교를 생각한다 뉴욕에 갔다. 그것은 모든 권리입니다. 내 휴식의 대부분을 보냈다 침대 Netflixing에 앉아. 그리고 그것은 좋은 시간이었다. 그러나 우리는 다시, 다시 지금 세션, 다시 사물의 스윙. 우리는 정오에 이번 금요일 인해 PSET 있습니다. 나는 당신이 이미 것 같아요 그래, 당신의 퀴즈를 집어? 그래서 다른 사람이 누가있다 아니, 자신의 퀴즈를했다 와서 당신의 퀴즈 메일을 보내 주시기 바랍니다 섹션의 마지막 날에서. 또는 캠퍼스에 저를 추적. 어디 선가 나와 함께있을 것이다. 우리의 마지막 프로젝트는 사전 제안을도. 촬영 한 적이없는 사람들을 위해 이렇게 이전에이 클래스, CS50의 관석 정말이 절정입니다 학생들이 제안 그랜드 프로젝트. 및 미리 제안 그냥 일반적인 생각 하나가 수행 할 수 있습니다 무엇을 자신의 이 프로젝트는, 그 생각은 월요일 예정이다 정오에 다음주 월요일. 그래서 거의 다윗은 내가 생각 강의에서 이것에 대해 더 이야기 그는 이미하지 않은 경우. 그리고 고체 페이지있다 설명 우리의 웹 사이트에 프로젝트의 모든 요구 사항. 그러나 본질적으로, 선택 당신이 한 모든 항목 에 관심 여기에 당신의 시간을 통해 CS에서, 그것은 게임이 될 수 있는지 여부 디자인 또는 비디오 또는 아무것도. 그리고 당신은 정말 종류의 수 이제 교훈을 적용 우리는 안녕 CS50-- 여기에 배운 것을, welcome-- 지휘 꽤 많이합니다 당신의 선택의 최종 프로젝트. 모든 그 때문에 월요일입니다입니다 이메일을 통해 단지 간단한 추천 광고 나에게 빠른 문​​장, 이봐, 같은, 앤디, 나는 디자인에 정말 관심이 있어요 아이폰 OS에 대해이 작업을 수행하는 게임. 시원한. 그냥 나에게 간단한 초기하자 최종 프로젝트에 대한 아이디어. 그리고 우리는을 통해 얘기하자 여부 즉 실제로 좋은 생각인지, 그것은 실현 가능한 아이디어 나 아니라면. 그러나 단지 사전 제안 다음 주 월요일 때문이다. 잘못 pset6, 우리의 사랑스러운 web--. Pset7? pset6? 그것은 바로, pset6입니까? pset6, 우리의 웹 서버는 때문이다 늦은 날에 정오 금요일. 근무 시간은 월요일부터 정상적으로 재개 목요일 8시 11 이번 주에. 난에 대한 커먼즈 생각 다음 3 일. 시원한. 우리가 물질에 있었다 전에, 누군가를 수행 질문, 농담, 이야기가? 당신은 가을 휴식을 위해 무엇을 했는가? 청중 : 내가 뭘? ANDI 펭 : 이미 실제로 전 나이입니다. Christabel 뉴욕에 갔다. 나는 여기 Netflixed 머물렀다. 청중 : 오, 그래 난 여기이었다. ANDI 펭 : 좋아, 오. 청중 : 나는 기억하지 않는다 무엇을 구체적으로. ANDI 펭 : 그건 괜찮아요. 청중 : Netflixing 아마. ANDI 펭 : Netflixing. 그래, 좋은 시간이다. 그래. 괜찮아. 질문하기 전에 우리는 물질에 뛰어? 또한, 우리는 시도거야 섹션 오늘을 통해 속도, 커버 너무 많이하지. 희망, 우리는거야 여기 조금 일찍. 또한하지 사탕, 죄송합니다. 나는 실망이야, 특히 할로윈 기간 동안. 괜찮아. 시원한. 그래서 우리는 얘기를 시작하는거야 명령 행 인수는 chmod를 불렀다. chmod를, 그것은 모든 단지 유닉스 시스템입니다 명령 줄에서 실시 호출 파일 권한을 변경합니다. 그래서 예를 들어, 우리는했습니다 모든 페이지가 발생 이 같은 아마 언젠가에서 인터넷되는 우리의 수명 우리의 웹 서버가 사용자, 우리에게 금단의 오류를 주어진. 당신은 액세스 할 수있는 권한이 없습니다 옹알, 옹알, 옹알,이 서버에. 모든 것은 정말 의미 권한이다 즉 부착시켜, 어떤 페이지 액세스하려고했다 당신에게 공개하지 않았다. 그래서 꽤 많은, chmod를 의 방법은 우리는 그 시스템 권한을 수정할 수 있습니다 모두를 제공하고, 사용자, 그룹, 세계, 또는 또는 이러한 접근의 조합 특정 파일에, 디렉토리, 아무것도 정말, 시스템의 모든 종류의에 운영체제. 사람의 가지고 있다면 당신이 느끼는 경우에 컴퓨터 오늘 저와 함께 다음과 같은, 완전히 그냥 일을 입력 해 주시기 에서. 그렇지 않으면, 당신은 놀 수 있습니다. 그래서 실제로 당겨거야 지금 내 터미널까지. 그래서 명령을 실행합니다 chmod를, 또는 적어도 단지 의 권한을 나열하는 방법 파일 디렉토리, 그냥 LS-1입니다. 당신이 볼 수 있듯이, 한 무리의 물건까지 대부분의 아빠 에 우리에게 중요하다 여기서 좌측. 너희들은 RS, WS, 1 /의 무리를 참조하십시오. 네. 사람들은 본질적으로 모든 파일 권한 어떤 특정 디렉토리를 설명하기 위해 및 시스템 내에서 파일이 있습니다. 그럼으로 돌아 가자 여기에 파워 포인트. 그래서 파일명 이외에 너희들은 오른쪽에서 볼 수 있듯이, 우리는 기본적으로 볼을 찾고 있습니다 왼쪽에 바로 열입니다. 이외에 이렇게 다만 파일 이름, 우리 파일의 사용 권한을 볼 수 있습니다 자신의 소유자 그룹, 그룹 이름, 날짜 파일이 마지막으로 변성 등등. 당신은 chmod를을 사용하여 많은 것들을 볼 수 있습니다. 그래서 우리는 chmod를 읽기 방법이다 우리는 거의 무시 첫 글자 읽기 권한의 측면에서. 첫 번째 편지는 우리에게 무엇을 시스템의 유형은 우리가 액세스하는. D,이 경우, 인 폴더 또는 디렉토리. 그래서 우리는 현재 나의 작업 공간을 알고 섹션 일곱 디렉토리했다. 그리고 당신은 세 가지를 볼 화음, 본질적 세 문자의 세 세트. 그리고 당신은 약간의 각 생각할 수 있습니다. 그래서 당신은 3 세트가 3 비트, 합계 아홉 비트. 당신은 세 그룹으로 그들을 치료. 세 개의 첫 번째 그룹은 항상 사용자 권한. 세 번째 그룹은 항상 그룹 권한. 그리고 세의 세 번째 세트 항상 세계처럼 사방 권한. 그래서 쉽게 추측 물어 질문은 무엇인가 사용자 및 그룹 사이의 차이. 주요 차이점 사용자 및 그룹 사이 사용자가 당신이 개인적으로 그냥이다 그것이 지금 무엇이든에 접근. 여러있는 경우 그룹이 될 수 있습니다 예를 들어 하나의 컴퓨터에있는 사용자. 그들 모두는 하나의 그룹으로 취급 될 수있다. 그리고 세계는 바로 세계, 모든 사람. 어떻게 우리가 할 수있는 그래서 우리는 나중에 볼 수 있습니다 다른 권한에 사람들을 수정합니다. 그래서 꽤 많은, 우리는있어 여전히 초점을 맞출 것 왼쪽에있는 부분에 디렉토리 CS50을 위해 우리는 ¹ 록 drwx 참조 R 그냥 의미 곳 읽을 수 있습니다. W는 그냥 쓰기 의미합니다. 그리고 X 단지 이 실행 의미합니다. 당신은 종류를 생각할 것 의 이해가되지 않습니다. 그것은 전자해야한다. 그러나 가지 실제로 X 좀 더 나은 작품 당신이 더 잘 기억할 수 있기 때문이다. 사물의 그래서 세 가지 유형의 당신 할 수있다, 당신은 하나의 파일을 읽을 수 있습니다, 당신은을 쓸 수있는 권한을 가질 수 있습니다 파일 또는 권한을 가질 수 파일을 실행합니다. 그래서 방법이 우리가 실제로 비트 사람들을 대표 번호 4, 2 및 1이다. 그래서 읽을 수있어 아무것도이다 (4)의 개수로 표현. 쓰기의 건 (2)에 의해 표현된다. 실행 그리고 아무것도 1로 표시되는 바와 같이. 그래서 이런 의미에서, 우리는 또한 수 이 numbers--을 나타냅니다 안녕, 다른 방법으로, 환영합니다. 죄송합니다. 모두 전에, 나는 갈거야 모든 사람을 대신하여 사과 이제 클래스를 입력. 오늘 사탕을 잊어 버렸습니다. 나는 실패 해요 미안 해요 할로윈의 주. 나는 두 배의 금액을 가져올 것이다 사탕 그것을 만회하기 위해 다음 번에. 그러나 어쨌든, 죄송합니다 그 사람에 대한, 죄송합니다. 그래서 그 방법을 우리는 입력 실제로 수 우리의 명령에 인수가 우리입니다 chmod를 그룹 슬래시 권한을 수행 할 수 있습니다, 여기서 그룹이 단지 무엇 인 그룹 우리는 변경하려는. 그리고 권한은 우리는 그것을 추가 할 뭐든간에. 그래서 예를 들면, 플러스 권한을 추가, 및 빼기 권한을 멀리합니다. 그리고 그룹의 유형 우리는 우리가 모두를위한, U 사용자, 그룹 G, 또는 다른 사람에 대한 오. 그것은 지금 조금 추상적이다. 그러나 우리는 몇 가지 예제를 통해 갈거야 그냥 진짜 빨리을 보여합니다. 이 좋은 모두 슬라이드, 그래서 이동할 수 있습니다? 시원한. 그래서 예를 들어, RWX. 우리가 무엇을 나타내는 지에 대해 이야기하기 전에, 우선 RWX 무엇을 의미 하는가? 당신이 어떤 것을 볼 경우 파일 RWX의 권한이 그 의미가 무엇 사람은 할 수있을 수 있을까? 청중 : 읽기, 쓰기 및 실행합니다. ANDI 펭 : 네, 정확히. 당신은 쓰기 읽기 및 실행 할 수 있습니다. 이들 셋 모두 때문에 문자가 존재한다. 우리가 이야기 진행과 경우에 따라서 비트의 관점에서 이것에 대해, RWX는 700로 나타낼 수있다. 당신이 어떤에서 볼 수 있기 때문에 파일 디렉토리 권한의 종류, 세 화음이있다. 이 경우, 제 화음이 아무것도있다. 이 경우, R은 4이고, w는 2이고, X는 1이다. 당신이 함께 그를 추가 할 경우, 7이다. 그래서 당신은 변환 할 경우 그것은 700있어, 이진. 7 있기 때문에 첫 번째 트라이어드입니다. 0 현재 아무것도 없다 두 번째 화음. 그리고 현재 아무것도에 없습니다 세 번째 트라이어드는, 그래서 다른 0입니다. 그래서 화음 같은 의미에서, 무리 다만, 단지 비트로 표현 될 수있다 이진도. 그래서 700은 똑같이 같은 의미 권한의 측면에서 RWX ------. 모든 사람이에 명확한? 시원한. 그리고 chmod를 111 줄 것이다 파일에있는 권한? 사람 당신에게 몇 가지를 줘 초이 변환합니다. 첫 번째 기억 트라이어드는 사용자를위한 것입니다. 두 번째 인조 그룹입니다. 그리고 세 번째 화음은 모든 사람을위한 것입니다. 그리고 chmod를 111 줄 것이다 권한과 누구에게 유형? 에 몇 초 정도 걸릴 그것에 대해 생각하고 돌아와. 네. 청중 : 그래서 모두가 그것을 실행할 수 있습니다. ANDI 펭 : 그래, 정확하게. 청중 :하지만 아무도 읽거나 쓸 수 있습니다. ANDI 펭 : 그리고 주시기 바랍니다 모든 사람에게 설명하기 당신은 어떻게 그 결론에 도달했다. 청중 : 음, 사용자, 그룹, 세계, 그것은, 모두 1 이는 실행 파일의 코드입니다. ANDI 펭 : 네, 정확히. 그래서 하나,이 경우, 우리가 알고있는 모든이다 것을 그 실행 코드입니다. 독서가 4이기 때문이다. 쓰기는 2입니다. 그리고 실행은 1입니다. 그래서 세 화음 1, 즉되어있다 그 세계에, 사용자에게 의미 및 그룹에, 그들은 모든 실행합니다. 그 좋은 모두? 그래. 그리고 두 번째 방법 우리가 실제로 할 수 당신은 또한이 쓰기 바로 chmod를 할 수 있었다 플러스 X. 전부 또는 모두를 의미한다. 플러스 권한을주는 것을 의미한다. 그리고 X는 실행 파일을 의미합니다. 그래서 두 명령을 거기에 실제로 동일하다. 실행할 경우에 따라서 터미널이, 당신의 이름을 111 chmod를 할 디렉토리 나 파일. 또는 당신은 플러스 X chmod를 할 수있는, 디렉토리 파일의 이름입니다. 똑같은, 그냥 쉬운 방법, 아마도, 일부는 표현 또는 변경에 대한 파일 권한. chmod를 가진 모든 사람 확인 우리는에 이동하기 전에? 시원한. 그래서 지금 우리는에 머리거야 매우 추상적 인 개념의 몇 슬라이드 나는 꽤 많이 해요 있음 를 통해 산들 바람 것. 그리고 그것은 당신이 경우 완전히 괜찮아 모든 것을 이해하지 않습니다. 심지어 지금, 나는 아직도 정말하지 않습니다 완전히 모든 것을 이해합니다. 하지만 점점 더 최고 수준의 이해 이러한 몇 가지의 작동 방식. 그래서 우리는 말할거야 빨리 TCP / IP에 대한, 이는 바로 전송 제어입니다 프로토콜은 인터넷 프로토콜을 슬래시. 강의에서 기억, 다윗은, 그는 당신을 가르쳤 는가 그가 전달하려는 예 봉투의 노트 강당의 상단을 좋아까지? 법률 학교 강당에 따라서 다윗은 본질적으로 입증 방법 TCP / IP가 작동 감각 모두를 데이터를 확보하는 수단이된다 서버를 통해 전달 된 또는 인터넷에서. 봉투의 예에 따라서 및 메시지 끝에서 사용자 그것을 볼 수 있었다, 오, 나는에 필요한 정보의 네 개의 패킷을받을 수 있습니다. 그러나 실제로 세 개의을 받았다. 그게 내가 하나를 누락해야 함을 의미한다. 하나는 전달되지 않았다. 그리고 TCP / 인터넷 IP, 컴퓨터와 서버를 통해, 똑같은 일을한다. 이 수행은 모두를 지정할 수있다 프레임 워크 어떤 손실 된 데이터에 패킷을 재전송하고 수신 할 수 있습니다. 인터넷에서와 마찬가지로 당신은 시도 할 때 온라인 파일에 액세스하거나 파일을 보낼 수 당신의 친구 또는 웹보고 브라우저, 수천 수천 수십억의 정보 바이트 밀리 초마다 전송됩니다. 그리고 그것은 정말, 정말 혼란. 그리고 그것은 하드 정말 실제로 전송 된 어떤 건지 무엇을 보냈 아니에요. 그리고 TCP / IP는 단지 지정 응집력있는 프레임 워크 이는 웹에서 브라우저와 서버 종류의 통신 할 수 있습니다 서로 바로 패킷이 있는지 확인 모두 여기에 아무것도의 손실 요청한 모든 데이터 실제로 제대로 표시됩니다. 단지 아주에서 확인을 모두 간단한 높은 수준의 이해? 시원한. 그래서 우리는 이동하는거야 , HTTP에 대해 얘기에있는 바로 하이퍼 텍스트 전송 프로토콜입니다. HTTP는,이 모든 것은 모두 어떤 페이지입니다 또는 파일은, 당신의 웹 사이트에 액세스 할 수 있습니다 서버는 HTTP를 반환 응답 상태 코드 요청에 있는지 확인하기 중, 오,이 요청을 통해 갔다. 그리고 모든 게 제대로 표시. 또는, 아, 아니, 404. 문제가 발생했습니다. 아, 표시 할 수 없습니다. 그것이 모두가 무엇이든 그 당신은, 액세스하려는 사용자로 사용, 액세스하려고 internet--에서 바로 확인하고 당신이 중 하나를 성공적으로 가지고 그것이 여부를 어떤 접근 성공적으로 그것이 무엇이든 액세스. 그리고 HTTP 상태 코드는 당신을 제공 여부를 알 수있는 수단 여부는 성공하지 않았다. 그래서 예를 들어, 예시적인 요청. 당신은 그것의 여기에서 볼 수 있습니다 보통 일반적으로 네 줄. 우리는 그냥 GET의 HTTP 1.1을 가지고 방법 요청 URL, 프로토콜 버전 필드 이름, 및 필드의 값. 그래서 필요없는 완전히 여기에 아무것도 기억. 그냥 가지를했습니다 이러한 모습 방법과 자신. 이 예에서, 상기 방법 요청 URL은 무엇이든 요청 당신은 서버를 보내고있다. 이봐, 마찬가지로, 서버, 난 정말 원하는 액세스 옹알, 옹알, 옹알, HTTP 페이지. 프로토콜 버전은 무엇입니까 버전 호스트 또는 서버 정보에 액세스하는 데 사용하고있다. 필드 이름 사이트이거나 당신이 액세스하려는 URL, 이 경우, www.apple.com에서. 및 필드의 값은 다만 일반적으로, 값의 이름. 그리고 조합의 모든 종류의 수 있습니다 문자 나 숫자 또는 무엇이든의. 그래서 일반적인 요청, 그래서 어떤 컴퓨터를 실제로 헤이 말한다 서버로 전송, 당신은, 내가이 표시 필요한 게 뭔지 알아요 그 요청의 종류 그들은 실제로받을 수있다. 무엇의 예 응답 서버는 다시 보낼 것이다 거의 같은 일이 될 것입니다, 상단의 상태 코드를 제외하고. 그래서 200 2 0 0은 항상 확인에 대한 상태 코드입니다. 마찬가지로, 확인,이 요청을 통해 갔다. 당신은에 액세스 할 수 있었다 제대로 다. 인생은 좋은 것입니다. 인생은 괜찮습니다. 모든 것은 완전히 좋다. 그리고 이것은 단지 브라우저를 알려주고 서버, 헤이, 모든 게 좋아. 내가 필요로하는 모든 정보를 얻었다. 시원한. 그러나 문제는 때로는 문제가 올 당신은 내가 생각하는 마지막 잔 마셔요 때 나는 중복에 대해 이야기했다. 당신은 덜 좋은 반응을 가지고있다. 예를 들어, 404 그래서 찾을 수 없음 페이지입니다. 당신은 때때로 금지 액세스 할 수 있습니다. 당신은 다른 여러가 난 상태 코드 당신이있을 때 반드시 모든 봤어요 인터넷에 대한 연구를 수행하려고합니다. 그리고 당신의 브라우저가 당신을 제공합니다 아니, 액세스 할 수 없습니다. 그리고 당신은 쓰레기, 음, 같은거야. 그러니 그냥 꽤 많이있다 꽤 일반적인 상태 코드. 어쩌면 자신을했습니다 어떤 사람과 사람들입니다. 재미있는 일이 나는 내가 들어 본 것 같아요 동행입니다 당신이 일어날 경우 그들 모두를 찾아 온라인으로, 어떤 이유있다 실제로 진정한 상태 코드 나는 주전자 해요 (418)를 불렀다. 내가 봤 곳 이것의 기원에서였다. 그리고 분명히 하나의 만우절 ' 전 날 몇 년간, 사람은 재미있을 것이라고 생각 (418)라는 새로운 상태 코드를 만들 수 있습니다 나는 주전자입니다. 합법적으로, 이러한 이름 코드는 내가 주전자 해요라고합니다. 나는 당신이 무슨 페이지 잊지 실제로이 디스플레이를 만들기로 이동합니다. 그러나 분명히, 당신은 실제로 수 난 상태 코드를 얻을 어떻게 든 주전자 일을 통해. 그래서 거기에 수백 상태 코드 수백. 그들 중 일부는 더 많이 만들 다른 사람보다 의미. 그러나 꽤 많은 단지를했습니다 가장 일반적인 사람과 자신. 요청 엔터티 본문입니다 분명히, 짧고 단단한. 그래서 때로는 더있다 나는보다 무서운 오류는 찻 주전자입니다. 그러나 이것은 내가 추측 하나입니다 당신은 종류의 공격하도록하겠습니다. 하지만 난 당신이 생각하지 않습니다. 다만 상태에 대한 좋은 모두 코드, 요청, 프로세스, 만들기 확인 정보가 제대로 전달? 그래서 지금 우리는 변화에가는거야 섹션의 재미있는 부분 오늘의로, 여기서 우리는 HTML에 대해 조금 이야기. HTML, 모두는 하이퍼 텍스트입니다 마크 업 언어. 그것은 단지 표준 언어이다 당신은 모든 웹을 만드는 데 사용 인터넷 페이지를 참조하십시오. 그래서 모든 웹 페이지, 무슨 일이야 즐겨 찾는 웹 페이지? 즐겨 찾는 웹 페이지는 무엇입니까? 청중 : [들림]. ANDI 펭 : 죄송합니다? 청중 : 텀블러. ANDI 펭 : 텀블러. 그래서 텀블러는 HTML로 작성되었습니다. 그래서 우리가 실제로 통해 갈거야, 그리고 이러한 몇 가지 함께 놀러 나중에. 거의 모든 당신에게 알고, 배울 필요가있다, HTML을 작성하는 방법 당신은 아마 수 인터넷에서 바로 구글. HTML, 그것은 C와 같은 프로그램이 아니다 당신은 변수를 생성 할 수있는 그것은 멋진 일. 그것은 오,이 방법이다, 단지의 더 나는 일이 내 웹 사이트에 표시 할. 그리고 난 단지에 넣어거야. 그리고 그것은 스타일을 것입니다. HTML 그래서, 어떤 의미에서, 그것은 단지처럼 서식이나 템플릿 언어. 그것은 훨씬 더 쉽다. 그것은 배울 수있는 많은 쉽게 쉽게 많이 쓸 전형적인 프로그래밍보다 아주 쉬운 언어, 매우 사용하기 접근하기 쉬운. 그래서 우리는 실제로 연주거야 주위에, 오늘 우리 자신의 페이지를 작성합니다. 우리가 시작하기 전에, 난 그냥 원하는 몇 가지 간단한 모범 사례를 통해 이동합니다. HTML은 쉽기 때문에 언어, 심지어 때문에 당신은 몇 일이 잘못 할 경우, 그것은 때로는 알 수 없습니다 우리는 우리가있어이 있는지 확인하려면 실제로 우리의 모범 사례를 준수 확인하는 일이 그 주위에 갈 수 있지만, 항상 옳다하지하지 않을 수 있습니다 그들은 최소화하고 있는지 확인하십시오. 그래서 꽤 많은, 확인 당신의 폐쇄 모든 태그 때 HTML로 작성하고 있습니다. 당신이 여는 경우 몸, 당신이있어 확인 어딘가에 몸을 닫는. 당신이 있는지 확인하려면 당신의 웹 페이지를 사용하여 유효화 무엇은 W3 검사기라고. 당신은 그 온라인 단지 구글을 할 수 과 이용에 대한 링크가있다. 그리고 당신은 원하는 별도의 HTML, 어떤 마크 업 언어는, 당신의 스타일에서입니다 CSS 언어는입니다 데이비드 우리는 또한 걸 입증 강의와 비트를 연주하는 것. 시원한. 그래서 언제 당신은 실행하려면 CS50 어플라이언스에 HTML, 우리는을 실행하는거야 프로그램은 아파치를 호출 이는 모든 IT 단지에 내장되어 웹 서버 그 CS50의 모든 에 액세스 할 수 있습니다. 우리는 단지 우리 때문에 apache50 전화 CS50의 모든 50을 호출하고 싶다. 그래서 당신은 CS50 웹을 시작하는 방법 서버는 명령에 입력하는 것입니다 선은 점을 시작 apache50. 그리고 당신은 그것을 종료 할 경우 시간, 당신은 apache50 어떤 점을 종료하지 않습니다. 그리고 당신은 Enter 키를 누르십시오. 그리고 그것은 곧 여기 향하고해야합니다. 예. 그래서 난 그냥 빨리 가서거야 정말 간단한 웹 페이지의 예. 그리고 우리는 보낼거야 (10)처럼 15 분 재생 주위에 우리 자신의 웹 페이지를 작성. 그래. 그래서 여기 IDE--에 모든 사람이 그것을 볼 수 있습니까? 아니, 정말. 자, 내가 확대합니다. 난 그냥이 간단한 템플릿을 가지고 여기에 실제로 아무것도. 우리는 신속하게 작성하는거야 HTML 프로그램하는 우리 단지 세계에 인사. C에서와 같이, 지금 우리가있어 그래서 같은 일 단지 HTML에서 할 것. 사람이 실제로 단지를 원하지 않는다 나에게 제일 먼저 당신을 제공하려고 HTML 문서에 넣어야 할 것인가? 네. 청중 : 브래킷, [들림]. ANDI 펭 : 그래. 매우 독특한입니다 그래서 뭔가 HTML이 우리 일반적으로 전통적으로 다른 명령에 발생하지 않습니다 라인 레벨 프로그래밍 언어 우리는 그 사실에있다 파일의 유형을 지정할 이 될 것입니다 것을 우리의 코드의 상단에. 그래서이 instance--에서 생각 그 바로 오른쪽 명령입니까? 예. 상단에, 당신은 단지 포함 할 괄호 안에 빅뱅의 DOCTYPE HTML 단지 컴퓨터를 말하고, 이봐, 조심해. 그리고 HTML 문서오고있다. 그리고 우리가 어떻게할까요 우리의 파일을 시작? 우리는 그냥 인사하고 싶다면이 세계에 안부 웹 페이지, 우리는 어떻게이 건물 가야합니까? 사실, 이제 구글로 전환 할 수 있습니다. 그리고 우리는 실제로이 작업을 수행 할 수 있습니다. 예. 우리는 거기에 갈. HTML 그래서. 당신이 볼 수 있듯이, 브라우저는 실제로 자동으로 날 위해 스타일링. C, 당신을에서와 같은 일이 열린 중괄호를 작성, 브라우저 자동 가까운 중괄호에 추가합니다. 다행히, 우리의 IDE는 사랑 뿐만 아니라 우리를 위해이 작업을 수행. 그래서 지금 우리는 종류의 입력 할 수 있습니다 태그의 시작, 그것은 항상 우리를 말할 것 태그의 끝을 입력해야합니다. 나는이 대문자로 할 필요가 생각합니다. 그리고 우리가 추가 할 항상, 머리가있는 제목입니다. 우리는 어쩌면 전화를 걸 이 인사하고 몸. 그리고 거기 당신은 간다. 즉, 실제로 우리의 HTML 문서입니다. 그래서 방법이 어떤 HTML 문서 항상 같은 일 in-- 스타일입니다 INT 주요 무효와. 당신은 항상 갖고 싶어 열고 닫는 태그를 HTML 코드의 상단과 하단에. 당신의 내부에 머리를 갖고 싶어 이는 단지 어떤 제목을 포함 웹의 탭을 표시하는 것입니다 페이지 및 다음되는 내부 몸체 실제로 콘텐츠를 표시 할 무엇이든 당신이하고 싶은. 그래서 당신이 실제로 실행하기를 원한다면 이, 나는 다시 밖으로 확대거야. 당신은 실제로 시작할 수 있습니다 점을 시작 apache50. 시원한. 그리고 당신은 지금 볼 수 있도록 이 링크는 팝업있다. 그것은 당신의 위치가 지금 말한다 다음과 같은 몇 가지 링크에서 사용할 수 있습니다. 그래서 우리의 모든 IDE는 done--있다 하지 IDE, 그래 sorry--, 수행 한 우리의 IDE는 웹을 만들 수있다 링크 웹 페이지있는 모든시 서버에 액세스 할 수 있습니다. 그럼 여기에서 살펴 보자. 이제,이 클릭 hello.html에 가자. 그리고 당신은 매우 간단한 참조 안녕하세요 세계에 대한 웹 페이지. 그래. 우리는 실제로거야 단지 그래 everyone--, 무슨 일이야 있나요? 청중 : 나는 기본적인 질문이 있습니다. ANDI 펭 : 아, 그래. 청중 : 당신은 어떻게 저장합니까 HTML로 파일? ANDI 펭 : 네. 나는 새 파일을 만들 수 있다면 그래서, 나는 새 파일을 할 경우, Untittle, 내가 할 경우, section.html, 붐, 그게 내가해야 할 전부입니다. 청중 : [들리지]? ANDI 펭 : 아니오. 청중 : [들림]. ANDI 펭 : 아니오. 청중 : [들림]. ANDI 펭 : 네. 꽤 많은, 확장 당신의 IDE 내부 파일, 그는 컴퓨터를 알려줍니다 브라우저가, 이봐, 조심해 알려줍니다. 이 코드가 될 것입니다 이 언어로 작성. 예를 들어, 마이크로 소프트에 따라서 워드, 모든 Word 문서를 무엇 어떤 확장자로 끝? .DOC 또는을 .docx, 오른쪽? 않는 것을 모두에 지정 운영 체제, 헤이, 당신은 오는 Word 문서를 가지고있다. 말씀을 엽니 다. PDF 파일과 같은 것. 그것은 오, 내가 필요, 알고 이 파일을 엽니 다 어도비 리더 또는 Adob​​e Acrobat와. 그리고 확장 운영 컴퓨터에서와 같은 방법으로. 당신은 당신의 코드 페이지를 지정하는 경우 에, 그것은 알고, HTML을 명명 할 수 오, 당신은 HTML 코드를 가지고있다. 나는 HTML 코드로 취급거야. 그래서 그런 의미에서 슈퍼 스마트입니다. 그래서 모두가의 10 분처럼 보자 바로 우리 자신의 웹 사이트를 만들 수 있습니다. 의이 사랑스러운 것들에 추가 할 수 있습니다. 당신이 원하는대로 말을 주시기 바랍니다. 난 그냥이 있는지 확인하려면 모든 사람의 서버가 제대로 실행되고 우리는 PSET으로 당신을 해제하기 전에. 때문에 서버의 경우 PSET에 대한 실행되지 않습니다, 그건 정말, 정말 나쁜 것입니다. 난 그냥 주위에 떠있는거야 및 모두가 작동하고 기능을 참조하십시오. 어떻게되고 있습니까? 청중 : 난 그냥 내 컴퓨터에 돌았 다. ANDI 펭 : 그건 괜찮아요. 청중 : [들림]. ANDI 펭 : 그냥 당신의 IDE. 네. 청중 : [들림]. ANDI 펭 : 괜찮아요. 청중 : [들림]. ANDI 펭 : 모두 괜찮아요. 모든 사람이 액세스하는 자신의 웹 서버 확인? apache50 확인을 실행하고 있습니까? 나는 몇 가지 생각 다른 섹션, 우리 사람없는 문제가 있었다 서버에 액세스 할 수있는. 네. 그래서 당신은 apache50 실행 공간은 공간주기를 시작합니다. 청중 : [들림]. ANDI 펭 : 아, 그래. 좋다? 청중 : [들림]. ANDI 펭 : 좋아, 오. 그래서 당신은 공간이 하잖아요. 그래서 apache50-- 청중 : 내가 그랬어. ANDI 펭 : --start 공간. 청중 : 아, 공간 점. ANDI 펭 : 아, 그래, 공간 점. 거기 당신은 간다. 그럼 당신이있는 경우 생성 된 HTML 페이지, 다음은 직접 갈 수 있습니다 이 지정하는 링크. 그리고 그 파일을 액세스 할 수 있어야한다. 모두가 할 수 있었다 자신의 웹 페이지를 확인 액세스? 청중 : [들림]. ANDI 펭 : 아, 괜찮습니다. 청중 : [들림]. ANDI 펭 : 네. 나는 당신이 실제로 열 수 있다고 생각 브라우저, 브라우저 내에서 뿐 아니라 당신의 IDE 브라우저. 그래, 난 당신이 복사하면 생각하고 붙여 넣습니다. 청중 : 그리고 어떻게 우리는 그것을 끄나요? [알아들을 수 없는] ANDI 펭 : 그래, 당신이 apache50없는 기간 중지합니다. 예. 청중 : [들림]. ANDI 펭 : 없음 기간. 네. 우리는 거기에 갈. 예. 우리는 우리 자신의 웹 페이지를 만들고 있습니다. 청중 : 아, 멋진. ANDI 펭 : 네. 청중 : 나는 질문이 있습니다. 그래서 아파치 50-- ANDI 펭 : 50, 그래. 청중 : [들림]. ANDI 펭 : 무엇? 그 이상입니다. 참조 그 문제의 종류이었다 그 전에 무슨 일이 일어나고. 그래. 섹션 후 저를 참조하십시오. 우리는 몇 가지를 가지고 있기 때문에 서버에 문제가 있습니다. 그리고 당신은 만들고 싶어 서버가 있는지 확인 PSET을 시작하기 전에 실행. 당신이 그것을 필요로하기 위하여려고하고 있기 때문에. 네. 하지 않았다 다른 사람이 있습니까 수 자신의 서버가 시작 얻을 수 있습니까? 추가하고자하는 사람들을 위해 웹 페이지에 추가 스타일, 우리가 실제로 무엇을 할 수 다윗은,뿐만 아니라 강의에서했던 이는 부가적인 스타일을 만들 수있다 도트 CSS입니다 시트, 계단식 스타일 시트 실제로 단지에 추가합니다. 그래서 예를 들어, 난 그냥 만든 거의 거의 동일한 하나 다윗은 강의했다. 당신은 거의 그냥 몸을 할 수 있습니다. 당신은 태그라고 무슨이있는 당신은 어떤 부분을 IDE에 적용 할 수있는 당신은 내하려는 HTML 페이지에 실제. 그래서 페이지의 본문, 당신 텍스트 정렬 센터를 수행 할 수 있습니다. 그리고 나는 소재를거야 내부 태그라는 최고 그 중 나는 이러한 일을 할 더 큰 픽셀 크기를 할당 일어날 글꼴. 나는 글꼴 두께가 굵은되고 싶어요. 그리고 색상을 원하는 다만 임의의, 청색 내가 선택한 결정 값. 나는 중간라는 또 다른 태그를 만들 수 있습니다. 글꼴 크기가 조금 작은합니다. 그리고 나는 또 다른 태그를 만들 수 있습니다 내가 글꼴 크기를 원하는라는 바닥 여전히 더 작은 수 있습니다. 그리고 꽤 많은 이것은 단지 예입니다 소스 코드 또는 소스 스타일 시트 그냥 구글에 아주 쉽게있다. 당신이 말한다면, 오, 내 글꼴을 원하는 이탤릭체 및 녹색 어두운 될, 당신은 구글 아마 수 다음은 당신을 말할 것이다 해당 태그 또는 ID를 만들 수 있습니다. 그리고 그 방법을 실제로 것 가지 HTML 문서이있을 또는 당신이 가지고있는 모든이다 사용 여기에해야 할 것은 머리에있다 스타일 시트에 대한 링크를 추가 할 수 있습니다. 그래서 당신은 HREF 등호를 연결할 수 있습니다 스타일 시트의 어떤 이름 이다. 그리고 관계 스타일 시트이다. 그래서 모든 HTML 문서 내에서, 긴으로 이 점 CSS의 시트를 포함로, 당신은 액세스 할 수 있어야합니다 거기 속성을 가지고있다. 그래서 예를 들어, 여기에 그냥했습니다 다른 예시적인 웹 페이지를 생성한다. 이 CS50 섹션에 오신 것을 환영합니다 2:00에서 나와 함께시 30 분에 화요일. 그리고 나는 사랑스러운 이미지를 추가 한 그 우리는 잠재적으로 볼 수 있어야합니다. 그래서 당신이 여기 좀 봐 경우, 당신이 style.html로 이동하는 경우, 우리는 고양이와 웹 페이지를 만들었습니다. 고양이 때문에 굉장하다. 그래서 이미지가 바로 SRC 링크를 IMG됩니다 추가. 이 있다면, 꽤 많은 기능의 어떤 종류 당신은 추가 할 당신의 website-- 자, 가정 해 봅시다 당신은 메뉴를 추가 할 또는 검색 창 또는 같은 image--은 구글은 그 작업을 수행하는 방법. 그리고 당신은 단지 형식으로 풍덩. 그리고 당신이 할 수있는 단지 꽤 많은 단지에 추가합니다. 정말, 정말 간단합니다. 우리는 우리 자신을 만드는 웹 페이지 지금. 당신은 이러시면합니다 청중 : [들리지] ANDI 펭 : 죄송합니다? 청중 : [들림]. ANDI 펭 : 아, DIV는 부문이다 오, 내가 가진 것을 말해 라는 특정 섹션 중간은 내가이 적용 해요 CSS 내 태그 후 바닥 내 다른 부서. 즉, 당신을 말하고 모두이다. 그것을 유지하는 것이 좋다 때문에 순서 깔끔한 것, 그래서 프로그램이 실행하는 방법을 정확하게 알고있다. 그리고이 붙여 넣기 복사 할 수 있습니다 생각 뿐만 아니라 내 실제 브라우저에. 그것은 잘해야한다. 네. 야호. 모든 사람이 원하는 경우에 따라서 단지 웹 페이지를 만들어보십시오, 우리는 또 다른 2 ~ 3 분의 시간이 소요됩니다. 난 그냥 있는지 확인하려면 모든 사람의 서버를 실행하는 모두가이 그 작업을 수행하는 방법의 생각. 너희들이 원하는 경우 컴퓨터를 꺼내. 아직 작동하지? 청중 : 난 그냥 [들리지]입니다. ANDI 펭 : 아마뿐만 아니라 50을 업데이트하려고합니다. 네. 청중 : [들림]. ANDI 펭 : 네. 그래서 새를 길을 시작하는 것이 IDE에 웹 서버는 그냥 apache50 공간 시작 공간 점을. 난 그냥 확인하고 싶었 모든 사람의 서버 확인을 실행하고 있습니다. 여기에, 터미널 : 청중? ANDI 펭 : 네. 청중 : [들림]. ANDI 펭 : 아파치. 사실, 난 당신이 것 같아요 이미 뭔가를 실행. 그래, 당신은 실제로있어 다른 서버를 실행할 수 있습니다. 그래, 당신은 좋은거야. 만큼 그 일하고, 당신은 OK입니다. 청중 : OK. ANDI 펭 :이있다 방법은 서버를 실행합니다. 따라서 한 가지 방법 중 하나로서 노력하고, 모든 권리입니다. 우리는 다른 분 걸릴거야 단지 종류의 마무리합니다 무엇이든의 마무리 손질 웹 페이지 너희들 만들고 싶었다. 모두가 방식으로 작동합니까? 모두의 서버는 당신을위한 외에 실행? 우리는 알아낼 수 있습니다. 그리고 HTML의 매우 간단합니다. 그래서 우리 모두가 좋은 것 같아요. 네. 내가 다시 올 것이다. 청중 : [들림]. ANDI 펭 : OK. 청중 : 그래서 그것은 단지 로드하기 시작했다. ANDI 펭 : 아니 걱정. HTML 그래서, 소스 코드가 있음 섹션 후 온라인으로 될 것입니다. 또한 다윗은 전체가 무리 온라인뿐만 아니라. 위에 그냥 가지 눈에 HTML 페이지를 작성하는 방법을 참조하십시오. 그것은 매우 간단합니다. 뭐든지 당신은 당신이 꽤 몰라 많은 단지 구글과 당신은 좋은거야. 난 그냥이 있는지 확인하려면 서버가 실행 중입니다. 청중 : 그것은 종종이 작업을 수행합니까? ANDI 펭 : 그것은 내게 일어난 적이 없어요. 나는 심지어는 최대 절전 모드 수 몰랐다. 청중 : [들림]. ANDI 펭 : 내가 생각하는 everyone-- 광산 전에 최대 절전 모드 적이있다. 그리고 난 이유를 모르겠어. 그것은 이상한. 청중 : [들림]. ANDI 펭 : 당신은 최대 절전 모드로되어 있습니까? 청중 : [들림]. ANDI 펭 : 네. 청중 : 괜찮아요. 한 번 그래서 열려. ANDI 펭 : OK. 우리는 일부 서버를 처리합니다 섹션 후 문제. 당신은 잘해야한다. , 당신은 당신이 있는지 확인하려면 있지만 당신이 떠나기 전에 해결하자. 때문에 경우 서버의 실행하지 않는, 당신은있어 를 수행 할 수 않을 PSET, PSET의 일부 등이다. 그래서 당신이 있는지 확인하려면 그 것을 일하고있어. 시원한. 괜찮아. 안녕 새끼 고양이를 말한다. 나는이 찾고있는 사람이 오랜 시간을 보냈다 그 새끼 고양이 사진에 넣어. 그래서, 어쨌든. 청중 : [들림]. ANDI 펭 : 죄송합니다? 청중 : [들림]. ANDI 펭 : 나는이 웹 사이트에 생각합니다. 사양처럼? 청중 : [들림]. 나는 사양 그냥 생각 주 일곱 온라인. 난,이 pset6라고 생각 우리는 일주일에 일곱에있어 비록 한 비트 컴퓨팅이다. 청중 :하지만 내 말은 당신이 경우 당신이 경우 at--보고 싶어요 우리의 버전을 끌어 할 우리의 단절에서 웹 사이트? 그래서 같은 server.c은 PSET 오른쪽입니까? 당신이보고 싶은 경우에, 등이 체크 아웃하는 방법? ANDI 펭 : 아, 실제로 그렇게 PSET는 모두 우리가하고있는 여기, 여기 implementing--된다 나는이 잠시 동안 이동합니다. 다만이라도 그 모두를위한 그래서 절, 너희들은 운에 있습니다. 아주 작은 물질이있다 실제로 오늘 커버하는. 난 그냥 다음을 보낼거야 PSET 도움을 통해 갈 20분. 유용한를 거기 때문에 당신의 인생을 도움이 될 것입니다 기능. 희망, 우리는 밖으로있을 것이다 의 여기 20분 같은있다. 그래. 그래서 pset7은 잘못된 것입니다. 우리는 일주일에있어 비록 일곱, 실제로 pset6입니다. 나는 그것을 바꿀 수 있습니다. 모든 우리는 pset6에서하고있는 웹 서버를 만드는 것입니다. 즉 슈퍼 무서운 소리. 특히 사람들을 위해 당신이 이미 가지고있는 , 배포 코드를 보았다 코드의 많은, 많은 코드가있다. 하지만 완전히 정상입니다. 본격 비교 때문에 실제로 만드는 부분 서버는 우리가 수행된다. 모든 당신이 정말로 묻는 메시지 이 PSET에서 할 그냥 문자열 조작을 할 수있다 파일 I / O. 그것은 사실이다 아주 간단한있다. 그래서 먼저 that--을 다운로드 할 때 사람 여기에 실제로 이미 다운로드 한 PSET와는 모습을 촬영? 괜찮아. 네. 코드의 500 라인처럼있다 당신처럼 될 거라고, 무슨 일입니까? 그리고 완전히 괜찮아요. 당신은 워크 스루를보고 있는지 확인합니다. 다윗이 그리고 - 때문에 모르겠어요. 나는 Zamyla의,이 하나를 생각하지 않습니다. 그러나 나는 다른 생각 워크 스루가 꽤 있습니다 측면에서 유용 당신이 알려 무슨 코드의 내부에 것입니다. 그리고 그것은 완전히 확인합니다. 때문에 당신이있어 네 가지 기능 실행하라는 메시지가 실제로있다 제로는 실제 서버와해야 할 일. 그들이 할 일은 그냥 다른 문자열을 구문 분석, 문자열을 통해 검색, 확실히 일을하고있다 만들 그들이이되어있는 것은 일을해야합니다. 그 효과 그래서, 거기에 매우, 매우 유용한 기능, 특히 문자열 조작, 즉 우리 모두가해야 내가 줄 알았는데 것을 가서 너희들을 위해 매우 유용 PSET을 시도하기 전에 배울 수 있습니다. 그리고 그들은 모두 포함하고 당신의 string.h 라이브러리 내. 아마 더 유용있다 내가 여기에 포함되지 않은 기능, 나도 그들을 사용하지 않기 때문에 또는 아마 나는 단지 그들이 존재 몰랐다. student.h을 통해 눈 주시기 바랍니다. 많이있을거야 때문에 기능으로 매우 유용 것을. 그래서 여섯 내가 가장을 사용하는 내 내가 지난 주에 그 일을했다 PSET strtok를 strchr과, strrcher는 있었다 strstr과, strcasecmp 및 strcpy를. 그리고 마지막으로 두 사람은 보일 수 있습니다 당신의 가장 꽤 익숙한. STR의 경우는 않습니다 모든 비교하고, 비교 문자열은 어떤지를 확인하기 위해, 경우를 포함. 그리고 strcpy를 그냥 복사 버퍼에 하나의 문자열. 그리고 그 두 매우 보인다해야 이 시점에서 너희들에게 익숙한. 우리는 그들에게 많이 사용했기 때문에, 특히 마지막의 Pset합니다. 그러나 아마도 처음 네 당신은 지금까지 보지 못했다. 하지만 난 그냥 그들을 통해 걸어 갈거야. 그들은 당신의 삶을 만들려고하고 있기 때문에 정말 쉬운 for-- 정말 쉽게, 이 다가오는 PSET뿐만 훨씬 쉽게. 그래. * CHAR strtok를 따라서,이 함수는 이 기능에 대한 정의가 포함 된 문자열, 시간 라이브러리 내. 당신은 문자의 입력 *을 부여하는 경우 단지 문자열 문자열, 또는 일정한 문자 * deliminator, 짧은 DELIM, 모든 그것은 더 큰 파괴되어하고있어 우리가 부르는 일련의에 문자열 소정 값에 의해 분리 된 토큰. 그래서 어떤 의미에서, 나는라면주는 이 문자열입니다, section.7.php. 내가 통과한다면 그래서 것 이 같은 내 STR에, 내 숯불 * str을, 내 deliminator 도트 인 경우, 모든 할 것이다 문자열을 통해 검색입니다. 그리고, 처음 그 점을보고, 그냥 포인터로 반환 발견 된 마지막 토큰 이 전에 문자열. 그래서 바로 여기에 갈 것입니다. 그리고 그냥 날 7.php 줄 것입니다. 그리고 나는 전화를한다면 한 번 더 기능, 그것은 나에게 단지 .php가를 줄 것이다. 그리고이 모든 기능을하고있다 더 큰 문자열을 분해한다 따라서 작은 문자열로 당신이 찾고있는 무엇에. 그래서 예를 들면, 모습 업 기능 당신이보고 싶을 경우 어떻게 특정 문자에 대한 올 또는 도트 일 또는 확장이 발생하는 경우, 이 기능은 매우 유용 할 것이다. 네. 걱정 마. 이것은 모든 군자 그래, 무슨 일이야 것인가? 청중 : 첫 번째 줄에 따라서 우리는이 예제를 사용한 경우, 우리는에 무엇을 삽입 할 것인가? ANDI 펭 : 네. 당신은 단지를 호출 strtok를 문자열 쉼표 DELIM. 그리고 문자열 section.7.php과 같다. 그리고 당신은 DELIM있어 단지 점에 동일한 수 있습니다. 청중 : OK. ANDI 펭 : 네. 그냥 그렇게. 이러한 모든 기능들은 상당히 아르 우리는 그들을 통해 비슷한을 갈 때. 그들은 단지 약간 다른 일을. 그러나 그들은 모두거야 당신의 인생을 더 쉽게합니다. 두 번째 기능이 하나의 같은 슈퍼 중요 슈퍼 슈퍼,,, 최대 개최되는거야입니다. 죄송합니다. 첫 번째에 대한 strchr과 검색 occurrence-- 실제로, 그래. strchr과는 기능입니다 나는 확실히 그냥 갔다. 그래서 내가 말한 무시 첫 번째 기능. 그것은 실제로 strchr과라고. 그래서 여기에 무슨 일이 있었 것이다하는 경우입니다 당신은 숯불 C에서 문자열을 받았다, 그냥 줄 것이다 당신이이었다 무엇 이건. 네. 그래서 STR,라고 생각하는 문자로 문자열 및 CHR입니다. 그래서 당신이해야 할 노력하고 모든 검색입니다 에 대한 문자는 문자열 내에서입니다. 그리고 그것은 제 검색 문자의 발생 문자열 STR에서 C. 청중 : [들림]. ANDI 펭 : 아, 그래. 그리고 그것을 발견하지 않은 경우 그것은, 그것은 NULL을 반환하는 것입니다. 그래서 무슨 일이 매우 될 PSET 일에 너희들 유용 , 말, 당신은 찾고 있었다 낱말을 .docx 같은 확장 문서 나 PDF 문서에 대한 .PDF, 당신은 종류의보고를 사용할 수 있습니다 무엇 이건 나중에입니다 때마다 당신이 바로, 점을 볼? 그리고 꽤 많은, 당신 경우 기능을 통해 그 실행, 이 NULL을 반환하는 경우, 당신은 알고 그것을 그 이 의미하는 점을 찾을 수 없습니다 명확하게 유효한 파일 확장자 없습니다. 아니면 돌려주는 경우 무엇인가, 당신은 알고있다 그것은 어떤의를 반환 할 것 실제로 확장 후. 했다 분들 그래서 조회를 통해보고 시작 이 함수의 구문 분석 가는 매우 유용합니다. 그래서 우리는 실제로거야 이를 사용하는 방법을 보여합니다. 왜 너희들은 작성하지 마십시오 기능 부울 문장의 문자는 *의 그 S가 인 경우 만 true를 반환 문장과 그렇지 않은 경우는 false. 그래서 당신은거야, 힌트 아마 strchr과를 사용합니다. 또는 당신은 단지에서 검색 특정 문자에 대한 문자열입니다. 그래서 문장, 어떤 문장을 분리 비 문장에서, 어떤 특정 문자? 청중 : 공간. ANDI 펭 : 공간, 오른쪽? 그리고 그래서 우리는 아마가는 않습니다 여기에이 함수 내에서 수행 할? 청중 : [들림]. ANDI 펭 : 우리는 strchr과 할거야 공간의 모양에 대한 문자열입니다. 그 다음 무언가를 반환하는 경우 때문에 우리는이 문장을해야한다는 것을 알고있다. 그게 우리가해야한다는 것을 의미한다 이 문자열에 공백이 있습니다. 어떤 공간이 없다면, 우리는 알고있다 즉,이 봐,이 문자열이 아닌 것 같아요. 그것은 아마 정말로 긴 단어입니다. 그래서 나는 사람 당신에게 몇주지 분은이 함수를 작성합니다. 네. 청중 : 당신이나요 사용자로부터 문자열? ANDI 펭 : 네. 그래서 이것은 단지 기능입니다. 그래서 메인 함수 내 상상 당신은 이미 여기에 가자 잔 마셔요. 그래. 그래서 나는이 프로그램을 어디 작성했습니다 내 주요 기능 곳이 난 그냥 두 문자열을 만들었습니다. 첫 번째는, 안녕 내 이름입니다 분명히 Andi--, 문장이다. 내 두 번째는 그냥 앤디는 분명히 문장 없습니다. 그래서 나는 그 모두를 실행 해요 이 기능을 통해 문자열. 나는 너희들이 차가운 문장을 쓰고 싶어요. 그리고, 그 값을 저장하고있어 다음 단지 그들을 밖으로 인쇄. 그래서 사용자가 있다고 생각 문자열에 전달하는 것. 그리고 당신은 본질적으로거야 이 문장의 아닌지 파악 이에 따라 true 또는 false를 돌려줍니다. 너희들을 부여하려면 엄지 손가락 또는 헤드 업, 헤드 고개를 끄덕, 누군가를 시작할 준비 이, 그건 좋은거야. 아마 같은 30 초 이상? 괜찮아. 당신이 시도 할 수 있는지 보자 이 함수를 작성. 난 그냥 갈거야 coding-- 따라서는 의사 종류의 지금이 권리를 걷는다. 꽤 많은, 우리가 알고있는 우리가 사용할 필요가 기능. 우리는에 그 함수를 호출하는거야 우리의 문자열과 공간에 대한 검색. 무언가를 돌려주는 경우, 우리는해야합니다 분명히,이 문장 것을 알고 있습니다. 때문에 공간이있다. 그럼 우리가 true를 반환하는 것입니다. 그 밖에, 우리는 false를 반환하는 것입니다. 사람이주고 싶지 않습니다 나 코드의 첫 번째 줄 우리는 실제로 거라고 이 기록하는 데 사용할? 실제로 가장 어려운이다 코드의 라인뿐만 아니라. 네. 청중 : 만약 strtok를 s-- ANDI 펭 : 그냥하면 strchr. 청중 : [목소리를 개재] 공간이 널 (null)와 같지. ANDI 펭 : 차가운. 정확히 맞아. 모두가 그 첫 번째 줄을 이해? 우리는 strstr과 전화를 겁니다 검색 기능은 어느 문자열의 공간의 문자에 대한. 그것을 발견하면, 그것은 것 즉 경우에 대한 포인터를 반환한다. , 그것을 찾을 수없는 경우 그것은 NULL을 반환하는 것입니다. 이 이외의 반환 그래서 만약 NULL, 우리는 공간을 발견 알아요. 말이 돼? 시원한. 괜찮아. 우리가 알고있는 경우에 따라서는 찾았다 공간, 우리는 무엇을할까요? 청중 : true를 돌려줍니다. ANDI 펭 : 아, 그래. true를 돌려줍니다. 그리고, 누군가가 원하는 나를 위해 기능을 마무리? 네. 그렇지, 그냥 그렇게. 그리고이 컴파일하려고합니다. 예. 너희들에서 볼 수 있듯이 그래서 출력은 C에서 부울 기억 항상 이진 표현된다. 1 사실이다. 0은 false입니다. 우리는 이것을 실행한다면 문자열 하나에 기능하는 안녕하세요, 제 이름의 Andi--입니다 결과 명확, sentence-- 사실 1로 인쇄. 단지 하나 인 제 2, 단어, 인쇄 및 결과 0에있는은 false입니다. 방법에의 모두 명확한 종류 이 기능은 작성된? 네. 청중 : 우리는 또한 대신, 할 수 아니, 0과 동일 동일 동일하지 않습니다, 있도록 같입니까? ANDI 펭 : 아니오. strchr과는 기능이 있기 때문이다. 나는이 위로거야. 그래서 반환 형식은 무엇인가 우리의 strchr과 기능? 청중 : OK, 오. 또는 NULL. ANDI 펭 : 네. 그것은 나에게 알려주는 숯불 *의 어떤 이 기능은, 반환 할 것입니다 이 포인터가 될 것. 어느 포인터가 될 것입니다 이 그것을 발견 어디를 가리키는, 또는 반환 것 포인터는 NULL입니다. 어느 상황에서, 그것은거야 무엇인가에 대한 포인터를 반환합니다. 그래서 당신은 동일시한다면 이것은, 0, 동일 같음 당신은 컴파일 오류가 발생하는 것입니다. 이 포인터를 반환 것 때문에. 그리고 당신은 시도거야 정수에 대한 포인터를 비교한다. 그리고 컴퓨터가 아닙니다 그 좋아하는 것. 네, 정확히. 시원한. 모두 좋은? 그리고 둘째로, 우리는 갈거야 함수 호출 strstr과 이상. 이 경우 걱정하지 기능을 혼동한다. 그들은 저를 혼동하고있다. 따라서, 너희들은 볼 수 있었다, 그들은 모두 거의 같은 소리. 그냥 때마다 혼란스러워, string.h 라이브러리를 당깁니다. 그리고 너희들은 정렬 할 수 있습니다 어느 하나의 통해. 그래서 strstr과, 않는 모든 검색입니다 완전히 다른 문자열에 대한 문자열. 어디 strchr과 단지 검색 하나의 문자, 전체 문자열에 대한 strstr과 검색합니다. 그래서에서보고 싶어, 내가하지 알고 안녕하세요, 제 이름은 앤디이다. 그리고 내 가장 친한 친구의 이름은 앤디이다. 나는이에 대한보고 싶었다면 앤디의 전체 단어 문장, 내 바늘했을 것이다 당신이 무엇을 찾고 있습니다. 그리고 당신의 건초 더미는 무엇입니까 당신은 그것을 찾고 있습니다. 그래서 만약 당신이 찾고있는 문장 내에서 특정 단어, 그 단어는 바늘 될 것입니다. 그리고 그 다음 문장 자체 당신의 건초 더미가 될 것입니다. 그래서 그냥 검색 첫 발생 문자열 바늘의 문자열 건초 더미에서. 그것은 포인터를 반환 첫 번째 항목에. 이 경우에는 기억 제외하고는, 야 전체 문자열이 처음 발생 당신이 검색하는 것을 용뿐만 아니라 문자. 그래서이 거의입니다 함수와 같은 일 우리는 단지 단지로, 한 좀 더 특이. 당신이 검색하는 때문에 단지 하나의 문자보다. 그리고 사용은 정확한 동일 우리가했던 하나. 이와 확인을 모두? 그래. 우리가 갈거야 마지막 이상은하지 않은, strrchr입니다 strstr과 함께 또는 strchr과 혼동. strrchr 거기에 별도의 연구가있다. 당신이 입력 할 때주의해야합니다. 당신은 자신을 포함하여 찾을 수 있습니다 R을 포함하는 별도의 R 여부, 다음 기능 작동하지 않을 받고 있습니다. 그리고 당신은 혼란이 될 것입니다. 맞춤법 있다는 것을주의 이러한 모든 기능이 좋아. 그래서 strrchr 정확 strchr과 같이 같은 일 그것은 제되지 검색 제외 특정 문자의 발생, 오히려 마지막에 출현. 그리고, 그런 의미에서, 거의 동일한입니다. 하지만 그 대신 이동 문자열에 전달, 당신은 이동 될거야 거꾸로 문자열. 똑같이, 당신이있어 그냥 다른 순서로 검색. 그리고이, 슈퍼 수 당신 조회를위한 슈퍼 유용 기능 제 당신의 PSET에 기능. 우리가 쓰기 필요가 있다고의 척하자 빈 확장 기능하는 우리 상수 * CHAR 파일명 합격 다만 문자열, 파일명, 즉, 그 이름과 인쇄에 소요 해당 파일의 확장자가 부족합니다. 내가했다 예를 들어, 그래서 pset7.zip의 문자열을 전달, 그냥 인쇄 것 .ZIP 인 확장. 그리고 이것은을 위해 일 것 확장의 어떤 종류, PDF 용 Word 또는 .PDF 대한을 .docx 파일 또는 HTML 파일 .html 파일. 거의, 쓰기 그렇게 할 수있는 기능. 사실에 갈거야 IDE로 전환. 그것은 거기 load--되지 않은 우리는 간다. 그래서 내가 여기에 수행 한 모든입니다 숯불 *, 첫 번째 문자열을 생성, pset7.zip했다. 나는 확대거야. 나는 두 번째 문자열을 만들었습니다 finalpaper.docx했다. 그리고 나에게 함수를 작성할 때 라고는 인쇄 할 것입니다 파일 이름 확장명. 어쩌면 생각하는 몇 분 정도 걸릴 이 작업을 수행 할거야 방법에 대한. 약간 더 도전 마지막으로보다, 그러나 사용은 거의이다 정확히 같은. 네. 그래서 함수라는 확장자를 쓰기 즉, 내가 파일의 당신에게 이름을 부여하는 경우, 내가 줄 것 인 경우에 당신은 내가를 pset7.zip-- 그냥 .ZIP을 인쇄 할. 내가주는 경우에 당신은, finalpaper.docx 좋아 단지을 .docx를 인쇄, 어떤 파일의 단지 확장. 이 사실 만 두 줄의 코드를합니다. 그래서 있는지 확인하기 위해 시도 그 점에서 수행 어쩌면 수있다. 사실, 만 한 줄의 코드를합니다. 그러나 두 줄은 아마 표준입니다. 어떤 기능을 우리는 아마 전화 할거야? 청중 : strrchr. ANDI 펭 : strrchr, 맞다. 우리가 찾고 있기 때문에 오른쪽 왼쪽에서. 나는 너희들을 포기하지 않았다 이 같은 예를 들어, 하지만 내가 좋아하는 당신에게 예를 준 경우 www.apple.com 난 그냥 원 .COM, 그것의 예 것 당신은 마지막 인스턴스를 호출 할 기간의 첫 번째 오른쪽하지? 당신이 전화 strchr과라면, 그것을 당신에게 apple.com을 준 것입니다. 당신이 strrchr라는 경우를 당신에게 .COM을 준 것입니다. 그리고 그 위에 조심 내 예에서 ways--, 당신은 아마 할 수 있었다 다만 strchr과를 사용하여 작성 때문에 하나의 도트가있다. 그러나 다른 예에서, 그 경우하지 않을 수 있습니다. 그래서 항상 설계하려고 그래, 당신의 코드는 잘, 그래서 that--? 청중 : 그렇게 예를 들어 당신은 말했다, 당신이 strrchr 않는 경우는 것 당신이 .COM하거나 올 줄? ANDI 펭 : 그것은 당신에게 .COM을 줄 것입니다. 청중 : OK. ANDI 펭 : 네. 그것은 그것을 발견 한 곳을 가리키는. 네. 30초 아마? 네. 모두 좋은 아니면 조금 더 시간? 손보기? 헤드의 표시? 시원한. 누구든지 나에게 먼저주고 싶어 이 프로그램에 대한 코드의 라인? 청중 : [들림]. ANDI 펭 : 모든 그래서 일단, 의 아마이 분해 할 수 있습니다. 그래서 strrchr의 반환 형식은 무엇입니까? 의 돌아 가자. strrchr, 반환 형식은 무엇입니까? 청중 : 숯불 * ANDI 펭 : 그것은 숯불 * 오른쪽입니까? 어느 당신은 아마려고하고 있다는 것을 의미 종류에 다른 숯불 *를 만들 수 있습니다 스토어 그건 때마다 오른쪽으로 돌아? 당신이 호출하는 경우 때문에 함수 strrchr, 그것은 당신에게 포인터를 줄 것 어디든지 그것은 마지막 기간을 발견, 권리? 하지만 당신이 원하는거야 바로, 그 어딘가에 저장? 그래서 우리가 어떻게 코드를합니까 우리의 프로그램에이? 청중 : 당신은 할 숯불 * [들림]. ANDI 펭 : 그래. 청중 : [들림]. ANDI 펭 : strrchr. 네. 아, 거기 R을 놓쳤다. 청중 : 파일 이름 [들림]. 그것은 무엇인가? 아, 그냥이야입니다. ANDI 펭 : 아, 그냥이야입니다. 그래, 미안 해요. 내 잘못이야. 예는 일치하지 않습니다. 청중 : 다음 그리고는 점. ANDI 펭 : 아, 그래. 때 사람 조심 여기으로 죠, 저를 확대 할 수 있습니다. 우리는 거기에 갈. 때 사람 조심 , 특히 입력하는 당신은 단지 문자를하고 있어요. 그것은 실수로 단지를 정말 쉽게 오히려 하나의보다 큰 따옴표을한다. 그것은 작동하지 않습니다. 당신의 컴파일러는 불평 것입니다. 그리고 당신의 함수이다 바로 실행하지 않을. 그리고 때 조심 당신은 일을하고 문자로는 작은 따옴표를 있다고. 그래서이 줄을 수행 코드는 모든 사람에게 의미가? 우리는 숯불 * 포인터를 만들고 있습니다. strrchr의 반환하기 때문에 형 포인터의 뭔가. 그래서 우리는 strchr과 전화를 겁니다 들에있는 문자열은 파일 우리가 전달하고 있는지, 이름을 지정합니다. 그리고 우리는 마지막을 찾고 하는 기간의 예 그냥 작은 따옴표는 따옴표 점. 네. 청중 : 할 때 우리는 따옴표를 사용 우리는 작은 따옴표를 사용하는 경우를합니까? ANDI 펭 : 네. 그래서 큰 따옴표는 항상 때 사용 하나 이상의 문자열을 가지고있다. 당신은 strstr과 일을하고 있다면, 이는 하나입니다 당신을 , 문자열을 문자열을 검색 큰 따옴표로 전달할 것입니다. 그러나 언제든지 그것은 단지 하나의 문자, 당신은 작은 따옴표를 수행 할 수 있습니다. 이 명심해야 할 좋은 일입니다. 그래서 지금 우리가 가지고 포인터, 우리는 무엇을해야합니까? 나는 당신에게 사람을 부탁 해요 바로, 그것을 밖으로 인쇄? 그래서 [들리지], 당신이 원하는 나에게 코드의 라인을 제공? 청중 : printf-- ANDI 펭 : 네. 청중 : 알려줄까요는 장소 홀더가 필요합니다. ANDI 펭 : 아, 그래. 청중 : 장소 홀더를 인쇄합니다. 나는 어떤 장소를 모르는 홀더는 점에 불과하다. 그래. 의 지금 다음에 대한 그를 건너 보자. 청중 : 그리고 comma-- ANDI 펭 : 포인터, 오른쪽? 청중 : 포인터, 그래. ANDI 펭 : 그래서 종류의 트릭 질문 포인터와 문자열을 함께 할 수있다 것을 우리는 종류의 이미에 대해 얘기했습니다. 장소 홀더의 어떤 종류의 우리를 할 숯불 *에 대한 포인터가 필요하십니까? 청중 : [들림]. ANDI 펭 : 네. 그것은 너희들이 생각하는 것보다 쉽다. 청중 : 문자열? ANDI 펭 : 그것은 정확하게, 그냥 문자열입니다. 문자열을 기억하고 있기 때문에 실제로 존재하지 않습니다. 숯불 * 정확한입니다 문자열로 같은 일. 그래서 정말이 S 무슨이다 모두 함께 사용되어 있어야합니다. 그래. 우리가 이것을 실행 해보십시오 수 있는지 보자. 의 a를 확장 해 보자. 시원한. 내가 전달하는 방법을 너희들 참조 psset7.zip 및 finalpaper.docx, 그리고 그것은 단지 출력한다 .ZIP과을 .docx? 이해가? 확인 그래서 당신의 표정까지 생각 당신이있어 당신의 PSET 함수 묻는 메시지가 될 것 캐릭터 라인은, 어떤 결말이 당신은 특정 오류 코드를 제공해야합니다. 그리고이 꽤 무서운 것입니다. 당신이 알 수있는 경우 때문에 확장이 무엇인지, 당신은 그 비교할 수 있습니다 그것까지 일치하는 경우 확장 확인합니다 특정 확장자. 그리고 당신은 반환 할 수 있습니다 오른쪽 오류 메시지? 네. 청중 : 그래서 우리는하지 않습니다 1 또는 아무것도를 추가 할 필요가? 포인터가 가까이 대고로 이동합니다 ANDI 펭 : 아니. 청중 : 그 후 --point. ANDI 펭 : 네. 그것은 정확히 가리키는 여기서 발생했다. 그래서 여기에 예를 들어, 우리는있어 기간을 찾고. 그래서 반환 것 기간에 대한 포인터. 그리고 그것은 인쇄 것 아웃 기간에서 시작. 그래서 당신은 1를 추가 할 필요가 없습니다. 하지만, 그것은 경우에 완전히 괜찮아요 당신은 종류로, 지금까지 확실 의 스스로를 테스트합니다. 샘플 프로그램을 구축 할 수 있습니다. 스스로를 테스트하고 이 인쇄가 어디를 참조하십시오. 즉, 또한 그것을 할 나쁜 방법이 아니다. 시원한. 그리고 그것은 거의 전부 오늘은 너희들을 위해했다. 우리는 오늘 PSET 물건을 많이했다. 그래서 때 의심, 같은 난 항상 찾아 말했다 이 PSET의 string.h 도서관. 많이있을거야 이 점에서 기능이 유용 할 수있다. 일부는 유용하지 않을 수 있습니다. 난 정말 모르겠어요. 그것을 통해 웨이드, 거기에 이들의 전체 무리. strstr과 strchr과, strrchr 있습니다 슈퍼, 슈퍼 도움이뿐만 아니라, strcpys 및 strcasecmps 우리는 이미 사용한 적이있다. 그것은 함께 장난에 불과 많이이다 그들은 동일한 있다면 문자열, 결정 문자열에서 물건을 받고,과 제대로 파일을 열 수있는. 이 파일 I / O를 많이합니다. PSET 정말 나쁘지 않다. 당신은 걸릴거야 그것은, 다운로드 보면, 코드의 전체 무리를 참조하십시오. 걱정하지, 코드 당신 실제로 쓰기 전혀 나쁘다. 사람이 문제가있는 경우 자신의 서버는 섹션 후 저를 보러 오세요. 하지에 대해 다시 한 번 사과 할로윈에 사탕을 가져. 나는 나와 함께 잘못 알고하지 않습니다. 그러나 우리는 두 번을해야합니다 사탕 다음에. 당신의 PSET과 행운이 주. 예.