1 00:00:00,000 --> 00:00:08,560 2 00:00:08,560 --> 00:00:10,410 >> GABRIEL GUIMARAES: Sa a se CS50. 3 00:00:10,410 --> 00:00:14,740 Byenveni nan etonan Apps entènèt ak Ruby sou ray. 4 00:00:14,740 --> 00:00:19,700 Se konsa, pou nenpòt moun ki nan enterese nan sit entènèt devlopman ak fè sit entènèt, sit entènèt 5 00:00:19,700 --> 00:00:26,510 aplikasyon pou, Ruby sou ray se sa a zouti etonan ke Twitter, GitHub, 6 00:00:26,510 --> 00:00:31,470 Groupon, ak tout kalite vrèman bèl, ak gwo, aplikasyon pou web Cam chatroulette yo lè l sèvi avèk nan 7 00:00:31,470 --> 00:00:33,080 kèk ane dènye yo. 8 00:00:33,080 --> 00:00:37,190 Apre sa, li nan yon reyèlman, reyèlman fre karakteristik, yon zouti fre, 9 00:00:37,190 --> 00:00:39,290 paske li nan nouvo. 10 00:00:39,290 --> 00:00:43,830 Se konsa, li te gen tout nan pwisan nan nouvo teknoloji mete nan yon sèl 11 00:00:43,830 --> 00:00:49,050 fondasyon ki ede ou fè fas avèk tout kalite bagay sa yo dwòl. 12 00:00:49,050 --> 00:00:50,970 >> Men, sa ki se yon ankadreman? 13 00:00:50,970 --> 00:00:55,700 Se konsa, yon fondasyon se fondamantalman yon bagay ki ka kreye - 14 00:00:55,700 --> 00:00:59,680 lè ou kòmanse yon sit entènèt, si ou te kòmanse nan grate, tankou ou louvri 15 00:00:59,680 --> 00:01:04,530 jdi a, epi ou vle kòd tout nan HTML ou, ak kòd nan tout ou 16 00:01:04,530 --> 00:01:08,130 PHP, nan tout CSS ou a, tout bagay nan grate - 17 00:01:08,130 --> 00:01:09,690 Se jis pral fè yon anpil nan travay. 18 00:01:09,690 --> 00:01:13,940 Apre sa, yon fondasyon literalman ba ou mwatye nan sit wèb la fè deja. 19 00:01:13,940 --> 00:01:18,070 Se konsa, ou kòmanse koupe ak mwatye nan yon sit entènèt ki gen tout bagay gen pou ou. 20 00:01:18,070 --> 00:01:22,690 Menm jan ak koneksyon ki baz done, ak tout kalite bagay sa yo ke ou gen enkyete 21 00:01:22,690 --> 00:01:25,040 sou si w ap fè li nan grate, ou pa gen enkyete sou sa yo 22 00:01:25,040 --> 00:01:26,480 ba nivo plis detay. 23 00:01:26,480 --> 00:01:32,360 >> Men, jodi a nou ap ale nan ekspòtasyon youn nan sou sit entènèt yo ki nevyèm ane a nan la 24 00:01:32,360 --> 00:01:34,740 klas nan 2017 yo se pwobableman abitye. 25 00:01:34,740 --> 00:01:40,170 Se konsa, sou sit wèb sa a se sit entènèt la ke mwen te fè pou klas nou an pandan ete a. 26 00:01:40,170 --> 00:01:46,500 Se te yon sit entènèt kote elèv yo nan klas la nan 2017 te kapab ouvri sesyon an epi 27 00:01:46,500 --> 00:01:47,480 kominike youn ak lòt. 28 00:01:47,480 --> 00:01:49,610 Lè sa a, sa a se yon kat jeyografik - 29 00:01:49,610 --> 00:01:51,210 tout moun, kote moun yo ye. 30 00:01:51,210 --> 00:01:56,970 Apre sa, nou te gen yon jwèt liv, yon jwèt chante kote nou te wè chante moun nan ak 31 00:01:56,970 --> 00:01:57,970 liv moun. 32 00:01:57,970 --> 00:02:00,480 Ki sa yo renmen li, ki sa ki yo renmen pou koute. 33 00:02:00,480 --> 00:02:06,830 Apre sa, pati ki pi enteresan nan li se ke li literalman te pran m 'twa èdtan 34 00:02:06,830 --> 00:02:07,840 ki prevwa nan kòd tout nan li. 35 00:02:07,840 --> 00:02:13,050 Paske si mwen te fè tout bagay soti nan grafouyen, tankou louvri jdi, li 36 00:02:13,050 --> 00:02:16,400 pwobableman ta yo te pran m '20, 30 èdtan. 37 00:02:16,400 --> 00:02:20,210 Men, avèk Ruby sou ray, paske tout bagay te deja mete kanpe pou mwen, 38 00:02:20,210 --> 00:02:25,550 li sèlman te pran m 'twa oswa kat èdtan, oswa yon bagay tankou sa. 39 00:02:25,550 --> 00:02:27,580 >> Se konsa, sa se Ruby sou ray. 40 00:02:27,580 --> 00:02:32,720 Ruby sou ray, ankò jan nou deja te di, se yon ankadreman. 41 00:02:32,720 --> 00:02:34,800 Sa a se yon foto nan yon fondasyon. 42 00:02:34,800 --> 00:02:37,460 Se konsa, w ap ale nan kòmanse bati yon kay, ou deja gen mwatye nan a 43 00:02:37,460 --> 00:02:38,320 kay fè. 44 00:02:38,320 --> 00:02:38,970 Sa a fondasyon an. 45 00:02:38,970 --> 00:02:40,560 Apre sa, Ruby sou ray se egzakteman tankou sa. 46 00:02:40,560 --> 00:02:44,440 Apre sa, ou ta dwe panse a li kòm, ou kòmanse yon sit entènèt, ou kòmanse entènèt ou an 47 00:02:44,440 --> 00:02:48,830 aplikasyon an, nou deja genyen mwatye ladan l 'fè a. 48 00:02:48,830 --> 00:02:50,400 Men, premye nan tout, ki sa ki Ruby? 49 00:02:50,400 --> 00:02:53,510 50 00:02:53,510 --> 00:02:58,310 Ruby sou ray sèvi ak gade nan modèl kontwolè, ki se paradigm, ki 51 00:02:58,310 --> 00:02:59,930 se yon reyèlman enteresan - 52 00:02:59,930 --> 00:03:04,250 ak tout nan aplikasyon yo sèjousi sèvi ak yon bagay tankou sa. 53 00:03:04,250 --> 00:03:08,630 Lide sa a nan separe bagay sa yo nan twa pati, modèl la, gade a, ak 54 00:03:08,630 --> 00:03:09,630 kontwolè la. 55 00:03:09,630 --> 00:03:11,950 Nou pwal pale yon ti kras plis enfòmasyon sou ki pita. 56 00:03:11,950 --> 00:03:13,400 >> Premyèman, sa ki Ruby? 57 00:03:13,400 --> 00:03:14,500 Se konsa, sa a se Ruby. 58 00:03:14,500 --> 00:03:17,850 Lè sa a se senbòl la nan la lang yo rele Ruby. 59 00:03:17,850 --> 00:03:24,170 Ruby se youn nan newish yo entèprete lang, se konsa script. 60 00:03:24,170 --> 00:03:29,530 Li se yon lang ki pa nan konpile tankou C. Li konpile sou kouri an. 61 00:03:29,530 --> 00:03:33,220 Se konsa, sa a, se bon paske, jis tankou PHP, pou egzanp tou se entèprete, se 62 00:03:33,220 --> 00:03:33,960 pa konpile. 63 00:03:33,960 --> 00:03:35,710 Sa a bon paske pòtab li yo. 64 00:03:35,710 --> 00:03:39,740 Se konsa, ou jis pase kòd ou a soti nan yon sèl machin nan yon lòt. 65 00:03:39,740 --> 00:03:44,440 Soti nan yon machin Linux, nan yon fenèt machin, nan yon Mac oswa Apple machin, oswa 66 00:03:44,440 --> 00:03:45,240 yon bagay tankou sa. 67 00:03:45,240 --> 00:03:49,160 Apre sa, ou pa bezwen enkyete sou detay konsènan chak nan espesifik nan 68 00:03:49,160 --> 00:03:49,890 fonksyònman sistèm yo. 69 00:03:49,890 --> 00:03:51,330 Li ale nan travay toupatou. 70 00:03:51,330 --> 00:03:54,700 >> Apre sa, Ruby se yon lang ki - 71 00:03:54,700 --> 00:03:56,920 ou nèg pwobableman sonje sa a. 72 00:03:56,920 --> 00:04:01,440 Moun itilize fonksyon an hash aplike nan C pou tab la hash 73 00:04:01,440 --> 00:04:04,860 semèn pase a epi te gen tout kalite nan defo segmentation. 74 00:04:04,860 --> 00:04:12,360 Lè sa a, bagay sa yo mangonmen sou si wi ou non ki fisèl mwen gen, mwen la fisèl 75 00:04:12,360 --> 00:04:20,380 isit la, te aktyèlman miniskil oswa majuskul, oswa sa yo kalite inkyétant 76 00:04:20,380 --> 00:04:21,410 ba nivo plis detay. 77 00:04:21,410 --> 00:04:26,180 Byen nan Ruby, si ou vle aplike yon tab hash, sa a se egzakteman kouman ou 78 00:04:26,180 --> 00:04:27,100 kreye yon tab hash. 79 00:04:27,100 --> 00:04:30,280 Ou di, diksyonè, sa a, se non an nan varyab m 'yo, = "Hash.new". 80 00:04:30,280 --> 00:04:34,680 Lè sa a, diksyonè ["foo"], epi lè mwen se ajoute foo sou tab hash m 'yo, mwen se 81 00:04:34,680 --> 00:04:35,960 jis di foo ki gen la. 82 00:04:35,960 --> 00:04:38,070 >> Lè sa a, si mwen te vle tcheke si foo te gen, mwen jis di si 83 00:04:38,070 --> 00:04:40,270 diksyonè ["foo"] == vre retounen vre. 84 00:04:40,270 --> 00:04:41,560 Ola, e ke sa a tab hash ou. 85 00:04:41,560 --> 00:04:44,280 Sa a aplikasyon an nan tablo hash nan Ruby. 86 00:04:44,280 --> 00:04:50,200 Se konsa, tout moun te vle yo te ka gen itilize yon bagay tankou Ruby pou dènye 87 00:04:50,200 --> 00:04:51,450 pset semèn nan, dwa? 88 00:04:51,450 --> 00:04:54,410 89 00:04:54,410 --> 00:04:59,050 Nou gen tout kalite rezon ki fè yo vle sèvi ak yon lang tankou Ruby. 90 00:04:59,050 --> 00:05:01,380 Ruby gen Meservey. 91 00:05:01,380 --> 00:05:04,000 Gem se yon non pou yon kalite nan bibliyotèk nan Ruby. 92 00:05:04,000 --> 00:05:07,490 >> Se konsa, tout kalite karakteristik enteresan ke ou ka gen, pou egzanp, si mwen 93 00:05:07,490 --> 00:05:09,280 ou vle entegre aplikasyon mwen an. 94 00:05:09,280 --> 00:05:12,470 Sa Harvard 2017 aplikasyon te entegre nan Facebook. 95 00:05:12,470 --> 00:05:15,810 Se konsa, ou ta ka ouvri sesyon an, atravè Facebook, nan app a. 96 00:05:15,810 --> 00:05:19,760 Se konsa, si w ap ale nan fè sa, ou pa fè sa bezwen enkyete sou voye kèk 97 00:05:19,760 --> 00:05:23,760 Demann HTTP Facebook, ak ap tann pou repons lan, epi fòse a 98 00:05:23,760 --> 00:05:25,150 repons, ak bla, bla, bla. 99 00:05:25,150 --> 00:05:29,120 Ou jis download GEM-a ki fè tout sa ki pou ou. 100 00:05:29,120 --> 00:05:30,750 Lè sa a, ou pa bezwen enkyete sou nan tout sa. 101 00:05:30,750 --> 00:05:33,670 >> Lè sa a, anpil èd sou entènèt, nan kou. 102 00:05:33,670 --> 00:05:37,040 Gen anpil, anpil, sou sit entènèt anpil moun ki yo ale nan ede ou tou de ak 103 00:05:37,040 --> 00:05:38,880 Ruby ak ak ray. 104 00:05:38,880 --> 00:05:40,530 Epi li se anpil nan plezi yo kòd. 105 00:05:40,530 --> 00:05:46,770 Egzakteman paske ou ka sispann mangonmen sou moun ki pwoblèm pa konsa pou sa plezi. 106 00:05:46,770 --> 00:05:50,690 Menm jan ak si gen yon bagay se miniskil oswa ka anwo kay la, ak Lè sa a, poukisa se sa a 107 00:05:50,690 --> 00:05:54,500 ban nou yon fay segmentation, ak ou ka reyèlman plonje nan anpil nan 108 00:05:54,500 --> 00:05:55,460 enteresan bagay. 109 00:05:55,460 --> 00:05:59,650 Plonje nan pwoblèm sa yo vrèman fre. 110 00:05:59,650 --> 00:06:02,420 >> Se konsa, Ruby se jis tankou nan C nan yon sans. 111 00:06:02,420 --> 00:06:05,950 Se konsa, li pa nan pral fè ki gwo yon so aktyèlman. 112 00:06:05,950 --> 00:06:09,470 Se konsa, mete, ki nan app ekri ak lèt ​​detache nou yo nan Ruby. 113 00:06:09,470 --> 00:06:12,790 Mwen panse ke ou ka sèvi ak ekri ak lèt ​​detache tou, men primer se sa ki tout moun sèvi avèk yo. 114 00:06:12,790 --> 00:06:14,490 Se konsa, jis mete "Alo Mondyal". 115 00:06:14,490 --> 00:06:21,400 Ou te kapab, oswa ou pa t 'kapab yo, yo gen parantèz la wonn 116 00:06:21,400 --> 00:06:23,280 "Alo Mondyal" la. 117 00:06:23,280 --> 00:06:25,350 Ou ka jis chwazi si oswa pa sèvi ak sa a. 118 00:06:25,350 --> 00:06:26,780 Lè sa a, x = "1". 119 00:06:26,780 --> 00:06:29,030 Yon bouk pandan y ap sanble trè anpil menm bagay la. 120 00:06:29,030 --> 00:06:30,630 Li jis gen mwens sentaks. 121 00:06:30,630 --> 00:06:32,590 Li nan kalite cleaner yon ti kras. 122 00:06:32,590 --> 00:06:37,380 Lè sa a, si x> 25 primer "Big!" ak lòt moun mete "Ti ...". 123 00:06:37,380 --> 00:06:39,070 Apre sa, li nan kalite C nan sans sa. 124 00:06:39,070 --> 00:06:41,630 >> Se konsa, si ou gade nan sa, ou kapab apwòch pwobableman konprann 125 00:06:41,630 --> 00:06:42,890 tout bagay ki pral sou. 126 00:06:42,890 --> 00:06:47,750 Men, li la plis pouvwa anpil. 127 00:06:47,750 --> 00:06:54,520 Plis pouvwa anpil, paske, plis pase sa, li ka bagay sa yo yo pa sa ki - 128 00:06:54,520 --> 00:06:55,750 kèk kalite hackage yon ti kras. 129 00:06:55,750 --> 00:06:57,430 Nan C ou pa t 'kapab fè nan jis fè ak yon sèl liy. 130 00:06:57,430 --> 00:06:58,680 Pou egzanp, mete "Se mwen menm # {x}". 131 00:06:58,680 --> 00:07:04,330 132 00:07:04,330 --> 00:07:11,100 Sa a se jis sentaks pou mete valè a nan x isit la, epi yo pa ekri ak lèt ​​detache a 133 00:07:11,100 --> 00:07:12,160 N. x. 134 00:07:12,160 --> 00:07:17,850 Nan C ou te fè pousan d la, ak Lè sa a, mete x la varyab apre a 135 00:07:17,850 --> 00:07:19,730 vigil isit la, oswa yon bagay tankou sa. 136 00:07:19,730 --> 00:07:22,220 >> Ak nan Ruby gen yon steno pou jis fè sa. 137 00:07:22,220 --> 00:07:27,830 Apre sa, mete sa a, si x> 3, konsa ou ka mete an si tout sou yon sèl liy. 138 00:07:27,830 --> 00:07:29,010 Lè sa a, yon lis. 139 00:07:29,010 --> 00:07:33,320 Lis nan C, tankou yon etalaj, ou gen kenbe tras nan ki jan gwo etalaj ou a oswa 140 00:07:33,320 --> 00:07:34,720 otreman ou jwenn yon segmentation fòt. 141 00:07:34,720 --> 00:07:36,210 Etalaj ou se yon sèl kalite. 142 00:07:36,210 --> 00:07:38,790 Se konsa, li swa yon etalaj de chaj oswa yon etalaj de nonb antye relatif. 143 00:07:38,790 --> 00:07:43,620 Nan ka sa a, mwen kreye yon lis isit la, sa a, se yon etalaj, ki gen premye a 144 00:07:43,620 --> 00:07:48,450 eleman se yon fisèl, Jan ak Lè sa a, kat, de - sa yo se nonb antye relatif. 145 00:07:48,450 --> 00:07:53,590 Lè sa a, mwen jis ajoute, lis, nan Left Ang bracket, Left 146 00:07:53,590 --> 00:07:54,820 Ang bracket, twa. 147 00:07:54,820 --> 00:07:58,170 Sa vle di jis kole yon bagay nan lis mwen an. 148 00:07:58,170 --> 00:08:01,630 >> Se konsa, li nan kalite plis enteresan paske si ou te vle sèvi ak sa kòm 149 00:08:01,630 --> 00:08:03,920 jis yon lis senp nan nonm antye yo, ou te kapab, totalman. 150 00:08:03,920 --> 00:08:05,530 Sa a totalman amann. 151 00:08:05,530 --> 00:08:06,750 Jis mete nonm antye la. 152 00:08:06,750 --> 00:08:10,240 Men, si ou vle fè yon bagay sa a, se plis irezistib, ki gen lòt 153 00:08:10,240 --> 00:08:11,690 bagay sa yo, ki gen - 154 00:08:11,690 --> 00:08:15,480 Mwen pa konnen, tout kalite bay lis nan la, oswa lòt bagay ki gen plis 155 00:08:15,480 --> 00:08:16,970 enteresan, ou ka totalman fè sa. 156 00:08:16,970 --> 00:08:17,880 Li nan totalman amann. 157 00:08:17,880 --> 00:08:21,210 Lè sa a, si ou vle repňte nan lis la, ou ka sèvi ak nan 158 00:08:21,210 --> 00:08:24,850 plis C-ich kalite apwòch. 159 00:08:24,850 --> 00:08:29,970 Sa a pou bouk, ou kòmanse yon varyab, mwen = "1", oswa mwen = "0". 160 00:08:29,970 --> 00:08:32,980 Lè sa a, ou ale, epi repňte, epi pou yo jwenn tout nan eleman yo. 161 00:08:32,980 --> 00:08:37,559 >> Men, ou ta ka tou itilize sa a plis Ruby ki tankou apwòch. 162 00:08:37,559 --> 00:08:40,289 Se jis tankou yon list.each. 163 00:08:40,289 --> 00:08:45,230 Se jis li di yo: retounen m ' tout eleman nan lis la. 164 00:08:45,230 --> 00:08:49,120 Apre sa, fè ak chak eleman, rele yo ELEM. 165 00:08:49,120 --> 00:08:51,880 Se konsa, sa a se jis yon non ki mwen se bay nan chak eleman. 166 00:08:51,880 --> 00:08:56,630 Epi, koulye a sa a ki pral repete pou tout eleman yo, ak ELEM, li pral 167 00:08:56,630 --> 00:09:00,790 yo dwe wout la ke nou jwenn aksè nan ki eleman sèl. 168 00:09:00,790 --> 00:09:04,310 Se konsa, ou ta ka totalman bwa nan la C apwòch, men sa a ap travay tou. 169 00:09:04,310 --> 00:09:07,970 Epi li se egzakteman menm bagay la, OK. 170 00:09:07,970 --> 00:09:13,830 >> Apre sa, lòt pase sa, li se reyèlman, reyèlman fasil entegre Ruby ak HTML 171 00:09:13,830 --> 00:09:17,010 depi ou guys ki enterese nan aplikasyon sou entènèt. 172 00:09:17,010 --> 00:09:20,070 HTML se definitivman yon bagay ki w ap ale nan sèvi ak yon anpil. 173 00:09:20,070 --> 00:09:25,820 Ak isit la si ou te vle mete Ruby nan HTML, jis kòmanse isit la, <%. 174 00:09:25,820 --> 00:09:28,500 Sa vle di, isit la Ruby kòmanse. 175 00:09:28,500 --> 00:09:32,130 Lè sa a,%>, kalite tankou PHP nan sans sa. 176 00:09:32,130 --> 00:09:35,520 Isit la Ruby fini ak Lè sa a, ou kapab jis mete ou si nan isit la. 177 00:09:35,520 --> 00:09:39,400 Lè sa a, mwen gen kèk varyab user.logged_in. 178 00:09:39,400 --> 00:09:45,120 Nan Ruby, anjeneral nou ajoute sa yo, swa make intewogasyon oswa esklamasyon 179 00:09:45,120 --> 00:09:48,210 mak, tankou yon karaktè labank, jis kalite 180 00:09:48,210 --> 00:09:49,480 distenge ant fonksyon nou an. 181 00:09:49,480 --> 00:09:52,780 Men, ou jis mete sa pou dedomajman pou pwòp ou yo. 182 00:09:52,780 --> 00:09:56,910 Li pa yon bagay ki chanje anyen nan fonctionnalités a. 183 00:09:56,910 --> 00:10:01,160 >> Se konsa, jis fè sonje m 'ke sa a se yon fonksyon - ak fonksyon nan Ruby, 184 00:10:01,160 --> 00:10:06,650 olye ke C, jan mwen te di deja, yo pa bezwen parantèz yo. 185 00:10:06,650 --> 00:10:09,740 Se konsa, ki louvri sesyon an bagay, sa a, se yon fonksyon, ki nan yon metòd. 186 00:10:09,740 --> 00:10:12,990 Men, ou pa klèman bezwen mete parantèz yo nan la. 187 00:10:12,990 --> 00:10:16,030 Se konsa, jis mande w si la nan itilizatè louvri sesyon an, epi si nan nan itilizatè louvri sesyon an, kounye a 188 00:10:16,030 --> 00:10:17,100 HTML kòmanse ankò. 189 00:10:17,100 --> 00:10:21,670 Se konsa, Byenveni, ak isit la Mwen ekri ak lèt ​​detache user.name la. 190 00:10:21,670 --> 00:10:22,920 Epi sa a, li. 191 00:10:22,920 --> 00:10:24,970 192 00:10:24,970 --> 00:10:30,420 Se konsa, sa a, se bèl dwat devan, ki jan ou entegre Ruby ak HTML ou yo. 193 00:10:30,420 --> 00:10:34,560 Ak resous, jan mwen te di, gen tout kalite resous pou Ruby. 194 00:10:34,560 --> 00:10:39,560 Ou mesye tout ka gade sa a leve apre sa paske tou de videyo a, ak 195 00:10:39,560 --> 00:10:40,875 glisad yo, yo ale nan ap disponib sou entènèt. 196 00:10:40,875 --> 00:10:44,620 197 00:10:44,620 --> 00:10:47,180 >> Epi, koulye a kite a jwenn nan ray. 198 00:10:47,180 --> 00:10:48,330 Ray se renmen menm. 199 00:10:48,330 --> 00:10:49,230 Ray - 200 00:10:49,230 --> 00:10:51,030 Se konsa, Ruby se lang l 'yo. 201 00:10:51,030 --> 00:10:54,340 OK, jis tankou PHP, jis tankou Piton. 202 00:10:54,340 --> 00:10:59,980 Li nan yon lang wo nivo, pa renmen C. C nan yon mwayen, lang nan nivo ki ba nan 203 00:10:59,980 --> 00:11:05,240 sans ke Ruby ou pa bezwen enkyete sou Re memwa, ak 204 00:11:05,240 --> 00:11:07,300 endikasyon, ak moun ki kalite bagay. 205 00:11:07,300 --> 00:11:11,120 Men, ray se pwogram sa a ke te ekri nan Ruby. 206 00:11:11,120 --> 00:11:15,610 Apre sa, li itilize Ruby, yo nan lòd yo gen sa a fondasyon, pou ou pou w kapab 207 00:11:15,610 --> 00:11:18,990 bati aplikasyon pou entènèt pè. 208 00:11:18,990 --> 00:11:21,940 >> Se konsa, ou gen premye enstale Ruby sou machin ou, men pifò machin 209 00:11:21,940 --> 00:11:22,630 deja gen sa. 210 00:11:22,630 --> 00:11:24,800 Lè sa a, enstale ray sou tèt li. 211 00:11:24,800 --> 00:11:26,540 Nou pral pale de sa pita. 212 00:11:26,540 --> 00:11:28,100 Epi poukisa ray? 213 00:11:28,100 --> 00:11:31,470 Se konsa, mv, ki nan kontwolè a modèl View nou te pale de yon ti kras 214 00:11:31,470 --> 00:11:36,050 ti jan, fè tout bagay ki pi senp paske li divize bagay ki 215 00:11:36,050 --> 00:11:42,420 concept diferan nan diferan pati nan aplikasyon w lan. 216 00:11:42,420 --> 00:11:45,930 Mwens tan pase sou pwoblèm ba nivo, ankò, li trè, trè 217 00:11:45,930 --> 00:11:46,820 popilè kounye a. 218 00:11:46,820 --> 00:11:52,130 Se konsa, pou tout moun sa yo ki enterese nan sèn nan kòmanse moute, oswa nan yon bagay 219 00:11:52,130 --> 00:11:58,435 tankou kòmanse biznis yo, ak moun ki nan mache a teknoloji ki gen 220 00:11:58,435 --> 00:12:02,440 kòmanse pwòp biznis yo kounye a yo se reyèlman, reyèlman fanatik nan Ruby sou 221 00:12:02,440 --> 00:12:04,120 Ray paske li nan tèlman vit. 222 00:12:04,120 --> 00:12:07,510 >> Se konsa, ou ka jwenn yon bagay leve, li kouri nan mwens pase yon jou, e ke sa a 223 00:12:07,510 --> 00:12:10,410 reyèlman yon trè konvenkan agiman yo sèvi ak Ruby. 224 00:12:10,410 --> 00:12:13,460 Apre sa, ray 4.0 - 225 00:12:13,460 --> 00:12:15,920 li trè fre soti nan fou a kounye a. 226 00:12:15,920 --> 00:12:16,930 Se konsa, ray 4.0 - 227 00:12:16,930 --> 00:12:20,180 Mwen panse ke liberasyon an premye te nan mwa mas ane sa a. 228 00:12:20,180 --> 00:12:23,460 Epitou, se vrèman bèl, li gen tout kalite nouvo, karakteristik fre. 229 00:12:23,460 --> 00:12:30,290 Se konsa, Ruby sou ray se yon fondasyon ki nan toujou ap mete ajou gen tout 230 00:12:30,290 --> 00:12:31,540 nan nouvo teknoloji a. 231 00:12:31,540 --> 00:12:33,710 232 00:12:33,710 --> 00:12:39,800 >> Premye fwa mwen te eseye sèvi ak Ruby sou Ray, mwen te gen pwoblèm sa a paske mwen 233 00:12:39,800 --> 00:12:44,540 kreye aplikasyon premye sit entènèt mwen an, epi li voye je egzakteman tankou sa. 234 00:12:44,540 --> 00:12:49,020 Se konsa, li kreye tout moun ki dosye pou ou, epi mwen te gen okenn lide ki sa - 235 00:12:49,020 --> 00:12:50,780 ki sa ki sa a? 236 00:12:50,780 --> 00:12:54,850 Li te kreye tout moun sa yo dosye, epi mwen sèlman te vle kreye yon pwogram ki senp, yon 237 00:12:54,850 --> 00:12:57,140 senp sit entènèt HTML. 238 00:12:57,140 --> 00:12:59,680 Apre sa, mwen pa t 'kapab menm fè anyen. 239 00:12:59,680 --> 00:13:02,430 Se konsa, mwen te yon ti jan akable. 240 00:13:02,430 --> 00:13:08,350 Men, sa a youn nan bagay ke yon fwa ou konprann li, tout bagay vin pou 241 00:13:08,350 --> 00:13:09,190 pi klè. 242 00:13:09,190 --> 00:13:15,750 Se konsa, pa dwe akable pa premye a devan je nan sa ou kreye an premye. 243 00:13:15,750 --> 00:13:18,430 >> Se konsa, sa k ap pase se ray kreye tout moun sa yo dosye. 244 00:13:18,430 --> 00:13:20,470 Se konsa yonn nan se sa ki doc, kopi dokiman yo. 245 00:13:20,470 --> 00:13:23,080 DB, ki nan ki gen rapò ak baz done a. 246 00:13:23,080 --> 00:13:25,060 Lib, ki nan bibliyotèk louvri sesyon. 247 00:13:25,060 --> 00:13:28,200 Piblik, script, ak kèk bagay sa yo. 248 00:13:28,200 --> 00:13:32,110 Bèl anpil tout sa ou ap ale nan enkyete sou se folder nan app, moute a. 249 00:13:32,110 --> 00:13:34,430 Sa a katab la ki gen aplikasyon w lan. 250 00:13:34,430 --> 00:13:35,540 Tout moun nan lòt dosye yo - 251 00:13:35,540 --> 00:13:37,770 kèk nan yo yo ki enpòtan yo, epi w ap pral aprann sou sa pita. 252 00:13:37,770 --> 00:13:42,040 Men, yo ap jis isit la yo gen ladan fondasyon an. 253 00:13:42,040 --> 00:13:46,420 Se konsa, pilye yo an premye nan kay la ou nèg yo se konstriksyon, OK? 254 00:13:46,420 --> 00:13:47,730 >> Men, katab la app - 255 00:13:47,730 --> 00:13:49,630 sa a, se yon sèl la vrèman enpòtan. 256 00:13:49,630 --> 00:13:53,050 Apre sa, folder nan app gen byen yo. 257 00:13:53,050 --> 00:13:57,690 Aktif oswa Byen se tout bagay bèl anpil ki nan ap vini an. 258 00:13:57,690 --> 00:14:01,890 Imaj pou egzanp, tout bagay sa a, se estatik ki nan ale nan dwe telechaje 259 00:14:01,890 --> 00:14:03,450 nan sit entènèt ou. 260 00:14:03,450 --> 00:14:06,850 Se konsa, imaj, JavaScript, CSS - 261 00:14:06,850 --> 00:14:08,520 sa yo kalite bagay sa yo yo byen yo. 262 00:14:08,520 --> 00:14:11,310 263 00:14:11,310 --> 00:14:12,260 Contrôleur - 264 00:14:12,260 --> 00:14:15,190 nou pral pale plis enfòmasyon sou ki sa yo contrôleur, modèl, 265 00:14:15,190 --> 00:14:16,800 ak lòt jaden pou yo nan yon dezyèm fwa. 266 00:14:16,800 --> 00:14:20,760 Apre sa, moun k'ap ede yo fonksyon ke ou ka sèvi ak tout lòt peyi sou Kòd ou 267 00:14:20,760 --> 00:14:22,800 ede w fè yon bagay. 268 00:14:22,800 --> 00:14:25,800 Fonksyon tankou louvri sesyon an, pou egzanp - user.loggedin. 269 00:14:25,800 --> 00:14:29,500 Sa a se yon fonksyon ki pwobableman ou gen yo sèvi ak nan tout pati ou 270 00:14:29,500 --> 00:14:30,030 aplikasyon an. 271 00:14:30,030 --> 00:14:33,590 Se konsa, ou ka mete yon bagay tankou ke nan k'ap vin ede ou. 272 00:14:33,590 --> 00:14:34,370 >> Mailers - 273 00:14:34,370 --> 00:14:41,480 sa a, se si w ap ale nan voye yon imèl bay itilizatè ou an, ou 274 00:14:41,480 --> 00:14:43,420 vle itilize yon Mailer. 275 00:14:43,420 --> 00:14:46,420 Ak modèl ak opinyon, nou pwal pale sou ki kounye a. 276 00:14:46,420 --> 00:14:52,450 Se konsa, kontwolè a modèl vi, sa a, se poto a de baz yo Ruby sou 277 00:14:52,450 --> 00:14:55,730 Ray, epi pifò cadres sèjousi, yo dwe onèt. 278 00:14:55,730 --> 00:15:01,180 Se konsa, ankò, nou separe tout nan kòd nou an an twa pati diferan. 279 00:15:01,180 --> 00:15:02,590 Modèl la - 280 00:15:02,590 --> 00:15:04,620 modèl la se fondamantalman baz done a. 281 00:15:04,620 --> 00:15:06,090 Li kenbe bagay sa yo nan baz done a. 282 00:15:06,090 --> 00:15:10,790 >> Se konsa, chak tab nan baz done a gen yon ki koresponn dosye yo nan lespas modèl an. 283 00:15:10,790 --> 00:15:13,330 Se konsa, li nan kalite yon tablo pou itilizatè ou an. 284 00:15:13,330 --> 00:15:18,250 Se konsa, w ap estoke enfòmasyon renmen an non itilizatè, anay yo, yo 285 00:15:18,250 --> 00:15:20,970 adrès, modpas yo, ak bagay tankou sa. 286 00:15:20,970 --> 00:15:24,535 W ap ale nan gen yon sèl dosye ki nan modèl la rele itilizatè RB - 287 00:15:24,535 --> 00:15:26,240 RB pou Ruby. 288 00:15:26,240 --> 00:15:30,180 Apre sa, w ap ale nan gen tout nan metòd yo ak varyab yo. 289 00:15:30,180 --> 00:15:34,130 Varyab yo yo ale nan koresponn nan non nan itilizatè, imèl la, ak 290 00:15:34,130 --> 00:15:35,370 tout bagay. 291 00:15:35,370 --> 00:15:37,760 >> Apre sa, w ap ale nan gen metòd yo. 292 00:15:37,760 --> 00:15:42,690 Sa pral yon bagay ki konsène - 293 00:15:42,690 --> 00:15:46,400 w ap ale nan okipe enfòmasyon sa a nan baz done a. 294 00:15:46,400 --> 00:15:50,220 Pou kreye yon modèl ak ray, ou jis itilize ray jenere. 295 00:15:50,220 --> 00:15:54,990 Apre sa, yo kreye bagay sa yo nan ray, ou aktyèlman bezwen tèminal la. 296 00:15:54,990 --> 00:15:58,770 Se konsa, li yon trè tèminal ki baze fondasyon. 297 00:15:58,770 --> 00:16:02,530 Ou jis ale nan tèminal la, ak ray, jenere modèl. 298 00:16:02,530 --> 00:16:04,670 Apre sa, non an nan modèl la se itilizatè. 299 00:16:04,670 --> 00:16:10,270 Apre sa, mwen jis vle gen de varyab, de kolòn, nan tab avè m '. 300 00:16:10,270 --> 00:16:11,450 Se konsa, sa a, se imel. 301 00:16:11,450 --> 00:16:13,080 Imèl se yon fisèl kalite. 302 00:16:13,080 --> 00:16:15,450 Modpas, modpas la se tou yon fisèl kalite. 303 00:16:15,450 --> 00:16:16,520 Sa yo se sèlman de bagay sa yo. 304 00:16:16,520 --> 00:16:19,160 Li nan kalite yon tab itilizatè senplist. 305 00:16:19,160 --> 00:16:22,490 Men, ou ta ka totalman mete yon santèn bagay la gen si ou te vle. 306 00:16:22,490 --> 00:16:27,620 >> Apre sa, ray tou fè li trè, trè senp yo gen tout 307 00:16:27,620 --> 00:16:30,040 kalite relasyon baz done. 308 00:16:30,040 --> 00:16:36,100 Se konsa, anjeneral, lè ou gen tab nan ou baz done yo, yo pa ap anpil 309 00:16:36,100 --> 00:16:37,570 endepandan de youn ak lòt. 310 00:16:37,570 --> 00:16:39,392 Se pou nou panse osijè de. 311 00:16:39,392 --> 00:16:42,960 Ou vle achte ak vann pwodwi sou entènèt. 312 00:16:42,960 --> 00:16:46,620 OK, se konsa ou gen yon sit entènèt kote ou vle achte ak vann pwodwi yo. 313 00:16:46,620 --> 00:16:55,060 Se konsa, chak itilizatè gen anpil pwodwi ki itilizatè sa a se vle vann. 314 00:16:55,060 --> 00:17:00,970 Epitou, chak itilizatè tou te gen anpil tranzaksyon ki kontinyèl, oswa 315 00:17:00,970 --> 00:17:01,920 yon bagay tankou sa. 316 00:17:01,920 --> 00:17:05,430 Ak tranzaksyon yo ak yon lòt itilizatè. 317 00:17:05,430 --> 00:17:08,310 Chak tranzaksyon ki dwe nan de itilizatè diferan. 318 00:17:08,310 --> 00:17:10,560 Itilizatè a ki nan achte ak itilizatè a ki nan vann. 319 00:17:10,560 --> 00:17:13,920 >> Se konsa, sa yo se sa yo rele an baz done relasyon yo. 320 00:17:13,920 --> 00:17:17,890 Ak isit la nou gen egzakteman moun ki mo kle, gen anpil ak ki dwe nan. 321 00:17:17,890 --> 00:17:19,500 Moun sa yo ki se yo menm ki pi enpòtan. 322 00:17:19,500 --> 00:17:22,410 Apre sa, w ap sèlman ale nan di, pou egzanp, sa a se egzanp lan nan yon 323 00:17:22,410 --> 00:17:25,740 modèl nan 2017 sit entènèt la Harvard. 324 00:17:25,740 --> 00:17:28,820 Yon fwa ankò, elèv ki nan isit la - 325 00:17:28,820 --> 00:17:32,870 chak elèv sou sit entènèt la, elèv la se yon modèl, se yon tab baz done. 326 00:17:32,870 --> 00:17:37,560 Chak elèv te gen anpil liv paske ou te kapab di, ki sa yo pi renmen ou 327 00:17:37,560 --> 00:17:38,630 liv, dwat. 328 00:17:38,630 --> 00:17:44,450 Se konsa, chak liv ki dwe nan yon elèv desann isit la. 329 00:17:44,450 --> 00:17:46,910 Apre sa, atribi ki aksesib - 330 00:17:46,910 --> 00:17:49,580 Se jis di, sa yo ki yo varyab yo. 331 00:17:49,580 --> 00:17:53,050 Sa yo se varyab yo aksesib soti nan modèl sa a. 332 00:17:53,050 --> 00:17:58,570 Apre sa, varyab yo se otè a nan liv la, deskripsyon, genre, ak 333 00:17:58,570 --> 00:17:59,870 tit liv la. 334 00:17:59,870 --> 00:18:02,700 Se konsa, jis enfòmasyon ki konsènan liv la. 335 00:18:02,700 --> 00:18:06,410 >> Ak isit la mwen gen yon metòd ki tou senpleman asòti tout bagay. 336 00:18:06,410 --> 00:18:10,710 Se konsa, defini epi fini isit la, sa se sèlman li di yo: isit la vini metòd m 'yo. 337 00:18:10,710 --> 00:18:13,220 Self.sorted_all. 338 00:18:13,220 --> 00:18:16,390 Se jis, ban m 'tout bagay Ranje, e ke sa a ki jan ou aplike 339 00:18:16,390 --> 00:18:22,360 algorithm nan klasman, ki se jistis fasil. 340 00:18:22,360 --> 00:18:27,430 Men, fondamantalman, sa a se ki jan yon modèl sanble, OK. 341 00:18:27,430 --> 00:18:32,990 nenpòt moun ki gen kesyon konsènan bagay sa a baz done? 342 00:18:32,990 --> 00:18:33,736 Relasyon? 343 00:18:33,736 --> 00:18:36,430 Èske sa klè? 344 00:18:36,430 --> 00:18:37,125 Wi. 345 00:18:37,125 --> 00:18:38,490 >> ODYANS: Èske ou ka fè algorithm nan sòt? 346 00:18:38,490 --> 00:18:41,960 >> GABRIEL GUIMARAES: a sòt algorithm, OK. 347 00:18:41,960 --> 00:18:45,340 Lè ou jwenn itilize Ruby sentaks, li pral yo dwe klè. 348 00:18:45,340 --> 00:18:48,800 Men, fondamantalman, elems se Book.all. 349 00:18:48,800 --> 00:18:50,820 Se konsa, liv se non an nan modèl mwen. 350 00:18:50,820 --> 00:18:55,670 Lè ou kreye yon modèl, li vini ak tout kalite metòd bèl pou ou. 351 00:18:55,670 --> 00:18:58,810 Se konsa, dot.all se yon metòd ki retounen tout liv. 352 00:18:58,810 --> 00:19:02,560 Men, jwenn, pou egzanp, ta fè rechèch pou yon sèl liv epi retounen ke liv, oswa 353 00:19:02,560 --> 00:19:03,840 yon bagay tankou sa. 354 00:19:03,840 --> 00:19:05,990 Se konsa, elems se tout bagay. 355 00:19:05,990 --> 00:19:08,870 Apre sa, mwen jis di elems.sort. 356 00:19:08,870 --> 00:19:11,300 Triye se yon fonksyon bati-an Ruby. 357 00:19:11,300 --> 00:19:13,526 >> Epi, fè ab. 358 00:19:13,526 --> 00:19:15,940 Se konsa, sa a ankò se - 359 00:19:15,940 --> 00:19:17,400 w ap ale nan sòt. 360 00:19:17,400 --> 00:19:19,850 Men, w ap ale nan jwenn agiman sa a te pou mwen. 361 00:19:19,850 --> 00:19:25,160 Apre sa, agiman an sèvi ak - sa a se youn nan bagay sa yo pi rèd nan Ruby aktyèlman, 362 00:19:25,160 --> 00:19:26,920 sa a fè sa. 363 00:19:26,920 --> 00:19:31,470 Men, yon fwa ou konprann li tout bagay vini trè, trè entwisyon. 364 00:19:31,470 --> 00:19:37,140 Se konsa, ab a, sa a ap di plas la moun ki gen ke mwen pral sèvi ak - tankou 365 00:19:37,140 --> 00:19:41,760 varyab yo mwen pral sèvi ak yo, se yo pral rele yon ak b. 366 00:19:41,760 --> 00:19:43,380 Apre sa, sa yo se liv yo. 367 00:19:43,380 --> 00:19:47,120 >> Se konsa, paske sòt bezwen konpare eleman, sonje ke? 368 00:19:47,120 --> 00:19:49,760 Se konsa, lè ou klase bagay sa yo, ou konpare de eleman. 369 00:19:49,760 --> 00:19:51,900 Mwen pral di ke chak fwa w ap ale nan konpare - 370 00:19:51,900 --> 00:19:54,350 Se konsa, sa a se, mwen pase sòt yon diskisyon. 371 00:19:54,350 --> 00:19:59,370 Apre sa, agiman an se tout bagay soti nan fè ak isit la, OK? 372 00:19:59,370 --> 00:20:02,980 Epi bay agiman sa a, se jis di sòt ki jan yo konpare. 373 00:20:02,980 --> 00:20:07,460 Triye ta travay isit la, men li ta konpare ak yo 374 00:20:07,460 --> 00:20:09,530 default konpare algorithm. 375 00:20:09,530 --> 00:20:13,810 Mwen vle li yo konpare nan yon trè espesifik fason, sètadi, lè liv la 376 00:20:13,810 --> 00:20:16,900 te kreye, lè chak te liv ki te kreye. 377 00:20:16,900 --> 00:20:21,090 >> Se konsa, m ap di, di non an nan premye a liv la se yon ak non an nan la 378 00:20:21,090 --> 00:20:27,620 dezyèm liv kòm b, mwen vle sòt sòt yon bagay ki baze sou b.created_at sa a 379 00:20:27,620 --> 00:20:30,000 etranj senbòl, a.created_at. 380 00:20:30,000 --> 00:20:34,350 Epi ki senbòl etranj se steno Paske, si se yon sèl pi gwo pase a 381 00:20:34,350 --> 00:20:35,380 lòt, retounen 1. 382 00:20:35,380 --> 00:20:37,450 Si youn ki egal a la lòt, retounen zewo. 383 00:20:37,450 --> 00:20:41,180 Si se yon sèl ki pi piti pase nan lòt, retounen mwens 1. 384 00:20:41,180 --> 00:20:43,435 Se konsa, se sa ki ki senbòl etranj se. 385 00:20:43,435 --> 00:20:46,680 386 00:20:46,680 --> 00:20:47,500 >> Men, sa a pa enpòtan. 387 00:20:47,500 --> 00:20:52,780 Mwen vle di, ki sa mwen vle ou mesye yo ka resevwa kounye a se lide ki fè konnen baz done - 388 00:20:52,780 --> 00:20:54,150 ou ka gen modèl la a. 389 00:20:54,150 --> 00:20:59,850 Se konsa, ou pa gen enkyete sou konekte ak lè l sèvi avèk deklarasyon SQL, 390 00:20:59,850 --> 00:21:00,500 ak bagay tankou sa. 391 00:21:00,500 --> 00:21:04,920 Li kapab tou kreye pòt Piki SQL ak tout 392 00:21:04,920 --> 00:21:06,460 kalite pwoblèm sekirite. 393 00:21:06,460 --> 00:21:07,930 Nan ka sa a, ou pa fè sa enkyete sou sa. 394 00:21:07,930 --> 00:21:11,880 Ou jis sèvi ak metòd tankou book.all. 395 00:21:11,880 --> 00:21:15,210 E ke, nan background nan nan kou, ki pral baz done ou a, epi li 396 00:21:15,210 --> 00:21:17,570 pral sèvi ak yon deklarasyon SQL jwenn tout liv yo. 397 00:21:17,570 --> 00:21:19,650 Men, ou pa bezwen enkyete sou sa. 398 00:21:19,650 --> 00:21:24,090 Sa a Takeaway a, OK? 399 00:21:24,090 --> 00:21:26,790 >> Men, lè ou gen yon deklarasyon ki belongs_to tankou sa a, sa vle di 400 00:21:26,790 --> 00:21:31,780 yon fwa ou gen yon objè liv, ou ka wè ki sa ki elèv li yo. 401 00:21:31,780 --> 00:21:34,130 Se konsa, kote elèv gen liv sa a? 402 00:21:34,130 --> 00:21:38,760 Se konsa, nou ka jis sèvi ak book.student, ak ki ba ou sa elèv la. 403 00:21:38,760 --> 00:21:42,440 Epi sa a, yon vrèman prezante genyen. 404 00:21:42,440 --> 00:21:43,950 >> OK, kounye a gade nan. 405 00:21:43,950 --> 00:21:48,380 Se konsa, modèl la se sa ki reyaji ak baz done a, dwa? 406 00:21:48,380 --> 00:21:52,240 View nan se fondamantalman HTML, ak CSS, ak kèk JavaScript. 407 00:21:52,240 --> 00:21:55,080 Epi sa a, sa ki itilizatè a aktyèlman wè. 408 00:21:55,080 --> 00:21:56,540 Itilizatè a pa ale nan wè baz done ou. 409 00:21:56,540 --> 00:22:00,290 Li te ale nan wè kèk done ki sòti nan la baz done entegre nan visualiseur a. 410 00:22:00,290 --> 00:22:04,940 411 00:22:04,940 --> 00:22:08,410 Ruby sou ray, sa fè li vrèman senp yo fè jaden yo. 412 00:22:08,410 --> 00:22:12,780 Premyèman, paske li deja kreye li pou ou, soti nan bwat la, yon Layout. 413 00:22:12,780 --> 00:22:16,200 >> Yon Layout se fondamantalman yon bagay ki - 414 00:22:16,200 --> 00:22:24,230 si tout nan paj ou a gen yon logo sou tèt ak, mwen pa konnen, gen kèk meni oswa 415 00:22:24,230 --> 00:22:29,000 yon bagay tankou sa, pou tout paj ou a pataje nan ki komen yo, Lè sa a, ou pa fè sa 416 00:22:29,000 --> 00:22:34,830 bezwen yo kreye anpil, anpil, anpil HTML dosye kote tout dosye yo genyen ki 417 00:22:34,830 --> 00:22:36,830 menm Kòd HTML. 418 00:22:36,830 --> 00:22:40,700 Mwen vle di sa a, se bèbè paske ou se jis repete Kòd nan mitan dosye diferan. 419 00:22:40,700 --> 00:22:42,480 Sa a definitivman pa yon apwòch bon. 420 00:22:42,480 --> 00:22:45,660 >> Se konsa, Ruby sou ray kreye Layout sa a pou ou. 421 00:22:45,660 --> 00:22:49,770 Lè sa a se jis li di yo: tout paj mwen an yo ale nan gen HTML sa a, sa a tèt 422 00:22:49,770 --> 00:22:54,805 tit isit la, ak sa yo se style fèy lyen tag. 423 00:22:54,805 --> 00:22:56,800 Ploge nan isit la tout CSS m 'yo. 424 00:22:56,800 --> 00:23:01,194 Ploge nan isit la tout JavaScript mwen ak kèk Tags meta. 425 00:23:01,194 --> 00:23:04,440 Se jis yon bagay yo ke yo fè otomatikman pou ou. 426 00:23:04,440 --> 00:23:07,490 Lè sa a,, fini tèt la, kounye a isit la kòmanse kò a. 427 00:23:07,490 --> 00:23:09,780 Epi, koulye a sa a se kontni reyèl mwen fè. 428 00:23:09,780 --> 00:23:16,620 Se konsa, si mwen te vle mete yon bagay tankou, yon meni isit la, mwen ta mete l 'dwa sou 429 00:23:16,620 --> 00:23:19,600 kote sa a, oswa yon bagay tankou sa, pou ke tout nan paj mwen an pataje yo. 430 00:23:19,600 --> 00:23:21,730 Se konsa, Layout a ap pataje pa tout paj yo. 431 00:23:21,730 --> 00:23:26,500 >> Koulye a, ke sede isit la jis di, pa gen okenn gen pwoblèm sa paj sa a se nan, jis 432 00:23:26,500 --> 00:23:30,560 ploge nan kontni sa a nan paj nan isit la, OK? 433 00:23:30,560 --> 00:23:33,770 Epi, koulye a sa a se, pou egzanp, nan kontni nan yon sèl paj ki nan pral fè 434 00:23:33,770 --> 00:23:38,950 konekte nan sa a deklarasyon sede otomatikman pa ray. 435 00:23:38,950 --> 00:23:40,700 Men, sa a se yon Layout pataje pa tout paj. 436 00:23:40,700 --> 00:23:42,500 Lè sa a se yon egzanp nan yon paj. 437 00:23:42,500 --> 00:23:46,410 Lè sa a se egzakteman paj la Li bay yon lis tout liv yo. 438 00:23:46,410 --> 00:23:49,390 Se konsa, sa a se yon HTML tab debaz moute tèt. 439 00:23:49,390 --> 00:23:53,730 Se konsa, lis liv, yon tit, otè, deskripsyon, genre. 440 00:23:53,730 --> 00:24:00,810 >> Ak isit la nou itilize, ankò, kèk Ruby sentaks, @ books.each-- 441 00:24:00,810 --> 00:24:07,720 @ Kalite di ke varyab ou se mondyal nan yon sans. 442 00:24:07,720 --> 00:24:10,940 Paske varyab sa a te aktyèlman te deklare nan kontwolè a ki 443 00:24:10,940 --> 00:24:12,840 w ap ale nan wè kounye a. 444 00:24:12,840 --> 00:24:18,570 Men, jis pran pou yo akòde ke sa a @ Liv la se yon varyab ki gen pou se yon lis 445 00:24:18,570 --> 00:24:20,000 tout nan liv yo. 446 00:24:20,000 --> 00:24:24,580 Se konsa, books.each,, epi ankò, sa a se jis li di ki jan ou vle nan non 447 00:24:24,580 --> 00:24:29,580 chak nan iterateur yo pou ke nou pa fè sa gen enkyete sou yon kat, Int mwen 448 00:24:29,580 --> 00:24:30,630 bla, bla, bla. 449 00:24:30,630 --> 00:24:33,760 Nou jis pran chak nan la eleman ak sèvi ak yo. 450 00:24:33,760 --> 00:24:38,890 >> Se konsa, sa a se liv la, ak Lè sa a, jis ekri ak lèt ​​detache isit la. book.title, book.author, 451 00:24:38,890 --> 00:24:41,020 book.description, ak bla, bla, bla. 452 00:24:41,020 --> 00:24:42,940 Apre sa, isit la se yon link_to. 453 00:24:42,940 --> 00:24:46,840 Se konsa, link_to se jis yon tag lyen ke yon itilizatè kapab klike sou ak 454 00:24:46,840 --> 00:24:49,040 ale nan yon lòt sit entènèt. 455 00:24:49,040 --> 00:24:51,160 Link_to, yo fè montre ke liv an patikilye. 456 00:24:51,160 --> 00:24:56,480 Se konsa, si itilizatè a se yon bagay ki enterese nan liv sa a, lè sa a li kapab klike sou montre sa. 457 00:24:56,480 --> 00:24:59,350 Oswa klike sou modifye, si li vle yo edit liv la. 458 00:24:59,350 --> 00:25:03,560 Oswa detwi, si li vle efase liv ki soti nan baz done a. 459 00:25:03,560 --> 00:25:06,260 OK, ki fè sans? 460 00:25:06,260 --> 00:25:08,610 Bon. 461 00:25:08,610 --> 00:25:10,600 >> Finalman, kontwolè la. 462 00:25:10,600 --> 00:25:17,150 Se konsa, fondamantalman kontwolè a se koòdone ki genyen ant an 463 00:25:17,150 --> 00:25:20,040 modèl ak gade nan. 464 00:25:20,040 --> 00:25:25,120 Se konsa, modèl la se yon pati a nan ou Kòd ki gen baz done - 465 00:25:25,120 --> 00:25:27,620 chak tab nan baz done a gen yon dosye respektif nan la 466 00:25:27,620 --> 00:25:30,120 modèl, ak sou sa. 467 00:25:30,120 --> 00:25:34,890 Ak ki jan fè modèl la ak gade nan kominike? 468 00:25:34,890 --> 00:25:36,990 Se konsa, nan kontwolè la. 469 00:25:36,990 --> 00:25:43,620 Ki sa ki yon kontwolè fè se li se nan modèl pou yon bagay tankou, pou egzanp, 470 00:25:43,620 --> 00:25:46,510 mete tout nan liv la andedan nan yon varyab. 471 00:25:46,510 --> 00:25:47,760 Menm jan ak yon sèl sa a, @ liv. 472 00:25:47,760 --> 00:25:50,200 473 00:25:50,200 --> 00:25:54,800 >> Apre sa, li bezwen yo dwe mondyal ak sa-a nan bagay paske li k ap pase yo dwe 474 00:25:54,800 --> 00:25:56,180 jwenn aksè pa gade nan. 475 00:25:56,180 --> 00:26:00,000 Li pa yo pral itilize nan lespas kontwolè nan tèt li. 476 00:26:00,000 --> 00:26:03,160 Apre sa, li jis ralanti enfòmasyon ki gade nan ki pral sèvi avèk yo. 477 00:26:03,160 --> 00:26:08,030 Pou egzanp, chèk yo kontwolè si itilizatè a se sou entènèt. 478 00:26:08,030 --> 00:26:09,620 Apre sa, li montre kouman li fè sa? 479 00:26:09,620 --> 00:26:11,760 Li aktyèlman mande modèl la paske modèl la gen nan 480 00:26:11,760 --> 00:26:12,890 enfòmasyon sou itilizatè a. 481 00:26:12,890 --> 00:26:15,840 Li te gen yon tab itilizatè yo, liv yo tab, tab lòt. 482 00:26:15,840 --> 00:26:18,560 Se konsa, kontwolè a mande si itilizatè a se sou entènèt. 483 00:26:18,560 --> 00:26:23,760 Si itilizatè a se sou entènèt, kontwolè a manch bagay sa yo tankou mete yon bonbon, 484 00:26:23,760 --> 00:26:28,120 oswa yon bagay tankou sa, yo mete koupon pou achte a yo di ke itilizatè a se sou entènèt. 485 00:26:28,120 --> 00:26:29,930 Pa bezwen ouvri sesyon an ankò. 486 00:26:29,930 --> 00:26:34,080 >> Apre sa, li pral chaj yon varyab rele itilizatè, pou egzanp, ke a 487 00:26:34,080 --> 00:26:35,130 View kapab itilize. 488 00:26:35,130 --> 00:26:42,375 Apre sa, gade nan ka mete yon bagay isit la, pou egzanp, akeyi user.name. 489 00:26:42,375 --> 00:26:46,040 Se konsa, li pral vle di, akeyi Jan, akeyi James - 490 00:26:46,040 --> 00:26:47,390 yon bagay tankou sa, dwa? 491 00:26:47,390 --> 00:26:50,380 Se konsa, tout moun ki varyab yo itilize nan nan View yo pral chaje nan la 492 00:26:50,380 --> 00:26:54,190 kontwolè, epi yo pral fè rale moute soti nan modèl an. 493 00:26:54,190 --> 00:26:58,310 494 00:26:58,310 --> 00:27:00,555 >> Sa a se egzanp lan nan yon kontwolè. 495 00:27:00,555 --> 00:27:03,140 496 00:27:03,140 --> 00:27:08,640 Se konsa, nou genyen, fondamantalman, chak - 497 00:27:08,640 --> 00:27:10,010 nou rele bagay sa yo aksyon yo. 498 00:27:10,010 --> 00:27:11,570 Se konsa, endèks la se yon aksyon. 499 00:27:11,570 --> 00:27:13,820 Li se yon fonksyon Ruby. 500 00:27:13,820 --> 00:27:16,160 Li se yon metòd Ruby an la. 501 00:27:16,160 --> 00:27:19,350 Men, pou apèl yo kontwolè bagay sa yo aksyon yo. 502 00:27:19,350 --> 00:27:24,830 Apre sa, se chak aksyon ki gen rapò ak yon wout. 503 00:27:24,830 --> 00:27:29,350 Se konsa, isit la sa a wout, pou egzanp, se yon Pran deklarasyon / liv. 504 00:27:29,350 --> 00:27:37,500 Se konsa, si ou ale nan harvard2017.com/books, sa ki pral rive se kòd sa a se 505 00:27:37,500 --> 00:27:40,630 yo pral rele. 506 00:27:40,630 --> 00:27:44,290 >> Apre sa, se yon dosye - 507 00:27:44,290 --> 00:27:46,010 kite m 'louvri sa a rapid reyèl. 508 00:27:46,010 --> 00:27:51,310 509 00:27:51,310 --> 00:27:55,386 Genyen yon dosye rele dosye anvan tout koreksyon. 510 00:27:55,386 --> 00:27:57,920 Li pa louvri. 511 00:27:57,920 --> 00:28:02,330 Se konsa, gen nan yon dosye rele dosye anvan tout koreksyon ki fondamantalman matche ak chwa - 512 00:28:02,330 --> 00:28:03,580 oh, kounye a li nan louvri. 513 00:28:03,580 --> 00:28:15,900 514 00:28:15,900 --> 00:28:17,550 Isit la, wout. 515 00:28:17,550 --> 00:28:24,440 Se konsa, fondamantalman yo mete yon souch, deklanchman / nouvo pou egzanp, pou 516 00:28:24,440 --> 00:28:27,810 yon bagay nan kontwolè la. 517 00:28:27,810 --> 00:28:31,580 Se konsa, gen nan kontwolè sa a rele deklanchman kontwolè, men soti isit la, 518 00:28:31,580 --> 00:28:32,790 nou gen liv yo, pou egzanp. 519 00:28:32,790 --> 00:28:33,740 Se konsa, matche ak chwa - 520 00:28:33,740 --> 00:28:39,040 Liv / nouvo, nan kontwolè a liv, aksyon nan nouvo. 521 00:28:39,040 --> 00:28:41,290 Se konsa, fondamantalman, trè senp bagay sa yo. 522 00:28:41,290 --> 00:28:43,970 523 00:28:43,970 --> 00:28:48,770 >> Ak isit la, si ou te jwenn / liv, koupe ID a nan liv yo, koupe nouvo, 524 00:28:48,770 --> 00:28:53,250 w ap ale pou yo ale nan ki Ruby metòd desann la. 525 00:28:53,250 --> 00:28:58,210 Se konsa, isit la, sa ki sa a endèks fè se jis chaje boutèy demi lit liv. 526 00:28:58,210 --> 00:28:59,570 Sa se yon bagay ki - 527 00:28:59,570 --> 00:29:02,160 Mwen louvri sesyon tout nan liv yo nan yon boutèy demi lit. 528 00:29:02,160 --> 00:29:03,050 Apre sa, sòt li tout. 529 00:29:03,050 --> 00:29:05,870 Se konsa, sa a pral retounen tout liv yo Ranje. 530 00:29:05,870 --> 00:29:07,940 Sa a se, ankò, nan baz done a. 531 00:29:07,940 --> 00:29:09,570 Se konsa, sa a se yon metòd nan modèl an. 532 00:29:09,570 --> 00:29:12,440 Ou te wè metòd sa a ke yo te ki te kreye nan modèl an. 533 00:29:12,440 --> 00:29:16,170 Koulye a, sa a se jis chaje tout liv yo epi mete ki nan yon varyab ki gen pou 534 00:29:16,170 --> 00:29:17,490 ka wè pa wè a. 535 00:29:17,490 --> 00:29:20,680 >> Paske nou pa kapab, nan mitan an nan Kòd HTML ou, ou pa ka rele 536 00:29:20,680 --> 00:29:23,940 yon bagay ki sòti dirèkteman nan modèl la, paske pou de rezon. 537 00:29:23,940 --> 00:29:28,260 Premyèman, pou rezon sekirite paske li pa reyèlman enteresan yo dwe 538 00:29:28,260 --> 00:29:32,920 chaje enfòmasyon sou andedan chak HTML sa a, se nan baz done a. 539 00:29:32,920 --> 00:29:36,030 Apre sa, dezyèm, nan kenbe ou Kòd reyèlman òganize. 540 00:29:36,030 --> 00:29:38,800 Se konsa, separe egzakteman nan diferan pati. 541 00:29:38,800 --> 00:29:42,830 Se konsa, BookLog.sorted_all, sa a nan la baz done ak sa a ki pral mete nan 542 00:29:42,830 --> 00:29:44,290 yon varyab @ liv. 543 00:29:44,290 --> 00:29:47,695 Epi, koulye a varyab sa a se aksesib nan Kòd HTML ou yo. 544 00:29:47,695 --> 00:29:54,610 Se konsa, ou ka jis mete tout nan liv yo gen jis tankou nou te fè sa, isit la menm. 545 00:29:54,610 --> 00:29:57,760 Sa a se varyab la. 546 00:29:57,760 --> 00:30:04,730 >> Ak vizit respond_to fè | fòma |, sa a se jis yon kalite Ruby sentaks pou 547 00:30:04,730 --> 00:30:08,140 si itilizatè a ap mande m 'pou Kòd HTML, mwen pral 548 00:30:08,140 --> 00:30:09,340 reponn avèk kòd HTML. 549 00:30:09,340 --> 00:30:15,500 Si itilizatè a mande m 'ak JSON kòd, ki se yon bagay ki apps entènèt sèvi ak 550 00:30:15,500 --> 00:30:20,780 yo kominike ant tèt yo, yo anjeneral sèvi ak JSON oswa kèk lòt 551 00:30:20,780 --> 00:30:23,120 jan de bagay konsa. 552 00:30:23,120 --> 00:30:25,850 Se konsa, li jis reponn lè l sèvi avèk sa yo de fòma diferan. 553 00:30:25,850 --> 00:30:31,720 Men, pou yon itilizatè nòmal, sa a pa ta bezwen yo dwe isit la. 554 00:30:31,720 --> 00:30:34,060 Ou ta jis reponn ak HTML, e ke sa a amann. 555 00:30:34,060 --> 00:30:36,220 Se konsa, pa reyèlman enkyete ke anpil sou sa a. 556 00:30:36,220 --> 00:30:39,510 Sa a se liy lan sèlman nan kòd nan nou an kontwòl kòm li a chaje soti nan HTML 557 00:30:39,510 --> 00:30:42,630 baz done, mete nan yon bagay sa a, se aksesib pa gade nan. 558 00:30:42,630 --> 00:30:49,870 >> Lè sa a, nouvo, se konsa isit la Mwen kreye liv. 559 00:30:49,870 --> 00:30:55,490 Men, yo kreye liv, mwen bezwen yon elèv paske mwen bezwen konnen elèv la 560 00:30:55,490 --> 00:30:58,490 ki gen liv sa a fè pati nan, dwa. 561 00:30:58,490 --> 00:31:00,780 Se konsa, @ elèv = Elèv la. 562 00:31:00,780 --> 00:31:06,500 Elèv, ankò, nou ap kòmanse avèk yon gwo S se elèv la modèl. 563 00:31:06,500 --> 00:31:09,380 OK, se konsa sa a se elèv la modèl, sa a se boutèy la liv modèl. 564 00:31:09,380 --> 00:31:15,150 Student.find, se konsa mwen pral jwenn yon elèv lè l sèvi avèk ID a paramèt. 565 00:31:15,150 --> 00:31:19,160 params.id, sa a se jis jwenn m 'valè a nan ID sa a ki te pase - 566 00:31:19,160 --> 00:31:23,410 ak URL la. 567 00:31:23,410 --> 00:31:25,440 >> Jis ale nan rechèch pou elèv sa a. 568 00:31:25,440 --> 00:31:28,420 Apre sa, an premye, nou pral tcheke si elèv la gen kèk chante 569 00:31:28,420 --> 00:31:29,910 ak bla, bla, bla. 570 00:31:29,910 --> 00:31:35,570 Lè sa a deja okipe a ka lè elèv la 571 00:31:35,570 --> 00:31:38,340 pa egziste, pou egzanp. 572 00:31:38,340 --> 00:31:44,450 Lè sa a,, lòt moun, nou jis reponn nan menm bagay la lè l sèvi avèk HTML. 573 00:31:44,450 --> 00:31:47,570 Lè sa a, nou ka kite itilizatè a kreye chante yo. 574 00:31:47,570 --> 00:31:49,320 Se konsa, sa a se nouvo. 575 00:31:49,320 --> 00:31:52,580 New se anjeneral yo itilize pou, se pou itilizatè a kreye yon bagay. 576 00:31:52,580 --> 00:31:56,440 Lè sa a, gen nan aksyon an kreye ki nan anjeneral yo itilize pou - 577 00:31:56,440 --> 00:31:59,040 aktyèlman mete chante yo nan baz done a oswa yon bagay tankou sa. 578 00:31:59,040 --> 00:32:01,770 Men, yon fwa ou kòmanse lè l sèvi avèk ray, bagay sa yo yo ale nan dwe 579 00:32:01,770 --> 00:32:05,110 anpil, pi plis klè. 580 00:32:05,110 --> 00:32:07,910 OK, fre. 581 00:32:07,910 --> 00:32:09,715 Nenpòt kesyon byen lwen tèlman? 582 00:32:09,715 --> 00:32:15,240 Èske li fè sans ak contrôleur, modèl, jaden - 583 00:32:15,240 --> 00:32:17,860 yeah? 584 00:32:17,860 --> 00:32:20,980 >> Yon fwa ankò nan aplikasyon ray ou - 585 00:32:20,980 --> 00:32:24,700 Se konsa, nan tout sa ka jwenn nan isit la. 586 00:32:24,700 --> 00:32:30,430 Se konsa, ou gen app, contrôleur, sa yo ki yo tout nan contrôleur m 'yo. 587 00:32:30,430 --> 00:32:32,880 Se konsa, pou egzanp, liv kontwole. 588 00:32:32,880 --> 00:32:35,490 Sa a yon sèl nan nou jis te wè. 589 00:32:35,490 --> 00:32:36,400 Lè sa a, opinyon. 590 00:32:36,400 --> 00:32:39,750 Epitou, chak kontwolè a gen yon ki asosye View, dwa? 591 00:32:39,750 --> 00:32:43,750 Se konsa, otomatikman lè ou rele sa a endèks isit la, pou egzanp, oswa lè w 592 00:32:43,750 --> 00:32:49,930 rele sa liv nouvo, Lè sa a, gade nan, liv, nouvo yo pral rele. 593 00:32:49,930 --> 00:32:53,300 >> Se konsa, ray fè tout bagay otomatikman pou ou. 594 00:32:53,300 --> 00:32:59,420 Se konsa, gen tout kontwolè yon asosye wè ak tout modèl yo - 595 00:32:59,420 --> 00:33:01,970 isit la mwen gen yon sèl, de, twa, kat, senk modèl. 596 00:33:01,970 --> 00:33:05,800 Men, sa a se yon modèl elèv, se konsa moun yo varyab yo ke tout la 597 00:33:05,800 --> 00:33:08,620 elèv yo gen - lokalizasyon, dat nesans li. 598 00:33:08,620 --> 00:33:11,270 Elèv yo se yon ti jan ti kras pi plis konplike paske chak elèv genyen 599 00:33:11,270 --> 00:33:15,400 plis metòd diferan ki asosye ak li. 600 00:33:15,400 --> 00:33:18,770 Men, sa a se jis manyen la tab ki te gen tout la 601 00:33:18,770 --> 00:33:21,980 elèv yo nan baz done a. 602 00:33:21,980 --> 00:33:24,300 >> Epi, OK, enstale ray. 603 00:33:24,300 --> 00:33:27,710 Enstale ray, yo dwe onèt, se pa bagay la ki pi senp lan. 604 00:33:27,710 --> 00:33:32,980 Men, yon fwa ou jwenn sot pase tout bagay, li trè, trè fasil. 605 00:33:32,980 --> 00:33:38,810 Se konsa, enstale ray, ou jis ale nan nan sit entènèt, rubyandrails.org / download 606 00:33:38,810 --> 00:33:41,510 epi swiv enstriksyon yo la. 607 00:33:41,510 --> 00:33:42,700 Download tout bagay. 608 00:33:42,700 --> 00:33:46,600 Epi ou ka fè sa swa nan Aparèy, nan CS50 Aparèy la, sou 609 00:33:46,600 --> 00:33:51,120 Fenèt yo, sou Mac, oswa nenpòt ki opere sistèm nan chwa ou. 610 00:33:51,120 --> 00:33:52,460 Ruby sou ray kouri sou tout bagay. 611 00:33:52,460 --> 00:33:56,680 >> Chans yo ou deja gen Ruby enstale si ou gen yon Mac oswa - 612 00:33:56,680 --> 00:33:58,130 nan aparèy yo Mwen panse ke Ruby se - 613 00:33:58,130 --> 00:34:00,940 Mwen pa si. 614 00:34:00,940 --> 00:34:02,440 Lè sa a, ou jis gen sa a enstale. 615 00:34:02,440 --> 00:34:07,190 Men, si ou vle kreye yon nouvo aplikasyon entènèt, ou jis 616 00:34:07,190 --> 00:34:10,270 fè ray, nouvo, blog. 617 00:34:10,270 --> 00:34:12,429 Ray, nouvo - 618 00:34:12,429 --> 00:34:13,310 Mwen pa konnen - 619 00:34:13,310 --> 00:34:15,050 non an nan sit entènèt ou. 620 00:34:15,050 --> 00:34:16,380 Lè li nan sa ki senp. 621 00:34:16,380 --> 00:34:19,060 >> Li ale nan kreye tout moun ki dosye mwen jis te montre ou. 622 00:34:19,060 --> 00:34:22,730 Men, modèl la, gade nan, ak nan kontwolè yo pa pral yo dwe 623 00:34:22,730 --> 00:34:24,330 peple ankò. 624 00:34:24,330 --> 00:34:28,710 W ap sèlman pral fè yo ale la ak peple sa yo twa dosye. 625 00:34:28,710 --> 00:34:32,840 Se konsa, chans yo, ou vle kreye yon modèl, pou egzanp, aplike yon sèl 626 00:34:32,840 --> 00:34:33,780 modèl an premye. 627 00:34:33,780 --> 00:34:40,440 Se konsa, ankò, toujou ap eseye mòde ki pi piti Bits nan yon pwoblèm nan yon tan. 628 00:34:40,440 --> 00:34:42,659 >> Lè sa a, kite a di, kreye yon modèl pou itilizatè ou an. 629 00:34:42,659 --> 00:34:44,370 Sa a premye bagay la si ou gen divinò yo. 630 00:34:44,370 --> 00:34:48,440 Apre sa, mwen vle kreye yon modèl jis tankou nou te montre isit la. 631 00:34:48,440 --> 00:34:58,470 Ray, jenere, modèl, itilizatè, ak Lè sa a, Imèl fisèl - nou gen ki isit la. 632 00:34:58,470 --> 00:35:01,200 Apre sa, jis kreye ki modèl, repons lan se wi. 633 00:35:01,200 --> 00:35:05,030 Ray jenere modèl Itilizatè imel: fisèl modpas: fisèl. 634 00:35:05,030 --> 00:35:09,650 >> Lè sa a, ou kreye yon kontwolè ki boule ak itilizatè a. 635 00:35:09,650 --> 00:35:12,790 Epi ou ka kreye nouvo itilizatè yo ak fè sa yo kalite bagay. 636 00:35:12,790 --> 00:35:18,280 Lè sa a, ou kapab deplase sou kreye rès la nan sit entènèt ou. 637 00:35:18,280 --> 00:35:22,470 Fre, kesyon? 638 00:35:22,470 --> 00:35:23,230 Wi. 639 00:35:23,230 --> 00:35:24,480 >> ODYANS: [fèbl] 640 00:35:24,480 --> 00:35:27,430 641 00:35:27,430 --> 00:35:29,910 >> GABRIEL GUIMARAES: Wi, repons lan se wi, ou definitivman gen ale nan gade nan. 642 00:35:29,910 --> 00:35:31,290 Sa se yon kesyon trè bon. 643 00:35:31,290 --> 00:35:36,410 Se konsa, gade nan se sa ki aktyèlman gen HTML ou yo. 644 00:35:36,410 --> 00:35:39,240 Se konsa, li sa ki itilizatè yo yo ale nan wè. 645 00:35:39,240 --> 00:35:46,690 Yon fwa ankò, isit la, sa a se yon egzanp sou yon vi. 646 00:35:46,690 --> 00:35:52,040 Li te gen kòd HTML ak Ruby Kòd nan menm tan an. 647 00:35:52,040 --> 00:35:56,010 Se konsa, kòd la Ruby ki gen la yo mete bagay sa yo soti nan baz done a, pou egzanp, 648 00:35:56,010 --> 00:35:59,150 ki te chaje nan kontwolè la. 649 00:35:59,150 --> 00:36:04,240 Se konsa, ki varyab @ liv, pou egzanp, te gen tout nan liv yo ak tab la 650 00:36:04,240 --> 00:36:05,340 liv nan baz done a. 651 00:36:05,340 --> 00:36:08,680 Nou te fè asire w ke li te gen nan kontwolè la. 652 00:36:08,680 --> 00:36:10,250 >> Apre sa, gade nan - 653 00:36:10,250 --> 00:36:15,900 chak nan paj sa yo nan sit entènèt ou a se pral gen yon sèl ki asosye vi. 654 00:36:15,900 --> 00:36:21,762 Se konsa, si ou ale nan paj la lakay ou, nan trè premye paj, harvard2017.com. 655 00:36:21,762 --> 00:36:23,490 Ki montre yon paj. 656 00:36:23,490 --> 00:36:26,760 Lè sa a, ou ale nan koupe pwofil yo. 657 00:36:26,760 --> 00:36:30,150 Sa k ap pase pou yo ale nan yon kontwolè sa a, se yon kontwolè pwofil yo. 658 00:36:30,150 --> 00:36:34,620 Apre sa, pwofil kontwolè a ki pral l 'ban nou gade nan pwofil yo. 659 00:36:34,620 --> 00:36:37,590 Apre sa, gade nan pwofil ki pral gade yon ti jan tankou sa a, men li la ale nan 660 00:36:37,590 --> 00:36:41,910 gen enfòmasyon sou itilizatè a, epi yo pa sou liv yo. 661 00:36:41,910 --> 00:36:46,840 >> Se konsa, li kòd HTML ak CSS, ak moun ki bagay sa yo ke yon itilizatè wè 662 00:36:46,840 --> 00:36:49,680 ak kòd la Ruby - 663 00:36:49,680 --> 00:36:52,505 ki aktyèlman simagri bagay soti nan baz done a. 664 00:36:52,505 --> 00:36:54,520 Eske se sa ke pi klè? 665 00:36:54,520 --> 00:36:55,080 Mwen espere ke. 666 00:36:55,080 --> 00:36:58,066 >> ODYANS: se kòd la HTML itilize aktyèlman fè sou sit wèb la ki nan 667 00:36:58,066 --> 00:37:02,470 itilizatè wè, men kòd la Ruby se sa ki fè travay la sou sit wèb? 668 00:37:02,470 --> 00:37:06,500 >> GABRIEL GUIMARAES: Kòd la Ruby vin konvèti nan HTML. 669 00:37:06,500 --> 00:37:09,420 Se konsa, sa itilizatè a vin se sèlman HTML, OK? 670 00:37:09,420 --> 00:37:10,900 Se sèlman HTML. 671 00:37:10,900 --> 00:37:18,740 Book.title sa a ki pral konvèti an valè a nan book.title nan HTML, OK. 672 00:37:18,740 --> 00:37:23,080 Se konsa, sa a se tout moun ki nan sèvè a, e konsa sa a depann de sa ki liv ki genyen 673 00:37:23,080 --> 00:37:24,410 nan sèvè a kounye a. 674 00:37:24,410 --> 00:37:32,930 Men, sa ki sèvè a ta imedyatman sans se sèlman Kòd HTML, OK. 675 00:37:32,930 --> 00:37:36,720 >> Men, gade nan jis bay Layout a nan sa HTML nan te ale nan gade tankou 676 00:37:36,720 --> 00:37:39,530 ak sa ki varyab yo yo pral yo dwe. 677 00:37:39,530 --> 00:37:42,170 Sa a jan de yon soti ekri ak lèt ​​detache, OK. 678 00:37:42,170 --> 00:37:44,360 Moun sa yo ki bagay sa yo gen fondamantalman ekri ak lèt ​​detache retraits. 679 00:37:44,360 --> 00:37:47,430 Yo ap ale nan ekri ak lèt ​​detache varyab, OK. 680 00:37:47,430 --> 00:37:49,850 Se konsa, sa se sèlman HTML, sa yo ki - 681 00:37:49,850 --> 00:37:51,390 otè, tit, deskripsyon. 682 00:37:51,390 --> 00:37:53,540 Sa a kontni estatik. 683 00:37:53,540 --> 00:37:54,520 Ki pa nan ale nan chanje. 684 00:37:54,520 --> 00:37:56,700 Se jis plenn Kòd HTML. 685 00:37:56,700 --> 00:37:59,080 Sa yo se retraits yo ekri ak lèt ​​detache pou varyab - 686 00:37:59,080 --> 00:38:00,330 bagay ki depann. 687 00:38:00,330 --> 00:38:02,350 688 00:38:02,350 --> 00:38:03,600 Cool, plis kesyon? 689 00:38:03,600 --> 00:38:12,120 690 00:38:12,120 --> 00:38:12,600 Sa ki bon? 691 00:38:12,600 --> 00:38:13,080 Wi. 692 00:38:13,080 --> 00:38:15,720 >> ODYANS: Mwen panse ke ou te fè tout koreksyon an nan yon tèks diferan 693 00:38:15,720 --> 00:38:16,920 koreksyon pwogram lan. 694 00:38:16,920 --> 00:38:19,520 Eske nou ta dwe tou download sa? 695 00:38:19,520 --> 00:38:24,250 >> GABRIEL GUIMARAES: Yeah, mwen renmen sa a editè tèks yo rele TextMate. 696 00:38:24,250 --> 00:38:24,990 Epitou, se vrèman bon. 697 00:38:24,990 --> 00:38:26,980 Li nan byen adapte Ruby. 698 00:38:26,980 --> 00:38:29,270 Li koulè bagay sa yo trè nètman. 699 00:38:29,270 --> 00:38:34,770 Se konsa, TextMate, T-E-X-T. Mwen pral yo mete sa a, kenbe sou - 700 00:38:34,770 --> 00:38:42,880 701 00:38:42,880 --> 00:38:45,720 >> Mwen vle di ou ka itilize jdi oswa nenpòt bagay ou vle. 702 00:38:45,720 --> 00:38:49,970 Men, sa a se espesifik pou Mac, ak sa a se reyèlman pwòp paske li mete tout moun nan 703 00:38:49,970 --> 00:38:51,000 dosye ou anba isit la. 704 00:38:51,000 --> 00:38:53,620 Ak nan Ruby sou ray, ou bezwen ta chanje dosye yon anpil. 705 00:38:53,620 --> 00:38:55,890 Se konsa, li anpil, anpil dosye jis ale soti nan yon dosye li an, Ale nan 706 00:38:55,890 --> 00:38:57,120 yon dosye oswa lòt la. 707 00:38:57,120 --> 00:39:02,000 Se konsa, TextMate se yon trè bon, men gen anpil yo deyò. 708 00:39:02,000 --> 00:39:03,250 Plis kesyon? 709 00:39:03,250 --> 00:39:08,680 710 00:39:08,680 --> 00:39:09,870 OK, repons lan se wi? 711 00:39:09,870 --> 00:39:12,825 >> ODYANS: Èske gen yon devlopman mobil nan Ruby sou ray? 712 00:39:12,825 --> 00:39:15,640 713 00:39:15,640 --> 00:39:17,050 >> GABRIEL GUIMARAES: Mwen te tande pale de bagay sa yo. 714 00:39:17,050 --> 00:39:19,550 Mwen pa te itilize yo. 715 00:39:19,550 --> 00:39:21,570 Ou te kapab fè rechèch sou plis sou sa. 716 00:39:21,570 --> 00:39:24,740 Mwen pa si si gen nan nenpòt ki bon bagay yo deyò. 717 00:39:24,740 --> 00:39:29,980 718 00:39:29,980 --> 00:39:31,030 OK, repons lan se wi? 719 00:39:31,030 --> 00:39:32,280 >> ODYANS: [fèbl] 720 00:39:32,280 --> 00:39:38,340 721 00:39:38,340 --> 00:39:40,550 >> GABRIEL GUIMARAES: Pa ray, pwobableman Ruby etalaj. 722 00:39:40,550 --> 00:39:44,270 723 00:39:44,270 --> 00:39:49,080 Louvri moute yon fenèt tèminal ak kalite, "Ruby". 724 00:39:49,080 --> 00:39:52,030 Yeah, pwobableman, ak Lè sa a, ou jis gen enstale ray. 725 00:39:52,030 --> 00:39:57,050 Men, si w ap ale nan enstale nouvo a Ray 4.0, ki mwen trè rekòmande pou, 726 00:39:57,050 --> 00:40:02,870 ou ta dwe download Ruby 2.0. 727 00:40:02,870 --> 00:40:04,530 Sa a yon sèl nan nouvo tou. 728 00:40:04,530 --> 00:40:09,530 Apre sa, ray yo nouvo 4.0 gen yon bagay vrèman fre ki 729 00:40:09,530 --> 00:40:11,260 li fè sa nan byen yo. 730 00:40:11,260 --> 00:40:12,810 Li kenbe byen yo. 731 00:40:12,810 --> 00:40:18,860 Aktif oswa Byen ankò yo se imaj, dosye CSS, ak JavaScript dosye. 732 00:40:18,860 --> 00:40:24,060 Se konsa, yon sèl bagay reyèlman pwòp ki Ruby sou Ray pou ou se tout moun ki CSS 733 00:40:24,060 --> 00:40:26,980 dosye ke ou gen ak tout bagay - 734 00:40:26,980 --> 00:40:32,420 li jis offres tout bagay moute nan yon sèl gwo ranpli, ki pa gen okenn espas oswa nenpòt bagay, 735 00:40:32,420 --> 00:40:40,120 pou misyon pou minimize tan an itilizatè a bezwen download ke Kòd ki soti nan sèvè ou. 736 00:40:40,120 --> 00:40:47,780 >> Se konsa, lè ou wè nan òdinatè w lan, li la pral gen tankou 15 dosye CSS. 737 00:40:47,780 --> 00:40:49,520 Oswa anpil, anpil dosye CSS diferan. 738 00:40:49,520 --> 00:40:54,890 Men, nan fen jounen an, sa ki ray otomatikman pou ou se li mete 739 00:40:54,890 --> 00:41:00,760 tout bagay ansanm nan yon sèl gwo dosye konsa ke li kapab redwi tan an mande sa. 740 00:41:00,760 --> 00:41:02,630 Sa a vrèman fre. 741 00:41:02,630 --> 00:41:02,940 Wi? 742 00:41:02,940 --> 00:41:04,190 >> ODYANS: [fèbl] 743 00:41:04,190 --> 00:41:13,910 744 00:41:13,910 --> 00:41:14,440 >> GABRIEL GUIMARAES: Egzakteman. 745 00:41:14,440 --> 00:41:16,230 Se konsa, Google Maps entegrasyon. 746 00:41:16,230 --> 00:41:20,200 Sa se yon API JavaScript nan Google. 747 00:41:20,200 --> 00:41:23,750 Se konsa, mwen jis te ale nan sit entènèt la Google. 748 00:41:23,750 --> 00:41:29,950 Yo gen sa a API Google Maps ak mwen telechaje kòd la ak entegre li 749 00:41:29,950 --> 00:41:31,610 nan vi mwen. 750 00:41:31,610 --> 00:41:35,490 Se konsa, sa mwen te bezwen fè gen se mwen te bezwen yo ka resevwa nan 751 00:41:35,490 --> 00:41:37,310 kote ki soti nan baz done a. 752 00:41:37,310 --> 00:41:38,990 Sa te fè yo nan kontwolè la. 753 00:41:38,990 --> 00:41:40,950 Se konsa, mwen te ale nan kontwolè a - 754 00:41:40,950 --> 00:41:42,350 kote nan kontwolè la. 755 00:41:42,350 --> 00:41:44,330 Kontwolè a te sanble ak sa a. 756 00:41:44,330 --> 00:41:48,660 Te resevwa tout nan lokal yo nan la elèv yo, mete nan tout sa nan yon gwo 757 00:41:48,660 --> 00:41:52,060 varyab, yon gwo lis, ki te gen tout kote yo. 758 00:41:52,060 --> 00:41:55,340 >> Apre sa, nan gade la, paske JavaScript a API se yon bagay ki nan la 759 00:41:55,340 --> 00:41:55,800 wè, dwa? 760 00:41:55,800 --> 00:42:00,440 Paske JavaScript kouri nan HTML ou Kòd, li ale nan dwe voye l bay 761 00:42:00,440 --> 00:42:01,710 machin itilizatè a la. 762 00:42:01,710 --> 00:42:09,310 Apre sa, nan gade la, mwen chaje nan tout sa enfòmasyon nan API la Google. 763 00:42:09,310 --> 00:42:12,080 Apre sa, li te fè nan tout sa pou m ', ki se vrèman fre. 764 00:42:12,080 --> 00:42:16,240 Men, si ou vle sèvi ak bagay sa yo nan la back-fen, epi li tankou yon bibliyotèk, pou 765 00:42:16,240 --> 00:42:18,720 egzanp, ankò - 766 00:42:18,720 --> 00:42:20,140 entegrasyon an ak Facebook. 767 00:42:20,140 --> 00:42:24,060 Sa se yon bagay ke anpil, anpil, anpil apps yo lè l sèvi avèk sèjousi. 768 00:42:24,060 --> 00:42:27,300 >> Se konsa, gen entegrasyon ou a ak Facebook paske li se tèlman pi fasil nan jis 769 00:42:27,300 --> 00:42:30,450 ouvri sesyon an li ak Facebook pase yo kreye yon kont e bla, bla, bla. 770 00:42:30,450 --> 00:42:35,120 Lè sa a, ou jis sèvi ak yon GEM-lan ak li a kòm senp tankou ale nan dosye GEM-ou. 771 00:42:35,120 --> 00:42:39,350 Dosye GEM-a se yon dosye rele dosye GEM-nan sous anyè a nan Ruby ou sou 772 00:42:39,350 --> 00:42:40,370 Ray pwojè. 773 00:42:40,370 --> 00:42:43,700 Jis ale la epi ajoute nouvo GEM-. 774 00:42:43,700 --> 00:42:45,300 Apre sa, ou gade l 'sou Google. 775 00:42:45,300 --> 00:42:46,520 Gen anpil, anpil, Meservey anpil moun. 776 00:42:46,520 --> 00:42:51,070 Genyen youn ki espesyalman fè sa a pou Facebook entegrasyon. 777 00:42:51,070 --> 00:42:54,660 Mwen pa si sa ki non an nan li. 778 00:42:54,660 --> 00:42:56,680 Jis Google li epi w ap ale nan jwenn li ankò. 779 00:42:56,680 --> 00:42:57,930 OK, plis kesyon? 780 00:42:57,930 --> 00:43:01,110 781 00:43:01,110 --> 00:43:03,280 Awesome, di ou mèsi pou vini yo. 782 00:43:03,280 --> 00:43:09,227