1 00:00:00,000 --> 00:00:08,560 2 00:00:08,560 --> 00:00:10,410 >> GABRIEL GUIMARAES :이 CS50입니다. 3 00:00:10,410 --> 00:00:14,740 놀라운 웹 애플리케이션에 오신 것을 환영합니다 루비 온 레일스 (Ruby on Rails)와 함께. 4 00:00:14,740 --> 00:00:19,700 그래서 누군가를 위해 누구는 웹에 관심 개발 및 제작 웹 사이트, 웹 5 00:00:19,700 --> 00:00:26,510 응용 프로그램, 루비 온 레일스 (Ruby on Rails)이 있습니다 놀라운 도구가 트위터, GitHub의, 6 00:00:26,510 --> 00:00:31,470 그루 폰, 정말 좋은 모든 종류의, 큰 웹 응용 프로그램에서 사용하는 7 00:00:31,470 --> 00:00:33,080 지난 몇 년. 8 00:00:33,080 --> 00:00:37,190 그리고 정말, 정말 멋진 기능, 멋진 도구, 9 00:00:37,190 --> 00:00:39,290 그것은 새로운 때문이다. 10 00:00:39,290 --> 00:00:43,830 그래서 새로운 강력한 모두 가지고 기술 하나에 통합 11 00:00:43,830 --> 00:00:49,050 당신이 처리하는 데 도움이 프레임 워크 놀라운 사물의 모든 종류. 12 00:00:49,050 --> 00:00:50,970 >> 하지만 프레임 워크는 무엇인가? 13 00:00:50,970 --> 00:00:55,700 따라서 프레임 워크는 기본적으로 생성 일 - 14 00:00:55,700 --> 00:00:59,680 당신이 웹 사이트를 시작할 때, 경우에 당신은 시작 처음부터, 같은 당신이 열 15 00:00:59,680 --> 00:01:04,530 이 gedit에서, 당신은 모든 코드를 할 당신의 당신의 HTML, 코드의 모든 16 00:01:04,530 --> 00:01:08,130 PHP, 당신의 CSS의 모든, 모든 처음부터 - 17 00:01:08,130 --> 00:01:09,690 그건 그냥 일이 많이있을 것입니다. 18 00:01:09,690 --> 00:01:13,940 그리고 프레임 워크는 말 그대로 당신에게 제공 웹 사이트의 절반은 이미 완료. 19 00:01:13,940 --> 00:01:18,070 그래서 당신은 반 웹 사이트로 시작 그것은 당신을 위해 거기에 모든 것을 갖추고 있습니다. 20 00:01:18,070 --> 00:01:22,690 데이터베이스 연결을 표시하고, 모든 당신이 걱정해야 할 일의 종류 21 00:01:22,690 --> 00:01:25,040 처음부터 그 일을하는 경우에 대해, 당신은 그에 대해 걱정할 필요가 없습니다 22 00:01:25,040 --> 00:01:26,480 낮은 수준의 세부 사항. 23 00:01:26,480 --> 00:01:32,360 >> 하지만 오늘 우리는 하나를 내보낼거야 웹 사이트가의 신입생 24 00:01:32,360 --> 00:01:34,740 2017 클래스는 아마 잘 알고 있습니다. 25 00:01:34,740 --> 00:01:40,170 따라서이 웹 사이트는 웹 사이트입니다 I 여름에 우리의 클래스했다. 26 00:01:40,170 --> 00:01:46,500 그것은의 학생들이 웹 사이트했다 2017 클래스는 로그인 할 수 27 00:01:46,500 --> 00:01:47,480 서로 상호 작용합니다. 28 00:01:47,480 --> 00:01:49,610 그리고 다음이지도입니다 - 29 00:01:49,610 --> 00:01:51,210 사람들이 모두. 30 00:01:51,210 --> 00:01:56,970 그리고 우리는 노래 게임에게 책 게임을했다 우리는 사람들의 노래를보고 위치 31 00:01:56,970 --> 00:01:57,970 사람들의 책. 32 00:01:57,970 --> 00:02:00,480 그들이 읽고 싶은 무엇, 무엇을 그들은 듣고 싶어요. 33 00:02:00,480 --> 00:02:06,830 그리고 그것의 가장 흥미로운 부분은 그것은 말 그대로 나에게 세 시간 걸린 34 00:02:06,830 --> 00:02:07,840 그것 모두를 코딩. 35 00:02:07,840 --> 00:02:13,050 때문에 나는 모든 것을해야 할 일을했을 경우 의 gedit를 개방 상처, 그것은 36 00:02:13,050 --> 00:02:16,400 아마 촬영 한 것 저 20, 30 시간이다. 37 00:02:16,400 --> 00:02:20,210 그러나 루비 온 레일즈, 때문에 모든 것이 이미 나를 위해 설립되었다, 38 00:02:20,210 --> 00:02:25,550 그것은 단지, 나에게 서너 시간이 걸렸다 또는 그런 일. 39 00:02:25,550 --> 00:02:27,580 >> 그래서 루비 온 레일스 (Ruby on Rails)는 무엇인가. 40 00:02:27,580 --> 00:02:32,720 루비 레일에, 다시 같은 우리 이미 말했다 프레임 워크입니다. 41 00:02:32,720 --> 00:02:34,800 이 프레임 워크의 사진입니다. 42 00:02:34,800 --> 00:02:37,460 그래서 당신은 구축을 시작하는거야 집, 당신은 이미 절반이 43 00:02:37,460 --> 00:02:38,320 집이 다. 44 00:02:38,320 --> 00:02:38,970 즉, 프레임 워크입니다. 45 00:02:38,970 --> 00:02:40,560 그리고 루비 온 레일스 (Ruby on Rails)는 정확히 같은. 46 00:02:40,560 --> 00:02:44,440 그리고 당신은 당신이 시작이라고 생각한다 웹 사이트, 당신은 당신의 웹을 시작 47 00:02:44,440 --> 00:02:48,830 응용 프로그램, 우리는 이미 그것의 절반이 다. 48 00:02:48,830 --> 00:02:50,400 그러나 우선, 루비는 무엇인가? 49 00:02:50,400 --> 00:02:53,510 50 00:02:53,510 --> 00:02:58,310 루비 온 레일스 (Ruby on Rails)는 모델 뷰를 사용하여 패러다임 컨트롤러, 어떤 51 00:02:58,310 --> 00:02:59,930 정말 재미있다 - 52 00:02:59,930 --> 00:03:04,250 요즘 모든 응용 프로그램 그런 식으로 뭔가를 사용합니다. 53 00:03:04,250 --> 00:03:08,630 에 물건을 분리하는이 아이디어 세 부분, 모델, 뷰, 그리고 54 00:03:08,630 --> 00:03:09,630 컨트롤러. 55 00:03:09,630 --> 00:03:11,950 우리는 조금 이야기 할 것입니다 나중에 대한 자세한. 56 00:03:11,950 --> 00:03:13,400 >> 첫째, 루비는 무엇인가? 57 00:03:13,400 --> 00:03:14,500 그래서이 루비입니다. 58 00:03:14,500 --> 00:03:17,850 그리고 이것은의 상징이다 루비라는 언어. 59 00:03:17,850 --> 00:03:24,170 루비는 해석 약간 새로운 중 하나입니다 언어, 그래서 스크립트. 60 00:03:24,170 --> 00:03:29,530 그것은 컴파일되지있어 언어의 C.처럼 그것은 실행에 컴파일 된 것. 61 00:03:29,530 --> 00:03:33,220 그래서 그 좋은 때문에, 그냥 PHP와 같은, 예를 들어도 해석된다 62 00:03:33,220 --> 00:03:33,960 컴파일되지 않습니다. 63 00:03:33,960 --> 00:03:35,710 포터블 때문 좋다. 64 00:03:35,710 --> 00:03:39,740 그래서 당신은 단지에서 코드를 통과 다른 하나의 시스템. 65 00:03:39,740 --> 00:03:44,440 리눅스 머신에서 윈도우에 Mac 또는 애플 컴퓨터, 또는에 기계, 66 00:03:44,440 --> 00:03:45,240 그런 식으로. 67 00:03:45,240 --> 00:03:49,160 그리고 당신에 대해 걱정할 필요가 없습니다 특정의 각각에 관한 상세 68 00:03:49,160 --> 00:03:49,890 운영 체제. 69 00:03:49,890 --> 00:03:51,330 이 곳에서 작업 할 것입니다. 70 00:03:51,330 --> 00:03:54,700 >> 그리고 루비는 언어입니다 - 71 00:03:54,700 --> 00:03:56,920 너희들은 아마 기억. 72 00:03:56,920 --> 00:04:01,440 사람들은 구현 해시 함수를 사용 해시 테이블의 C에 73 00:04:01,440 --> 00:04:04,860 지난 주와 모든 종류의 있었다 분할 고장. 74 00:04:04,860 --> 00:04:12,360 그러면 모든 일이 있는지 여부에 대한 걱정 해당 문자열 내가 거기 문자열 I 75 00:04:12,360 --> 00:04:20,380 여기에, 실제로 소문자 또는 하였다 대문자, 또는 우려의 이러한 종류의 76 00:04:20,380 --> 00:04:21,410 낮은 수준의 세부 사항. 77 00:04:21,410 --> 00:04:26,180 그럼 루비에, 당신이 원하는 경우에 구현하는 해시 테이블이 정확히 어떻게입니다 78 00:04:26,180 --> 00:04:27,100 해시 테이블을 만들 수 있습니다. 79 00:04:27,100 --> 00:04:30,280 당신이 말하는, 그 이름 사전의 내 변수 = "Hash.new". 80 00:04:30,280 --> 00:04:34,680 그리고 사전 [ "foo에"], 때 난 내 해시 테이블에 foo에 추가, 난 81 00:04:34,680 --> 00:04:35,960 그냥 foo는이 말. 82 00:04:35,960 --> 00:04:38,070 >> 그리고 내가 원하는 경우 확인하는 경우 foo는이 있었다, 난 그냥 말한다면 83 00:04:38,070 --> 00:04:40,270 사전 [ "foo에"] == true를 반환 사실. 84 00:04:40,270 --> 00:04:41,560 우와, 그것은 당신의 해시 테이블입니다. 85 00:04:41,560 --> 00:04:44,280 즉, 구현의 루비 해시 테이블의. 86 00:04:44,280 --> 00:04:50,200 그래서 모든 사람은 그들이 가질 수 좋겠다고 최근에 루비 같은 것을 사용 87 00:04:50,200 --> 00:04:51,450 주 PSET, 오른쪽? 88 00:04:51,450 --> 00:04:54,410 89 00:04:54,410 --> 00:04:59,050 우리는 할 수있는 모든 종류의 이유가 루비 같은 언어를 사용합니다. 90 00:04:59,050 --> 00:05:01,380 루비 보석이 있습니다. 91 00:05:01,380 --> 00:05:04,000 보석은 종류에 대한 이름입니다 루비 라이브러리. 92 00:05:04,000 --> 00:05:07,490 >> 흥미로운 기능의 그래서 모든 종류의 당신이 가질 수있는, 예를 들어, I 93 00:05:07,490 --> 00:05:09,280 내 응용 프로그램을 통합 할. 94 00:05:09,280 --> 00:05:12,470 즉, 하버드 2017 응용 프로그램 페이스 북에 통합되었습니다. 95 00:05:12,470 --> 00:05:15,810 그래서 당신은을 통해 로그인 할 수 페이스 북, 애플 리케이션에. 96 00:05:15,810 --> 00:05:19,760 당신이 그렇게 할거야 그렇다면, 당신은하지 않습니다 일부 전송에 대해 걱정할 필요가 97 00:05:19,760 --> 00:05:23,760 HTTP의 페이스 북에 요청하고 대기 응답 및보기 강제력 98 00:05:23,760 --> 00:05:25,150 응답, 어쩌구 저쩌구. 99 00:05:25,150 --> 00:05:29,120 당신은 보석을 다운로드하는 당신을 위해 모든 것을 않습니다. 100 00:05:29,120 --> 00:05:30,750 그리고 당신은 할 필요가 없습니다 이 모든 걱정. 101 00:05:30,750 --> 00:05:33,670 >> 도움 그리고 많은 온라인, 물론. 102 00:05:33,670 --> 00:05:37,040 많은, 많은, 많은 웹 사이트가있다 그 모두와 당신을 도움이 될 수 있습니다 103 00:05:37,040 --> 00:05:38,880 루비와 레일스와. 104 00:05:38,880 --> 00:05:40,530 그리고 코드에 재미를 많이 있습니다. 105 00:05:40,530 --> 00:05:46,770 당신은 걱정 중지 할 수 있습니다 정확히 때문에 그 때문에 재미없는 문제에 대한. 106 00:05:46,770 --> 00:05:50,690 좋아하는 경우에 무언가가 소문자 또는 위의 경우, 다음 이유입니다 107 00:05:50,690 --> 00:05:54,500 당신에게 세그먼트 오류를​​ 제공하고, 당신이 정말로 매우에 뛰어들 수 있습니다 108 00:05:54,500 --> 00:05:55,460 흥미로운 것들. 109 00:05:55,460 --> 00:05:59,650 정말 멋진 문제에 다이빙. 110 00:05:59,650 --> 00:06:02,420 >> 그래서 루비는 단지 의미에서 C로 같습니다. 111 00:06:02,420 --> 00:06:05,950 그래서는 않을거야 실제로 점프의 큰. 112 00:06:05,950 --> 00:06:09,470 그래서 루비에서 우리의 인쇄 응용 프로그램의, 둔다. 113 00:06:09,470 --> 00:06:12,790 난 당신이 너무 인쇄를 사용할 수있을거야 하지만 풋 사람들이 사용하는 것입니다. 114 00:06:12,790 --> 00:06:14,490 그래서 그냥 "안녕하세요"를 넣습니다. 115 00:06:14,490 --> 00:06:21,400 당신은 할 수, 또는 당신이 가지고 수 없습니다 둘러싸는 괄호 116 00:06:21,400 --> 00:06:23,280 거기에 "Hello World". 117 00:06:23,280 --> 00:06:25,350 당신은 여부를 선택할 수 있습니다 또는 그것을 사용하지. 118 00:06:25,350 --> 00:06:26,780 그리고 X = "1". 119 00:06:26,780 --> 00:06:29,030 While 루프는 꽤 보인다 거의 같은. 120 00:06:29,030 --> 00:06:30,630 그냥 적은 구문을 가지고 있습니다. 121 00:06:30,630 --> 00:06:32,590 그것은 종류의 청소기 조금 있습니다. 122 00:06:32,590 --> 00:06:37,380 그리고 만약 X> 25 박았 "큰!" 및 다른 "작은 ..."를 넣습니다. 123 00:06:37,380 --> 00:06:39,070 그리고 그런 의미에서 C의 일종이다. 124 00:06:39,070 --> 00:06:41,630 >> 당신이 보는 경우에, 당신이 할 수 있도록 방법은 아마 이해 125 00:06:41,630 --> 00:06:42,890 일어나고있는 모든 것을. 126 00:06:42,890 --> 00:06:47,750 하지만 더 강력합니다. 127 00:06:47,750 --> 00:06:54,520 더 강력한 그 이상 때​​문에, 그것은 사물은하지 않습니다 수 있습니다 - 128 00:06:54,520 --> 00:06:55,750 hackage 약간의 일종. 129 00:06:55,750 --> 00:06:57,430 C에서 당신은에서 할 수 없습니다 하나의 라인으로한다. 130 00:06:57,430 --> 00:06:58,680 예를 들어, "나는 # {X}입니다"넣습니다. 131 00:06:58,680 --> 00:07:04,330 132 00:07:04,330 --> 00:07:11,100 값을 넣어 본은 구문입니다 여기서 X 및 인쇄되지 않습니다 133 00:07:11,100 --> 00:07:12,160 문자 X. 134 00:07:12,160 --> 00:07:17,850 C에서 당신은 %의 개발을 할 수 있고, 그 후 변수 x를 넣어 135 00:07:17,850 --> 00:07:19,730 여기에 쉼표, 또는 그런 일. 136 00:07:19,730 --> 00:07:22,220 >> 그리고 루비에 속기가있다 단지 그 일을하십시오. 137 00:07:22,220 --> 00:07:27,830 그리고 당신이 할 수있는 경우에 X> 3, 이것을두고, 그래서 둘 모두 한 줄에있는 경우. 138 00:07:27,830 --> 00:07:29,010 그리고 목록. 139 00:07:29,010 --> 00:07:33,320 C의 목록, 배열처럼, 당신은에있다 배열이 얼마나 큰 추적 또는 보관 140 00:07:33,320 --> 00:07:34,720 그렇지 않으면 당신은 분할을 얻을 결함. 141 00:07:34,720 --> 00:07:36,210 어레이는 하나의 유형이다. 142 00:07:36,210 --> 00:07:38,790 그래서 어느 충전의 배열의 또는 정수의 배열. 143 00:07:38,790 --> 00:07:43,620 이 경우는, 여기에 목록을 작성 그 첫 번째가 배열의 144 00:07:43,620 --> 00:07:48,450 요소는, 존 문자열이며, 네, 두 - 사람들은 정수입니다. 145 00:07:48,450 --> 00:07:53,590 그리고 난 그냥 목록에 추가 좌 각 브라켓, 왼쪽 146 00:07:53,590 --> 00:07:54,820 각 부류, 세. 147 00:07:54,820 --> 00:07:58,170 그건 그냥 추가 의미 내 목록에 뭔가. 148 00:07:58,170 --> 00:08:01,630 >> 그래서 좀 더 재미 있기 때문에의 당신이로 사용하려는 경우 149 00:08:01,630 --> 00:08:03,920 정수의 단순한 목록 당신은 완전히 수 있습니다. 150 00:08:03,920 --> 00:08:05,530 즉, 완전히 괜찮아요. 151 00:08:05,530 --> 00:08:06,750 그냥 정수를 넣어. 152 00:08:06,750 --> 00:08:10,240 하지만 당신은 뭔가를하고 싶었다면 더 강력한, 즉이 다른 153 00:08:10,240 --> 00:08:11,690 가지, 즉이 - 154 00:08:11,690 --> 00:08:15,480 나도 몰라, 목록에있는 모든 종류의 거기에, 또는 그 이상의 다른 개체 155 00:08:15,480 --> 00:08:16,970 흥미로운, 당신은 완전히 그 작업을 수행 할 수 있습니다. 156 00:08:16,970 --> 00:08:17,880 그것은 완전히 괜찮아. 157 00:08:17,880 --> 00:08:21,210 그리고 당신은을 반복하려면 목록, 당​​신은 사용할 수 158 00:08:21,210 --> 00:08:24,850 접근의 더 많은 C-틱 종류. 159 00:08:24,850 --> 00:08:29,970 즉, 루프, 당신은 시작합니다 변수, I = "1", 또는 I = "0". 160 00:08:29,970 --> 00:08:32,980 그리고 당신은, 이동 및 반복 그리고 모든 요소를​​ 얻는다. 161 00:08:32,980 --> 00:08:37,559 >> 그러나 당신은 또한이 사용할 수 더 루비와 같은 접근 방식. 162 00:08:37,559 --> 00:08:40,289 그건 그냥 list.each 같아요. 163 00:08:40,289 --> 00:08:45,230 그건 그냥 나를 돌려 말하는 것 목록의 모든 요소. 164 00:08:45,230 --> 00:08:49,120 그리고 각 요소와 함께 할, ELEM를 호출합니다. 165 00:08:49,120 --> 00:08:51,880 그래서이 난 것을 그냥 이름입니다 각 요소에 제공. 166 00:08:51,880 --> 00:08:56,630 그리고 지금이 모든 반복하는 것입니다 요소 및 ELEM, 그것은거야 167 00:08:56,630 --> 00:09:00,790 우리는 접근 방법이 될 수 있습니다 그 하나의 요소입니다. 168 00:09:00,790 --> 00:09:04,310 그래서 당신은 완전히에 충실 할 수 C 방식, 그러나 이것은 너무 작동합니다. 169 00:09:04,310 --> 00:09:07,970 그리고 OK, 정확히 같은 것입니다. 170 00:09:07,970 --> 00:09:13,830 >> 그리고 그 이외의, 정말입니다, 루비와 HTML을 통합 할 정말 쉽습니다 171 00:09:13,830 --> 00:09:17,010 너희들은 관심이 있기 때문에 웹 응용 프로그램에서. 172 00:09:17,010 --> 00:09:20,070 HTML은 확실히 뭔가있다 당신을 많이 사용하는 것입니다. 173 00:09:20,070 --> 00:09:25,820 그리고 여기에 루비를 넣어하려는 경우 HTML에서, 단지 <% 여기에서 시작합니다. 174 00:09:25,820 --> 00:09:28,500 즉, 여기에 루비는 시작을 의미합니다. 175 00:09:28,500 --> 00:09:32,130 그리고 %>, 종류 등 그런 의미에서 PHP. 176 00:09:32,130 --> 00:09:35,520 여기에 루비는 당신이 할 수있는 한 후 종료하고 그냥 여기에 경우를 넣어. 177 00:09:35,520 --> 00:09:39,400 그리고 나는 약간의 변수가 user.logged_in. 178 00:09:39,400 --> 00:09:45,120 루비에, 우리는 일반적으로 하나, 그 추가 심문 마크 또는 느낌표 179 00:09:45,120 --> 00:09:48,210 마크, 은행 문자처럼, 단지 종류의에 180 00:09:48,210 --> 00:09:49,480 우리의 기능을 구분합니다. 181 00:09:49,480 --> 00:09:52,780 하지만 당신은 그냥 넣어 자신의 이익을 위해. 182 00:09:52,780 --> 00:09:56,910 그것은 변화 게 아니에요 기능에서 아무것도. 183 00:09:56,910 --> 00:10:01,160 >> 그래서 그냥이는 것을 생각 나게합니다 기능 - 루비의 기능, 184 00:10:01,160 --> 00:10:06,650 오히려 C보다, 이미 말했듯이, 그들은 괄호가 필요하지 않습니다. 185 00:10:06,650 --> 00:10:09,740 그래서 그 일에 기록, 그건 함수는 그 방법이다. 186 00:10:09,740 --> 00:10:12,990 하지만 당신은 명시 적으로 할 필요가 없습니다 거기에 괄호를 넣어. 187 00:10:12,990 --> 00:10:16,030 사용자가 로그인 한 경우 그래서 그냥 물어 사용자의가 로그인 한 경우, 현재 188 00:10:16,030 --> 00:10:17,100 HTML이 다시 시작됩니다. 189 00:10:17,100 --> 00:10:21,670 그래서 오신 것을 환영합니다, 여기에 나는 user.name를 인쇄 할 수 있습니다. 190 00:10:21,670 --> 00:10:22,920 그리고 바로 그거야. 191 00:10:22,920 --> 00:10:24,970 192 00:10:24,970 --> 00:10:30,420 그래서 방법을 꽤 똑바로 앞으로의 당신은 당신의 HTML과 루비를 통합 할 수 있습니다. 193 00:10:30,420 --> 00:10:34,560 내가 말했듯이 자원은있다 루비에 대한 자원의 모든 종류. 194 00:10:34,560 --> 00:10:39,560 너희들은 모두 이후에이를 조회 할 수 있습니다 때문에 비디오 및 양쪽 195 00:10:39,560 --> 00:10:40,875 슬라이드로 가고있다 온라인으로 사용할 수 있습니다. 196 00:10:40,875 --> 00:10:44,620 197 00:10:44,620 --> 00:10:47,180 >> 그리고 지금의이 레일로하세요. 198 00:10:47,180 --> 00:10:48,330 레일은 사랑입니다. 199 00:10:48,330 --> 00:10:49,230 레일 - 200 00:10:49,230 --> 00:10:51,030 그래서 루비는 자신의 언어입니다. 201 00:10:51,030 --> 00:10:54,340 OK, 단지 PHP처럼, 그냥 파이썬을 좋아한다. 202 00:10:54,340 --> 00:10:59,980 그것은 C를 높은 수준의 언어처럼되지 않습니다 에있는 C의 중간, 낮은 수준의 언어 203 00:10:59,980 --> 00:11:05,240 루비는 당신이하지 않아도 의미 메모리 재 할당에 대해 걱정하고, 204 00:11:05,240 --> 00:11:07,300 포인터, 사물의 그 종류. 205 00:11:07,300 --> 00:11:11,120 그러나 레일이 프로그램입니다 루비로 작성되었습니다. 206 00:11:11,120 --> 00:11:15,610 그리고이 있기 위하여, 루비를 사용 프레임 워크, 당신은 수 있으려면 207 00:11:15,610 --> 00:11:18,990 멋진 웹 애플리케이션을 구축 할 수 있습니다. 208 00:11:18,990 --> 00:11:21,940 >> 그래서 처음에 루비를 설치해야 기계,하지만 대부분의 기계 209 00:11:21,940 --> 00:11:22,630 이미이 있습니다. 210 00:11:22,630 --> 00:11:24,800 그리고 그 위에 레일을 설치합니다. 211 00:11:24,800 --> 00:11:26,540 우리는 나중에 이야기 할 것입니다. 212 00:11:26,540 --> 00:11:28,100 왜 레일? 213 00:11:28,100 --> 00:11:31,470 그래서 MVC, 즉 모델 뷰 컨트롤러의 우리는 조금 이야기 214 00:11:31,470 --> 00:11:36,050 비트 때문에 모든 것을 간단하게 그것은 것들을 분할 215 00:11:36,050 --> 00:11:42,420 다른에 개념적으로 다른 응용 프로그램의 일부. 216 00:11:42,420 --> 00:11:45,930 낮은 수준의 문제에 더 적은 시간 소비, 또, 매우, 매우 217 00:11:45,930 --> 00:11:46,820 인기있는 지금. 218 00:11:46,820 --> 00:11:52,130 에 관심이있는 모든 사람들을위한 그래서 시작 장면, 또는 뭔가 219 00:11:52,130 --> 00:11:58,435 사업을 시작하고, 사람들처럼 하는 기술 시장에서 220 00:11:58,435 --> 00:12:02,440 지금 자신의 사업을 시작 입니다 정말 루비 정말 팬에 221 00:12:02,440 --> 00:12:04,120 너무 빨리 때문에 레일. 222 00:12:04,120 --> 00:12:07,510 >> 그래서 및 실행 뭔가를 얻을 수 있습니다 에서 하루보다, 그리고 그의 223 00:12:07,510 --> 00:12:10,410 정말 매우 강력한 루비를 사용하는 인수. 224 00:12:10,410 --> 00:12:13,460 그리고 4.0 레일 - 225 00:12:13,460 --> 00:12:15,920 지금 오븐에서 매우 신선합니다. 226 00:12:15,920 --> 00:12:16,930 그래서 4.0 레일 - 227 00:12:16,930 --> 00:12:20,180 내가 생각하는 첫 번째 릴리스 올해 3 월이었다. 228 00:12:20,180 --> 00:12:23,460 그리고, 모두가 정말 좋은 것 새로운, 멋진 기능의 종류. 229 00:12:23,460 --> 00:12:30,290 그래서 루비 온 레일즈의 프레임 워크입니다 끊임없이을 가지고 업데이트되고 230 00:12:30,290 --> 00:12:31,540 새로운 기술. 231 00:12:31,540 --> 00:12:33,710 232 00:12:33,710 --> 00:12:39,800 >> 내가 루비를 사용하려고 처음 레일, 나는이 문제를 가지고 있기 때문에, 233 00:12:39,800 --> 00:12:44,540 내 첫 번째 웹 응용 프로그램을 작성, 그리고 그것은 정확히처럼 보였다. 234 00:12:44,540 --> 00:12:49,020 그래서 위해 그 모든 파일을 생성 당신, 나는 아무 생각이 없었다 - 235 00:12:49,020 --> 00:12:50,780 이것은 무엇입니까? 236 00:12:50,780 --> 00:12:54,850 그것은 모든 해당 파일을 생성, 그리고 만 간단한 프로그램을 만들고 싶었 237 00:12:54,850 --> 00:12:57,140 간단한 HTML 웹 사이트. 238 00:12:57,140 --> 00:12:59,680 그리고 난 아무것도 할 수 없습니다. 239 00:12:59,680 --> 00:13:02,430 그래서 나는 조금 당황했다. 240 00:13:02,430 --> 00:13:08,350 하지만 그 중 하나의 당신에게 한 번 이해, 모든 일이됩니다 241 00:13:08,350 --> 00:13:09,190 훨씬 명확. 242 00:13:09,190 --> 00:13:15,750 그래서 첫 번째에 의해 압도되지 않습니다 처음에 만들 어떤 광경. 243 00:13:15,750 --> 00:13:18,430 >> 그래서 무슨 일이 레일을 생성합니다 이러한 모든 파일. 244 00:13:18,430 --> 00:13:20,470 그래서 그 중 하나는 문서, 문서입니다. 245 00:13:20,470 --> 00:13:23,080 DB, 즉 데이터베이스에 관련이 있어요. 246 00:13:23,080 --> 00:13:25,060 리브는, 그 도서관은 로그 있어요. 247 00:13:25,060 --> 00:13:28,200 공중, 스크립트, 그리고 몇 가지. 248 00:13:28,200 --> 00:13:32,110 거의 모든 당신이 걱정하는거야 에 대한 응용 프로그램 폴더가 거기있다. 249 00:13:32,110 --> 00:13:34,430 즉이 들어있는 폴더의 응용 프로그램. 250 00:13:34,430 --> 00:13:35,540 다른 모든 파일 - 251 00:13:35,540 --> 00:13:37,770 그들 중 일부는 중요합니다, 당신은있어 나중에 배울 것. 252 00:13:37,770 --> 00:13:42,040 그러나 그들은 단지 여기 프레임 워크가 포함되어 있습니다. 253 00:13:42,040 --> 00:13:46,420 집 그래서 첫 번째 초석 너희들은 OK, 구축하고있다? 254 00:13:46,420 --> 00:13:47,730 >> 그러나 응용 프로그램 폴더 - 255 00:13:47,730 --> 00:13:49,630 그건 정말 중요한 하나입니다. 256 00:13:49,630 --> 00:13:53,050 그리고 app 폴더 자산을 보유하고 있습니다. 257 00:13:53,050 --> 00:13:57,690 자산은 거의 전부입니다 그 온다. 258 00:13:57,690 --> 00:14:01,890 예를 들어 이미지의 모든 정적이 다운로드 할 것 259 00:14:01,890 --> 00:14:03,450 당신의 웹 사이트에. 260 00:14:03,450 --> 00:14:06,850 그래서 이미지, 자바 스크립트, CSS - 261 00:14:06,850 --> 00:14:08,520 사물의 이러한 종류의 자산입니다. 262 00:14:08,520 --> 00:14:11,310 263 00:14:11,310 --> 00:14:12,260 컨트롤러 - 264 00:14:12,260 --> 00:14:15,190 우리에 대해 더 많은 것을 이야기 할 것입니다 컨트롤러, 모델은 무엇입니까 265 00:14:15,190 --> 00:14:16,800 그리고 두 번째의 필드. 266 00:14:16,800 --> 00:14:20,760 그리고 도우미 기능을하고 있음 코드에 모두 사용할 수 있습니다 267 00:14:20,760 --> 00:14:22,800 당신이 뭔가를하는 데 도움이. 268 00:14:22,800 --> 00:14:25,800 같은 기능을 위해, 로그인 예 - user.loggedin. 269 00:14:25,800 --> 00:14:29,500 그것은 아마도 함수의 당신의 모든 부분에 사용해야 270 00:14:29,500 --> 00:14:30,030 응용 프로그램. 271 00:14:30,030 --> 00:14:33,590 그래서 당신은 뭔가를 넣을 수 있습니다 당신의 헬퍼. 272 00:14:33,590 --> 00:14:34,370 >> 우편물 - 273 00:14:34,370 --> 00:14:41,480 당신이 보내려고하는 경우에 그의 사용자에게 이메일, 당신 274 00:14:41,480 --> 00:14:43,420 메일 프로그램을 사용하고 싶습니다. 275 00:14:43,420 --> 00:14:46,420 그리고 모델과 뷰, 우리는거야 지금 그 권리에 대해 이야기. 276 00:14:46,420 --> 00:14:52,450 그래서 모델 뷰 컨트롤러, 그건 루비의 기본 초석 277 00:14:52,450 --> 00:14:55,730 레일, 대부분 워크 요즘, 솔직히 말해서. 278 00:14:55,730 --> 00:15:01,180 그래서 다시, 우리는 우리의 모든 코드를 분리 세 가지 부분으로. 279 00:15:01,180 --> 00:15:02,590 모델 - 280 00:15:02,590 --> 00:15:04,620 모델은 기본적으로 데이터베이스이다. 281 00:15:04,620 --> 00:15:06,090 그것은 데이터베이스에 일을 처리합니다. 282 00:15:06,090 --> 00:15:10,790 >> 따라서 데이터베이스의 각 테이블은이 모델 내에서 파일을 해당. 283 00:15:10,790 --> 00:15:13,330 그래서 테이블 종류의 사용자를위한. 284 00:15:13,330 --> 00:15:18,250 그래서 당신은 같은 정보를 저장하고 사용자 이름, 자신의 이메일, 자신의 285 00:15:18,250 --> 00:15:20,970 주소, 비밀번호, 그 같은 것들. 286 00:15:20,970 --> 00:15:24,535 당신은 하나의 파일을해야 할 것입니다 사용자의 RB라는 모델 - 287 00:15:24,535 --> 00:15:26,240 루비 경우 rb. 288 00:15:26,240 --> 00:15:30,180 그리고이 모든해야 할 것입니다 방법과 변수. 289 00:15:30,180 --> 00:15:34,130 변수는 대응 예정 사용자 이름, 이메일,에 290 00:15:34,130 --> 00:15:35,370 모든. 291 00:15:35,370 --> 00:15:37,760 >> 그리고 당신은 방법이 될 것입니다. 292 00:15:37,760 --> 00:15:42,690 그와 관련된 것이 될 것입니다 - 293 00:15:42,690 --> 00:15:46,400 이 정보를 처리하는거야 데이터베이스. 294 00:15:46,400 --> 00:15:50,220 레일을 사용하여 모델을 만들려면 당신은 레일 생성 사용합니다. 295 00:15:50,220 --> 00:15:54,990 그리고, 레일에 당신이 물건을 만들 수 있습니다 실제로 단말기가 필요합니다. 296 00:15:54,990 --> 00:15:58,770 그래서 그것은 매우 터미널의 기반의 프레임 워크. 297 00:15:58,770 --> 00:16:02,530 당신은 터미널에 로그인 레일즈는 모델을 생성 않습니다. 298 00:16:02,530 --> 00:16:04,670 그리고, 모델 이름은 사용자이다. 299 00:16:04,670 --> 00:16:10,270 그리고 두 변수를 갖고 싶어, 내 테이블에 두 개의 열. 300 00:16:10,270 --> 00:16:11,450 그래서 이메일입니다. 301 00:16:11,450 --> 00:16:13,080 이메일 형식의 문자열입니다. 302 00:16:13,080 --> 00:16:15,450 암호, 암호는 또한 형식 문자열입니다. 303 00:16:15,450 --> 00:16:16,520 사람들은 두 가지입니다. 304 00:16:16,520 --> 00:16:19,160 그것은 단순한 사용자 테이블의 일종입니다. 305 00:16:19,160 --> 00:16:22,490 하지만 당신은 완전히 백을 넣을 수 당신이 원한다면 일이있다. 306 00:16:22,490 --> 00:16:27,620 >> 그리고 레일은 그것을 매우하게 모두가 매우 간단 307 00:16:27,620 --> 00:16:30,040 데이터베이스 관계의 종류. 308 00:16:30,040 --> 00:16:36,100 그래서 일반적으로, 당신의 테이블이 때 데이터베이스, 그들은 매우 아니에요 309 00:16:36,100 --> 00:16:37,570 서로 독립적. 310 00:16:37,570 --> 00:16:39,392 의에 대해 생각 해보자. 311 00:16:39,392 --> 00:16:42,960 당신은 구매 및 판매 할 온라인 제품. 312 00:16:42,960 --> 00:16:46,620 좋아, 그럼 당신은 웹 사이트가 제품 구매 및 판매합니다. 313 00:16:46,620 --> 00:16:55,060 따라서 각 사용자가 많은 제품을 가지고 이 사용자는 판매하고자합니다. 314 00:16:55,060 --> 00:17:00,970 그리고 각 사용자는 많은 트랜잭션이 지속적으로, 또는 그 315 00:17:00,970 --> 00:17:01,920 그런 식으로. 316 00:17:01,920 --> 00:17:05,430 그리고 거래는 다른 사용자와 함께. 317 00:17:05,430 --> 00:17:08,310 각 트랜잭션이 속한 두 개의 서로 다른 사용자. 318 00:17:08,310 --> 00:17:10,560 구입하고있어 사용자 팔고 사용자. 319 00:17:10,560 --> 00:17:13,920 >> 그래서 사람들은 소위 데이터베이스 관계. 320 00:17:13,920 --> 00:17:17,890 그리고 여기에 우리가 정확히 그 키워드가, 많은을 가지고 있으며,에 속한다. 321 00:17:17,890 --> 00:17:19,500 사람들은 가장 중요한 것들입니다. 322 00:17:19,500 --> 00:17:22,410 그리고 당신은 단지에 대해 말할거야 예를 들어, 이것의 예는 323 00:17:22,410 --> 00:17:25,740 하버드 2017의 웹 사이트에있는 모델입니다. 324 00:17:25,740 --> 00:17:28,820 다시 말하지만, 여기에 학생 - 325 00:17:28,820 --> 00:17:32,870 웹 사이트, 학생에 대한 각 학생 모델 데이터베이스 테이블이다. 326 00:17:32,870 --> 00:17:37,560 각 학생은 많은 책을 가지고 당신 때문에 말할 수있는, 당신의 마음에 드는 것은 무엇인가 327 00:17:37,560 --> 00:17:38,630 책, 맞아. 328 00:17:38,630 --> 00:17:44,450 각각의 책이 속한 여기에 학생 다운. 329 00:17:44,450 --> 00:17:46,910 장애인 접근 가능 속성 - 330 00:17:46,910 --> 00:17:49,580 그것은 단지 그 말 것 변수는 다음과 같습니다. 331 00:17:49,580 --> 00:17:53,050 이들은 변수 접근 이 모델에서. 332 00:17:53,050 --> 00:17:58,570 그리고 변수는 저자의이다 책, 설명, 장르 및 333 00:17:58,570 --> 00:17:59,870 책의 제목입니다. 334 00:17:59,870 --> 00:18:02,700 그래서 그냥 정보 책에 관하여. 335 00:18:02,700 --> 00:18:06,410 >> 그리고 여기에는 방법이 그 단순히 모든 것을 정렬합니다. 336 00:18:06,410 --> 00:18:10,710 그건 그냥, 그래서 정의하고 여기에 종료 말, 여기에 내 방법을 제공. 337 00:18:10,710 --> 00:18:13,220 Self.sorted_all. 338 00:18:13,220 --> 00:18:16,390 그건 그냥,, 모든 우선 순위 나에게주는 것 그것은 당신이 구현 방법 339 00:18:16,390 --> 00:18:22,360 정렬 알고리즘, 하는 매우 쉽습니다. 340 00:18:22,360 --> 00:18:27,430 그러나 기본적으로,이 방법 모델 확인과 같습니다. 341 00:18:27,430 --> 00:18:32,990 사람에 관한 질문이 있습니까 이 데이터베이스 것은? 342 00:18:32,990 --> 00:18:33,736 관계? 343 00:18:33,736 --> 00:18:36,430 알아 들었나? 344 00:18:36,430 --> 00:18:37,125 예. 345 00:18:37,125 --> 00:18:38,490 >> 청중 : 당신이 할 수 정렬 알고리즘? 346 00:18:38,490 --> 00:18:41,960 >> GABRIEL GUIMARAES : 정렬 알고리즘, OK. 347 00:18:41,960 --> 00:18:45,340 당신은 루비 구문에 익숙해 때, 그것은 분명있을거야. 348 00:18:45,340 --> 00:18:48,800 그러나 기본적으로는, elems은 Book.all입니다. 349 00:18:48,800 --> 00:18:50,820 그래서이 책은 내 모델의 이름입니다. 350 00:18:50,820 --> 00:18:55,670 당신이 모델을 만들 때 함께 제공 당신을위한 좋은 방법의 모든 종류. 351 00:18:55,670 --> 00:18:58,810 그래서 dot.all는 방법입니다 책을 모두 반환합니다. 352 00:18:58,810 --> 00:19:02,560 그러나 찾을 예컨대 검색 것 한 권의 책과 그 책을 반환하거나, 353 00:19:02,560 --> 00:19:03,840 그런 식으로. 354 00:19:03,840 --> 00:19:05,990 그리고는, elems 모든입니다. 355 00:19:05,990 --> 00:19:08,870 그리고 난 그냥 elems.sort을 말하는거야. 356 00:19:08,870 --> 00:19:11,300 정렬 내장 된 루비 기능입니다. 357 00:19:11,300 --> 00:19:13,526 >> 그리고, AB을한다. 358 00:19:13,526 --> 00:19:15,940 그래서 이것은 다시하면됩니다 - 359 00:19:15,940 --> 00:19:17,400 당신은 정렬 할 것입니다. 360 00:19:17,400 --> 00:19:19,850 하지만 당신이받을거야 나를 위해이 인수. 361 00:19:19,850 --> 00:19:25,160 그리고 인수는 사용 -이 중 하나입니다 실제로 루비에서 열심히 일, 362 00:19:25,160 --> 00:19:26,920 이 일을. 363 00:19:26,920 --> 00:19:31,470 그러나 당신은 모든 것을 이해하고 나면 매우, 매우 직관적 온다. 364 00:19:31,470 --> 00:19:37,140 그래서 AB,이 장소를 말하고있다 내가 사용하려고 해요 홀더 - 같은 365 00:19:37,140 --> 00:19:41,760 내가 사용하려고 해요 변수는있다 A와 B를 호출 할 것. 366 00:19:41,760 --> 00:19:43,380 그리고 그는 책이다. 367 00:19:43,380 --> 00:19:47,120 >> 종류는 비교 할 필요가 그래서 있기 때문에 요소는, 그 기억? 368 00:19:47,120 --> 00:19:49,760 그래서 당신은, 당신이 물건을 정렬 할 때 두 가지 요소를 비교. 369 00:19:49,760 --> 00:19:51,900 내가 말할거야 그 때마다 당신이 비교하는거야 - 370 00:19:51,900 --> 00:19:54,350 그래서 이것은 내가 전달하고있어입니다 인수를 정렬합니다. 371 00:19:54,350 --> 00:19:59,370 그리고 인수가 전부입니다 에서 할 일 OK로 여기에? 372 00:19:59,370 --> 00:20:02,980 그리고이 주장은 단지 말하고있다 비교 정렬 방법. 373 00:20:02,980 --> 00:20:07,460 종류는 여기에서 작동하지만 것 비교 것입니다 그들의 374 00:20:07,460 --> 00:20:09,530 알고리즘을 비교하는 기본. 375 00:20:09,530 --> 00:20:13,810 나는 그것이 매우 구체적인에서 비교하려는 방법, 즉,시 책 376 00:20:13,810 --> 00:20:16,900 , 만들 때 각 책을 만들었습니다. 377 00:20:16,900 --> 00:20:21,090 >> 그래서 내 말은, 처음의 이름을 말 이 책은의와 이름입니다 378 00:20:21,090 --> 00:20:27,620 B로 두 번째 책, 나는 일종의 정렬 할 이 b.created_at 기반으로 뭔가 379 00:20:27,620 --> 00:20:30,000 이상한 기호, a.created_at. 380 00:20:30,000 --> 00:20:34,350 그리고 그 이상한 기호가 속기 하나는보다 큰 경우 381 00:20:34,350 --> 00:20:35,380 다른, 1을 반환합니다. 382 00:20:35,380 --> 00:20:37,450 하나 같으면 기타, 0을 반환. 383 00:20:37,450 --> 00:20:41,180 하나보다 작 으면 다른 반환 - 1. 384 00:20:41,180 --> 00:20:43,435 그래서 그 이상한 기호가 무엇인지입니다. 385 00:20:43,435 --> 00:20:46,680 386 00:20:46,680 --> 00:20:47,500 >> 하지만 그건 중요하지 않습니다. 387 00:20:47,500 --> 00:20:52,780 나는 너희들이하고 싶어 무엇을 의미 지금 생각은 데이터베이스입니다 - 388 00:20:52,780 --> 00:20:54,150 당신이 모델을 할 수 있습니다. 389 00:20:54,150 --> 00:20:59,850 그래서 당신에 대해 걱정할 필요가 없습니다 연결 및 SQL 문을 사용하여, 390 00:20:59,850 --> 00:21:00,500 그 같은 것들. 391 00:21:00,500 --> 00:21:04,920 또한에 문을 만들 수 있습니다 SQL 주입 및 모든 392 00:21:04,920 --> 00:21:06,460 보안 문제의 종류. 393 00:21:06,460 --> 00:21:07,930 이 경우에, 당신은하지 않습니다 걱정. 394 00:21:07,930 --> 00:21:11,880 당신은 book.all 같은 방법을 사용합니다. 395 00:21:11,880 --> 00:21:15,210 그리고, 그 과정의 배경 데이터베이스에 가고, 그리고 형입니다 396 00:21:15,210 --> 00:21:17,570 SQL 문을 사용하는 것 모든 책을 얻을 수 있습니다. 397 00:21:17,570 --> 00:21:19,650 하지만 당신은 필요가 없습니다 걱정. 398 00:21:19,650 --> 00:21:24,090 즉 OK, 테이크 아웃이야? 399 00:21:24,090 --> 00:21:26,790 >> 그리고 당신은 belongs_to 문이 때 다음과 같이 그 의미 400 00:21:26,790 --> 00:21:31,780 당신은 책 개체, 당신이 한 번 그 학생이 무엇인지 볼 수 있습니다. 401 00:21:31,780 --> 00:21:34,130 그래서 어떤 학생은이 책이? 402 00:21:34,130 --> 00:21:38,760 그래서 우리는 단지 book.student를 사용하고 있습니다 그 학생이 무엇을 당신에게 제공합니다. 403 00:21:38,760 --> 00:21:42,440 그리고 정말 가지고 있습니다입니다. 404 00:21:42,440 --> 00:21:43,950 >> OK, 이제 볼 수 있습니다. 405 00:21:43,950 --> 00:21:48,380 따라서이 모델은 상호 작용하는 것입니다 데이터베이스와, 오른쪽? 406 00:21:48,380 --> 00:21:52,240 보기는 기본적으로 HTML, 그리고 CSS, 일부 자바 스크립트. 407 00:21:52,240 --> 00:21:55,080 그리고 어떤 사용자에게의 실제로 본다. 408 00:21:55,080 --> 00:21:56,540 사용자에 없을거야 데이터베이스를 참조하십시오. 409 00:21:56,540 --> 00:22:00,290 그는에서 일부 데이터를 볼 것 데이터베이스는 뷰어에 매립. 410 00:22:00,290 --> 00:22:04,940 411 00:22:04,940 --> 00:22:08,410 루비 온 레일스 (Ruby on Rails) 정말 만든다 필드를 만들 간단. 412 00:22:08,410 --> 00:22:12,780 첫째, 이미 생성하기 때문에 당신을 위해, 상자, 레이아웃 중. 413 00:22:12,780 --> 00:22:16,200 >> 레이아웃은 기본적으로 뭔가입니다 - 414 00:22:16,200 --> 00:22:24,230 귀하의 모든 페이지 상단에 로고가있는 경우 그리고, 나는, 어떤 메뉴를 모르거나하지 않습니다 415 00:22:24,230 --> 00:22:29,000 그런 식으로, 모든 페이지 공통의 공유, 당신은하지 않습니다 416 00:22:29,000 --> 00:22:34,830 많고 많은 HTML을 생성해야 모든 파일이 있는지의 파일 417 00:22:34,830 --> 00:22:36,830 같은 HTML 코드입니다. 418 00:22:36,830 --> 00:22:40,700 나는 당신이 단지이기 때문에 그 바보의 의미 다른 파일 사이에 코드를 반복. 419 00:22:40,700 --> 00:22:42,480 그것은 확실히 좋은 방법이 아니다. 420 00:22:42,480 --> 00:22:45,660 >> 그래서 루비 온 레일스 (Ruby on Rails)가 생성 당신이 레이아웃. 421 00:22:45,660 --> 00:22:49,770 그리고 이것은 단지 내 모든 페이지, 말하는 이 HTML이이 머리를 가고있다 422 00:22:49,770 --> 00:22:54,805 여기에 제목, 그리고 그는 스타일 시트 링크 태그. 423 00:22:54,805 --> 00:22:56,800 여기에 내 모든 CSS를 연결합니다. 424 00:22:56,800 --> 00:23:01,194 여기에 내 모든 자바 스크립트에 연결 일부 메타 태그. 425 00:23:01,194 --> 00:23:04,440 즉, 그들은 그냥 뭔가 당신을 위해 자동으로 수행합니다. 426 00:23:04,440 --> 00:23:07,490 그리고 지금, 머리를 종료 여기에 몸이 시작됩니다. 427 00:23:07,490 --> 00:23:09,780 그리고 지금이 내 실제 내용입니다. 428 00:23:09,780 --> 00:23:16,620 내가 좋아하는 뭔가를하고 싶었다 그래서 경우 여기 메뉴는 바로 이상을 둘 것 429 00:23:16,620 --> 00:23:19,600 이 장소, 또는 그런 식으로, 내 모든 페이지가 공유되도록. 430 00:23:19,600 --> 00:23:21,730 그래서 레이아웃 공유 모든 페이지에 의해. 431 00:23:21,730 --> 00:23:26,500 >> 지금 여기에 그 수익률은 아무 말한다 무슨 페이지에이 단지에있다 432 00:23:26,500 --> 00:23:30,560 그 내용에 연결 여기에서 페이지, OK? 433 00:23:30,560 --> 00:23:33,770 그리고 지금은, 예를 들면, 될 것 한 페이지의 내용 434 00:23:33,770 --> 00:23:38,950 이 yield 문에 연결 자동 레일에 의해. 435 00:23:38,950 --> 00:23:40,700 그러나이 공유 레이아웃입니다 모든 페이지에서. 436 00:23:40,700 --> 00:23:42,500 그리고 이것은 한 페이지의 예입니다. 437 00:23:42,500 --> 00:23:46,410 그리고 이것은 정확히 페이지입니다 그 모든 책을 보여줍니다. 438 00:23:46,410 --> 00:23:49,390 그래서이 정상까지 기본 HTML 테이블입니다. 439 00:23:49,390 --> 00:23:53,730 그래서 책 목록, 제목, 저자, 설명, 장르. 440 00:23:53,730 --> 00:24:00,810 >> 그리고 여기에서 우리는 다시, 일부 사용 루비 구문 @ books.each-- 441 00:24:00,810 --> 00:24:07,720 @ 종류의 말한다 당신의 변수 어떤 의미에서 글로벌입니다. 442 00:24:07,720 --> 00:24:10,940 이 변수는 사실 때문에 컨트롤러에 선언하는 443 00:24:10,940 --> 00:24:12,840 당신은 지금 볼 것입니다. 444 00:24:12,840 --> 00:24:18,570 당연하지만 그냥 가지고 그이 @ 책의 목록입니다 변수 445 00:24:18,570 --> 00:24:20,000 모든 책. 446 00:24:20,000 --> 00:24:24,580 그래서 books.each, 다시이는 않습니다 당신이 이름을 지정할 어떻게 말 447 00:24:24,580 --> 00:24:29,580 반복자의 각 우리가하지 않도록 네 걱정이, 내가 int로 448 00:24:29,580 --> 00:24:30,630 어쩌구 저쩌구. 449 00:24:30,630 --> 00:24:33,760 우리는 단지 각을 요소를 사용합니다. 450 00:24:33,760 --> 00:24:38,890 >> 그래서이 책 한 후 바로 인쇄 여기에. book.title, book.author, 451 00:24:38,890 --> 00:24:41,020 book.description 및 어쩌구 저쩌구. 452 00:24:41,020 --> 00:24:42,940 그리고 여기 LINK_TO입니다. 453 00:24:42,940 --> 00:24:46,840 그래서 LINK_TO은 링크 태그입니다 사용자가 클릭 할 수 있음 454 00:24:46,840 --> 00:24:49,040 다른 웹 사이트로 이동합니다. 455 00:24:49,040 --> 00:24:51,160 LINK_TO, 특정 책을 보여줍니다. 456 00:24:51,160 --> 00:24:56,480 따라서 사용자는 매우 흥미있는 경우 이 책은, 그는 쇼를 클릭 할 수 있습니다. 457 00:24:56,480 --> 00:24:59,350 아니면 그가 원하는 경우 편집을 클릭합니다 책을 편집 할 수 있습니다. 458 00:24:59,350 --> 00:25:03,560 그가 삭제하고자하는 경우 또는 파괴 데이터베이스에서 책. 459 00:25:03,560 --> 00:25:06,260 OK, 그 의미가 무엇입니까? 460 00:25:06,260 --> 00:25:08,610 좋은. 461 00:25:08,610 --> 00:25:10,600 >> 마지막으로, 제어기. 462 00:25:10,600 --> 00:25:17,150 그래서 기본적으로 컨트롤러는 계면 463 00:25:17,150 --> 00:25:20,040 모델과 뷰. 464 00:25:20,040 --> 00:25:25,120 그래서 모델의 일부입니다 당신의 데이터베이스가 코드 - 465 00:25:25,120 --> 00:25:27,620 데이터베이스의 각 테이블에는 에있는 각각의 파일 466 00:25:27,620 --> 00:25:30,120 모델, 등등. 467 00:25:30,120 --> 00:25:34,890 어떻게 모델을하고 보기는 상호 작용? 468 00:25:34,890 --> 00:25:36,990 그래서, 컨트롤러를 통해. 469 00:25:36,990 --> 00:25:43,620 그것은 무엇 컨트롤러가 수행입니다 뭔가 모델과 같이, 예를 들어, 470 00:25:43,620 --> 00:25:46,510 내부의 책을 모두 넣어 변수. 471 00:25:46,510 --> 00:25:47,760 이 같은 책 @. 472 00:25:47,760 --> 00:25:50,200 473 00:25:50,200 --> 00:25:54,800 >> 그리고이 글로벌해야 일에 있기 때문에 될 것 474 00:25:54,800 --> 00:25:56,180 뷰에 액세스. 475 00:25:56,180 --> 00:26:00,000 그것은 내 사용하지 않을 것 컨트롤러 자체. 476 00:26:00,000 --> 00:26:03,160 그리고 그것은 단지 정보를 속도가 느려 보기를 사용하는 것입니다. 477 00:26:03,160 --> 00:26:08,030 예를 들어, 제어기 점검 사용자가 온라인 상태인지. 478 00:26:08,030 --> 00:26:09,620 그리고 어떻게 그 일을합니까? 479 00:26:09,620 --> 00:26:11,760 실제로 모델을 요청합니다 모델이 있으므로 480 00:26:11,760 --> 00:26:12,890 사용자에 대한 정보를 제공합니다. 481 00:26:12,890 --> 00:26:15,840 이 책보기, 사용자 테이블이 있습니다 테이블을 다른 테이블. 482 00:26:15,840 --> 00:26:18,560 그래서 컨트롤러는 묻습니다 사용자가 온라인 상태입니다. 483 00:26:18,560 --> 00:26:23,760 사용자는 온라인으로, 제어기이면 쿠키를 넣어 같은 것들을 처리, 484 00:26:23,760 --> 00:26:28,120 또는 스탬프를 넣어 그런 식으로, 사용자가 온라인 상태인지 말할 수 있습니다. 485 00:26:28,120 --> 00:26:29,930 다시 로그인 할 필요가 없습니다. 486 00:26:29,930 --> 00:26:34,080 >> 그리고 그것은라는 변수를로드하는 것 사용자, 예를 들면, 그 487 00:26:34,080 --> 00:26:35,130 보기는 사용할 수 있습니다. 488 00:26:35,130 --> 00:26:42,375 그리고보기는 여기에 뭔가를 넣을 수 있습니다, 예를 들어, user.name을 환영합니다. 489 00:26:42,375 --> 00:26:46,040 그래서 말 것, 환영 존, 환영 제임스 - 490 00:26:46,040 --> 00:26:47,390 그런 식으로, 오른쪽? 491 00:26:47,390 --> 00:26:50,380 따라서 이러한 모든 변수가 사용될 보기에 보급 할 예정 492 00:26:50,380 --> 00:26:54,190 컨트롤러가 될 수 있습니다 모델에서 뽑아. 493 00:26:54,190 --> 00:26:58,310 494 00:26:58,310 --> 00:27:00,555 >> 이 컨트롤러의 예입니다. 495 00:27:00,555 --> 00:27:03,140 496 00:27:03,140 --> 00:27:08,640 그래서 우리는, 기본적으로, 각각이 - 497 00:27:08,640 --> 00:27:10,010 우리는 그런 것들을 작업을 호출합니다. 498 00:27:10,010 --> 00:27:11,570 따라서 인덱스는 작업입니다. 499 00:27:11,570 --> 00:27:13,820 그것은 루비 기능입니다. 500 00:27:13,820 --> 00:27:16,160 그것은 거기에서 루비 방법입니다. 501 00:27:16,160 --> 00:27:19,350 그러나 컨트롤러 통화 그런 것들을 작업. 502 00:27:19,350 --> 00:27:24,830 각 동작은 경로와 관련이 있습니다. 503 00:27:24,830 --> 00:27:29,350 예를 들어, 그래서 여기에이 경로,, GET 문 / 책입니다. 504 00:27:29,350 --> 00:27:37,500 그래서 당신은 harvard2017.com/books에 가면, 무슨 일이 일어날 것은이 코드입니다 505 00:27:37,500 --> 00:27:40,630 호출 할 것. 506 00:27:40,630 --> 00:27:44,290 >> 그리고 파일이 있습니다 - 507 00:27:44,290 --> 00:27:46,010 날이 진짜 빨리를 열 수 있습니다. 508 00:27:46,010 --> 00:27:51,310 509 00:27:51,310 --> 00:27:55,386 RAW 파일이라는 파일이있다. 510 00:27:55,386 --> 00:27:57,920 안 열려요. 511 00:27:57,920 --> 00:28:02,330 그래서 RAW 파일이라는 파일이있다 즉, 기본적으로 일치 - 512 00:28:02,330 --> 00:28:03,580 오, 지금은 여는. 513 00:28:03,580 --> 00:28:15,900 514 00:28:15,900 --> 00:28:17,550 여기에서, 노선. 515 00:28:17,550 --> 00:28:24,440 그러니까 기본적으로, 변형과 일치 예를 들어, 정품 인증 / 새 516 00:28:24,440 --> 00:28:27,810 컨트롤러에 뭔가. 517 00:28:27,810 --> 00:28:31,580 소위이 컨트롤러가있다 활성화 컨트롤러,하지만 여기, 518 00:28:31,580 --> 00:28:32,790 우리는, 예를 들어, 책이있다. 519 00:28:32,790 --> 00:28:33,740 그래서 일치 - 520 00:28:33,740 --> 00:28:39,040 컨트롤러, 도서 / 새 책, 새로운 액션. 521 00:28:39,040 --> 00:28:41,290 그러니까 기본적으로, 매우 간단합니다 일. 522 00:28:41,290 --> 00:28:43,970 523 00:28:43,970 --> 00:28:48,770 >> 그리고 여기, 당신은 / 책을 얻을 수 있던 경우에, 책의 ID를 슬래시, 새로운 슬래시 524 00:28:48,770 --> 00:28:53,250 당신은에 가서 거기 루비 방법. 525 00:28:53,250 --> 00:28:58,210 그래서 여기에, 어떤이 지수는하고있다 다만 책의 로그를로드하는 것입니다. 526 00:28:58,210 --> 00:28:59,570 즉, 그 뭔가 - 527 00:28:59,570 --> 00:29:02,160 나는 로그의 모든 도서를 기록합니다. 528 00:29:02,160 --> 00:29:03,050 그리고 모두를 정렬 할 수 있습니다. 529 00:29:03,050 --> 00:29:05,870 그래서이 돌아 오려고 모든 정렬 된 책. 530 00:29:05,870 --> 00:29:07,940 이것은 데이터베이스에 다시이다. 531 00:29:07,940 --> 00:29:09,570 그래서이 모델의 방법이다. 532 00:29:09,570 --> 00:29:12,440 이 방법은 존재했다 모델에 만들었습니다. 533 00:29:12,440 --> 00:29:16,170 지금은 모든 책을로드 그리고 변수에 그 퍼팅이 534 00:29:16,170 --> 00:29:17,490 뷰에서 보일 수있다. 535 00:29:17,490 --> 00:29:20,680 >> 당신이 중간에, 할 수 없기 때문에 HTML 코드, 당신은 호출 할 수 없습니다 536 00:29:20,680 --> 00:29:23,940 직접 모델에서 무언가, 두 가지 이유 때문이다. 537 00:29:23,940 --> 00:29:28,260 첫째, 보안상의 이유로 인해 그것은 할 정말 재미없는 사람이다 538 00:29:28,260 --> 00:29:32,920 직접 내부 정보를로드 데이터베이스의 모든 HTML. 539 00:29:32,920 --> 00:29:36,030 둘째, 당신을 유지하는 코드는 정말 조직. 540 00:29:36,030 --> 00:29:38,800 그래서 정확히 분리 다른 부분. 541 00:29:38,800 --> 00:29:42,830 이에 따라서 BookLog.sorted_all, 데이터베이스와이 투입 예정 542 00:29:42,830 --> 00:29:44,290 책 @ 변수. 543 00:29:44,290 --> 00:29:47,695 그리고 지금이 변수를 액세스 할 수 있습니다 HTML 코드 내에서. 544 00:29:47,695 --> 00:29:54,610 그래서 당신은 모든 책을 넣을 수 있습니다 우리는 바로 여기,이 그랬던 것처럼. 545 00:29:54,610 --> 00:29:57,760 이 변수이다. 546 00:29:57,760 --> 00:30:04,730 >> 형식 | | 및 방문 할 respond_to, 이 루비 구문의 단지 종류입니다 547 00:30:04,730 --> 00:30:08,140 사용자는 저를 요구하는 경우 HTML 코드, 내가 갈거야 548 00:30:08,140 --> 00:30:09,340 HTML 코드로 응답합니다. 549 00:30:09,340 --> 00:30:15,500 사용자는 JSON 코드에 저를 요청하는 경우 웹 응용 프로그램이 사용하는 무언가이다 550 00:30:15,500 --> 00:30:20,780 자신 사이에 통신을하기 일반적으로 JSON 또는 기타를 사용 551 00:30:20,780 --> 00:30:23,120 물건의 종류입니다. 552 00:30:23,120 --> 00:30:25,850 그래서 그것은 단지 사람들을 사용하여 응답 두 개의 서로 다른 형식을 지원합니다. 553 00:30:25,850 --> 00:30:31,720 그러나 일반 사용자는이 여기에 필요하지 않을 것입니다. 554 00:30:31,720 --> 00:30:34,060 당신은과 반응 할 것 HTML, 그건 괜찮아요. 555 00:30:34,060 --> 00:30:36,220 그래서 정말 걱정하지 않는 이에 대해 많은. 556 00:30:36,220 --> 00:30:39,510 이 코드의 한 줄에 우리의 그것은 HTML에서로드됩니다으로 제어 557 00:30:39,510 --> 00:30:42,630 데이터베이스, 뭔가 퍼팅 보기 액세스 할 수 있습니다. 558 00:30:42,630 --> 00:30:49,870 >> 그리고 새로운, 그래서 여기에 나는 책을 만드는거야. 559 00:30:49,870 --> 00:30:55,490 그러나 책을 만들기 위해, 나는 학생이 필요 나는 학생을 알 필요가 있기 때문에 560 00:30:55,490 --> 00:30:58,490 그 책이, 오른쪽에 속한다. 561 00:30:58,490 --> 00:31:00,780 학생 = 학생 @ 그래서. 562 00:31:00,780 --> 00:31:06,500 학생, 다시, 우리는 시작입니다 큰 S 모델 학생입니다. 563 00:31:06,500 --> 00:31:09,380 좋아, 그럼이 모델 학생입니다 이 모델의 북 로그입니다. 564 00:31:09,380 --> 00:31:15,150 Student.find, 그래서 찾아 낼거야 매개 변수 ID를 사용하여 학생. 565 00:31:15,150 --> 00:31:19,160 params.id, 이것은 단지 나에게 값을 얻을 수있다 전달 된이 ID의 - 566 00:31:19,160 --> 00:31:23,410 및 URL. 567 00:31:23,410 --> 00:31:25,440 >> 그냥 그 학생을 검색 할 것. 568 00:31:25,440 --> 00:31:28,420 먼저, 우리는 당신을 검사하는거야 학생은 어떤 노래가있는 경우 569 00:31:28,420 --> 00:31:29,910 어쩌구 저쩌구. 570 00:31:29,910 --> 00:31:35,570 그리고 이것은 이미에게 처리 경우 경우 학생 571 00:31:35,570 --> 00:31:38,340 예를 들어, 존재하지 않습니다. 572 00:31:38,340 --> 00:31:44,450 그리고, 그렇지 않으면, 우리는 다만 응답 HTML을 사용하여 같은 일을. 573 00:31:44,450 --> 00:31:47,570 그리고 우리는 사용자에게 할 수 있습니다 자신의 노래를 만들 수 있습니다. 574 00:31:47,570 --> 00:31:49,320 그래서이 새로운 기능입니다. 575 00:31:49,320 --> 00:31:52,580 새로운 보통,하자에 사용되는 사용자가 무언가를 만들 수 있습니다. 576 00:31:52,580 --> 00:31:56,440 그리고 생성 작용이있다 그 일반적으로 사용되는 것 - 577 00:31:56,440 --> 00:31:59,040 실제로 데이터베이스에서 노래를 넣어 또는 그런 일. 578 00:31:59,040 --> 00:32:01,770 하지만 당신은 레일을 사용하기 시작하면, 그 가지가 될 수 있습니다 579 00:32:01,770 --> 00:32:05,110 훨씬 더 명확하고 더. 580 00:32:05,110 --> 00:32:07,910 OK, 냉각. 581 00:32:07,910 --> 00:32:09,715 질문 지금까지? 582 00:32:09,715 --> 00:32:15,240 이 컨트롤러와 의미가 있는가, 모델, 필드 - 583 00:32:15,240 --> 00:32:17,860 그래? 584 00:32:17,860 --> 00:32:20,980 >> 다시 레일 응용 프로그램에서 - 585 00:32:20,980 --> 00:32:24,700 그래서 모두는 여기에서 찾을 수있다. 586 00:32:24,700 --> 00:32:30,430 그래서 당신은 응용 프로그램, 컨트롤러, 그이 내 모든 컨트롤러입니다. 587 00:32:30,430 --> 00:32:32,880 그래서 예를 들어, 책을 제어 할 수 있습니다. 588 00:32:32,880 --> 00:32:35,490 즉, 우리가 방금 본 하나입니다. 589 00:32:35,490 --> 00:32:36,400 그리고 전경. 590 00:32:36,400 --> 00:32:39,750 각 컨트롤러는이 연결된보기, 오른쪽? 591 00:32:39,750 --> 00:32:43,750 그래서 자동이를 호출 할 때 여기서 인덱스, 예를 들어, 경우 나 592 00:32:43,750 --> 00:32:49,930 이 책 새로운, 다음 뷰를 호출 책, 새가 호출 될 것입니다. 593 00:32:49,930 --> 00:32:53,300 >> 그래서 레일은 모든 작업을 수행 자동으로 당신을 위해. 594 00:32:53,300 --> 00:32:59,420 그래서 모든 컨트롤러는 관련있다 보고 모든 모델 - 595 00:32:59,420 --> 00:33:01,970 여기서 I는 하나, 둘, 셋을 가지고 넷, 다섯 모델. 596 00:33:01,970 --> 00:33:05,800 하지만이 학생 모델, 그래서 그 변수는 모든 597 00:33:05,800 --> 00:33:08,620 학생들은이 - 현지화, 생년월일. 598 00:33:08,620 --> 00:33:11,270 학생들은 조금 더 복잡한 각 학생이 있기 때문에 599 00:33:11,270 --> 00:33:15,400 더 다른 방법 그것에 연결된. 600 00:33:15,400 --> 00:33:18,770 그러나 이것은 단지 처리하는 했다 테이블의 모든 601 00:33:18,770 --> 00:33:21,980 데이터베이스에있는 학생. 602 00:33:21,980 --> 00:33:24,300 >> 그리고, OK, 레일 설치. 603 00:33:24,300 --> 00:33:27,710 레일 설치, 정직하기, 간단한 일이 아니다. 604 00:33:27,710 --> 00:33:32,980 하지만 당신은 모든 것을 통과하면, 그것은 매우, 매우 간단합니다. 605 00:33:32,980 --> 00:33:38,810 그래서 레일을 설치, 당신은 단지로 이동 웹 사이트, ruby​​andrails.org / 다운로드 606 00:33:38,810 --> 00:33:41,510 거기에 감독의 지시를 따릅니다. 607 00:33:41,510 --> 00:33:42,700 모든 다운로드. 608 00:33:42,700 --> 00:33:46,600 그리고 당신은, 가전에 하나 그렇게 할 수 에 CS50 어플라이언스에 609 00:33:46,600 --> 00:33:51,120 Mac에서 윈도우, 또는 운영 당신의 선택의 시스템입니다. 610 00:33:51,120 --> 00:33:52,460 루비 온 레일스 (Ruby on Rails)는 모두에서 실행됩니다. 611 00:33:52,460 --> 00:33:56,680 >> 승률 이미 루비가 설치되어 있습니다 당신은 Mac 또는이있는 경우 - 612 00:33:56,680 --> 00:33:58,130 가전​​ 제품에서 나는 루비는 생각 - 613 00:33:58,130 --> 00:34:00,940 잘 모르겠 는데요. 614 00:34:00,940 --> 00:34:02,440 그리고 당신은이 설치되어 있습니다. 615 00:34:02,440 --> 00:34:07,190 그리고 새를 만들려면 웹 응용 프로그램, 방금 616 00:34:07,190 --> 00:34:10,270 레일, 새, 블로그를 않습니다. 617 00:34:10,270 --> 00:34:12,429 레일, 새 - 618 00:34:12,429 --> 00:34:13,310 난 몰라 - 619 00:34:13,310 --> 00:34:15,050 귀하의 웹 사이트의 이름입니다. 620 00:34:15,050 --> 00:34:16,380 그리고 그것은 간단합니다. 621 00:34:16,380 --> 00:34:19,060 >> 그것은 그 모두를 만들 것 파일은 내가 당신을 보여 주었다. 622 00:34:19,060 --> 00:34:22,730 그러나 모델, 뷰, 그리고 컨트롤러가 될 수 없습니다 623 00:34:22,730 --> 00:34:24,330 아직 채워집니다. 624 00:34:24,330 --> 00:34:28,710 당신은 거기 가서해야 할 것입니다 그 세 개의 폴더를 채 웁니다. 625 00:34:28,710 --> 00:34:32,840 그래서 확률은, 당신이 모델을 만들 수 있습니다 예를 들어, 하나의 구현 626 00:34:32,840 --> 00:34:33,780 첫 번째 모델. 627 00:34:33,780 --> 00:34:40,440 그래서 다시, 항상 작은 물린하려고 시 문제의 비트. 628 00:34:40,440 --> 00:34:42,659 >> 그리고 생성의 말을하자 사용자를위한 모델. 629 00:34:42,659 --> 00:34:44,370 즉, 제 일이 당신은 사용자가있는 경우. 630 00:34:44,370 --> 00:34:48,440 그럼 난 모델을 만들려면 우리는 여기에서 보인 것처럼. 631 00:34:48,440 --> 00:34:58,470 다음 레일, 생성, 모델, 사용자 및 이메일 문자열 - 우리는 여기에있다. 632 00:34:58,470 --> 00:35:01,200 그냥 그래, 그 모델을 만들 수 있습니다. 633 00:35:01,200 --> 00:35:05,030 레일 모델 사용자의 이메일을 생성합니다 문자열 암호 : 문자열입니다. 634 00:35:05,030 --> 00:35:09,650 >> 그리고 당신은 컨트롤러를 만들 즉, 사용자 다룬다. 635 00:35:09,650 --> 00:35:12,790 그리고 당신은 새로운 사용자를 만들 수 있습니다 그러한 종류의 일들을 수행합니다. 636 00:35:12,790 --> 00:35:18,280 그리고 당신은 창조로 이동할 수 있습니다 귀하의 웹 사이트의 나머지 부분. 637 00:35:18,280 --> 00:35:22,470 쿨, 질문? 638 00:35:22,470 --> 00:35:23,230 예. 639 00:35:23,230 --> 00:35:24,480 >> 청중 : [청취] 640 00:35:24,480 --> 00:35:27,430 641 00:35:27,430 --> 00:35:29,910 >> GABRIEL GUIMARAES : 그래, 그래, 당신 확실히보기로 이동합니다. 642 00:35:29,910 --> 00:35:31,290 즉, 아주 좋은 질문입니다. 643 00:35:31,290 --> 00:35:36,410 그래서보기는 무엇을 실제로 당신의 HTML이 포함되어 있습니다. 644 00:35:36,410 --> 00:35:39,240 그래서 어떤 사용자의 볼 것입니다. 645 00:35:39,240 --> 00:35:46,690 다시, 여기,이입니다 보기의 예. 646 00:35:46,690 --> 00:35:52,040 그것은 HTML 코드와 루비가 동시에 코드입니다. 647 00:35:52,040 --> 00:35:56,010 그래서 루비 코드는 물건을 넣을 수있다 데이터베이스에서, 예를 들면, 648 00:35:56,010 --> 00:35:59,150 컨트롤러에로드 된 그. 649 00:35:59,150 --> 00:36:04,240 그래서 서 변수 @, 예를 들면, 책의 모든 테이블이 650 00:36:04,240 --> 00:36:05,340 데이터베이스에서 책. 651 00:36:05,340 --> 00:36:08,680 우리는 있었다는 것을 확인했다 컨트롤러. 652 00:36:08,680 --> 00:36:10,250 >> 그리고보기 - 653 00:36:10,250 --> 00:36:15,900 귀하의 웹 사이트 떨어져 각 페이지입니다 하나의 연결된보기를해야 할 것. 654 00:36:15,900 --> 00:36:21,762 만약 홈 페이지로 이동 그렇다면, 첫 페이지, harvard2017.com. 655 00:36:21,762 --> 00:36:23,490 즉, 하나의 페이지를 보여줍니다. 656 00:36:23,490 --> 00:36:26,760 그리고 당신은 프로필을 슬래시로 이동합니다. 657 00:36:26,760 --> 00:36:30,150 즉, 컨트롤러에 갈거야 즉, 프로파일 컨트롤러입니다. 658 00:36:30,150 --> 00:36:34,620 그리고 프로필 컨트롤러는 것입니다 당신에게 프로필보기를 제공합니다. 659 00:36:34,620 --> 00:36:37,590 그리고 프로필보기를보기 위하여려고하고있다 다소 다음과 같이하지만 것 660 00:36:37,590 --> 00:36:41,910 사용자에 대한 정보를 가지고 아니라 책에 대한. 661 00:36:41,910 --> 00:36:46,840 >> 그래서 HTML 코드와 CSS와 그의 사용자가 보는 것들 662 00:36:46,840 --> 00:36:49,680 루비 코드 - 663 00:36:49,680 --> 00:36:52,505 즉, 실제로 물건을 인쇄 데이터베이스에서. 664 00:36:52,505 --> 00:36:54,520 그게 더 명확인가? 665 00:36:54,520 --> 00:36:55,080 나는 희망한다. 666 00:36:55,080 --> 00:36:58,066 >> 청중 : HTML 코드로 사용된다 실제로 웹 사이트를 만드는 것이 667 00:36:58,066 --> 00:37:02,470 사용자는 볼 수 있지만, 루비 코드는 어떻게 웹 사이트 작업을한다? 668 00:37:02,470 --> 00:37:06,500 >> GABRIEL GUIMARAES : 루비 코드 HTML로 변환됩니다. 669 00:37:06,500 --> 00:37:09,420 그래서 사용자 가져 단지 HTML은 OK입니다! 670 00:37:09,420 --> 00:37:10,900 그것은 단지 HTML입니다. 671 00:37:10,900 --> 00:37:18,740 이 book.title는로 변환하는 것입니다 HTML에서 book.title의 가치, OK. 672 00:37:18,740 --> 00:37:23,080 그래서이 서버의 모든, 등 이가 무슨 책입니다에 따라 달라집니다 673 00:37:23,080 --> 00:37:24,410 지금 서버. 674 00:37:24,410 --> 00:37:32,930 그러나 서버가 즉시 것 의미는 OK, 단지 HTML 코드입니다. 675 00:37:32,930 --> 00:37:36,720 >> 그러나보기는 단지의 레이아웃을 제공 HTML처럼보고 무슨 일이 있었는지 676 00:37:36,720 --> 00:37:39,530 어떤 변수 가 될 수 있습니다. 677 00:37:39,530 --> 00:37:42,170 인쇄 중의이 종류, OK. 678 00:37:42,170 --> 00:37:44,360 그 가지가있다 기본적으로 아웃을 인쇄 할 수 있습니다. 679 00:37:44,360 --> 00:37:47,430 그들은 OK, 변수를 인쇄 할 것입니다. 680 00:37:47,430 --> 00:37:49,850 그래서 HTML 만, 사람들은 무엇인가 - 681 00:37:49,850 --> 00:37:51,390 저자, 제목, 설명. 682 00:37:51,390 --> 00:37:53,540 즉, 정적 콘텐츠입니다. 683 00:37:53,540 --> 00:37:54,520 그건 변함이 없을거야. 684 00:37:54,520 --> 00:37:56,700 그건 그냥 일반 HTML 코드입니다. 685 00:37:56,700 --> 00:37:59,080 사람들은 프린트 아웃입니다 변수 - 686 00:37:59,080 --> 00:38:00,330 따라 가지. 687 00:38:00,330 --> 00:38:02,350 688 00:38:02,350 --> 00:38:03,600 쿨, 더 많은 질문? 689 00:38:03,600 --> 00:38:12,120 690 00:38:12,120 --> 00:38:12,600 좋은? 691 00:38:12,600 --> 00:38:13,080 예. 692 00:38:13,080 --> 00:38:15,720 >> 청중 : 나는 당신이 모든 일을했다 생각 다른 텍스트 편집 693 00:38:15,720 --> 00:38:16,920 편집 프로그램. 694 00:38:16,920 --> 00:38:19,520 우리는 또한을 다운로드해야합니까? 695 00:38:19,520 --> 00:38:24,250 >> GABRIEL GUIMARAES : 그래, 난이 좋아 텍스트 편집기 TextMate를 불렀다. 696 00:38:24,250 --> 00:38:24,990 그리고 그것은 정말 좋다. 697 00:38:24,990 --> 00:38:26,980 그것은 잘 루비에 적합한 것. 698 00:38:26,980 --> 00:38:29,270 그것은 매우 깔끔하게 색상 관광 명소. 699 00:38:29,270 --> 00:38:34,770 그래서 TextMate를, T-E-X-T. 나는 갈거야 그 넣어, 기다려 - 700 00:38:34,770 --> 00:38:42,880 701 00:38:42,880 --> 00:38:45,720 >> 나는 당신의 gedit를 사용하여 의미 또는 당신이 원하는 무엇이든. 702 00:38:45,720 --> 00:38:49,970 그러나이 맥에 대한 특정하고, 그것은 모두를두고 있기 때문에 정말 깔끔하네요 703 00:38:49,970 --> 00:38:51,000 거기 파일. 704 00:38:51,000 --> 00:38:53,620 그리고 루비 온 레일스 (Ruby on Rails), 당신이 필요합니다 파일이 많이 전환합니다. 705 00:38:53,620 --> 00:38:55,890 그래서 많은, 많은 파일을 그냥 하나의 파일에서 이동으로 이동 706 00:38:55,890 --> 00:38:57,120 하나의 파일 또는 다른. 707 00:38:57,120 --> 00:39:02,000 그래서 TextMate에 아주 좋은 하나이지만, 많은 거기에있다. 708 00:39:02,000 --> 00:39:03,250 더 많은 질문? 709 00:39:03,250 --> 00:39:08,680 710 00:39:08,680 --> 00:39:09,870 예, OK? 711 00:39:09,870 --> 00:39:12,825 >> 대상 : 모바일 개발이 있는가 루비 온 레일스 (Ruby on Rails)를 통해? 712 00:39:12,825 --> 00:39:15,640 713 00:39:15,640 --> 00:39:17,050 >> GABRIEL GUIMARAES : 나는했습니다 것들을 들었다. 714 00:39:17,050 --> 00:39:19,550 나는 그들을 사용하지 않았습니다. 715 00:39:19,550 --> 00:39:21,570 당신은 그것에 더 연구 할 수 있었다. 716 00:39:21,570 --> 00:39:24,740 어떤 거기에 있는지 확실하지 않습니다 거기에 좋은 일이. 717 00:39:24,740 --> 00:39:29,980 718 00:39:29,980 --> 00:39:31,030 예, OK? 719 00:39:31,030 --> 00:39:32,280 >> 청중 : [청취] 720 00:39:32,280 --> 00:39:38,340 721 00:39:38,340 --> 00:39:40,550 >> GABRIEL GUIMARAES : 없음 레일, 아마 루비의 배열입니다. 722 00:39:40,550 --> 00:39:44,270 723 00:39:44,270 --> 00:39:49,080 터미널 창을 열고 및 분류 "루비". 724 00:39:49,080 --> 00:39:52,030 그래, 아마도, 다음 그냥 레일을 설치해야합니다. 725 00:39:52,030 --> 00:39:57,050 그러나 새를 설치하려고하는 경우 나는 매우 좋습니다 4.0, 레일 726 00:39:57,050 --> 00:40:02,870 당신은 루비 2.0을 다운로드해야합니다. 727 00:40:02,870 --> 00:40:04,530 그것도 새로운 하나입니다. 728 00:40:04,530 --> 00:40:09,530 그리고 새로운 레일 4.0 뭔가가있다 그 정말 멋진 729 00:40:09,530 --> 00:40:11,260 그것은 자산 않습니다. 730 00:40:11,260 --> 00:40:12,810 이 자산을 처리합니다. 731 00:40:12,810 --> 00:40:18,860 자산은 다시, 이미지, CSS 파일입니다 그리고 자바 스크립트 파일. 732 00:40:18,860 --> 00:40:24,060 루비에 따라서 하나 정말 깔끔한 것 레일은 당신을 위해 그 CSS의 모든 것입니다 않습니다 733 00:40:24,060 --> 00:40:26,980 당신이 파일과 모든 - 734 00:40:26,980 --> 00:40:32,420 그것은 단지 하나에 모든 것을 묶어 큰 파일, 공백 또는 아무것도, 735 00:40:32,420 --> 00:40:40,120 사용자가 필요한 시간을 최소화하는 서버에서 해당 코드를 다운로드 할 수 있습니다. 736 00:40:40,120 --> 00:40:47,780 >> 당신은 당신의 컴퓨터에서 볼 때, 그것은이다 15 CSS 파일을 같이해야 할 것. 737 00:40:47,780 --> 00:40:49,520 또는 많은, 많은 다른 CSS 파일. 738 00:40:49,520 --> 00:40:54,890 하지만 하루의 끝에서, 어떻게 레일 자동으로 그것을 둔다입니다 않습니다 739 00:40:54,890 --> 00:41:00,760 하나의 큰 파일에 모든 것을 함께 그것은 요청 시간을 최소화하도록. 740 00:41:00,760 --> 00:41:02,630 정말 멋지다. 741 00:41:02,630 --> 00:41:02,940 예? 742 00:41:02,940 --> 00:41:04,190 >> 청중 : [청취] 743 00:41:04,190 --> 00:41:13,910 744 00:41:13,910 --> 00:41:14,440 >> GABRIEL GUIMARAES : 그렇지. 745 00:41:14,440 --> 00:41:16,230 그래서, Google지도 통합. 746 00:41:16,230 --> 00:41:20,200 즉, 구글의 자바 스크립트 API입니다. 747 00:41:20,200 --> 00:41:23,750 그래서 난 그냥 구글 웹 사이트에 갔다. 748 00:41:23,750 --> 00:41:29,950 그들은이 Google지도 API와 I가 코드를 다운로드하고 그것을 집적 749 00:41:29,950 --> 00:41:31,610 내보기에. 750 00:41:31,610 --> 00:41:35,490 나는 거기에 할 필요가 그래서 나는 얻을 필요 751 00:41:35,490 --> 00:41:37,310 데이터베이스에서 위치. 752 00:41:37,310 --> 00:41:38,990 즉 컨트롤러에서 이루어졌다. 753 00:41:38,990 --> 00:41:40,950 그래서 컨트롤러에 갔다 - 754 00:41:40,950 --> 00:41:42,350 여기서 컨트롤러입니다. 755 00:41:42,350 --> 00:41:44,330 컨트롤러는이처럼 보였다. 756 00:41:44,330 --> 00:41:48,660 의 위치의 모든있어 학생들은 큰에 모든 걸 넣어 757 00:41:48,660 --> 00:41:52,060 변수, 큰 목록, 그 모든 위치가 있습니다. 758 00:41:52,060 --> 00:41:55,340 >> 그리고보기 때문에 자바 스크립트 API는 뭔가있다 759 00:41:55,340 --> 00:41:55,800 오른쪽 셨나요? 760 00:41:55,800 --> 00:42:00,440 자바 스크립트는 HTML 내에서 실행되기 때문에 코드는 전송 될 것 761 00:42:00,440 --> 00:42:01,710 사용자의 컴퓨터. 762 00:42:01,710 --> 00:42:09,310 그리고보기에, 나는 그 모두를로드 구글 API에 정보. 763 00:42:09,310 --> 00:42:12,080 그리고 그것은을 위해이 모든 것을 한 나, 어떤 정말 멋지다. 764 00:42:12,080 --> 00:42:16,240 하지만 당신은 물건을 사용하려는 경우 백엔드, 그것을 위해, 라이브러리처럼 765 00:42:16,240 --> 00:42:18,720 예를 들어, 다시 - 766 00:42:18,720 --> 00:42:20,140 페이스 북의 통합. 767 00:42:20,140 --> 00:42:24,060 즉, 많은, 많은 뭔가 많은 응용 프로그램은 요즘 사용하고 있습니다. 768 00:42:24,060 --> 00:42:27,300 >> 그래서 페이스 북과의 통합이 그것은 너무 쉽게이기 때문에 단지 769 00:42:27,300 --> 00:42:30,450 작성하는 것보다 페이스 북으로 로그인 계정과 어쩌구 저쩌구. 770 00:42:30,450 --> 00:42:35,120 그럼 그냥 보석을 사용하고는의 당신의 주옥 파일에가는 간단. 771 00:42:35,120 --> 00:42:39,350 보석 파일은 보석 파일이라는 파일입니다 에 루비의 소스 디렉토리 772 00:42:39,350 --> 00:42:40,370 프로젝트 레일. 773 00:42:40,370 --> 00:42:43,700 그냥 가서 새로운 보석을 추가합니다. 774 00:42:43,700 --> 00:42:45,300 그리고 당신은 Google에서 그것을보고. 775 00:42:45,300 --> 00:42:46,520 많고 많은 보석이 있습니다. 776 00:42:46,520 --> 00:42:51,070 구체적으로 수행 한이있다 이 페이스 북의 통합을위한. 777 00:42:51,070 --> 00:42:54,660 나는 어떤 이름을 모르겠어요. 778 00:42:54,660 --> 00:42:56,680 그냥 구글과 당신이있어 그것을 발견하는 것. 779 00:42:56,680 --> 00:42:57,930 OK, 더 많은 질문? 780 00:42:57,930 --> 00:43:01,110 781 00:43:01,110 --> 00:43:03,280 최고,와 주셔서 감사합니다. 782 00:43:03,280 --> 00:43:09,227