>> DAN ARMENDARIZ : 안녕하세요,과에 오신 것을 환영합니다 사용자 정의 클라우드 9 CS50 세미나,
과 CS50의 IDE.
그래서 오늘 우리가 갈거야 조금 이야기
의 일부에 대한 기술 정보 그
아키텍처 뒤에 간다 어떻게 구름 9 및
우리는 플러그인의 일부를 구현 클라우드 9의 일환으로 CS50의 IDE를 제공합니다.
그래서 그냥 바로 점프하자 플러그인에 대한 이야기​​를 시작.
>> 따라서 플러그 인에서 정말 클라우드 9 경험의 핵심.
클라우드 9은 기본 기술입니다 그것은 우리에게 IDE를 제공,
또한 터미널 창에서 workspace--와 함께 바닥,
우분투는 우리 것을 workspace-- 우리의 모든 프로젝트를 컴파일하는 데 사용
우리의 문제 세트를 수행, 우리의 문제 세트를 완료합니다.
그러나 모두의 마음 그것의 모든 기술
정말 플러그인의 단지 무리입니다.
모든 플러그인입니다 그 수정할 수 있습니다,
확장, 당신은 만들 수 있습니다 자신의 플러그 - 인,
당신은 다른 사람을 제거 할 수 있습니다 플러그인, 정말 변경
기능의 꽤 많은 기존의 클라우드 9 IDE의.
>> 그래서 이것은 기존입니다 9 환경을 클라우드.
이것은 정말입니다 클라우드 9 환경 기본.
그리고 살펴 방법을 실제로 CS50의 IDE 다릅니다.
그래서이 CS50의 IDE입니다.
일부 시각이 있다는 것을 알 수 있습니다 일반 클라우드 9 사이의 변경
환경과 CS50의 IDE.
특히, 당신은거야 변화의 몇 가지를 알 수 있습니다.
우선, 적은있다 메뉴 항목으로 시작합니다.
방법이 실제로있다 당신은을 변경할 수 있습니다.
그것은 간단 모드라고합니다.
>> 기본적으로 기본 모드가 활성화되고, 즉, 메뉴 아이템의 일부를 간단하게한다.
이 중 일부를 제거 더 진보 된 것,
솔직히 때문에, 많은 오는 학생들
일부에 대해 알 필요가 없습니다 고급 기능
압도하지 않습니다 옵션의 무리와 함께.
하지만 우리가 취할 수있는 기능을 제공 할 그 소위 훈련 바퀴 오프
그 제거 비계 그래서 사람들
더 익숙해 질 수 있습니다 IDE의 고급 기능.
즉시에 그 권리의 존재
또한 디버그 버튼, 어떤 표준 클라우드
9 환경은 단순히 실행이라고합니다.
그러나 기본적으로 우리가 설정 한 CS50 IDE에서 디버그 버튼
디버거를 불러옵니다, 자동으로 소스 코드를 컴파일
디버거를 연결 기본 GDB--에
그 이후 수행하기 위해 실행중인 debugging--와 다른 단계
게다가.
에서 또한 터미널 창 very-- 또는 오히려 터미널
에서 콘솔 부분에서 탭 화면의 맨 아래에서 창,
단순히 단말기로 이름이 바뀌 었습니다.
표준 반면 클라우드 9 환경,
실제로 표시 응용 프로그램을 실행.
이렇게하면, 그것은 다시, 단순화 GUI, 조금.
>> 우리는 또한 일부 버튼 추가 IDE의 오른쪽 상단에
몇 가지 기본 정보를 표시합니다 기본 인스턴스에 대한.
또한 우리는 하나를 제거했습니다 항목에 대한 옵션
맨 오른쪽에서.
그래서이 모든되지 구현 클라우드 9 반드시 수정하여
소스 코드 있지만 대신 몇 통해
우리가 구현 한 플러그인 지난 년 정도에 걸쳐.
그리고 클라우드 9 호스팅하고 있음 CS50 작업 공간에서 실행.
또는 오히려 작업 공간에 그 CS50의 IDE로 지정되어 있습니다.
>> 그래서 정말 그 주요 차이점입니다 클라우드 9 CS50 사이
작업 공간.
기본에,도있다 예는, 주 변화는
우리는 몇 가지를 설치하는 것이 GDB 같은 사전 구성된 아이템
그리고 다른 기본적인 것들을 그 우리가 업데이트 (50)처럼 만든,
및 수 있도록 다른 단계의 몇 전체 경험을 조금 더
통합.
그러나 전반적으로,이 단지입니다 기존 시스템의 수정
클라우드 9은 우리를 위해 만들었습니다.
우리가 갈거야 조금 이상을 보여
실제로을 만드는 방법이다 어느 정도 기본 플러그인이
우리는에 무언가를 삽입 할 수 있습니다 메뉴 시스템과 대화를 연다.
그리고 우리는 충분히있는 경우 시간, 우리는 실제로거야
우리가 채울 수있는 방법을 참조 몇 가지 정보들과의 대화
기본 인스턴스.
위해 우리는에 도착하는 점은,의 처음 조금 이야기하자
클라우드 9의 아키텍처에 대한.
>> 그래서 우리가 사용하고있는 방법 클라우드 9과 상호 작용에
전체 클라이언트를 통해입니다.
우리는 웹 브라우저를 열고, 우리는 CS50.io.를 입력
우리는 결국, 인증 후, IDE되게됩니다.
그러나 거기에 실현 몇 걸음
실제로이 시점에 우리를 얻을.
첫 번째 일이 있다는 것입니다 내 클라이언트, 웹 브라우저
요청에 따라 인증 후, GUI 및 플러그인을로드
일부 캐나다에서, 일부에서 콘텐츠 전송 네트워크.
이것은 어디 솔직히이 될 수 있습니다.
>> 그리고이 사실은 별개입니다 기본 인스턴스.
그것은이는 것을 깨닫게하는 것이 중요합니다 정적 파일의 실제로 단지 무리입니다.
그것은 자바 스크립트의 무리입니다 그는 CDN에서 다운로드
내 웹 브라우저에, 그리고 GUI의 모든 당신을
이건 정말 key--입니다 here-- 참조 당신이 여기에서 보는 그 GUI의 모든
클라이언트 측에서 실행된다.
당신이 보는 모든 클라우드 9 작업 공간에서
실제로 브라우저에서 실행됩니다.
보내고 아무것도 기본 인스턴스에 따라
인스턴스와 연통 이 두 번째 별도의 채널을 따라,
다음에 저장 그 고정 표시기 인스턴스입니다.
>> 그래서 말인지 이유 이 고정 표시기 인스턴스입니다
입니다 기본 기술 가상 컴퓨터를 사용하지 않는,
대신를 사용하는 고정 표시기라고 기술,
이는 기본적으로 가까운 allows-- 비유는 가상 머신이다.
하지만 미묘하게 다르다 그에있다
를 실행할 수있는 많은 기회 다른 고정 표시기의 조합
단일 시스템에 인스턴스.
그리고 그들은 최대 회전 수 매우 빠른 연속.
그것은 확실히 더있다 엄격한 차별화
다른 고정 표시기 인스턴스 사이 가상 머신에 있기 때문에,
하지만 여전히 많이있다 분화 및 분리
서로 다른 인스턴스간에.
그래.
여기에 따라서 두 단계 인식하는 것이 중요하다
우리가 CS50.io에 갈 때, 우리가 있다는 것입니다 GUI 및 플러그인을 다운로드,
이는에, 자바 스크립트로 작성 브라우저에 브라우저 또는에서.
그리고 이것은 어쩌면 몇입니다 정보의 가치 메가 바이트.
그 시점에서, 일단 GUI가 보유 로드 플러그인을 시작했다,
다음과 통신하기 시작 하지 않는 고정 표시기 인스턴스
반드시 동일한 서버가 될 수 있습니다.
>> 지금이 한 가지 예외가있다.
우리는 실제로 모두를 가질 수 있습니다 GUI 자체에 대한 전달 메커니즘
및 고정 표시기 인스턴스 동일한 서버의 모두
우리가 할 일이 실제로 클라우드 9의 오프라인 버전.
이것은 우리가했습니다 일이 아니다 아주 많이 올 가을 공개,
그러나 우리는 또한이 있나요 오프라인 버전이
당신은 패키지를 다운로드 할 수 있습니다 이러한 것들의 모든 버전
당신이 클라우드를 실행할 수 오프라인 환경에서 9.
>> 클라우드 오프와에이 이동 로컬 시스템은 약간의 영향을 미친다.
특히, 더 이상 능력을 가지고
다른 사람과 작업 공간을 공유 할 수 있습니다.
더 이상, 클라우드 9에서 열 수 있습니다 모든 컴퓨터에서 CS50 IDE,
같은 파일을 참조하는 당신은 전에 작업을했다.
하지만 그 대신 그것은 전적으로 작동 자신의 로컬 컴퓨터에
인터넷에 접속하지 않고도.
하지만 여전히 심지어 모델에서, 심지어 우리는 하나의 가상 머신을 가지고 있지만
그것은 본질적으로 이 일을 실행.
>> 우리는 별도의 서버를 클라우드 9 기본적으로 제공
내용, 그리고 우리 고정 표시기의 인스턴스가
즉, 통신을 담당 백엔드 그 IDE와.
그래.
그래서 전체 GUI는 기록 완전히 자바 스크립트
Node.js와 클라우드 9 SDK를 사용하여, 이는 우리는 단지 분에 도착합니다.
그리고 모든 플러그인 클라이언트 측에서 실행된다.
그럼 다음에 집중하자 가정으로 조금
이 첫 번째 단계는 가지고 실제로 성공적으로 완료,
이 고정 표시기 인스턴스에서만 봐.
>> 이 경우이 너무 표준 방법은
클라우드 9 플러그인을하는 것에 대해 생각 개발이 진행된다는 점이다
해당하는 코드를 작성한다 사용자의 브라우저에서 실행되는,
그리고 당신의 기회를 일부 API를 사용하여 통신 할 수
기본 고정 표시기 인스턴스와, 이 코드를 실행하고 아무것도 할
당신이 수행 할 수 있음.
그래서이 될 것입니다 문맥 우리는거야
이 이야기의 나머지 부분에 사용합니다.
그냥 마음에이 모델을 유지합니다.
이것은 매우 중요합니다 단 몇 분.
몇 가지가있다 링크는 당신을 보여주고 싶어요.
우선, 클라우드 9 제공했다 문서의 꽤 많은
즉, 그 방법을 보여줍니다, 꽤 좋은 기본 플러그인 개발을 할 수 있습니다.
그래서 당신은이 URL로 이동하는 경우, cloud9-sdk.readme.io,
당신은이 문서를 볼 수 있습니다.
이 정보의 많은 당신은 볼에 대한 걸
또한이 발견, 플러스 더 할 수있다.
또한 오픈 소스를 찾을 수 있습니다 이 URL에서 클라우드 9의 버전,
우리가 사용 github.com/c9/core, IDE의 오프라인 버전의 일부,
그래서 당신은 할 수있을 것입니다 같은 클라우드 9 경험,
하지만 오프라인 방식.
괜찮아.
그럼 살펴 보자 여기에 실제 클라우드 9 작업 공간.
그리고 다시, 나는 지적하고 싶어요 몇 가지 알아.
이것은, 바로 여기, 일반 CS50의 IDE입니다.
그리고 덜 비활성화 보기 메뉴에서 편안한 모드
그래서 나는 모든 볼 수 메뉴 옵션.
나는 당신을 마우스 오른쪽 단추로 표시 할 어떤 이제 몇 가지입니다.
우선이 들어갈 경우, 해제 환경 설정하고
매니저 플러그인 클릭 그리고, 여기 CS50를 입력
우리는 사실이 있음을 알 수 CS50 플러그인의 커플이
설치하고 실행했다 우리가했습니다 수정 가능
CS50의 IDE에 대한 본.
>> 지금은 본질적으로있다 실행하는 두 플러그인.
간단한라고 하나, 거기에있는 단순화 된 모드입니다
당신은 수를 줄일 수 있습니다 상단 메뉴 옵션,
이것은 소위했다 적은 편안한 모드.
그리고 CS50 통계도있다, 이는 어쩌면 약간 잘못된 이름입니다.
이 무엇을하고 있기 때문에 당신에게 정보를 보여줍니다
기본 작업 영역에 대해.
그것은이 버튼을 주입 오른쪽 상단을 따라.
또한로 메뉴 항목을 주입 창 메뉴에 창 항목,
바로 여기, CS50 IDE 정보.
그리고 인스턴스에 대한 책임이다 우리가 여기서 본 적이이 대화,
우리가있어 모든 정보 CS50 IDE에서 보는 익숙한
작업 공간.
그래.
그래서 실제로 한 번 더 플러그인있다 것을 우리는뿐만 아니라 개발했습니다.
그리고 다른 사람의 몇 거기에 그 우리는 또한 공개적으로 발표하지 않았습니다.
하지만, 그들 중 하나는 전체 인 플러그인 GDB가 작동 할 수 있습니다.
클라우드 9의 측면 그래서 하나 그들은 이미 제공 한 것입니다
이 GUI는 디버거를 구현합니다.
그리고 플러그인 중 하나를 그 우리는 기본적으로 만들었습니다
이 GUI를 GDB 후크 디버거의 기반 버전.
그리고 모든 중재에 대한 책임 사용자가있을 수 있습니다 요청,
이상 스테핑 또는 사이 중단 점 또는 아무것도를 작성
그 라인을 따라 것을 번역에 GDB가 이해할 수있는 명령에,
GDB에 그 명령을 실행.
그리고 빨리 GDB로 그 후, 응답을 발행
우리가 그것을 해석하고 필요에 따라 GUI를 업데이트합니다.
>> 그건 아마 중 하나 더 복잡한
플러그 - 인, 그래서 대신에 우리가하는지의 오늘에 초점을가는 것은 사실이다
통계는-플러그, 우리는 얘기하자 작은 대한 간단한 비트뿐만.
그래서 앞서 언급 한, 내가 정말 원하는 아주, 아주 분명, 그 다시 만들기 위해,
우리가 있다는 것을이 모든 여기에서 보는 것은 본질적으로
클라이언트 측에서 동작.
우리는 터미널 창을 참조 할 이하, 그 물론
우리는에 명령을 입력하는 경우 다음 발행 될 것이다, 그
기본 인스턴스.
마찬가지로, 우리는 새로운 파일을 열 경우 그것으로 몇 가지 물건을 입력하고 저장,
그 파일에 저장됩니다 기본 인스턴스입니다.
>> 그러나 편집기 자체,이 터미널 창 자체,
모두에서 구현 자바 스크립트를 모든 플러그인입니다
우리가 상호 작용할 수있는, 따라서 수정합니다.
여기에 확장 성이 많이 있습니다.
나는 모양을 복용하는 것이 좋습니다 클라우드 9의 GitHub의 계정에서
의 광대 한 양을 볼 수 사용할 수있는 플러그 - 인,
단지 얼마나 잘 많은 기록 코드의 확장을위한 것입니다.
그래서 뭔가있다 내가 언급 할 것인지
인뿐만 아니라이 약 거기에 동행입니다 많이 있다는 것을
의 기능을 많이 환경 설정에서 제공
우리가 본 적이 창, 불과 몇 분 전에 언급.
>> 우리가 IDE로 할 수있는 것 중 하나 개발자, 또는 클라우드 9 개발자로서,
실제로 일부를 주입하는 것이다 우리 자신의 환경 설정 패널.
그래서 간단 모드, 또는 덜 편안 모드,
또한 IDE 정보 또는 통계 플러그인,
각각의 몇 가지 기본 설정을 가지고 우리가 수정할 수 있도록 패널
이들 각각의 행동.
당신은 알 수 있습니다 그 난에 가면 환경 설정 및 사용자 설정으로 이동,
CS50 탭이 하나있다 즉, IDE 정보를 말한다.
그리고 난을 변경할 수 있습니다 정보 새로 고침 속도.
>> 효과적으로, 무슨 일이야 통계에 플러그인
될 때마다 N-초, N-초이 환경 설정에 의해 정의된다
패널 정보가 반입되고있다 기본 인스턴스에서, 전송되는
다시 클라이언트 측에, 플러그 - 인은
정보를 해석 기본 인스턴스
필요에 따라 GUI를 업데이트.
우리는 지금이 설정되어있는 것을 볼 수 있습니다 30 초, 그것은 기본입니다.
그러나 나는 확실히 변경할 수 있습니다 얼마나 빨리이 그냥 발생
이 값을 수정하여.
>> 흥미로운 것들을 이제 하나 입니다이 환경 설정 패널, GUI,
정말 GUI 버전입니다 기본 설정에 많은
즉, JSON에 제시되어있다.
나는 아래, 예를 들어, 이동한다면 CS50 IDE 메뉴, 또는 클라우드 9 메뉴,
에 따라 당신이보고있는 버전,
이들 중 하나로 이동 이 경우 settings--,
프로젝트가 settings-- 이 경우 프로젝트 설정
모든 설정에 적용 이 하나의 작업 공간.
사용자 설정이 적용 반면 작업 공간의 모든
당신은 당신의 계정에있을 수있다.
>> 그래서 바로 옆으로 여기에, 추가 분명합니다
사이의 분리가있다 이 때문에 기본 우리로 비록
하나의 작업 공간이있는 CS50 IDE는, 당신의 경우
당신의 작은 버튼을 클릭했다 여기 아바타와 대시 보드로 이동
당신은 당신이 실제로 할 수있는 것을 확인할 수 있습니다 뿐만 아니라 추가 작업 공간을 만들 수 있습니다.
당신은 내가 가진 않는 여기에 볼 수 있습니다 IDE (50) 작업 공간, 또한
이러한 상업적 세미나, 작업 공간
바로 여기 인 작업했다.
어쨌든, 나는 다른 환경을 가지고있다.
이들 각각은있을 수 있습니다 별도의 프로젝트 환경 설정,
그러나 사용자 기본 설정은 내 모든 작업 공간의 사이에 공유.
그런데,이입니다 또한 매우 편리 당신 경우
와 작업 공간을 만들려면 다른 사용자 지정 옵션.
그리고 그것은 매우 편리합니다 새로운 작업 공간을 만들 수 있습니다.
그리고 수 있습니다 하나를 선택 다른 방법으로 사전에 구성,
아마도 특히 PHP를 위해, 또는 장고 특히.
심지어 단지 지정.
CS50 작업 공간 템플릿은 하나입니다 우리
즉 자동으로 설치 사용 업데이트 (50)와 모든 설정
것을 우리는 포함이있다 플러그인 우리가 CS50의 IDE에 대한 있습니다.
그래.
그러나 이제 다시이에 올 수 있습니다.
그래서 다시, 프로젝트가있다 설정은, 그는 사람입니다
것을 우리는 여기에서 찾고있다.
그리고 거기 그 통지 설정의 무리입니다,
그들 중 많은 사람들이 환경에 해당 패널 아니지만 모두.
그러나 우리는 오 항아리에, 그 여기에서 볼 수 있습니다 아니, 그것은 사용자 설정에 넣어나요?
아마도 내가 사용자 설정에 넣어.
그리고 이것은, 우리가 간다.
사용자 설정에서, 우리는 할 수 우리가 CS50 섹션을 가지고 참조
그리고이 기록되는 이러한 클라우드 9 플러그인에 의해
우리가 구현 한 것이다.
에 대한 간단한이있다 간단한 플러그인에 해당,
및 통계 하나 기반이 GUI에 해당
환경 설정 패널의 버전.
이에 새로 고침 속도, 케이스는 20 초로 설정된다.
>> 이 모든, 희망, 일부 정보의 시작
우리는 실제로 작은에서 볼거야 좀 더 상세하게, 순간적으로.
그래.
그래서 우리가하고 싶은 말은하자 실제로에 내려.
우리는 물건의 모든 이해 즉, 클라이언트 측에서 무슨 일이 일어나고
브라우저에서 실제로 수행되는 어떤 플러그인 내가 작성하는 것을 의미한다
기록 될거야 마음에있는 브라우저.
그리고 실제로 수행하려는 경우 작업 공간에 아무것도,
나는 아마 시작해야합니다 통신의 일종
브라우저 사이 작업 공간은 확실하게
그 사실은 달성된다.
그러나의 지금 그런 말을하자 나는 그것을 아래로 싶어
실제로 내 첫 번째 플러그인을 만들 수 있습니다.
글쎄, 당신은 수있는 방법이 될 것이라고 어떻게 그 사실은 매우 간단합니다.
그것은 클라우드 9 SDK에서 제공합니다.
그러나 취할의 당신의 기존 작업 공간의 이름, 어느
당신의 상단이 URL은 당신의 줄이, 그리고에 다음을 추가합니다.
?
SDK = 1 debub = 2.
이제 어떻게이 활성화 것입니다 것은 SDK 것을 = 1은 실제로 SDK를 설정합니다
가능하게 할 것이다 true로 모드, 추가로 몇 가지.
그리고 디버그 = 2는 오류 메시지를 수 좀 더 자세한 정보가 될 수 있습니다.
>> 그래서 당신은 자바 스크립트를 불러 경우 당신의 크롬 개발자 탭에서 콘솔,
당신은 실제로 수있을 것입니다 더 많은 정보를 볼 수
것보다 그렇지 않은 것입니다.
그래서 나는이 두 가지를 선회하는 것이 좋습니다 에 동시에, 정말로 때문에
이 모든 것이 유용하다 추가 정보.
이 점에 유의하는 것이 중요 (2)의 값으로 디버그를 온
아주 것을 의미 자세한하고, 실제로
다소 눈에 띄게 느려집니다 당신의 IDE, 특히로드
또는 수행 할 때 무거운 작업을하고.
그래서 그냥 마음에 보관하십시오.
그것은 개발을위한 유용하지만, 모든 시간을 갖고 싶어하지 않을 수 있습니다.
>> 그래서 실제로 그렇게 할 수 있습니다.
그러나이 경우, 사실이 이미이와 작업 공간을 설정합니다.
그럼, SDK = 1 디버그 = 2를 보자.
플러그인의 부부와 함께 희망이 이미 설치되어 있어야합니다.
괜찮아.
그래서 지금은 SDK 디버그 켜져했는지 모드, 우리는 디버그 모드에 있는지 알
그래서 우리가 볼 수있는 개발 도구를 볼 수 있습니다 오류, 내가 오프 스크린 할 것이다.
우리는이 있다고 볼 수 있습니다 여기 오류의 무리.
지금은 실제로 꽤 흔한 일 클라우드 9 오류의 몇을 가지고,
나는 걱정하지 것이다 그들에 대해 당신까지
뭔가를 그 수도 참조 플러그인에 구체적으로
당신이 생성 될 일이있다.
>> 그래서 여기에, 예를 들어, 우리는 얻을 404s--의 몇 가지를 찾을 수 없습니다.
우리는 우리가 일부를로드 할 수없는 참조 기본 인스턴스를 해제 정보
그 자체.
그리고 추가의 무리있다 정보,하지만 대부분의 우리는있어
실제로 지금은 무시하는 것.
이 꽤 있기 때문에 작업 공간에 대한 일반적인
오류의 단지 몇이있다.
그래.
나는 밖으로이 이동하는거야 방법과 여기에 돌아와.
그리고 지금 쉬운 방법, 좋은 이 개발자가 필요에 관한 일
활성화 모드는이 날 수 있다는 것입니다 쉽게 새로운 플러그인을 만들 수 있습니다.
>> 나는 실제로하지 않았다 전에 반면, 그래서 이 새로운 플러그인 옵션을 사용할 수 있습니다,
이는 내가 다시 가면 우리가 볼 수있는 내 비 개발자 모드 여기에,
새로운 플러그인은 없다.
SDK 모드를 활성화하면, 내가 새로운 플러그 인이 사용 가능
나는 쉽게 만들 수 있습니다.
이 경우, 부부가있다 간단한의 다른 옵션,
비어 플러그, 전체 플러그인 설치, 클라우드 9 번들.
그냥을 선택하자 빈 플러그인 지금
우리는 매우를 볼 수 있도록 하나의 간단한 버전입니다.
>> 이제 함께 그 통지 의 왼쪽 측면은 지금이
즐겨 찾기에서 뭔가하는 플러그인의 몇 가지를 나열한다
지금 나에게 사용할 수 있는지.
나는 그것을 확장하면, 우리는 것 사람들을 볼 수 있습니다.
지금은 당신이주의 할 여기에 뭔가있는
이 실제로 함유하지 않은 것 인 작업 공간 디렉토리 내에서
내 기본 우분투 인스턴스하지만, 그것은 하드 드라이브에 포함되어 있습니다.
그리고이 때문에,있는 곳 이, 알고 매우 유용합니다
당신은 거 야 특히 힘내으로 아무것도 할,
곳이 자리 잡고 있습니다 .c9 폴더에, / 플러그인.
내가 거기에 가면 그래서 우리는 지금을 볼 수 있습니다 현재 플러그인의 목록
리스트 플러그인 일치 I 내 작업 공간의 왼쪽에 보았다.
>> 기본으로하고, 이것은 가지 이상하다
기본적으로 내가 만들 때 작업 공간에 새로운 플러그인,
그것은이 플러그인이로를 생성 기본값은 밑줄의 이름이 있습니다.
일반적으로 그 수도 몇 가지 문제를 야기한다.
바로 다음 단계 그래서 나는 일반적으로 수행하는
그냥 제거하는 것입니다 특히 플러그인
만 간단한 플러그인을 두는 것이 plugin.simple, 처음에 있었다.
그리고 거기에 하나입니다.
그래.
>> 그래서이 실제로 모습입니까?
음,이 다시이며, 자바 스크립트 패키지
즉, 일부 파일을 포함 여기서 plugin.js 파일을 포함
의 주요 내용 내 플러그인, 위치
package.json 파일, 이는 실제로 지정
이 플러그인에 대한 몇 가지 메타 데이터, 작성자가 누구인지와 같은,
그것은,에 대한 추가 정보 그래서 플러그 및 설명.
또한 기본적으로 그것을 빈 README 파일을 만듭니다
당신을 위해 빈 테스트 파일에 몇 가지 추가 문서를 작성,
및 테스트 하니스 만약 당신은 그렇게하고 싶습니다.
>> 그래서 그냥 처음 살펴 보자, 매우 빠르게, package.json 파일에서.
그냥 통과 할 정도로 쉽게 그것은이 분야에 기입
당신은 같이 기입 할 것 , 그것에게 이름을 설명을 제공,
버전 번호를 반복 모든 너무 자주 제공
모든에 대한 저자 기여하는 사람,
참여자에 추가 섹션이 당신의 나머지
수 꽤 많은 단지 그것은 지금 그대로 둡니다.
>> 의 한 가지가있다 주의하는 것이 중요합니다,
플러그인 섹션에서 그, 플러그인이라는 키가있다.
그리고이 이름에 일치 자바 스크립트 파일은 plugin.js을했다.
그래서이 클라우드 9, 때를 알고하는 방법입니다 이 package.json 파일을 읽는
JS의 파일이 실제로로드합니다.
나는 추가 JS 파일을 만들거나 원하는 경우 플러그인에서 그 JS 파일의 이름을 변경하려면,
나는 또한 그것을 변경해야 package.json 파일.
>> 청중 질문?
아니.
즉 한 사람 지금까지 나와 함께 다음.
>> 그래.
그래서 실제로 만든 이미 플러그인의 커플,
나는이 작업 공간에, 생각합니다.
그럼 이들 중 일부를 제거하자, 추가 SDK = 1 디버그 = 2,이 작업 영역을 다시로드,
과의가 있는지 확인하자 우리 지금 그 플러그인이있다.
C9 / 플러그인.
여기에서 우리는 간다.
우리는이 내 C9 / 플러그인 지금 볼 수 있습니다 하나, 우리는 plugin.1과 plugin.2 있습니다.
그래서 우리는 짓이야을 단계거야 다만 어려움을 늘리
이 플러그인의 각.
그러나 여기에서 나는 새로운 플러그인을 작성하는 경우, 내 즐겨 찾기에 추가 할 수 있습니다.
그리고 난 그냥에서 사람들을 삭제합니다 기본 파일 시스템.
>> 의 그 제거 할 수 있습니다.
지금은 내 첫 번째 열 경우 - 플러그인, 오픈 plugin.js,
우리는 기본 여기에 볼 수 있습니다 플러그인의 간단한 버전입니다.
날이 실제로 돌아 가자 이 다른 작업 공간
적어도, 여기에서 볼 수 있기 때문에, 무엇을 빈 플러그인은 사실처럼 보인다.
그래서 후드 아래에,이 보인다 라는 기술과 매우 유사하게,
나는 RequireJS의 생각.
이 않는지 확인 정말 어쩌면,보고,
다른 자바 스크립트와 같은 우리가 본 수도 있습니다 파일.
그러나 대신에, 단지 몇있다 기본 라인 실제로 갖는다.
>> 이 물건은 모두 처음이다 IDE에 의해 해석,
하지만 실제로 아니다 지정된 때까지 실행합니다.
그리고 난 때 그것에 대해 말씀 드리죠 실제로 단지 순간을 의미한다.
그러나 여기가 있음을 알 수 라인 2 main.consumes 라인,
이는 모든 플러그인 나열 이 플러그인에 의존된다.
기본적으로 그래서, 우리는 아마 가지고하지 않습니다 다른 플러그인에 대한 종속성,
그러나 우리가 실제로 필요할 때 제공되는 기능에 따라 다릅니다
IDE에서 다른 플러그인에 의해, 우리는 그 플러그인을 나열 할 필요
main.consumes 라인.
그리고 우리는 필요 코드에 연결
난 그냥 당신을 보여주지하는, 아래 우리가 그렇게 할 수있는 방법에 대한 순간.
>> Main.provides가 제공하는 이 플러그 인에 이름을
다른 플러그인 수 그들의 소비하는 라인에 사용합니다.
이 경우, 플러그 - 인 다만 기본적으로이 설정되고,
우리는로 그 변경해야 우리 자신의 플러그인에 적용,
로 우리는 단지 순간에 볼 수 있습니다.
이제 여기에 기능에 주,이 기능의 주요
실제로, 실행 및 해석 되나 실제로 아주 많은 일을하지 않습니다.
그것은 바로 모든 설정 만 가져옵니다 실제로 플러그인을 시작하지 않습니다,
이름이 같은 소리 무엇에도 불구하고.
그 사실을 통해 발생 방법의 순서 그
이 플러그인을 통해 포함되어 있습니다.
>> 나는 아래로 스크롤하면, 우리가 볼 수 있도록 우리는 생명주기 어디 있는지
일부 이벤트라고 부하에, 또는 언로드라는 일부 이벤트,
일부 이벤트는 실제로 일어난다.
그것은 여기에 정말 어디 플러그인으로 그 메소드를 호출하는 것으로 시작한다.
그럼 조금 더 구체적으로 보자 그리고 이것에 대해 예를 들어 살펴 보자.
그래서 여기 plugin.1를위한, 무엇을 우리는 기본적으로 할 건가요
메뉴 항목을 생성하는 것이다 CS50 세미나 대화라는 1--
우리는 두 가지를 가지고 있기 때문에 them-- 우리는거야
창 메뉴에 주입합니다.
우리가 클릭 할 때, 우리는있어 대화를 열어가는 그
우리에게 아주 기본적인 정보를 보여줍니다.
>> 이 경우, 단지 헬로 세계.
그래서 이것은 매우 간단하다 안녕하세요 대화
우리는 구현할 수 플러그 클라우드 9와.
그래서이 실제로 어떻게 보이는지 살펴 보자.
우리는 단지 그것을 통해 단계 것이다 상대적으로 빠르게 우리는 그렇게
뿐만 아니라 다음 플러그인을 볼 수 있습니다.
우리가 여기에 있음을 알 수 있습니다 플러그인의 다양한 소비.
우리는 대화를 소비하고 플러그 - 인, 명령, 메뉴 및 UI를.
나는 실제로 소비하고 같은데 대화는 두 번, 그래서 나는 그것을 제거 할 수 있습니다.
>> 그리고 방법을 알 내가 그들을 연결하는거야 것으로,
이 말의 메타 데이터의 일종이다 어떤 요구 사항 플러그 - 인 시스템
실제로 필요 이 플러그인은로드하십시오.
이 점에 유의하는 것이 중요합니다 플러그인이로드되는 순서
보장 할 수 없습니다.
그러나 보장하는 것입니다 있다면 요구 사항으로 일부 플러그인을 지정,
그 플러그인이로드됩니다 전에이 하나가로드됩니다.
>> 그래서 즉, 플러그인 경우 제공되는 일부 기능에 필요
IDE에서 뭔가 다른, 당신은해야 반드시 당신의 플러그인을 소비하는
그 플러그인 있도록 종속성 당신의 플러그인을 만들 확신
또는 만, 당신의 플러그인을 인스턴스화 기존의 프레임 워크가 존재하는 후.
그래서 여기에 내가 언급 한 플러그인 관리자에 메타 데이터,
이는 내가 소비하는거야 것.
그리고 여기에 주요 기능에, 그때 연결하는거야
그 수입 플러그인에 내 코드.
>> 그래서 난 그냥 갈거야 일부 변수를 만드는 것이
이들의 각각의 이름과 일치하므로 나는 매우 신속하게 참조 할 수
내 코드에 걸쳐.
내가 대화를 수입하고있어 이유 내 플러그인을 원하기 때문이다
대화 플러그인 역할을합니다.
내가 수 있어요 방법 즉 수행하기에, 물론,
대화에 코드를 연결 플러그인을 가져
다음으로 지정하여 새로운 대화 변수를 만들어
과에 연결 그 수입 플러그인입니다.
그리고 정의 내 플러그인 새로운 대화로.
>> 나는, 초기화에 따라서 내 플러그인을 정의 할 수 있습니다.
그리고이 변수가 호출 플러그인 당신이 볼 수
다만 일반적으로 사용되는 클라우드 9 플러그 - 인을 통해.
나는 새로운 인스턴스를하려고 해요 일부 속성과의 대화,
그것을 특정 이름을, 그 말 사용자가 닫을 할 수있다.
그것은에 약간의 X 표시거야 오른쪽 상단,
나에있는 작은 버튼 오른쪽 아래 모서리.
나는 텍스트를 선택할 수 있는지 여부 그것은, 그 대화의 어떤 제목
등등, 그리고 것입니다.
지금이 바로 대화를 정의하고, 하지만 아직 표시되지 않습니다.
사실을 정의해야 그것을위한 조치를 표시합니다.
>> 그리고 또, 내가하는 것이 좋습니다 클라우드 9 SDK에서 살펴보고,
다양한 대화가 있기 때문에 그들은 정말 잘 설명되어 있습니다.
당신은 다른 유형을 볼 수 있습니다 있음이 있고,이를 사용
어떤 플러그인에서 당신은 마음에있다.
이제이있을거야 부하 부, 및이 부하
기능 당신이 기억으로 플러그주기에서 사용
실제로 모든 인스턴스를 그리고 갈 준비가 모든 것을 얻을.
지금이 플러그인로드, 나는하지 않는 경우 즉시 대화를 보여주고 싶은,
이 플러그인을로드하기 때문에 IDE의 나머지와 함께.
그리고 내가 그 IDE를로드 할 때, 나는 싶지 않아 대화 상자가 자동​​으로 표시합니다.
나는 단지 내가 클릭 할 때 표시 할 내 창 메뉴 항목에서 메뉴 옵션
나는 순간적으로 여기에 추가됩니다.
>> 그래서 두 가지 단계를 거기에 여기에 일어날 필요가있다.
난을 만들어야합니다 명령 및 명령
사실에 대한 책임을 질 것입니다 클라우드 9 IDE의 대화를 보여주는.
그리고 나는 연결해야합니다, 나는 새 창 메뉴를 만들어야합니다
항목, 즉 그 명령을 실행합니다.
있도록하는 것은 그 창을 클릭하면 메뉴 항목은, 그 명령은 실행이다
따라서 나의 대화는 표시됩니다.
그리고이 사실은 꽤입니다 그것에 대해 생각하는 좋은 방법입니다.
>> 처음 나는 명령을 만들 수 있기 때문에 이름이됩니다 CS50 세미나 대화 1
그 몇 가지를 제공합니다 그것의 일반적인 상황.
그리고 여기에 중요한 비트에있다 EXEC의 속성을 알 수있는
호출되는 함수를 나열 내 플러그인이 명령을 실행할 때.
그래서이 명령은 일종의처럼 그럼하지 머 그냥 임의의 클라우드 9의
사용할 수있어 명령 어떤 클라우드 9 플러그인에.
그러나 실제 기능이 있다고 이 명령이 실행될 때 호출하는 것
쇼 대화 기​​능입니다 내 plugin.js 파일.
>> 그리고 우리는 실제로 볼 수 있습니다 이러한 플러그인 및 목록
우리가 사용할 수있는 명령 기본 설정은 모든 방법을 스크롤 down--
실제로 우리가 지금 보는가, 보자?
플러그인 매니저, 아니, 나는 그것의 난 - 생각 확실히 여기 어딘가에.
음, 명령 목록이있다 어딘가에,하지만 난이 있어야합니다
이 어디 있는지 잊어 버렸습니다.
그래서 확인, 우리는 이동합니다.
괜찮아.
그래서 우리는 명령의 목록을 가지고 우리가 사용할 수있는 그
그 명령은 이 단지 임의 클라우드 9
특정 코드를 실행하는 명령.
그래서 그냥, 마음에 계속 우리는 쇼 대화 상자를 실행하는거야
순간적으로 작동합니다.
지금은 실제로 메뉴를 추가하고자 할 때 항목, 나는, 경로 해당 항목을 추가 할 수 있습니다
그냥 정확하게 내가 원하는 위치를 지정 그것은 윈도우 / CS50 세미나 대화 1합니다.
그리고 그 시점에서, 내가 원하는 새 항목을 만들 것을
명령을 실행하는 것입니다, CS50 세미나 대화 1.
이 구름이다, 다시 주목 9 명령 난 그냥 위의 만들었습니다.
>> 지금은 원하는 약간의 디바이더를 작성
그래서 나는 같은 작업을 수행 할 수 있습니다 후속 라인.
지금 당신은 그것을 알 수 있습니다 이 메뉴 항목을 정의 할 경우,
수있다 그와 관련된 어떤
실제로 어디에서 정확하게 말한다 나는 메뉴 항목이 될 것을 원하는
메뉴 목록에 있습니다.
하지만 당신은 알 수 있습니다 나는 실제로하지 않는 것이
어떤 번호를 참조하십시오 기본적으로이 메뉴.
그래서 약간의 숨겨진 것은 거기에 그 우리는, 우리의 URL에 약간의 변화를 할 수 있습니다.
그래서 추가로 = 1 = 2를 디버그하는 SDK 나는 1--하는 메뉴를 설정합니다
희망은 메뉴가 아닌 메뉴입니다.
아, 메뉴 = 1이다.
기다려.
>> 그리고 우리는 다시로드에 무엇을 볼 수 있습니다 IDE는, 내가 디버그 모드에서 여전히 나는 것입니다
하지만 지금은 숫자가있다 모든 메뉴와 관련.
그리고이 당신을 알려줍니다 정확히 수
당신이 주입하려고 할 때입니다 어느 곳이 메뉴 시스템에 뭔가.
그래서 창 메뉴에서 내가 할 수있는 45 협업입니다 항목을 참조하십시오
그리고 전 항목 (38)는 설치 프로그램입니다.
그래서 주입 할 때 그 둘 사이의 항목,
난 그냥 번호를 선택 것 이 두 항목 사이.
그래서 나는 41를 선택하고 내 세미나를 삽입 그 위치에서 대화 1 메뉴 항목을 선택합니다.
>> 그리고 그 이유이 수 즉, 여기에 나타납니다 수 (41)이다.
즉 그것의 위치입니다 클라우드 9 메뉴에서 메뉴 항목을 선택합니다.
지금과 마찬가지로, 나는 원 디바이더를 만들 수 있습니다
좋은 거기되도록 추가 이 메뉴의 각 사이의 구분
항목.
그래서 추가 위치 (43)에서 그.
지금까지 너무 좋아, 나는 희망?
그래서 지금의 사실을 살펴 보자 쇼 대화 상자에서 특정 코드
그 사실은 책임이 이 대화 상자 창을 여는.
>> 아래로 스크롤, 내가 원하는 것을 알 이 기능 쇼 대화를하고,
그것은 매우 간단합니다.
나는 쇼를 실행거야 플러그인 변수에 방법.
그리고 우리는이 정의 기억 플러그인 변수 대화로 위.
그래서 바 플러그인이 경우이다 우리가 내부적으로 정의한 객체입니다.
그리고 그것은 새로운 대화가 될 것 이 플러그인에 포함.
그래서 우리는 실제로이를 참조 플러그인 많은 장소에서 변수
일반적인 클라우드 9 개발 환경을 제공합니다.
>> 우리는 여기에서 볼 수 있습니다.
주목 우리가 아래로 스크롤로 그, 추가 라이프 사이클이있다.
따라서 이러한 응답은 통지 소성 이벤트
이 객체,이 대화 개체에 의해.
기본적으로, 거기에 로드 및 언로드하는
모든 클라우드 9 플러그인을 사용할 수 있습니다.
그러나의 경우 이 대화는, 거기에
다른 이벤트 수 화재는 물론라는
때 발사되는, 그리기 화면에 그려 질하는 것입니다
첫 번째 인스턴스에서 대화의 표시.
>> 그래서 실제로 때 표시 할 것,
거기 것입니다 우리에게 약간의 HTML을 제공합니다.
그리고 바로 표준 사용 HTML 관행 우리가 할 수있는
아주 간단한 정보를 주입, 우리 안녕하세요 세계, 그 대화에.
우리가 다음 스크롤하면, 우리는 할 수 있습니다 사물의 다음 행렬을 볼
그것이이 발생합니다.
먼저 우리는 클라우드 9 명령을 생성 클라우드 (9)에 의해 실행될 때,
이 기능을 발사 할 것이다.
그것은이 기능을 실행하는 것 내가으니, 쇼 대화라고
내 코드에 작성합니다.
>> I는 메뉴 항목을 만들고 그 같은 명령에 부착
그 항목에 클릭 할 때 다음 실행 명령 메뉴,
그 함수는 실행됩니다.
그리고 함수의 내부에서 나는 해요 단지 난 짓이야 호출 할 것
그냥 쇼를 실행하는 것 이 플러그인의 방법 어떤
첫 번째 통화에 가고 추첨 방법 및 진행
아래,이 방법을 발사 우리의 라이프 사이클에서, 이벤트 핸들러를 그립니다.
그리고 실제로 것 대화를 보여줍니다.
>> 숨기기 방법은, 그래서도있다 나는 숨길 수있는 기회를 필요로하는 경우
내 대화, 나는 같은 일을 할 수 있습니다.
그래서 꽤 많이의 IT 작업이 모두를 얻을 수 있습니다.
우리가 아래로 스크롤하면 그건 주목 또한 동결 공용 API가있다.
이것은 기본적으로 그냥 말로는 내가 이러한 방법에 원하는 효과
공공,하지만 overwriteable되지 이 플러그인의 문맥의 외부.
그리고 아래, 맨 아래에, 아마도 마지막 일
우리가 정말 지불 할 필요가 있음을 여기에 많은 관심, 어떤
우리가 등록하려고하는 것입니다 우리의 플러그인 C9 세미나 (1) 이름으로,
대상물 플러그인 인치
>> 어떤 당신이 기억 하겠지만,이다 그 플러그인이 플러그인
우리가 정의했습니다 오브젝트 이 소스의 전체에 걸쳐
암호.
및 C9 세미나 1은 우리가 약속 문자열
상단에 제공 이 정의의.
그래.
그럼 조금을 늘릴 수 있습니다 우리가 뭔가를 할 수 있는지 볼
조금 더 흥미 롭군요.
지금이는 정말 대단합니다.
내 말은,이, 그것은 실제로 꽤이다 그 코드 그래서 몇 줄에 냉각,
우리는 기존의 IDE를 수정할 수 있습니다 그리고 기존의 메뉴 항목을 추가
또는 새 메뉴 항목을 추가, 추가 명령하며, 대화를 보여
그리고 단지 무리 있는 기능을 제공합니다.
정말 꽤 좋아요.
>> 하지만 많은 작업을 수행하지 않기 때문에 그것을 할 수 없습니다 기본 우분투와 통신
예.
그래서 그 내가 말을하자 실제로 알아 내야
에 대한 몇 가지 정보 우분투 인스턴스를 기본,
통계 플러그인처럼 않습니다.
그럼 살펴 보자 조금 더 정보
통계 플러그인 어떻게 작품에 대해.
실제로,이 매우 유사하다.
당신은 그 리콜 있습니다 대화가있다.
당신은 거기에 리콜 수 있습니다 의 몇 가지 정보
따라서 메뉴 바 바로 함께 표시 희망 당신은 지금 정상,
방법의 맛을 얻기 우리는이 구현
단에서 특정 메뉴 항목을 삽입하여 포인트와 대화를 인스턴스화하여
그 대화를 표시.
>> 그러나 우리는 아직 표시하지 않은 당신은 우리는 그것을 연결하는 방법
의 명령에 기본 우분투 인스턴스입니다.
그럼 plugin.2에서 다음을 살펴 보자, 이는 정확하게이 일을한다.
우리는 plugin.js 열거야 어떤이의 코드입니다.
그러나 창 메뉴에서, 나는이 대화를 클릭하면,
우리는이를 말한다 볼 수 있습니다 대신, 안녕하세요 CS50, 어떤
바로, 모든 유혹을 보지 않는다?
이외에,이보세요.
내가 여기서 뭔가를 변경할 수 있습니다.
>> 나는에 갈거야 내 작업 공간과 변화 세미나
안녕하세요, 댄과 같은 다른 뭔가를 말할 수 있습니다.
나는 그것을 닫고 저장거야.
그리고 지금은 - 실행을 다시거야 내 대화 메뉴 항목을 선택합니다.
그리고 그것은이 통지 지금은 말씀 변경.
안녕하세요, 댄.
나는 아래로 뭔가를 할 것 같다 여기에 기본 우분투 인스턴스
하나를 조작 한없이 다시 단독으로 실행되는 코드
클라이언트 측에서.
그래서 분명히 일종의있다 여기에 무슨 일이 일어나고 통신.
>> 이제이 곳의 많은 클라우드 9 SDK의 전력은 온다
즉,이 plugin.2에 우리가 실제로 발생할 수 있습니다
호출에 발생하는 기본 인스턴스
어떤 임의의 명령을 실행합니다.
이 경우에 그래서, 난 사실이 아주 간단한 bash는 스크립트를 생성
내 작업 공간에서 세미나했다.
그래서 내가 그를 열 수 있습니다.
그리고 우리는이처럼 보이는 것을 알 수있다.
그냥 아주 간단한 배쉬의 스크립트 누구의 유일한 목적 인생에서
에코 될 것입니다 이 텍스트 출력, 안녕하세요, 댄.
아니면 전에, CS50, 안녕하세요 말했다.
그리고는 할 것 전부입니다.
>> 이 지금이기 때문에 내가 실행할 수있는 명령.
사실은 여기를 실행할 수 있습니다.
우리는 실제로는 그냥 볼 수 있습니다 나는 자연스럽게 실행 명령.
나는 이것을 실행하기 위해 내 플러그인을 요청할 수 있습니다 기본 작업 영역에 명령
및 정보를 파싱 즉,에서 반환
그것으로 무언가를, 수정 내 플러그인과 행동이 내가
플러그 - 인 결과로 갖는다. 그래.
그럼 이런 방법을 볼 수 있습니다.
우리는이 매우 간단 보았다 세미나 배치 스크립트가 나는
[들림] 실제로 실행할 수 있습니다.
>> 그리고 지금의이 수정을 보자 함께이 넥타이 데 필요한 그
대화 창, 그것을 실행합니다.
그래서 여기에 우리는 꽤 할 거 야 거의 같은 일이 우리가 전에 본 것과 같이.
그러나 중 그 통지 내가들을 당장 소비 한 것들
대화 이외에 어떤 다시 내가 두 번했던 일이,
어떤 추가 necessary--되지 대화와 명령에
그리고 메뉴는 플러그인, 된 나를 위해 처음에 필요한
새 명령을 정의하고 메뉴 항목에 주입,
또한이 PROC 플러그인을 가지고있다.
>> 그리고이 PROC 플러그인이 있습니다 우리는 프로세스를 조작하는
기본 인스턴스.
내가 한 후 그것을 연결했습니다 내 플러그인을 필요로했다.
나는 다음 코드를 연결했습니다 우리는 메인 함수에서 본 것처럼.
다시 말하지만, 내가 갈거야 내 대화를 초기화합니다.
그리고 지금 우리가 아래로 이동하는 경우, 우리 이 다른 방법을 볼 수 있습니다.
부하의 함수이므로, 동일한 그것은 단지 명령을 만들 것
및 메뉴 항목을 생성하고 연결 그 명령에 해당 메뉴 항목을 선택합니다.
그러나 우리가 지금 이동하면 아래로 대화를 보여,
우리는 어디에서 볼 수 시작할 수 있습니다 차이가 발생한다.
>> 우리는 기능 쇼 대화를, 가지고있는 그냥 대화를 보여줄 예정이다.
그러나 나는이 대화를 표시 할 때, 그리고 표시 방법은 호출 될 때,
그것은 그리기 기능을 발생합니다.
그리고 나는 그 지정거야 그 내부에 일부 콘텐츠.
그래서 난 그냥 갈거야 그것을 제공, 사업부를 만들
기본적인 텍스트, 안녕하세요, 세계.
하지만 난 여기에 통지 여기에 ID를 첨부 할 것.
그리고 바로 다음 줄은 내가 갈거야 자바 스크립트를 사용하여 해당 ID를 찾으려면
그 객체를 저장할 또 다른 변수로
난 그냥 콘텐츠를 호출하는거야 있음.
>> 그래서 지금 내가있을 때마다 내용 모두 내가 할 필요가
다만,이 객체의 내부 HTML을 수정할 수있다.
그리고 대화 HTML은 것 다음뿐만 아니라 수정 될 수있다.
그래서이 플러그인은 때 후 일어날 수있는 도시
이것은 새로운 이벤트 즉,이 플러그인에 새로운,
그러나 모든에서 일어나는 플러그인으로 대화, 이것은 지금 표시 될 때,
내가 전화하려고 해요 호출 된 함수는 정보를 가져 오기.
그리고이 기능은 여기의 고기.
나는 그 PROC 플러그인을 사용하려고 해요 우리는 어떤 방식으로, 전술 한 바와
정말 Node.js 라이브러리 클라우드 9 여기에 사용된다.
>> 그래서 당신은 실제로 수 이 방법에 대해 조회
당신이 들어갈 경우 작동 Node.js 문서
및 간부 파일을 찾아 이 프로세스에 대한 방법.
나는이 특정 실행거야 명령, 홈 우분투 작업 공간
같은 하나입니다 세미나, 그 내가 전에 만든 같은 명령.
그것은 현재에 제공 다만, 작업 디렉토리
측면에서 매우 안전합니다 곳의 컨텍스트가 실행 중입니다.
그리고 그되면 완료 및 반환,
나는 이것을 실행하는거야 구문 분석 출력 호출 된 함수.
그래.
그래서이 다음 실행할 것입니다 오히려 지역, 또는의 명령
원격 우분투 인스턴스입니다.
내가 돌아올 때 일부 정보, 그때 해요
별도의 함수를 호출하는 것 것으로, 구문 분석 출력라고
여기에이 서명이 ERR, 표준 출력, 표준 에러,
이에 대한 몇 가지 계산을 수행합니다.
그래서 만약 내가 오류가 발생 전혀 어떤 종류의,
실제로 있는지 확인합니다 오류가 실제로 일부 데이터가 있습니다.
그리고 그렇다면, 나는 내부를 수정합니다 콘텐츠 객체의 HTML있는
당신은, 우리를 기억하다 대화에 연결
그 instantiattion에서 대화, 또는 제 1 도면에서
그 대화의.
난 그냥 말할거야 일부 오류가 발생했습니다.
>> 지금이 지나치게 단순하다.
오류 값이 일반적으로 것입니다 유용한 무언가를 포함
아마도 에러 번호 스크립트 자체에서 오류가 발생했습니다.
또는 스크립트를 작성하는 경우 표준 오류에 뭔가,
데이터가 채워 것 그 매개 변수뿐만 아니라.
그리고 나는 조금이 될 수 어떤 오류에 대한 자세한주의
사실 사람들이 보여주는거야.
하지만이 단순한 예 지금은 충분
적어도 방법이 모든 기능을 볼 수 있습니다.
그렇지 않으면이 있으면 오류, 다음 그냥 해요
원료를 제공하는 것 그 함수의 출력
이 콘텐츠의 내측으로 HTML 요소, 다음 내 플러그인을 업데이트
여기를 보여줍니다.
그리고 거의 모든 그건이다 필요한이 실행 얻을 수 있습니다.
그리고 그래서 다음에 대해 생각해 봅시다 어떻게 작동, 전체.
때 내가 처음이 플러그인을로드, 다만 최초의 플러그인처럼,
나는의 명령을 추가거야 모든 플러그인에, 아무것도 사용할 수
클라우드 9, CS50 세미나라는 누구의 책임 대화 2,
이 쇼를 실행하는 것입니다 당신이 기억입니다 대화,
실제로 대화를 표시합니다 나는 아래의 요청이.
>> 그런 다음 그 추가됩니다 창 메뉴에 명령
그래서 나는 그에 액세스 할 수 있습니다.
그리고 때 대화 도시되도록 요구되며,
나는 일부 정보를 가져옵니다 기본 우분투 인스턴스
간부 파일 명령을 사용하여.
실례합니다.
그는 반환 좀 받게되면 정보는, 클라이언트 측에서
다시, 나는 구문 분석 할 수있을 것입니다 이 명령의 출력
및 내부를 업데이트 HTML 엘리먼트
우리는 이전에 연결했다고.
>> 그리고, 우리는이 이 모든 기능을 플러그인
그 날 정보를 가져올 수 있습니다 이 임의의 스크립트
우리는에 만든 것으로 우리의 기본 인스턴스입니다.
그러나 다시, 그것은 정말 중요하고 정말 키
여기서 각 석출 이러한 일들이 일어나고,
우리는이 클라이언트 측 모두 있는지 브라우저에서 실행되는 코드,
아직 액세스 할 수 없습니다 기본 파일 시스템
우리는 실제로 이들 중 일부를 실행할 때까지 클라우드에서 제공하는 명령
9 PROC 같은 SDK, 그리고 몇몇 다른 사람 즉, 우리가 어떤 데이터를 판독 할 수 있도록,
우리가 필요로하는 경우 또는 일부 파일을 읽을 종류의 아무것도 할 수 있습니다.
>> 이제이 다소 간단한 예입니다.
다른 것들이 있다는 것을 우리 아마도 잘 할 것입니다.
예를 들어, 아마도 우리는 실제로 몇 가지 정보를 저장할
기본 설정.
아니면 우리가 원하는 새로운 환경 설정 패널을 추가
또는 그 라인을 따라 뭔가.
그 뭔가 있음을 클라우드 9 SDK에서 좀 걸릴 수 있습니다
에 대한 자세한 정보를 얻을 수 있습니다.
그러나 이것은 정말 충분 시작합니다.
그래서 조금 더 구체적으로 방법에 대한 이들 몇 가지
기능, 난 그냥 보여주고 싶은 않았다 그냥 하나 더 예를 들어,
통계 50 플러그인의 코드.
>> 그리고이 코드는 기본적으로 이들 예에 기초
실제로 본 적이 있는지, 하지만 좀 더 안전 장치를 가지고
주문에서 좀 더 복잡성을 가지고 추가로 몇 가지를 달성하기 위해
우리가 달성하고자하는 것이다.
예를 들어, 내가되고 싶은 경우 일부 설정을 저장할 수,
그때 접근이 필요 설정 플러그인,
모든 시간은 내가 원하는 일부 설정을 읽을 수있는,
I는, 예를 들어, 다양한 부착 할 설정에서 이벤트 플러그인입니다.
그래서 설정이 빨간색 때마다, 예를 들어, 내 자신의 플러그인에,
나는 몇 가지를 읽을려고하면 저장된 스토리지의 설정
사용자의 환경 설정, 다음 내가 할 수있는 특정 위치에 대한 기본값을 설정,
그 특정 환경에 대한 우리가했습니다 JSON 스타일 옵션 파일
우리가 이전에 본 적이 있는지, 이전에 저장.
>> 그리고 내가 쓸거야 경우 그것에 일부 설정,
나는 즉시 우리가 감지로 주는거 또는 설정이 기록 된 것을
이러시면 예를 들어, 그 때문에 설정은 사용자에 의해 수정 된
직접 자신의 설정에서 파일 또는 환경 설정 패널
설정을 변경 다음, 파일을 직접
사실 코드의 일부를 업데이트 할 수 있습니다 또는 내 플러그인의 동작을 업데이트
이 변경 사항을 기반으로 뿐만 아니라 설정 파일에 발생했습니다.
하지만 실제로는, 그것의 나머지는 꽤입니다 많은이 이미 본 적이있다.
>> 우리는 아마도 몇 가지를 추가 새로운 무엇인가.
그래서 우리는, 환경 설정 파일을 추가 또는 오히려 환경 설정 패널,
다시 환경 설정 창에 당신은 더 많은 정보를 찾을 수 있습니다
클라우드 9 SDK는 저를 읽습니다.
그러나 다른 모든 것들 꽤, 꽤 많이
우리가 이전에 보았던 것과 비슷한 단지 몇 가지 추가 오류 검사와
그리고 몇 가지 추가 보호 일부 추가 기능
다양한 모든 기능을하는 우리가 본 것.
당신이 실제로있는 경우 아직 본, 당신은 수도
기본 궁금 수 명령은 통계 (50) 창입니다.
실제로 기능입니다.
음, 젠, 오 is--.
일초.
기다려.
그래.
날이 위로 이동하자 그래서 우리는 실제로 수 나는 통계 (50) 입력시 실행되는 사항을 참조하십시오.
이 경우 해당 공지 사항, 나는 퍼팅 아웃이​​야 명령
정말 다시 그냥 스크립트입니다 출력 정보의 무리를가는
JSON 형식.
그리고 우리는 그것을 이유를 않는 이 방법은 그 우리 때문에
우리가 작성했기 때문에, 운영하고 있습니다 자바 스크립트는 클라이언트 측 코드,
우리가 할 수있는 아주 쉽게 그냥 자바 스크립트 객체를 구문 분석
정말 조작 할 수 이러한 개체는 우리 같은 것
다른 자바 스크립트 객체입니다.
>> 그리고 이것은 매우 편리합니다 일부 정보를 제공하는 방법
기본 우분투 인스턴스에서, 버전 번호, 호스트로서
서버가 수신 여부, 이름, 서버가 등등, 등등과 무엇인지,
그리고 매우 분석 용이하고 매우 빠르게
플러그인에서 그는 것입니다 우리에게 그 모든 정보를 표시합니다.
그래서 다시, 키 통찰력 여기에서 염두에 두어야합니다
이 분리 사이입니다 기본 인스턴스
또한 코드가로드된다.
즉, 내가 클라이언트가있을 때, 먼저 로딩이다.
에서 그냥이 정적 자바 스크립트 파일 어딘가에, 어떤 종류의 아마 CDN.
우리는 정말 상관 할 필요가 없습니다 이 첫 번째 단계에 대한 너무 많은.
>> 우리는 단지 그것의 알고 클라이언트 측에서 실행
내가 갈거야 때 그건 이 고정 표시기 인스턴스와 통신합니다.
우리는 그렇게 할 거라고 클라우드 9 SDK를 통해.
우리는 실제로 능력이없는, JavaScript 또는 Node.js를 사용
여기에 직접 작성합니다.
우리는 이러한 기존의 SDK를 사용하여 API는 우리를 위해 해당 작업을 수행합니다.
그리고 또 하나 정말 중요한 것들
나는이를 만든 경우이다 나는이 플러그인을 만든 경우,
그리고 내가 일하고로, 하나 할 수있는 중요한 것들 중
자바 스크립트 콘솔을 가지고하는 것입니다.
>> 이 모든 때문에 때문에 자바 스크립트에서 작동
클라이언트 측에서 사용하는 경우 I CONSOLE.LOG method-- 그래서 그냥
여기에 예를 표시합니다.
의이 간단한 수정 해보자 플러그인 일부 데이터를 기록 할 수 있습니다.
그리고 우리는 표준 출력을 추가 할 것입니다.
그럼 그건 바로 여기에 변경할 수 있습니다.
지금은 실행할 때 CONSOLE.LOG은 염두에 두어야
이 때문에 실행되고 있는지 클라이언트 측에서,
난 내 자신이 표시됩니다 자바 스크립트 콘솔, 어떤
그때 수있을 것입니다 방법이다 문제를 해결하고 디버깅하려고
I는이 문제의 일부.
>> 주의 그 때문에 나는 난, SDK 모드입니다
조작 할 다음 수 이 경우에 플러그인.
그래서 심지어는하지만 이 경우에 저장,
이는 그 이전의 한 예입니다 규칙 위반되는 경우 클라우드 9
SDK는 실제로에서 플러그인을 끌어 인스턴스를 기본 다음을 실행합니다.
이런 식으로, 그때 해요 그래서 조작하고 구성 할 수
여기에 몇 가지 플러그인.
그러나 순서 나 볼에 대한 이 플러그인에 대한 업데이트,
이 클라이언트 측에 있기 때문에, 그 플러그인을 저장해야
다음 전체 작업 영역을 다시로드, 새로운 플러그인이되도록 한 다음
에, 내 클라이언트에 다운로드 내 다음, 웹 브라우저, 및 사용되고있다.
>> 지금 나는이 세미나를 클릭하면 대화 2, 우리는 여전히를 참조하십시오.
하지만 지금 잘하면 내 자바 스크립트에서 대화, 우리는 거니 기다리해야,
기다려.
나는 대화 신선한를 열 수도 있습니다.
우리는 여기서 내 수신 된 데이터를 볼 수 있습니다.
수신 된 데이터, 안녕하세요, 불러 댄,
CONSOLE.LOG 작업이였습니다 우리는 플러그 인에 요청.
그래서이 설명 후 , 내가 전에 언급 한
이 대화, 또는이 그림이 아니라, 그 나는
앞서 언급 한 일이 발생하는 것이다.
그러나 중요한있다 단지 개발을위한 예외,
이는 그 플러그인 그 자체가 실제로 수도
고정 표시기 인스턴스에 저장 일시적으로, 아마도 이후 클라우드 9
우리가 할 수 원하지 않는다 자신의 CDN에 객체를 조작 할 수 있습니다.
>> 그리고 클라우드 9 클라이언트로드에 따라, 점에서 그 플러그인을 찾을 수 있습니다.
C9 폴더에 플러그인, 그로드.
그러나 사람들은 여전히​​ 일어나고있는 단지 클라이언트 측.
그럼 이것은 단지입니다 에만 발생 예외
클라우드 9 플러그인의 개발.
그러나 나머지 time-- 및 이유
우리가 정말이 원하는 것을 이 home-- 망치
대부분의 시간이 때문이다 CDN에서 실행 될 것,
바로 실행 될 것 순수 클라이언트 측으로부터.
>> 일반적으로 전혀 없을 것 플러그인과의 상호 작용,
심지어 어떤 일 필​​요가 없다 자신을 플러그 - 인 것을 이유
실제로에 저장되어있는 고정 표시기 인스턴스 밑에,
의 경우를 제외 이 SDK를 개발.
그래서 다시, 이것은 단지 변경 약간 때문에 사실
것을 우리는 SDK 모드를 실행하고 있습니다.
그런 다음 그로드 것 개발에서 플러그인,
여기에 유일한 목적은 그 너무 나는 개발을 수행하는 클라우드 9을 사용할 수 있습니다
클라우드 9 플러그인합니다.
그러나 그럼에도 불구하고,이 변경되지 않습니다 이 모든 작품을 다시하는 방법.
아직 실행되고 있어요 전적으로 클라이언트 측.
>> 그냥 내가 원하는 때마다 것을 의미한다 클라우드 9 클라우드 9 플러그인을 작성,
나는, 그 플러그인을 만들 내에 넣어.
내 집에서 C9 / 플러그인 폴더 디렉토리는, 내가 SDK 모드에있어 확인
사실은 페이지마다 다시로드 이 플러그인을 변경,
그리고 무슨 일이 일어나는 참조 내 자바 스크립트 콘솔.
그냥 내 자바 스크립트를 관리 확인 콘솔
문제 해결이 내가 콘솔에 배치 정보,
또는 다른 어떤 발생할 수 있습니다 그 내가 쓴 그 오류 때문에
내 코드 등에,이 나타난다.
>> 그리고, 그것은 정말 충분히 시작할 수, 나는 생각한다,
클라우드 9 플러그인을.
특히 SDK에서 살펴 본다 클라우드 9이 제공하는 설명서를 참조하십시오.
그것은 얻을 수있는 좋은 방법입니다 아주 쉽게 시작하고,
클라우드 9에 대한 몇 가지 플러그인을 만들 수 있습니다.
그리고 그와 함께, 나는 감사드립니다 나 시청에 모든 아주 많이.
난 당신이 재미를 바랍니다 클라우드 9 플러그인을 작성.
아마도 플러그인을 개선 우리는 지금, 또는 어쩌면 가지고
자신의 몇 가지 기능을 추가.
우리는 뵙기를 기대합니다 그것이 무엇인지 당신은 만들 수 있습니다.
그때까지 안녕.