1 00:00:00,000 --> 00:00:02,500 [Powered by Google Translate] [Seminar] [Web Development: Mula sa ideya sa Pagpapatupad] 2 00:00:02,500 --> 00:00:04,200 [Ben Kuhn] [Billy Janitsch] [Harvard University] 3 00:00:04,200 --> 00:00:07,250 [Ito ay CS50] [CS50.TV] 4 00:00:07,250 --> 00:00:10,840 [Billy] Hi, Ako Billy at ito ay Ben. >> [Ben] Hi. 5 00:00:10,840 --> 00:00:12,840 Kami ay pagpunta sa ay pakikipag-usap tungkol sa web development ngayon. 6 00:00:12,840 --> 00:00:14,840 [Webdev] [Billy Janitsch at Ben Kuhn] 7 00:00:14,840 --> 00:00:16,840 Kaunting unang tungkol sa amin. 8 00:00:16,840 --> 00:00:19,590 Ben ay isang uri ng back-end tao. Ginagawa niya ang mga bagay na gumagana. 9 00:00:19,590 --> 00:00:21,870 At pagkatapos ay pumunta ako sa at gumawa ng mga ito kaakit-akit. 10 00:00:21,870 --> 00:00:26,610 Ako ay higit sa lahat kasangkot na may higit na front-end design layout uri ng mga bagay-bagay, 11 00:00:26,610 --> 00:00:31,260 at Ben, sa kabilang banda, alam ng kung ano ang ginagawa niya kaya gumagana siya sa back-end bagay-bagay. 12 00:00:31,260 --> 00:00:34,050 Sama-sama gumawa kami ng ilang mga bagay. 13 00:00:34,050 --> 00:00:38,710 Halimbawa, huling taon namin nagtrabaho sa Gimblium saan ay isang online na laro pag-unlad studio. 14 00:00:38,710 --> 00:00:40,400 Iyon ay ang aming huling proyekto para sa klase, 15 00:00:40,400 --> 00:00:42,780 at mula noon gumawa kami ng Harvard Class 16 00:00:42,780 --> 00:00:47,860 na kung saan ay isang online na framework para sa pag-browse at shopping kurso sa Harvard. 17 00:00:47,860 --> 00:00:53,180 >> Kami ay pagpunta sa magsimula sa mga ideyang ito para sa aming website. 18 00:00:53,180 --> 00:00:57,480 Kami ay pagpunta sa gawin sa Facebook, ngunit para sa pusa. 19 00:00:57,480 --> 00:00:59,520 Bago mo talaga gumawa ng website na ito, 20 00:00:59,520 --> 00:01:02,520 huwag gumawa ng website na ito dahil hindi ito mahusay; ngunit gagamitin namin ito bilang isang framework 21 00:01:02,520 --> 00:01:05,349 at pumunta sa pamamagitan ng proseso ng kung paano namin tumagal sa ideya na ito 22 00:01:05,349 --> 00:01:07,450 at i-on ito sa isang tunay na website na maaari naming gamitin. 23 00:01:07,450 --> 00:01:11,940 Sisimulan naming sa pamamagitan ng breaking ang website pababa. 24 00:01:11,940 --> 00:01:13,190 Tulad ng na-paggawa sa CS50, 25 00:01:13,190 --> 00:01:17,360 gusto mong mag-isip tungkol sa kung ano ang aktwal na mga bahagi na pumunta sa website na ito. 26 00:01:17,360 --> 00:01:21,290 Isa lamang na buksan ito mula sa isang ideya na kung saan ay isa lamang uri ng isang abstract na konsepto 27 00:01:21,290 --> 00:01:23,590 sa isang real, nasasalat bagay na maaari kang magsagawa. 28 00:01:23,590 --> 00:01:25,910 Simulan namin sa pamamagitan ng pagtatanong ilang mga katanungan. 29 00:01:25,910 --> 00:01:28,070 Ano ang website na ito? Bakit ginagawa namin dito? 30 00:01:28,070 --> 00:01:30,670 Ano naman upang gamitin para sa? Iyon uri ng bagay. 31 00:01:30,670 --> 00:01:33,660 Sa kaso ng Facebook Cat, 32 00:01:33,660 --> 00:01:37,730 nais naming isa lamang sa isang website na nagbibigay-daan sa pusa social network sa bawat isa. 33 00:01:37,730 --> 00:01:41,260 Ang ideya pagiging na maaari silang mag-post sa pader ng bawat isa, 34 00:01:41,260 --> 00:01:43,510 Maaari silang gumawa ng mga komento, na uri ng bagay. 35 00:01:43,510 --> 00:01:46,720 At na kung saan namin dumating sa ang mga nagagamit na mga bahagi. 36 00:01:46,720 --> 00:01:51,270 Ay mayroon na ngayong namin ang ganitong uri ng balangkas ng - mayroon kami ng mga profile ng gumagamit, 37 00:01:51,270 --> 00:01:53,990 May mga komento namin, at maaari naming i-post. 38 00:01:53,990 --> 00:01:57,390 Marahil sa ibang araw magpapadala kami umaagos gusto at na uri ng bagay. 39 00:01:57,390 --> 00:02:00,410 At uri ng namin nais na unahin ang pagpunta in mga tampok na ito 40 00:02:00,410 --> 00:02:03,340 Gusto naming sabihin tulad, okay na, ito ay talagang mahalaga na lahat ay mayroong isang profile 41 00:02:03,340 --> 00:02:06,440 at lahat ng tao na maaaring mag-post sa pader ng bawat isa. 42 00:02:06,440 --> 00:02:08,509 Pangalawang iyon, ang mga komento ay magiging maganda. 43 00:02:08,509 --> 00:02:10,180 Siguro sa ibang pagkakataon sa muli naming sanga ng ilog mga gusto. 44 00:02:10,180 --> 00:02:13,700 Kaya, gusto mong magkaroon ng isang ideya ng kung ano ang saligan sa iyong proyekto 45 00:02:13,700 --> 00:02:17,260 at kung ano ang uri ng isang mas pangkalahatang mga tampok na maaaring mailapat sa ibang pagkakataon. 46 00:02:17,260 --> 00:02:20,870 Gusto mong uri ng mga may partikular na listahan sa isip, 47 00:02:20,870 --> 00:02:24,090 ngunit ang mga proyekto na nagsimula ka sa ay hindi pagpunta sa maging ang proyekto na matapos ka sa. 48 00:02:24,090 --> 00:02:27,100 Sa ibang salita, mga bagay ay pumunta sa upang baguhin habang naka-develop ng site, 49 00:02:27,100 --> 00:02:30,090 at gusto mong umalis sa kuwarto para doon. 50 00:02:30,090 --> 00:02:34,470 Kukunin ko ito pakaisipin sa Ben kung sino ang pagpunta sa makipag-usap ng kaunti tungkol sa istraktura. 51 00:02:34,470 --> 00:02:39,610 >> [Ben] pupuntahan ko ay pakikipag-usap tungkol sa mga teknikal na bahagi ng web development. 52 00:02:39,610 --> 00:02:42,370 Hayaan pumunta lamang sa paglipas ng ilang mga pangunahing kaalaman sa unang. 53 00:02:42,370 --> 00:02:45,730 Kapag gumawa ka ng isang web app, 54 00:02:45,730 --> 00:02:50,470 ang pangunahing dibisyon na kayo ay pagpunta sa may upang magkaroon ay 55 00:02:50,470 --> 00:02:52,700 ka pagpunta sa may ilang mga bagay-bagay pagpunta sa sa gilid na kliyente - 56 00:02:52,700 --> 00:02:56,700 iyon ay, ang code na ikaw ay browser tumatagal mula sa site 57 00:02:56,700 --> 00:03:01,910 at ang JavaScript, HTML, CSS bagay-bagay. 58 00:03:01,910 --> 00:03:04,490 Iyon lang ang nasa gilid ng client. 59 00:03:04,490 --> 00:03:08,680 Ikaw ay pagpunta sa may iba pang code na nagpapatakbo sa gilid ng server 60 00:03:08,680 --> 00:03:10,770 na sinusubaybayan ng lahat ng mga data na magpadala sa mga tao sa iyo, 61 00:03:10,770 --> 00:03:15,060 nagpapasya kung sino upang bigyan ano, mga bagay-bagay tulad na. 62 00:03:15,060 --> 00:03:20,380 Ito ay ilan lang terminolohiya upang ang mo guys ay pamilyar sa kung ano ang pinag-uusapan natin ang tungkol sa lahat. 63 00:03:20,380 --> 00:03:28,600 Higit pa sa na division ito ay handa na upang isipin ang iyong web app sa mga tuntunin ng 64 00:03:28,600 --> 00:03:32,500 isang pares ng mga natatanging mga bahagi. 65 00:03:32,500 --> 00:03:35,270 Kapag ikaw ay gumagawa ng web development 66 00:03:35,270 --> 00:03:41,710 isa sa mga bagay na dapat mong laging sinusubukang gawin ay upang bawasan ang pagiging kumplikado. 67 00:03:41,710 --> 00:03:45,710 Ang mas kumplikado ang iyong code ay ang higit pang mga pagkakataon doon ay upang gumawa ng mga bug, 68 00:03:45,710 --> 00:03:47,710 ang mas mahirap ito ay upang baguhin sa ibang pagkakataon. 69 00:03:47,710 --> 00:03:50,140 Kaya, kung maaari mong magbuwag ang iyong app sa ilang mga natatanging mga functional na mga lugar 70 00:03:50,140 --> 00:03:57,640 na habilin - at maaari mong bawasan ang uri ng mga halaga ng cross-area komunikasyon - 71 00:03:57,640 --> 00:04:03,530 na makakatulong sa iyo ng maraming sa katagalan sa mga tuntunin ng pagbabawas ng mga bug. 72 00:04:03,530 --> 00:04:07,950 >> Upang maging kongkreto, karaniwang tao hatiin up ng isang web app sa - 73 00:04:07,950 --> 00:04:13,190 ang mga ito ay ngayon uri ng mga salita ng buzz, ngunit ang mga ito ay pa rin kapaki-pakinabang. 74 00:04:13,190 --> 00:04:17,940 Maaaring narinig mo na nagsasalita ang mga tao tungkol sa mga modelo, mga tanawin, at controllers. 75 00:04:17,940 --> 00:04:23,210 Mga modelo ay ang aktwal na data na iyong app ay pagpunta upang harapin ang. 76 00:04:23,210 --> 00:04:28,260 Halimbawa, sa iyong Cat Facebook, ang iyong mga modelo ay magiging - 77 00:04:28,260 --> 00:04:35,340 gusto mo magkaroon ng isang modelo para sa tulad ng mga post, at isang modelo para sa mga profile ng gumagamit, mga bagay-bagay tulad na. 78 00:04:35,340 --> 00:04:41,090 Ang iyong mga view ay kung paano ipakita sa iyo ang data na iyon sa iyong mga gumagamit. 79 00:04:41,090 --> 00:04:46,660 Maaaring mayroon kang 1 view para sa pagtingin sa isang solong post at ang lahat ng mga komento 80 00:04:46,660 --> 00:04:51,720 at ng ibang view para sa iyong pader na may isang listahan ng lahat ng mga post 81 00:04:51,720 --> 00:04:57,170 na-direct sa iyo, at ng ibang view para sa iyong balita feed - bagay tulad na. 82 00:04:57,170 --> 00:05:00,610 Panghuli, mayroon ka ng mga controllers na kung saan ay isa lamang kapag nagpadala ka ng mga tao mga post 83 00:05:00,610 --> 00:05:03,310 at gumawa ka ng mga update sa iyong back-end system, 84 00:05:03,310 --> 00:05:06,400 mong dagdagan ng grupo ng mga counter, at kahit ano. 85 00:05:06,400 --> 00:05:07,860 Iyon ang iyong controllers. 86 00:05:07,860 --> 00:05:11,030 >> Pupunta ako sa pakikipag-usap ay kadalasang tungkol sa mga modelo. 87 00:05:11,030 --> 00:05:14,030 Views ay technically hindi na mahirap at ang isyu ay higit pa gamit ang pagdidisenyo ng mga ito 88 00:05:14,030 --> 00:05:22,040 Controllers ay pagpunta sa maging tiyak sa kung anong ka pagdidisenyo. 89 00:05:22,040 --> 00:05:25,220 Ngunit mayroong ilang mga kaakit-akit pangkalahatang diskarte na maaari mong gamitin 90 00:05:25,220 --> 00:05:30,220 upang gumawa ng iyong mga modelo nicer at mas madali upang gumana sa na sa tingin ko ay masyadong kapaki-pakinabang. 91 00:05:30,220 --> 00:05:35,860 Ito ay halos pagpunta sa maging tungkol sa kung paano haharapin ang iyong data ng mga web application sa isang magaling na paraan. 92 00:05:35,860 --> 00:05:40,420 Ang pangunahing isyu sa mga modelo 93 00:05:40,420 --> 00:05:44,540 ay na nakatira sila sa client at server at mayroon kang upang malaman kung 94 00:05:44,540 --> 00:05:51,170 a) kung paano makakuha ng mga ito - ang lahat ng may-katuturang mga bago - mula sa server sa client, 95 00:05:51,170 --> 00:05:53,440 at b) kung paano panatilihing ang mga ito sa pag-sync. 96 00:05:53,440 --> 00:05:58,700 Ang iyong mga gumagamit ay pagpunta sa nais na gumawa ng ilang mga pag-update. 97 00:05:58,700 --> 00:06:00,470 Ang mga ito ay pagpunta sa nais na magkaroon ng mga bagong post. 98 00:06:00,470 --> 00:06:04,800 Ang mga ito ay pagpunta sa nais upang gustuhin ang mga bagay at mga bagay-bagay kung mayroon kang mga gusto. 99 00:06:04,800 --> 00:06:11,490 Iyon ang mga pangunahing teknikal na hamon sa pagharap sa mga modelo. 100 00:06:11,490 --> 00:06:15,680 Ang unang bagay na kayo ay pagpunta sa nais upang tanungin ang inyong sarili ay 101 00:06:15,680 --> 00:06:18,420 kung anong uri ng data na napupunta sa modelong ito at sa kung anong uri ng mga query kami makapupunta sa nais na gawin - 102 00:06:18,420 --> 00:06:24,290 iyon ay, kung paano kami makapupunta sa tumingin sa mga modelo? 103 00:06:24,290 --> 00:06:26,940 Para sa iyong Cat halimbawa ng Facebook, 104 00:06:26,940 --> 00:06:31,520 ang iyong post ay pagpunta sa magkaroon ng isang may-akda na nauugnay dito, 105 00:06:31,520 --> 00:06:35,660 ilang post na pader teksto, at isang tumatanggap ng mga post na pader. 106 00:06:35,660 --> 00:06:38,470 At pagkatapos ay maaari mong i-query na sa isang bungkos ng mga iba't-ibang paraan. 107 00:06:38,470 --> 00:06:42,220 Gusto mo gusto upang tumingin sa ito sa pamamagitan ng na sinulat ni aling post, 108 00:06:42,220 --> 00:06:46,620 sa pamamagitan ng kung sino ang natanggap na mag-post, siguro ayon sa petsa kung sila ay nai-post. 109 00:06:46,620 --> 00:06:50,340 Ngunit kung ikaw ay pagpunta sa gawin ito sa pamamagitan ng petsa, pagkatapos ay mayroon kang magdagdag ng ibang field sa iyong post 110 00:06:50,340 --> 00:06:52,490 ng kapag aktwal na ito ay nai-post. 111 00:06:52,490 --> 00:07:00,220 Ang mga salik 2 - ano data na nais mong gamitin at kung paano mo gustong upang tingnan ito - 112 00:07:00,220 --> 00:07:04,200 dapat mong isipin ang tungkol sa kanila muna dahil nakadepende sila sa isa't-isa, 113 00:07:04,200 --> 00:07:08,030 at ito ay pagpunta sa maging mas mahirap upang idagdag ang mga ito sa paglaon. 114 00:07:08,030 --> 00:07:12,750 >> May ilang iba pang mga pagsasaalang-alang. 115 00:07:12,750 --> 00:07:17,540 Kapag nag-iisip ka ng tungkol sa kung paano ka makitungo sa mga modelo sa server 116 00:07:17,540 --> 00:07:20,540 kung ano ang nais mo upang tumingin sa ay - 117 00:07:20,540 --> 00:07:27,440 gusto talaga upang gawing ang server na simple hangga't maaari. 118 00:07:29,440 --> 00:07:35,500 Ang paggawa ng stuff sa gilid client ay karaniwang mas mabilis kung maaari mo itong gawin nang wagas sa client 119 00:07:35,500 --> 00:07:38,230 nang hindi ginagawa ng anumang uri ng kahilingan sa network. 120 00:07:38,230 --> 00:07:47,860 Ang ideya ay upang gawin ng maraming ng mga query na magagawa mo sa client. 121 00:07:47,860 --> 00:07:51,560 Ang tanging problema sa na 122 00:07:51,560 --> 00:07:54,160 ay kung humiling ka ng lahat ng iyong data sa simula 123 00:07:54,160 --> 00:07:57,160 pagkatapos na pupuntahan tumagal ng isang mahabang oras upang i-load. 124 00:07:57,160 --> 00:08:02,290 Kaya, ang ideya ay upang strike ng masaya daluyan sa pagitan ng pagkakaroon ng sapat na data sa client 125 00:08:02,290 --> 00:08:07,640 na maaari mong gawin ang karamihan ng iyong trabaho doon ngunit hindi lamang sa pagkuha ng lahat ng bagay nang sabay-sabay 126 00:08:07,640 --> 00:08:09,710 nang sa gayon ay makakuha mo ba talagang mababagal na oras ng pag-load sa simula. 127 00:08:09,710 --> 00:08:12,610 Halimbawa, para sa iyong data pusa 128 00:08:12,610 --> 00:08:20,340 gusto mo marahil upang makuha ang isang bungkos ng mga kamakailang post pader. 129 00:08:20,340 --> 00:08:23,790 Hindi mo gugustuhing kunin ang lahat ng mga ito dahil maaaring na bumalik pagkatapos ng dalawang taon. 130 00:08:23,790 --> 00:08:25,470 Ngunit hindi mo nais na kunin ang mga ito nang paisa-isa 131 00:08:25,470 --> 00:08:28,740 dahil na ipakilala ng maraming overhead network. 132 00:08:28,740 --> 00:08:33,620 >> Madalas ay hindi biro - sa sandaling mayroon kang isang running database - 133 00:08:33,620 --> 00:08:37,210 ito ay madalas na masyadong mahirap upang baguhin kung ano ang data na mayroon ka sa ito - 134 00:08:37,210 --> 00:08:40,510 iyon ay, magdagdag ng isang bagong database ng hanay o isang bagay - 135 00:08:40,510 --> 00:08:43,510 kaya isa magandang diskarte ay ang tunay na panatilihin lamang ng maraming ng iyong data sa isang text patak - 136 00:08:43,510 --> 00:08:53,880 isang JSON patak - JSON pagiging JavaScript Bagay pagtatanda - 137 00:08:53,880 --> 00:08:58,330 Ang dahilan na kapaki-pakinabang ay dahil pagkatapos ay maaari mong magdagdag ng bagong mga katangian ng 138 00:08:58,330 --> 00:09:01,920 sa lahat ng mga JSON blobs nang hindi binabago ang iyong database. 139 00:09:01,920 --> 00:09:06,860 Ang tanging downside sa na ay na kung mayroon kang isang bungkos ng mga patlang 140 00:09:06,860 --> 00:09:09,890 na iyong idinagdag sa ibang pagkakataon sa - tulad nakatago sa JSON na patak - 141 00:09:09,890 --> 00:09:12,850 pagkatapos ito ay mas mahirap para sa mga tanong sa kanila sa loob ng database. 142 00:09:12,850 --> 00:09:17,690 Halimbawa, kung ikaw mamaya - kung nagkaproblema ka sa iyong modelo post na namin tinalakay nang mas maaga 143 00:09:17,690 --> 00:09:25,380 lang sa mga may-akda, ang tatanggap at ang teksto - 144 00:09:25,380 --> 00:09:29,000 maaari ka ring magkaroon ng isang JSON patak at pagkatapos ay kung gusto mo sa ibang pagkakataon upang magdagdag ng isang patlang ng petsa 145 00:09:29,000 --> 00:09:31,000 hindi mo na kailangang baguhin ang iyong database. 146 00:09:31,000 --> 00:09:36,140 Maaari mo lamang idagdag ang mga petsa sa lahat ng mga patlang ng teksto. 147 00:09:36,140 --> 00:09:39,640 At pagkatapos ay nais mo magagawang tumingin sa mga nasa gilid client, 148 00:09:39,640 --> 00:09:42,430 ngunit hindi mo magagawang i-query ang mga ito sa gilid ng server 149 00:09:42,430 --> 00:09:44,430 dahil ito ay nakatago sa loob ng teksto na. 150 00:09:44,430 --> 00:09:49,920 >> Ang iba pang mga isyu na gusto mong isipin ang tungkol 151 00:09:49,920 --> 00:09:52,400 ay kung paano ang iyong mga client at ang iyong server ay pumunta sa upang makipag-ugnayan. 152 00:09:52,400 --> 00:09:56,040 Karaniwang gusto mong panatilihin ito simple hangga't maaari. 153 00:09:56,040 --> 00:10:02,230 Maaari mo lang ay tulad ng isang get-me-ang hiling na ito ng data, 154 00:10:02,230 --> 00:10:09,140 isang lumikha-a-bagong-bagay na bagay, at ng isang kahilingan sa pag-update-isang-lumang-bagay. 155 00:10:09,140 --> 00:10:12,930 At ang mga magiging lahat ng iba't ibang mga URL sa isang server na sa iyo - 156 00:10:12,930 --> 00:10:20,030 na ang mga browser ay - maaari mong gamitin ang AJAX mga kahilingan para sa lahat ng mga 157 00:10:20,030 --> 00:10:24,000 at alinman makatanggap o data post. 158 00:10:24,000 --> 00:10:26,600 Muli, para sa aming mga Cat halimbawa ng Facebook, 159 00:10:26,600 --> 00:10:32,350 maaari kang magkaroon ng URL na iyon upang makakuha ng isang indibidwal na post, 160 00:10:32,350 --> 00:10:39,750 at gusto mong magkaroon ng URL para sa paglikha ng isang bagong post pader 161 00:10:39,750 --> 00:10:45,670 at marahil isang URL para sa pag-upload ng iyong larawan sa profile, mga bagay-bagay tulad na. 162 00:10:45,670 --> 00:10:51,730 Ngunit muli, na i-pre-fetch ang karamihan sa iyong mga data sa gayon ay hindi mo na kailangang panatilihin 163 00:10:51,730 --> 00:10:53,360 paggawa ng mga kahilingan sa network. 164 00:10:53,360 --> 00:10:59,030 Para sa kadahilanang iyon, hindi mo maaaring nais na magkaroon na ang mga indibidwal kahilingan get para sa isang solong-post, 165 00:10:59,030 --> 00:11:03,210 at sa halip ay gusto mo lamang ng 1 kahilingan get para sa buong pader. 166 00:11:03,210 --> 00:11:06,110 At pagkatapos ay kung sinusubukan mong i-strike ng balanse dahil - 167 00:11:06,110 --> 00:11:10,970 ito ay pagpunta din sa nakasalalay sa iyong application. 168 00:11:10,970 --> 00:11:13,430 Dahil kung ikaw ay umaasa na ang mga tao ay may 10 o 20 wall post lamang 169 00:11:13,430 --> 00:11:15,430 na magiging masarap. 170 00:11:15,430 --> 00:11:17,390 Ngunit kung inaasahan mo ang mga ito ay may libu-libong pagkatapos na kahilingan ay tumagal ng masyadong mahaba, 171 00:11:17,390 --> 00:11:23,580 at kaya maaaring gusto mong magdagdag ng isang makakuha ng-lahat-ng-post-mula ng parameter. 172 00:11:23,580 --> 00:11:26,580 >> Para sa lahat ng mga marahil ka ng pagpunta sa gusto upang i-sync ang iyong data sa JSON - 173 00:11:26,580 --> 00:11:29,260 JavaScript Bagay pagtatanda. 174 00:11:29,260 --> 00:11:34,600 Pretty magkano ang bawat wika deal sa JSON nang mahusay. 175 00:11:34,600 --> 00:11:40,880 JQuery ay may ito maganda getJSON function na ay gawin ang lahat ng mga matapang na trabaho para sa iyo. 176 00:11:40,880 --> 00:11:47,390 At sa PHP mayroong napakabuti function JSON komunikasyon din. 177 00:11:47,390 --> 00:11:52,660 Kaya, na marahil ang pinakamahusay na format para sa pagpapadala ng iyong mga modelo at pabalik. 178 00:11:52,660 --> 00:11:56,570 >> Bilang isang halimbawa ng kung ano ang nai-usapan natin ang tungkol sa ngayon, 179 00:11:56,570 --> 00:12:00,520 narito ang isang halimbawa ng daloy para sa iyong Cat application Facebook. 180 00:12:00,520 --> 00:12:07,760 Nagsisimula off ito sa iyong browser humihiling ang URL base website. 181 00:12:07,760 --> 00:12:15,470 Ang server ay marahil nais magpadala ng higit sa static HTML at ilang JavaScript at CSS. 182 00:12:15,470 --> 00:12:19,170 Ito ay karaniwang pinakamahusay na hindi na gawin ang anumang pag-render sa server. 183 00:12:19,170 --> 00:12:23,370 Ikaw marahil ay hindi nais na - 184 00:12:23,370 --> 00:12:28,360 kung ano ang server ay hindi paggawa doon ay pagpunta down ang listahan ng mga pader mga post 185 00:12:28,360 --> 00:12:31,120 at pagbuo ng ilang mga HTML para sa bawat isa at pagpapadala na sa paglipas. 186 00:12:31,120 --> 00:12:34,960 Ito ay karaniwang pinakamahusay na upang gawin iyon sa gilid ng client dahil kung hindi man 187 00:12:34,960 --> 00:12:38,580 tuwing gusto mong upang muling iguhit ang isang bagay, kailangan mong gumawa ng kahilingan sa server. 188 00:12:38,580 --> 00:12:42,450 At na masyadong mabilis ay nagbibigay sa iyo ng maraming overhead. 189 00:12:42,450 --> 00:12:47,430 Ito ay karaniwang pinakamahusay na lamang upang nagpapadala ng barko down na static HTML 190 00:12:47,430 --> 00:12:50,660 at pagkatapos ng JavaScript at CSS na ang gagawin ng pag-render sa gilid ng client. 191 00:12:50,660 --> 00:12:56,750 Sa sandali na ang bagay-bagay na nagmumula sa, 192 00:12:56,750 --> 00:13:03,500 pagkatapos ay maaari kang magkaroon - sa JavaScript - maaari mong gawin ng mga kahilingan para sa data ng pader 193 00:13:03,500 --> 00:13:08,740 at bagay-bagay tulad na, at pagkatapos na ang server ay isa lamang lamang paggawa query ng database 194 00:13:08,740 --> 00:13:10,740 at pagsuri ng mga pahintulot. 195 00:13:10,740 --> 00:13:16,690 Ang tanging mahalagang bagay ay na hindi ito maaaring magpadala sa paglipas ng ilang mga iba pang mga gumagamit post pader 196 00:13:16,690 --> 00:13:19,220 na hindi ka pinapayagang makita. 197 00:13:19,220 --> 00:13:28,050 Maaari isa lamang itong maging isang napaka-manipis na layer ng access sa iyong mga database, 198 00:13:28,050 --> 00:13:32,820 at pagkatapos ang lahat ng mga nagpapakita ng data - lahat ng mga tanawin at mga bagay-bagay - 199 00:13:32,820 --> 00:13:37,280 mga Maaari itong mangyari sa iyong browser, at pagkatapos ay kapag nais mong gumawa ng isang post o isang bagay 200 00:13:37,280 --> 00:13:40,000 kang magpadala lamang ng isa pang kahilingan. 201 00:13:40,000 --> 00:13:45,350 >> Mayroon ding ilang mga magarbong bagay-bagay na maaari mong gawin sa ibabaw ng mga ito. 202 00:13:45,350 --> 00:13:49,550 Sa mga tuntunin ng mas tiyak na impormasyon teknikal, 203 00:13:49,550 --> 00:13:53,360 pagbubuo sa simpleng JavaScript ay maaaring maging isang maliit na bit masakit, 204 00:13:53,360 --> 00:13:56,220 kaya mayroong ilang mga aklatan at mga tool na makakatulong sa marami kang kasama na. 205 00:13:56,220 --> 00:14:03,690 Sa tingin ko na ang lahat Maaaring narinig mo tungkol sa jQuery na ginagawang paggawa sa pag-render ng HTML 206 00:14:03,690 --> 00:14:08,890 at pagmamanipula ng maraming mas madali - magkaroon ng maraming mga magarbong mga pag-andar para sa pagkupas in at out, 207 00:14:08,890 --> 00:14:12,020 at ang paggawa mabilis animation. 208 00:14:12,020 --> 00:14:13,720 Mayroon ding ang library na tinatawag na Underscore.js. 209 00:14:13,720 --> 00:14:20,760 Ito ay may napakaraming mga kapaki-pakinabang na utility na mga pagpapaandar, mga bagay-bagay na nais mong asahan ang JavaScript upang magkaroon 210 00:14:20,760 --> 00:14:24,740 na ito talagang doesn't - mga bagay tulad ng shuffling isang array, 211 00:14:24,740 --> 00:14:28,900 pag-aalis ng mga nauulit mula sa isang listahan, o pagyupi ng isang listahan ng mga listahan. 212 00:14:28,900 --> 00:14:30,900 Ito ay isang maliit na code halimbawa lang. 213 00:14:30,900 --> 00:14:36,520 Guhitan sa ilalim ay may isang tonelada ng mga magaling na mga function na nais mong magkakaroon ka ng lahat ng oras. 214 00:14:36,520 --> 00:14:38,840 >> At pagkatapos ay mayroong 1 pang library na nais kong gumastos ng kaunting oras sa 215 00:14:38,840 --> 00:14:44,800 tinatawag Backbone.js dahil gulugod talaga nakakatulong harapin mo na may mga modelo sa gilid ng client 216 00:14:44,800 --> 00:14:47,210 at maraming ang pagkalito na maaari itong magsanhi. 217 00:14:47,210 --> 00:14:53,550 Gulugod ay nagbibigay sa iyo ang konsepto ng mga modelo at mga koleksyon 218 00:14:53,550 --> 00:14:58,300 sa JavaScript na kung saan ay isa lamang nang eksakto tulad ng mga bagay ng JavaScript 219 00:14:58,300 --> 00:15:04,900 sa array JavaScript ngunit mayroon sila ng mga kaganapan kapag binago mo ang kanilang mga pag-aari. 220 00:15:04,900 --> 00:15:09,090 Tulad ng sa JavaScript, maaari kang magkaroon ng isang kaganapan kapag ang isang pindutan ay makakakuha ng nag-click o isang bagay 221 00:15:09,090 --> 00:15:14,800 mga gulugod ng mga modelo at mga koleksyon gulugod ay i-broadcast ang mga bagay tulad ng 222 00:15:14,800 --> 00:15:17,510 na kapag magbago ang mga ito. 223 00:15:17,510 --> 00:15:22,270 Iyon ay nangangahulugan na maaari mong magsulat lamang ng isang bagay tulad ang snippet ng code dito - 224 00:15:22,270 --> 00:15:27,530 ito sabi, sa tuwing idagdag mo ang anuman sa mga post array mo redraw ang buong pader. 225 00:15:27,530 --> 00:15:34,270 At ito sasabihin sa tuwing bilang ng mga gusto ng isang post ng mga pagbabago, 226 00:15:34,270 --> 00:15:38,970 mong ipaalam ang manggagamit na ang gumusto isang tao ang kanilang mga post. 227 00:15:38,970 --> 00:15:45,210 O kaya sa tuwing ang anumang ari-arian ng isang post magbabago ka redraw ang post na ito. 228 00:15:45,210 --> 00:15:51,050 Bagay-bagay tulad na ay magse-save ka tonelada ng pagiging kumplikado dahil kung hindi man 229 00:15:51,050 --> 00:15:55,440 kung wala kang ilang mga balangkas na tulad nito pagkatapos ay sa bawat oras na ang iyong code na palitan mo 230 00:15:55,440 --> 00:16:04,280 anumang bagay tungkol sa isang post, gusto mo kailangang tandaan ang iyong sarili upang tawagan ang lahat ng mga render function 231 00:16:04,280 --> 00:16:07,680 at bagay-bagay tulad na, at kung nais mong magdagdag ng bagong bagay na nangyari 232 00:16:07,680 --> 00:16:10,680 sa bawat oras na-modify na isang post ang kailangan mong i pumunta sa pamamagitan ng bawat lugar sa iyong 233 00:16:10,680 --> 00:16:14,610 code na nabago mo na ang isang post at magdagdag ng na bagong bagay. 234 00:16:14,610 --> 00:16:21,450 Ang isang framework tulad nito ay mag-aalis ng maraming na sa pagitan ng-layer na komunikasyon 235 00:16:21,450 --> 00:16:28,280 na ginagawang ang iyong code na masalimuot at mahirap upang mapanatili. 236 00:16:28,280 --> 00:16:31,170 >> Mayroong isang maliit na bit tungkol sa tanawin din. 237 00:16:31,170 --> 00:16:35,960 Pupunta ako sa iwanan ang karamihan sa mga ito sa Billy dahil hindi nila technically hindi masyadong mahirap. 238 00:16:35,960 --> 00:16:43,540 Gamitin ang jQuery para sa iyong mga tanawin. Ito ay halos tulad ng isang pangangailangan sa puntong ito. 239 00:16:43,540 --> 00:16:46,290 Lamang ay ginagawang lahat ng bagay kaya mas madali. 240 00:16:46,290 --> 00:16:48,290 Maraming ng mga aklatan. 241 00:16:48,290 --> 00:16:49,970 Kung na-kumplikado elemento user-interface, 242 00:16:49,970 --> 00:16:57,250 kung nais mo ang isang auto-complete bagay o gusto ang isa sa mga magarbong multi-tagapili - 243 00:16:57,250 --> 00:17:04,790 kung gusto mo ng anumang bagay tulad na, dapat mong marahil lamang maghanap sa paligid 244 00:17:04,790 --> 00:17:08,130 at maaari mong malaman ng isang magandang library na ang gagawin kung ano ang gusto mo. 245 00:17:08,130 --> 00:17:11,579 Billy ay magpapaliwanag nang higit pa tungkol sa mga aktwal na mahirap mga bahagi ng mga view. 246 00:17:11,579 --> 00:17:17,530 Gayundin, bilang isang bahagi tala, gulugod ay may ilang mga pag-andar para sa paggawa ng mga tanawin makipag-usap 247 00:17:17,530 --> 00:17:22,800 mabuti na may mga modelo - tingnan ang dokumentasyon para sa lahat ng mga aklatan, talaga. 248 00:17:22,800 --> 00:17:28,270 Hanapin lamang sa mga doc. Ang mga ito ay mahusay na nakasulat at madaling sundan. 249 00:17:28,270 --> 00:17:33,890 Sa pangkalahatan, maaari mong medyo magkano lamang sa Google kung mayroon kang mga problema. 250 00:17:33,890 --> 00:17:36,370 May ng maraming mga tao gamit ang mga ito. 251 00:17:36,370 --> 00:17:42,020 Sa tingin ko ito bilang isang panghuling tala. 252 00:17:42,020 --> 00:17:48,770 >> Mayroong ilang mga mas advance na mga bagay na maaari mong gawin din 253 00:17:48,770 --> 00:17:53,400 kung naghahanap ka upang gumawa ng dagdag na kahanga-hangang iyong web app. 254 00:17:53,400 --> 00:17:59,760 Maaari mong gawin - ang bagong pagtutukoy HTML5 ay may napakaraming mga magarbong mga bagay na maaari mong gawin. 255 00:17:59,760 --> 00:18:05,780 Lokal na imbakan - na kung saan ay maaari kang mag-imbak ng data sa browser - 256 00:18:05,780 --> 00:18:09,470 sa halip ng pagkakaroon upang bumalik at bumasang mabuti ang server para sa lahat ng bagay, 257 00:18:09,470 --> 00:18:12,470 maaari mong panatilihin ang ilan sa mga ito sa client at na nagbibigay-daan sa kahit na ang mga tao - 258 00:18:12,470 --> 00:18:20,850 sa ilang mga kaso ay maaaring kahit na ito daan sa iyo upang gamitin ang webpage offline. 259 00:18:20,850 --> 00:18:26,980 Mayroong bagay na ito na tinatawag na websockets na ng iba't ibang uri ng komunikasyon ng network 260 00:18:26,980 --> 00:18:30,930 kung saan sa halip na lamang gumawa ka ng isang kahilingan, kang makakuha ng tugon at tapos ka na, 261 00:18:30,930 --> 00:18:35,240 panatilihin mong buksan ang isang koneksyon sa server at sa gayon maaari mong gumawa ng mga bagay tulad ng 262 00:18:35,240 --> 00:18:37,240 real-time na mga update. 263 00:18:37,240 --> 00:18:42,020 Kaya, kung sinusubukan mong gumawa ng isang chat app, maaari mong gamitin websockets 264 00:18:42,020 --> 00:18:43,790 upang makipag-lipat sa gayon ay hindi mo ay magkakaroon upang panatilihin ang humihiling, 265 00:18:43,790 --> 00:18:48,410 "Oh, server, ay sinuman padalhan ako ng isang chat?" bawat 10 segundo o isang bagay. 266 00:18:48,410 --> 00:18:55,620 Mayroon ding isang kawili-wiling tampok ng HTML5 kung saan maaari mong gawin itong hitsura 267 00:18:55,620 --> 00:18:58,340 ang URL ng pahina ay nagbabago nang hindi na kinakailangang talagang i-reload ito. 268 00:18:58,340 --> 00:19:03,230 Maaari mong gamitin pabalik at ipasa ang mga pindutan nang hindi ginagawa ng grupo ng mga kahilingan sa network. 269 00:19:03,230 --> 00:19:14,660 Bagay-bagay tulad na ay talagang kapaki-pakinabang sa mga tuntunin ng ginagawa itong mabilis ngunit din gumana tulad ng isang web app na dapat. 270 00:19:14,660 --> 00:19:17,680 >> Mayroon ding bagay na ito na tinatawag na CoffeeScript. 271 00:19:17,680 --> 00:19:24,450 CoffeeScript ay isang ibang wika, talaga, na compiles pababa sa JavaScript. 272 00:19:24,450 --> 00:19:30,080 Gusto mong isulat ang lahat ng iyong code sa CoffeeScript, at pagkatapos mong patakbuhin ang tagatala, 273 00:19:30,080 --> 00:19:33,300 at ito spits out ng isang JavaScript na file na maaari mong isama sa iyong webpage. 274 00:19:33,300 --> 00:19:38,860 Ang dahilan na CoffeeScript maganda ay dahil ito ay makakakuha ng mapupuksa ang isang pulutong ng mga 275 00:19:38,860 --> 00:19:44,760 kakaiba mga kaso na ang JavaScript ay kung saan ay katumbas ng katumbas, 276 00:19:44,760 --> 00:19:51,130 at katumbas Kapantay gawin iba't ibang mga bagay, o gusto - 277 00:19:51,130 --> 00:19:55,740 mayroon itong nicer syntax para sa pagharap sa array at pag-andar. 278 00:19:55,740 --> 00:20:00,460 Ito ay isang maliit na snippet ng CoffeeScript na gumagawa ng isang listahan ng lahat ng mga parisukat 279 00:20:00,460 --> 00:20:04,900 mula sa 10 ^ 2-1 ^ 2 sa reverse order. 280 00:20:04,900 --> 00:20:08,410 Tulad ng iyong nakikita, ay madalas na nagbibigay-daan sa CoffeeScript ipahayag mo sa 1 linya 281 00:20:08,410 --> 00:20:10,890 ano ang magiging tumagal 5 linya ng JavaScript. 282 00:20:10,890 --> 00:20:13,230 Maaari itong gumawa ng mga bagay ng maraming mas madali. 283 00:20:13,230 --> 00:20:15,390 Ito ay isang maliit na bit ng bagong syntax upang matuto sa una, 284 00:20:15,390 --> 00:20:18,010 ngunit ito ay talagang gumawa ka ng mas produktibo sa katagalan. 285 00:20:18,010 --> 00:20:22,050 >> Maaari ka ring gumamit ng iba pang mga wika sa server kaysa sa PHP - 286 00:20:22,050 --> 00:20:27,570 mga wika tulad ng Ruby, Python, o mayroong kahit isang proyekto na tinatawag na node.js 287 00:20:27,570 --> 00:20:31,450 na hahayaan ginamit mo ang JavaScript sa server. 288 00:20:31,450 --> 00:20:34,700 Personal, talaga ko, talaga mapoot PHP. 289 00:20:34,700 --> 00:20:38,310 Ko lang huwag tangkilikin nagtatrabaho sa mga ito. 290 00:20:38,310 --> 00:20:43,450 Kung ikaw, masyadong, sa tingin na ito ay isang kahindik-hindik na cluge ng isang wika, 291 00:20:43,450 --> 00:20:46,160 pagkatapos ay maaari mong gamitin ang isa sa mga halip. 292 00:20:46,160 --> 00:20:54,780 Sa pangkalahatan, kung nais mong gawin ang isang bagay at hindi mo talaga alam kung paano mo gawin ito, 293 00:20:54,780 --> 00:20:56,780 maghanap lamang sa Internet. 294 00:20:56,780 --> 00:20:59,990 Mayroong tonelada at tonelada ng mga mapagkukunan lalo na sa - 295 00:20:59,990 --> 00:21:03,260 StackOverflow ay isang mahusay na isa. 296 00:21:03,260 --> 00:21:06,400 Ito ay ang website na ito kung saan hinihiling programmer bawat iba pang mga tanong. 297 00:21:06,400 --> 00:21:09,690 Baka gusto mong tumakbo sa ito kung ikaw ay nagkakaproblema sa mga hanay ng problema CS50. 298 00:21:09,690 --> 00:21:16,820 At may mga tonelada ng mga aklatan para sa paggawa halos kahit ano gusto mo. 299 00:21:16,820 --> 00:21:21,710 Kung gusto mong gawin ang isang bagay at hindi mo alam kung paano ito gawin, 300 00:21:21,710 --> 00:21:23,710 huwag ipagpalagay na ito ay imposible. 301 00:21:23,710 --> 00:21:26,160 Hanapin lamang sa paligid at maaari mong mahanap ang ilang mga mahusay na mapagkukunan. 302 00:21:26,160 --> 00:21:29,280 >> Bilang isang pangkalahatang-wrap up, 303 00:21:29,280 --> 00:21:33,650 ang pangunahing takeaways ay panatilihing simple ang mga bagay. 304 00:21:33,650 --> 00:21:36,010 Ang mas kumplikado ang iyong code ay sa simula 305 00:21:36,010 --> 00:21:40,370 at ang higit pa subukan mo at gawin magarbong bagay-bagay, 306 00:21:40,370 --> 00:21:43,300 ang mas matagal upang makakuha ng isang bagay na talagang functional 307 00:21:43,300 --> 00:21:46,480 at ang mas mahirap ito ay upang baguhin sa ibang pagkakataon. 308 00:21:46,480 --> 00:21:49,580 Kaya, gawin ang unang bagay ang pipi, madaling paraan. 309 00:21:49,580 --> 00:21:51,720 Upang pumunta kasama na iyon, 310 00:21:51,720 --> 00:21:59,070 huwag matakot ng itsa lumang code o paglilinis up ito ng maraming. 311 00:21:59,070 --> 00:22:05,320 Sa pangkalahatan, sa sandaling aktwal mong magkaroon ng isang bagay sa pagtatrabaho, 312 00:22:05,320 --> 00:22:09,640 ito ay lubhang mas madaling isipin ang tungkol sa kapag handa ka pa rin sa simula yugto 313 00:22:09,640 --> 00:22:12,610 ng kung paano ko ilalagay ang lahat ng sama-sama. 314 00:22:12,610 --> 00:22:17,500 Pinakamainam na gawin ang dumbest posibleng disenyo na gumagana 315 00:22:17,500 --> 00:22:22,270 at pagkatapos ay mapagbubuti iteratively kaysa sinusubukang upang makakuha ng lahat ng bagay kanan sa unang pagkakataon. 316 00:22:22,270 --> 00:22:28,330 Sa mga tuntunin ng client-server division, subukan at panatilihin ang napaka-simpleng iyong server - 317 00:22:28,330 --> 00:22:33,030 lamang ng isang database at ang ilan sa pagpapatotoo at huwag gawin ang anumang matapang na trabaho doon. 318 00:22:33,030 --> 00:22:37,540 Gawin ang lahat ng iyong mga komplikadong bagay-bagay sa gilid ng client sa browser 319 00:22:37,540 --> 00:22:40,650 sa JavaScript hanggang kaya mo. 320 00:22:40,650 --> 00:22:43,420 Tumingin sa paligid para sa mga library na mas mahusay ang iyong buhay gumawa. 321 00:22:43,420 --> 00:22:46,850 Laging mas mahusay na gamitin ang code na sinulat ni ibang tao 322 00:22:46,850 --> 00:22:49,850 kung ikaw ito - at hindi upang isulat ito sa iyong sarili. 323 00:22:49,850 --> 00:22:57,560 Marami ng mga bagay-bagay sa Internet. Google ay ang iyong matalik na kaibigan. 324 00:22:57,560 --> 00:22:59,560 Ang Google ay matalik na kaibigan ang programmer ni. 325 00:22:59,560 --> 00:23:07,620 Oo, talagang hindi matakot na tumingin sa paligid para sa mga bagay-bagay. 326 00:23:07,620 --> 00:23:11,860 Ayos lang. At sa ibabaw sa Billy. 327 00:23:11,860 --> 00:23:14,600 >> [Billy] talaga, bago ako magsimula sa ilang mga bagay-bagay na disenyo, 328 00:23:14,600 --> 00:23:17,250 ang sinuman may anumang mga katanungan para sa Ben tungkol sa anumang bagay na siya usapan tungkol sa? 329 00:23:17,250 --> 00:23:20,290 Okay, mabuti. 330 00:23:20,290 --> 00:23:22,220 Muli, ipaalam sa amin kung anuman ang hindi malinaw 331 00:23:22,220 --> 00:23:25,420 o kung gusto mo sa amin upang pumunta sa paglipas ng isang bagay ng kaunti pa. 332 00:23:25,420 --> 00:23:30,330 Pupunta ako sa hakbang likod ng kaunti at makipag-usap tungkol sa higit pang mga pangunahing mga bahagi ng disenyo. 333 00:23:30,330 --> 00:23:34,840 Binanggit ang modelo na tinatawag na Ben - paumanhin, ang sistema ng controller ng view ng modelo 334 00:23:34,840 --> 00:23:38,520 na kung saan ay isang uri ng mga teknikal na aspeto, kaya ako pagpunta sa tumingin sa mga tanawin partikular, 335 00:23:38,520 --> 00:23:42,930 at pupuntahan ko na magsimula sa kung paano mo nais magdisenyo ng isang view na mukhang maganda. 336 00:23:42,930 --> 00:23:50,540 Narito ang uri ng isang talagang pangunahing template para sa aming Cat Facebook. 337 00:23:50,540 --> 00:23:54,190 Sa tingin ko mayroong ilang mga batayan sa modernong disenyo ng UI 338 00:23:54,190 --> 00:23:56,190 na nagkakahalaga ng tumatawag. 339 00:23:56,190 --> 00:23:58,210 Maaari mong mapansin mayroong isang pulutong ng mga puting espasyo sa buong pahina, 340 00:23:58,210 --> 00:24:00,790 maraming kuwarto para sa mga bagay. 341 00:24:00,790 --> 00:24:02,580 Huwag pakiramdam tulad ng kailangan mong squash mga bagay sa isang pahina. 342 00:24:02,580 --> 00:24:06,700 Gusto mong mag-iwan ng maraming mga kuwarto bukas, at kung pumunta ka sa halos anumang mga modernong website 343 00:24:06,700 --> 00:24:08,380 makikita mo ang mayroong puting lahat ng dako. 344 00:24:08,380 --> 00:24:10,380 May puti sa lugar na hindi mo aasahan. 345 00:24:10,380 --> 00:24:14,570 Mayroon kang ito paleta ng kulay, at ito ay matalino sa simula 346 00:24:14,570 --> 00:24:17,880 upang pumili ng isang kulay palette na kayo ay pagpunta upang gumana sa at bumuo. 347 00:24:17,880 --> 00:24:22,250 Mo ring - makakatulong ito sa upang pumili ng isang typeface, at na paraan na iyong uri ng pakikipagtulungan sa mga 348 00:24:22,250 --> 00:24:24,450 mga kongkreto batayan ng disenyo. 349 00:24:24,450 --> 00:24:26,910 Mayroon kang ang iyong uri, mayroon kang ang iyong mga kulay, at pagkatapos ay maaari mong uri ng 350 00:24:26,910 --> 00:24:29,380 magkasya lahat ng iba pa sa bilang kinakailangan. 351 00:24:29,380 --> 00:24:37,710 Kaya, tulad ng sinabi ko, may scheme ng iyong kulay na gusto mong gamitin ang mas agresibong mga kulay ng scheme ng iyong kulay 352 00:24:37,710 --> 00:24:40,320 paisa-isa. Ang mga header ay magaling. Pindutan ay mabait sa mayroon talagang malaki, marangya kulay. 353 00:24:40,320 --> 00:24:43,710 Ngunit sa pangkalahatan, kung mayroon kang isang website na may lahat ng dako kulay, 354 00:24:43,710 --> 00:24:47,250 lahat nakapako ka sa mukha, tinitingnan nito lamang cluttered, at ito ay hindi mahusay. 355 00:24:47,250 --> 00:24:50,430 Na nais mong gamitin sa pangkalahatan liwanag na kulay. 356 00:24:50,430 --> 00:24:52,890 Subukang, muli, pumili ng isang kaakit-akit na magkaugnay na scheme ng kulay. 357 00:24:52,890 --> 00:24:56,640 Maaari kang magkaroon ng mga maliliit na splashes ng maraming mga kulay - 358 00:24:56,640 --> 00:25:00,240 na maaaring magmukhang medyo maganda, ngunit gusto mong gamitin ang mga ito kaakit-akit ng paisa-isa. 359 00:25:00,240 --> 00:25:04,270 >> Tulad ng sinabi ko, gusto mong maging minimal. Mas ay halos palaging higit pa. 360 00:25:04,270 --> 00:25:07,430 Kung maaari mong ipakita ang isang bagay o hindi ipakita ang isang bagay, 361 00:25:07,430 --> 00:25:10,230 at ikaw ay uri ng sigurado kung dapat itong maging doon sa pamamagitan ng default - 362 00:25:10,230 --> 00:25:13,400 marahil ikaw ay pinakamahusay na off Aalis ito. Maaari mong palaging idagdag ito sa ibang pagkakataon. 363 00:25:13,400 --> 00:25:16,620 Oo, panatilihing simple ang mga bagay. 364 00:25:16,620 --> 00:25:19,510 Ngunit pinaka-mahalaga, gusto mong isaalang-alang ang maramihang mga disenyo. 365 00:25:19,510 --> 00:25:23,520 Huwag isiping kapag gumawa ka ng isang site, mayroon ka nito sa iyong ulo na kayo ay pagpunta sa 366 00:25:23,520 --> 00:25:26,310 gawin ang site sa isang tiyak na paraan, at ito ay pagpunta upang tumingin nang eksakto tulad nito. 367 00:25:26,310 --> 00:25:29,830 Ito ay pagpunta sa may asul na header sa tuktok at ang mga asul na bahagi ng bar 368 00:25:29,830 --> 00:25:32,670 at pagkatapos ay ang dilaw na bagay sub-header. 369 00:25:32,670 --> 00:25:34,670 Gusto mong gumawa ng maramihang mga template. 370 00:25:34,670 --> 00:25:37,350 Ikaw ay maaaring alinman sa - kung ikaw ay may mahusay na Shop ng Larawan, maaari mong buksan up na at uri ng 371 00:25:37,350 --> 00:25:39,600 disenyo ng isang website na nais mo ito upang tumingin. 372 00:25:39,600 --> 00:25:41,680 Kung hindi, maaari mo lamang gamitin ang pen at papel, 373 00:25:41,680 --> 00:25:44,000 ngunit sa simula up ng maramihang mga disenyo. 374 00:25:44,000 --> 00:25:47,000 Gusto mong isa lamang magkaroon ng isang set up kung saan mayroon kang maraming iba't ibang mga disenyo, 375 00:25:47,000 --> 00:25:50,810 at kung ang isa ay nagtatapos up sa pagtatrabaho, pagkatapos ay mabuti iyan. 376 00:25:50,810 --> 00:25:53,370 Kung ang isa ay nagtatapos up nabibigo, pagkatapos ay palagi kang mayroong isa pang isa sa bumaling. 377 00:25:53,370 --> 00:25:57,960 Sa pangkalahatan, huwag parang dapat kang nilimitahan 378 00:25:57,960 --> 00:26:00,830 sa kahit anong disenyo una mong magpasya sa. 379 00:26:00,830 --> 00:26:04,420 Mga Disenyo ay napaka-variable, at bahagi ng kahalagahan ng modelo 380 00:26:04,420 --> 00:26:09,480 controller view ng sistema ay na maaari mong magpalit in at out iba't ibang mga view na gusto mo. 381 00:26:09,480 --> 00:26:13,510 Maaari mong ugoy ang data sa isang paraan, at pagkatapos ay magpasya, oh, talaga, hindi iyon gumana na rin. 382 00:26:13,510 --> 00:26:19,190 Sa tingin ko ito uri ng masyadong kumplikado o mayroong isang bahagi dito na hindi talagang gumagana, 383 00:26:19,190 --> 00:26:22,150 kaya lang Pupunta ako sa lahat-lahat abandunahin ito view at magpalitan sa isang ganap na bagong isa. 384 00:26:22,150 --> 00:26:24,790 Maaari pa rin naming gamitin ang lumang modelo at ang lumang controllers. 385 00:26:24,790 --> 00:26:27,490 Maaari naming gawin ang lahat sa server at client gaya ng ginagawa natin dati. 386 00:26:27,490 --> 00:26:32,850 Ngunit ang aktwal na alon ng data bilang na ipinapakita ay magiging bahagyang naiiba. 387 00:26:32,850 --> 00:26:35,840 >> Bilang malayo bilang aktwal na pagpapatupad ng mga disenyo na gusto mo, 388 00:26:35,840 --> 00:26:39,330 sa sandaling mayroon kang ilang mga disenyo sketched out sa papel o sa Shop o kahit anong Photo, 389 00:26:39,330 --> 00:26:42,120 mayroong isang bilang ng mga tool na ginawang magagamit para sa iyo. 390 00:26:42,120 --> 00:26:45,700 Ang unang ikaw ay napaka-pamilyar sa kung saan ay iyong HTML, PHP, o anumang 391 00:26:45,700 --> 00:26:48,990 wika na ginagamit mo lang sa code ng static na mga pahina sa iyong website. 392 00:26:48,990 --> 00:26:51,990 Ikaw ay nagtrabaho ng maraming may HTML na uri ng nagbibigay sa iyo ng mga tag na ito 393 00:26:51,990 --> 00:26:57,820 na maaari mong ilagay ang mga bagay sa, at isa lamang ito ay isang paraan ng pag-aayos ng iyong nilalaman. 394 00:26:57,820 --> 00:27:00,990 Halimbawa, mayroon kang ang header up doon, kaya ka pagpunta sa magkaroon ng isang header tag, 395 00:27:00,990 --> 00:27:05,770 at ito ay pagpunta sa may ilang mga teksto sa loob nito na kung saan ay marahil pagpunta sa maging sa isa pang tag. 396 00:27:05,770 --> 00:27:08,380 Pagkatapos mayroon kang isang sidebar siguro na may ilang iba't ibang mga link, 397 00:27:08,380 --> 00:27:10,160 at iyon ay pagpunta sa lahat maging sa hiwalay na mga tag. 398 00:27:10,160 --> 00:27:13,870 Kaya, isa lamang ang HTML sa gitna nito ay isang paraan ng paghahati up ang pahina kung paano 399 00:27:13,870 --> 00:27:16,980 mo ring nais upang i-format ito. 400 00:27:16,980 --> 00:27:18,980 Kaya muli, nakita mo na dati. 401 00:27:18,980 --> 00:27:20,540 Ikaw ay medyo kumportable sa pakikipagtulungan sa mga ito ngayon 402 00:27:20,540 --> 00:27:23,120 given na nagawa mo na ang huling pset sana, 403 00:27:23,120 --> 00:27:26,150 kaya na dapat ay walang problema. 404 00:27:26,150 --> 00:27:31,280 >> Pagkatapos ay mayroon kang CSS na talaga humahawak ng lahat ng mga disenyo ng static na mga aspeto. 405 00:27:31,280 --> 00:27:35,320 Ito pangasiwaan ang lahat ng mga kulay, ang lahat ng mga pagpoposisyon ng iba't ibang mga elemento, 406 00:27:35,320 --> 00:27:36,840 kung saan sila pumunta na may paggalang sa isa't isa, 407 00:27:36,840 --> 00:27:41,530 gaano kalaki ang mga ito, ang iba't ibang mga uri ng positionings na mayroon kang - 408 00:27:41,530 --> 00:27:46,030 sa ibang salita, maaari mo pa bagay naayos upang kapag mag-scroll ka pababa sila manatili, 409 00:27:46,030 --> 00:27:48,700 o maaari kang magkaroon ng mga bagay na may kaugnayan sa iba pang mga elemento. 410 00:27:48,700 --> 00:27:50,730 Lahat ng na uri ng mga bagay-bagay ay nasa CSS. 411 00:27:50,730 --> 00:27:54,630 Higit pa rito, maaari mong gawin ang iba't ibang mga dekorasyon, maaari kang magkaroon ng mga kulay ng teksto, 412 00:27:54,630 --> 00:27:56,630 teksto ng epekto, ang lahat ng na uri ng mga bagay-bagay. 413 00:27:56,630 --> 00:28:00,360 Ben ay nagbigay ng talagang mahusay na pantas-aral sa ito huling katapusan ng linggo, 414 00:28:00,360 --> 00:28:04,450 at sa gayon ako ay talagang suriin na kung plano mong ma-paggawa ng ilang magarbong bagay sa CSS. 415 00:28:04,450 --> 00:28:09,850 CSS3 ay talagang ang pinakabagong bersyon ng CSS, at maaari itong gawin sa lahat ng mga uri ng talagang magandang bagay. 416 00:28:09,850 --> 00:28:14,750 Maaari itong gawin gradients; maaari kang magkaroon ng maganda, bilugan ang mga kanto; maaari mong gawin ang lahat ng mga uri ng mga bagay-bagay 417 00:28:14,750 --> 00:28:17,940 gawin mas modernong at magarbong iyong website. 418 00:28:17,940 --> 00:28:22,150 >> Ang susunod na tool ay JavaScript at jQuery na Ben usapan kaunti tungkol sa, 419 00:28:22,150 --> 00:28:24,150 ngunit maari ba akong makakuha ng isang maliit na higit na malayo sa. 420 00:28:24,150 --> 00:28:28,100 JavaScript, pati na iyong nagtrabaho sa ito ng kaunting, o hindi bababa sa nakikita ito sa panayam, 421 00:28:28,100 --> 00:28:31,870 ay uri ng isang paraan ng paggawa dynamic na bagay sa HTML. 422 00:28:31,870 --> 00:28:35,950 HTML, bilang alam mo, ay static, kaya sa sandaling ikaw ay may HTML na hindi mo mababago ito. 423 00:28:35,950 --> 00:28:40,050 Ngunit ang JavaScript, sa ilang mga paraan, ay isang paraan upang magagawang baguhin HTML. 424 00:28:40,050 --> 00:28:44,520 Kaya maaari mong gawin iyon, at iyon ang mahusay, ngunit JavaScript ay tunay na isang sakit upang gumana sa. 425 00:28:44,520 --> 00:28:49,050 Ito ay kaya mahaba at mapurol ang ulo at gawin kahit na ang pinakasimpleng bagay 426 00:28:49,050 --> 00:28:51,630 Nangangailangan ng maraming mga linya ng JavaScript. 427 00:28:51,630 --> 00:28:55,410 Kaya, jQuery ay isa lamang sa isang library para sa JavaScript na pinapasimple ang lahat ng iyon. 428 00:28:55,410 --> 00:28:59,880 Sinasabi nito, okay, kung gusto mong magkaroon ng isang parisukat na kahon dumating mula sa kaliwa 429 00:28:59,880 --> 00:29:03,980 at fade sa pahinang ito kaya't ito ay sa gitna, sa JavaScript na maaaring tumagal - 430 00:29:03,980 --> 00:29:06,340 Hindi ko alam, isang daang mga linya upang gawin, at magiging isang sakit, 431 00:29:06,340 --> 00:29:10,540 at dumating ka na ng mga ito hating lahat ng bagay tungkol sa web programming. 432 00:29:10,540 --> 00:29:15,380 JQuery talaga mayroon kang elemento-tuldok-fade-in ang, o isang bagay tulad na. 433 00:29:15,380 --> 00:29:18,580 Kaya, napaka, napaka-simpleng mga pag-andar na hahayaan gawin mo ang lahat ng uri ng mga cool na mga animation 434 00:29:18,580 --> 00:29:20,580 at na uri ng bagay. 435 00:29:20,580 --> 00:29:23,300 Ang iba pang mga bagay na ang mga 2 ay talagang mabuti para sa ay lamang ang paggawa ng dynamic na bagay 436 00:29:23,300 --> 00:29:25,300 sa website. 437 00:29:25,300 --> 00:29:28,370 Kaya, sa halip ng pagkakaroon lamang ang iyong mga HTML na pahina - na nagpapakita ng ilang data ngunit hindi talaga 438 00:29:28,370 --> 00:29:32,130 gumawa ng kahit ano - JavaScript at jQuery ay magbibigay-daan mayroon kang mga pindutan na maaari mong i-click sa, 439 00:29:32,130 --> 00:29:37,960 at maaari mong i-drag ang mga elemento at muling pag-order sa kanila at uri-uriin ang mga ito, at magkaroon ng mga bagong elemento 440 00:29:37,960 --> 00:29:40,500 Idinagdag o tinanggal. Maaari kang magdagdag-delete, na uri ng bagay. 441 00:29:40,500 --> 00:29:44,570 Kaya, jQuery ang ginagawa tonelada ng mga cool na bagay. 442 00:29:44,570 --> 00:29:48,840 At Vipul ay aktwal na nagbibigay sa isang pantas-aral sa ito ngayon, naniniwala ako, sa 5-singko ng hapon, 443 00:29:48,840 --> 00:29:51,220 kaya kung maaari kang manatili sa paligid para sa na mahaba, na gagawin - 5 o 4? 444 00:29:51,220 --> 00:29:54,930 Four. Sorry. Ito ay talagang pagkatapos ng karapatang ito, kaya Gusto ko inirerekumenda 445 00:29:54,930 --> 00:29:56,680 nananatili sa paligid para dito kung magagawa mo na. 446 00:29:56,680 --> 00:30:00,180 JQuery ay sobrang, sobrang kapaki-pakinabang, at magagawa mong gawin ng maraming mga talagang magandang bagay sa mga ito 447 00:30:00,180 --> 00:30:03,460 para sa halos anumang proyekto web development. 448 00:30:03,460 --> 00:30:06,200 >> Ngayon Pupunta ako upang makapunta sa uri ng isang pagkakaiba. 449 00:30:06,200 --> 00:30:08,210 Gumagamit ako ng pakikipag-usap talaga tungkol sa user interface. 450 00:30:08,210 --> 00:30:11,510 Interface ng User ay lamang ang disenyo ng site. 451 00:30:11,510 --> 00:30:13,780 Subalit mayroong isang uri ng isa pang konsepto na karanasan ng user. 452 00:30:13,780 --> 00:30:15,900 Ang dalawang ay ibang-iba. 453 00:30:15,900 --> 00:30:19,440 Interface ay talagang bahagi ng karanasan. 454 00:30:19,440 --> 00:30:21,340 Sa ibang salita, kapag pumunta ka sa isang site, tumingin ka sa interface. 455 00:30:21,340 --> 00:30:22,960 Iyan ay bahagi ng kung paano kang makaranas ng site. 456 00:30:22,960 --> 00:30:24,960 Ngunit ang karanasan ng gumagamit ay higit pa sa na. 457 00:30:24,960 --> 00:30:29,910 Karanasan ng User ay tungkol sa kung ano ang impression na hindi nakakaabala ang user mula sa iyong site ay. 458 00:30:29,910 --> 00:30:31,910 Kaya, malinaw naman, interface ay isang bahagi ng na. 459 00:30:31,910 --> 00:30:35,340 At ito ay talagang isang kinakailangang bahagi, ngunit hindi ito sapat. 460 00:30:35,340 --> 00:30:38,790 Sa madaling salita, kung mayroon kang isang masarap na interface, at ito ay medyo at makulay at lahat ng iyon, 461 00:30:38,790 --> 00:30:43,650 mabuti iyan; ngunit kung gumagamit ang napupunta sa iyong site, nakita ng isang kaakit-akit na layout at ito ay lito sa pamamagitan ng 462 00:30:43,650 --> 00:30:47,060 ang lahat ng bagay, ay walang mga ideya kung paano gumawa ng kahit ano, at pagkatapos ay malinaw naman naisagawa mo ang isang talaga 463 00:30:47,060 --> 00:30:48,930 mahinang website. 464 00:30:48,930 --> 00:30:50,930 Iyan ay isang uri ng kung saan nagmumula ang karanasan ng gumagamit in 465 00:30:50,930 --> 00:30:54,570 Pupunta ako makipag-usap ng kaunti tungkol sa disenyong UX - UX ay maikli para sa karanasan ng gumagamit - 466 00:30:54,570 --> 00:30:58,050 at uri ng kung paano mo maaaring tiyakin na mayroon kang isang mahusay na karanasan ng user. 467 00:30:58,050 --> 00:31:04,330 Ang unang punto ay na maaari mong disenyo ng isang website kung saan maaari gawin ang isang gumagamit ng anumang bagay na 468 00:31:04,330 --> 00:31:06,820 marahil ay nais gumagamit na iyon. 469 00:31:06,820 --> 00:31:08,940 Ngunit kung hindi maaaring maisip ng user ang kung paano gawin ang mga bagay - 470 00:31:08,940 --> 00:31:12,850 sa ibang salita, kung ang gumagamit ay hindi magkaroon ng isang magandang ideya kapag pumunta sila sa iyong site ng, 471 00:31:12,850 --> 00:31:17,660 "Oh, kung gusto kong i-update ang aking profile, pagkatapos ay i-click ko ang pindutan na ito, o kung gusto kong i-post sa 472 00:31:17,660 --> 00:31:20,850 pader ng isang tao, pagkatapos kong pumunta sa kanilang wall at mag-click sa isang maliit na kahon. " 473 00:31:20,850 --> 00:31:24,410 Kung ang gumagamit ay hindi alam na, pagkatapos ay mabisa mong magkaroon ng hindi talaga 474 00:31:24,410 --> 00:31:27,080 ipinatupad na pag-andar nang tama. 475 00:31:27,080 --> 00:31:30,900 Bahagi ng pagpapatupad ng isang pag-andar ay na ang mga gumagamit ay aktwal na makakagamit nito. 476 00:31:30,900 --> 00:31:34,810 At ito ay maaaring maging nakakabigo - maaari kang gumawa ng isang site, at maaari itong gawin ang lahat ng uri ng 477 00:31:34,810 --> 00:31:37,810 kahanga-hangang mga bagay, ngunit pagkatapos ay magkakaroon ka ng mga tao subukan ito at sabihing, "Hindi ito maaaring gawin ito. 478 00:31:37,810 --> 00:31:39,770 Bakit hindi ito maaaring gawin ito? "At makikita mo sinasabi pabalik sa kanila, 479 00:31:39,770 --> 00:31:44,420 "Well, ito maaari. Mayroon kang lamang upang pumunta sa ika-7 drop-down menu sa ito nakatago 480 00:31:44,420 --> 00:31:48,470 pahina na lamang ay natagpuan sa pamamagitan ng isang link sa ibabang kanang sulok "o isang bagay. 481 00:31:48,470 --> 00:31:50,430 Malinaw, na hindi mo nais na. 482 00:31:50,430 --> 00:31:53,420 Gusto mo ito upang maging malinaw sa iyong mga user kung ano ang kanilang dapat gawin, 483 00:31:53,420 --> 00:31:56,240 at dapat itong maging simple at madaling maunawaan para sa kanila. 484 00:31:56,240 --> 00:32:01,180 >> Isa pang bagay na nais mong subukan upang gawin ay, kapag ang isang tao ang nangyayari upang pumunta sa iyong site 485 00:32:01,180 --> 00:32:05,520 at 9 out ng 10 beses na gawin ang pagkilos na A, at 1 out ng 10 beses na gawin ang pagkilos B, 486 00:32:05,520 --> 00:32:08,950 malamang na gusto upang ituon ang kanilang karanasan sa pagkilos A. 487 00:32:08,950 --> 00:32:12,240 Sa madaling salita, nais mong gawin itong napaka, napakalinaw kung paano gawin A. 488 00:32:12,240 --> 00:32:15,980 A ay dapat na front-at-center - pumunta sa site, tingnan ito; oh, ito ay doon. 489 00:32:15,980 --> 00:32:20,850 Sapagkat B malinaw naman nais mong maging malinaw, ngunit maaari mong iwanan ito nang kaunti pa 490 00:32:20,850 --> 00:32:22,850 sa background. 491 00:32:22,850 --> 00:32:24,640 David ay nagbibigay ng isang magandang halimbawa ng mga ito sa panayam, 492 00:32:24,640 --> 00:32:26,640 kung saan ay ang Boston T system. 493 00:32:26,640 --> 00:32:29,440 Kapag pumunta ka sa Boston T at nais mong bumili ng tiket, 494 00:32:29,440 --> 00:32:32,700 mayroon kang upang makakuha ng sa 5 mga menu bago mo talagang bumili ng tiket 495 00:32:32,700 --> 00:32:37,130 para sa isang $ 2, $ 2.50 na halaga, na kung saan ay kung magkano ang kinakailangan upang sumakay ng subway 496 00:32:37,130 --> 00:32:39,130 sa isa direksyon. 497 00:32:39,130 --> 00:32:41,600 Iyan ay isang problema dahil ang karamihan ng mga tao na nakasakay sa subway 498 00:32:41,600 --> 00:32:44,880 marahil gusto lamang upang pumunta sa isang lugar, bumili ng kanilang mga tiket, sumakay kaagad. 499 00:32:44,880 --> 00:32:47,550 Hindi ito magkaroon ng kahulugan na mayroon sila upang pumunta sa pamamagitan ng maraming iba't ibang mga menu 500 00:32:47,550 --> 00:32:49,550 makapunta doon. 501 00:32:49,550 --> 00:32:51,760 Ang isang mas mahusay na karanasan ng gumagamit ay magiging isang mabilis na pindutan sa unang pahina 502 00:32:51,760 --> 00:32:54,760 na lang sinasabi, 'bumili ng isang one-way ticket,' at na ilalagay sa lahat ng mga standard 503 00:32:54,760 --> 00:32:58,550 mga default na halaga; at pagkatapos ay kapag ang isang tao ay nais na bumili ng isang iba't ibang mga tiket kaysa doon, 504 00:32:58,550 --> 00:33:01,690 pa rin sila, siyempre, mayroong pagpipilian na, ngunit ang na-optimize para sa 505 00:33:01,690 --> 00:33:04,080 ang kaso karaniwang gamitin na kung saan ay talagang mahalaga. 506 00:33:04,080 --> 00:33:06,830 Maaari mong makita ang mga halimbawa ng mga ito sa Facebook, tama? 507 00:33:06,830 --> 00:33:09,410 Kung pupunta ka sa Facebook at nais mong mag-post ng isang katayuan, 508 00:33:09,410 --> 00:33:11,710 ito ang tama sa tuktok na kung saan ay kung ano ang madalas na gusto mong gawin. 509 00:33:11,710 --> 00:33:14,730 Sa sandaling ipasok mo ang pahina, maaari mong gawin ang mga pinaka-karaniwang bagay na 510 00:33:14,730 --> 00:33:16,730 gusto mong gawin. 511 00:33:16,730 --> 00:33:17,550 Kung gusto mong gawin bahagyang mas kumplikadong mga bagay tulad ng, 512 00:33:17,550 --> 00:33:21,070 sabihin gusto kong pumunta sa pader ng aking kaibigan at mag-post ng isang larawan sa ito - 513 00:33:21,070 --> 00:33:24,810 kung saan kukunin ko na nais na gawin madalas, ngunit hindi bilang madalas hangga't nagpo-post ng mga update ng katayuan - 514 00:33:24,810 --> 00:33:28,200 kaya sa kasong iyon, i-type ko ang kanilang pangalan sa kahon sa tuktok, i-click sa kanilang profile, 515 00:33:28,200 --> 00:33:31,680 at pagkatapos, pa rin, ito ay karapatan sa tuktok doon sa sandaling nakuha ko sa kanilang profile. 516 00:33:31,680 --> 00:33:38,240 Muli, ako na-optimize sa priority para sa mga kaso pinaka-karaniwang paggamit. 517 00:33:38,240 --> 00:33:41,800 >> Ang isa pang mahalagang bagay ay na madalas ang mga tao ay isang uri ng subukan upang makakuha ng paligid na ito 518 00:33:41,800 --> 00:33:44,890 sa pamamagitan ng sinasabi, okay, kaya ginawa ko na ang mga site at mga tao ay paghahanap ng mga ito nakakalito, 519 00:33:44,890 --> 00:33:46,110 at iyon ang isang problema, tama? 520 00:33:46,110 --> 00:33:49,210 Malinaw, hindi ko nais ang mga tao na malito sa pamamagitan ng ang nilalaman ng aking site. 521 00:33:49,210 --> 00:33:53,210 Subalit ang paraan upang malutas na hindi na magkaroon ng isang bagay na pop up na nagsasabi, 522 00:33:53,210 --> 00:33:55,290 hey, ako ng pagpunta sa magturo sa iyo kung paano gamitin ang site na ito. 523 00:33:55,290 --> 00:33:58,130 Hakbang 1 - i-click ang pindutan na ito. Hakbang 2 - pumunta dito. 524 00:33:58,130 --> 00:34:03,080 Oo naman, na isang paraan sa paligid nito - ito ay isang paraan na maaari mong sabihin sa mga tao kung ano ang gagawin, subalit ito ay 525 00:34:03,080 --> 00:34:05,080 talagang hindi ang pinakamainam na paraan. 526 00:34:05,080 --> 00:34:07,420 Kung pumunta ako sa isang website at bigla akong bombarded sa tutorial na ito na nagsasabi sa akin 527 00:34:07,420 --> 00:34:11,739 kung ano ang gagawin at kung saan upang pumunta at lahat ng iyon, hindi iyon masaya para sa akin. 528 00:34:11,739 --> 00:34:13,739 Ito ay hindi isang magandang karanasan para sa akin. 529 00:34:13,739 --> 00:34:17,130 Ito ay uri ng isang sakit. Gusto kong simulan lamang ang paggawa ng bagay. 530 00:34:17,130 --> 00:34:19,449 Ang mga tao ay pagpunta upang isara out sa kanilang mga dialog box, 531 00:34:19,449 --> 00:34:23,580 o makakuha ng out ng pagtuturo, hindi alam kung ano ang gagawin, at pagkatapos ay magreklamo dahil 532 00:34:23,580 --> 00:34:25,580 hindi mo pa sinabi sa kanila kung ano ang gagawin. 533 00:34:25,580 --> 00:34:29,530 Ang paraan upang malutas ito ay hindi sa pamamagitan ng pagbibigay ng anumang uri ng tutorial o direksyon - 534 00:34:29,530 --> 00:34:31,530 anumang bagay tulad na. 535 00:34:31,530 --> 00:34:33,719 Bilang magkano bilang maaari mo itong maiwasan, mo ba talagang ipakita ng user ang kung ano ang gagawin 536 00:34:33,719 --> 00:34:36,429 lamang sa pamamagitan ng likas na katangian ng kung paano ang website ay inilatag out. 537 00:34:36,429 --> 00:34:39,090 Sa madaling salita, kung pumunta ako sa Facebook nang hindi nagla-log in, 538 00:34:39,090 --> 00:34:40,920 ang unang bagay na nakikita ko sa pangunahing pahina - 539 00:34:40,920 --> 00:34:44,480 ito ay isang maliit na pag-login box. Kaya, duh. Mayroon akong mag-log in Ito ay mula doon. 540 00:34:44,480 --> 00:34:48,030 Sapagkat, kung nagpunta ako sa Facebook at nagkaroon kong i-click ang isang maliit na link sa ibaba 541 00:34:48,030 --> 00:34:51,920 na sinabi 'mag-log in' at ang natitirang bahagi ng pahina ay ilan lamang uri ng larawan o ng isang bagay, 542 00:34:51,920 --> 00:34:54,820 Hindi ko talaga alam kung ano ang gagawin, tama? Gusto ko malito. 543 00:34:54,820 --> 00:34:58,590 Kaya, maaari nitong sabihin sa akin upang pumunta down na doon at i-click ang pindutan upang mag-log in, 544 00:34:58,590 --> 00:35:01,080 o ang log na button sa maaaring maging karapatan sa tuktok kung saan ako pupunta upang makita ito. 545 00:35:01,080 --> 00:35:04,780 Gusto mong palaging nagpapakita ng mga user kung ano ang gagawin, 546 00:35:04,780 --> 00:35:06,750 at iyon ay dapat na likas na taglay ng mismong pahina. 547 00:35:06,750 --> 00:35:09,880 >> Kapag nag-iisip ka ng tungkol sa disenyo at mapanukso up iba't ibang mga paraan ng 548 00:35:09,880 --> 00:35:13,810 pagpapahayag ng iyong site, mo ba talagang mag-isip tungkol sa kung ano ang pagpunta sa mga gumagamit upang 549 00:35:13,810 --> 00:35:19,380 ginagawa at kung paano mo maaaring ipakita ang mga ito kung ano ang gagawin. 550 00:35:19,380 --> 00:35:23,530 Isang huling bagay ay pagsubok ay talagang, talagang mahalaga. 551 00:35:23,530 --> 00:35:27,400 Ito ay mahusay na upang makakuha ng isang tao - makakuha ng isang kaibigan, kumuha ng isang taong hindi mo kilala kahit na - 552 00:35:27,400 --> 00:35:30,420 sino ang hindi kailanman nakita ang site bago gamitin ang site. 553 00:35:30,420 --> 00:35:33,650 Dahil ikaw ay nagtatrabaho sa site para sa mga oras, na ikaw ay nakapako sa ito, 554 00:35:33,650 --> 00:35:36,670 at alam sa iyo nang eksakto kung ano ang gagawin kaya malinaw naman ka pagpunta sa ay pagsubok ng 555 00:35:36,670 --> 00:35:39,520 mga bagay na iyong nai-nagtatrabaho sa at na alam mong gawa. 556 00:35:39,520 --> 00:35:42,680 Ngunit kung ang ibang tao ay kahabaan at ginagamit ang site na iyon ay hindi kailanman ginamit ito dati, 557 00:35:42,680 --> 00:35:46,880 na isang natatanging karanasan dahil mayroon kang isang tao na walang paunang kaalaman 558 00:35:46,880 --> 00:35:51,530 ng site ng pagpunta sa ito, kaya ang mga ito ay pagpunta sa may epektibong walang ideya kung ano ang gagawin 559 00:35:51,530 --> 00:35:54,890 o kung anong uri ng mga kaso ng paggamit ay naroroon para sa kanila. 560 00:35:54,890 --> 00:36:00,930 Mabuti iyan. Iyon ay natatanging dahil hindi nila lubos na ang isang tao na may isang blangko para sa isang isip. 561 00:36:00,930 --> 00:36:03,750 Maaari nilang sabihin sa iyo kung ang isang bagay ay nakalilito o hindi malinaw. 562 00:36:03,750 --> 00:36:07,580 Maaari silang mabigyan ka ng ideya ng kung ano eksakto ang karanasan ng gumagamit ng iyong site ay. 563 00:36:07,580 --> 00:36:10,630 Maaari itong maging napakahirap upang sabihin na ang iyong sarili, kaya siguradong Gusto ko hinihikayat ka 564 00:36:10,630 --> 00:36:13,640 bilang ka-develop ng iyong mga proyekto - kung gumagawa ka ng mga proyekto ng web-based - 565 00:36:13,640 --> 00:36:18,290 upang makakuha ng mga tao gamit ang mga site na mas maaga sa mayroon kang ilang mga uri ng functional demo. 566 00:36:18,290 --> 00:36:25,330 >> Ngayon ako pagpunta sa makipag-usap nang kaunti tungkol sa kung paano pamahalaan ang isang proyekto web development. 567 00:36:25,330 --> 00:36:28,900 Na nawala na kami ng mahigit sa kung paano mo maaaring gawin ang teknikal na mga back-end side, 568 00:36:28,900 --> 00:36:31,050 kung paano mo maaaring disenyo ng isang talagang mahusay na site, 569 00:36:31,050 --> 00:36:34,150 at mabuti iyan kung nagtatrabaho ka sa pamamagitan ng iyong sarili ngunit - 570 00:36:34,150 --> 00:36:37,300 kahit na nagtatrabaho ka sa pamamagitan ng iyong sarili at lalo na kung nagtatrabaho ka sa isang team, 571 00:36:37,300 --> 00:36:39,580 nagiging isang malaking isyu sa pamamahala ng proyekto. 572 00:36:39,580 --> 00:36:42,340 Uri ng iyong narinig ang tungkol sa pamamahala ng proyekto sa iba't-ibang mga form mula noong 573 00:36:42,340 --> 00:36:45,410 mababang paaralan kapag ikaw ay sinabi sa trabaho group. 574 00:36:45,410 --> 00:36:46,820 Kailangan mong makipagtulungan, makipag-usap, lahat ng iyon. 575 00:36:46,820 --> 00:36:49,620 Iyon ay nalalapat sa lahat pa rin dito, ngunit mayroong ilang mga natatanging pangyayari na may 576 00:36:49,620 --> 00:36:54,910 computer science na gusto mong magkaroon ng kamalayan ng, at nais mong tiyakin na pangasiwaan na rin. 577 00:36:54,910 --> 00:36:58,050 Kukunin ko makipag-usap muna ng kaunti tungkol sa mga koponan na kailangan mong maging in 578 00:36:58,050 --> 00:37:03,280 Ito ay napakahalaga upang pumili ng tamang laki ng isang team na nagtatrabaho sa, 579 00:37:03,280 --> 00:37:05,890 at sa inyong huling proyekto sa tingin ko mayroon kang pagpipilian upang pumili 580 00:37:05,890 --> 00:37:08,610 sa pagitan ng 1 at 4 na tao kung ako tama. 581 00:37:08,610 --> 00:37:12,050 Gusto mong matiyak na hindi ka lamang ng pagpili ng bilang ng mga tao 582 00:37:12,050 --> 00:37:14,950 na gusto mo upang gumana sa dahil sila iyong mga kaibigan. 583 00:37:14,950 --> 00:37:18,170 Gusto mong pumili ng isang koponan na ay isang mahusay na laki at na makakapagbigay tapos na ang trabaho. 584 00:37:18,170 --> 00:37:22,700 Mayroong isang kalakalan-off sa pagkakaroon ng mas maraming mga tao kumpara sa mas mababa tao. 585 00:37:22,700 --> 00:37:25,320 Kung mayroon kang higit pang mga tao, malinaw naman pang trabaho Maaaring magawa 586 00:37:25,320 --> 00:37:28,450 dahil mayroon kang maraming mga tao, napakaraming code, ng napakaraming ideya, 587 00:37:28,450 --> 00:37:29,870 at iyon ang lahat ng mga mahusay na. 588 00:37:29,870 --> 00:37:32,590 Ngunit nangangailangan din ito ng maraming higit pa pamamahala at ng maraming higit pang mga komunikasyon. 589 00:37:32,590 --> 00:37:34,720 Sa madaling salita, kung mayroon kang 4 na tao na nagtatrabaho sa parehong proyekto 590 00:37:34,720 --> 00:37:39,200 at sila ang lahat ng mga ine-edit mo ang parehong code, higit pa o mas mababa nila ang lahat ng uri ng pangangailangan na malaman 591 00:37:39,200 --> 00:37:40,920 ano ang nangyayari sa gayon nangangailangan ito ng sa iyo - 592 00:37:40,920 --> 00:37:44,580 kung magdagdag ka ng ilang mga bagong pag-andar mo uri ng kailangang sabihin sa mga tao - I'm pagdaragdag na ito, 593 00:37:44,580 --> 00:37:48,510 Ako ang pagbabago na ito sa ganitong paraan - lalo na kung ikaw ay makakuha sa talagang malalim na mga bagay-bagay 594 00:37:48,510 --> 00:37:52,730 tulad ng mga modelo at ang controllers na ay talagang pagpunta sa maka-impluwensya sa kung paano gumagana ang site. 595 00:37:52,730 --> 00:37:54,500 Ang buong koponan ay kailangang magkaroon ng kamalayan ng mga ito, 596 00:37:54,500 --> 00:37:58,140 kaya kailangan mo upang matiyak na hindi ka pumipili ng masyadong malaki isang koponan na pupuntahan mahirap 597 00:37:58,140 --> 00:37:59,970 upang gawing na komunikasyon. 598 00:37:59,970 --> 00:38:02,930 Hindi mo rin nais na pumili ng isang maliit na koponan sapat na hindi ka pagpunta sa 599 00:38:02,930 --> 00:38:06,250 magagawang makipag-komunikasyon dahil ito ay mo lamang. 600 00:38:06,250 --> 00:38:11,270 >> Isa pang bagay upang isaalang-alang ay ang balanse ng kung saan ang mga kakayahan ng mga tao ay. 601 00:38:11,270 --> 00:38:14,350 Ito ay mahusay na kung ikaw ay ang lahat talagang magandang programmer. 602 00:38:14,350 --> 00:38:17,050 Ngunit kung ikaw ay ang lahat ng back-end mga tao, pagkatapos ang iyong site ay hindi pagpunta sa hitsura napakabuti 603 00:38:17,050 --> 00:38:20,860 dahil mayroon kang mahusay na ito database, at ginagawa nito napakabilis na mga query sa paghahanap - 604 00:38:20,860 --> 00:38:26,130 na kung saan ay mahusay na - ngunit kapag kang pumunta sa ito, ito ay tulad ng isang site 1990 na may pula at bughaw 605 00:38:26,130 --> 00:38:30,370 sa lahat ng dako, at iyon ang hindi magandang alinman. 606 00:38:30,370 --> 00:38:34,210 Pansinin na Ben at nagtatrabaho ako bilang isang koponan ay napakabuti dahil ako uri ng higit pa 607 00:38:34,210 --> 00:38:38,030 sa front end, parehong namin makipag-ugnay sa gitna-end, at Ben talaga mahusay sa back-end mga bagay-bagay, 608 00:38:38,030 --> 00:38:43,550 nang sa gayon ay gumagana talagang mahusay dahil maaari naming magdisenyo ng anumang site at isa lamang ang butas 609 00:38:43,550 --> 00:38:47,580 sa site na iyon na kailangan mapunan maaaring napuno sa pamamagitan ng alinman sa isa sa atin, o marahil pareho. 610 00:38:47,580 --> 00:38:50,210 Gusto mong tiyakin na walang mga butas sa iyong koponan. 611 00:38:50,210 --> 00:38:51,180 Ito ay okay kung mayroong isang bit ng overlap. 612 00:38:51,180 --> 00:38:53,670 Sa madaling salita, kung mayroon kang 2 tao na parehong mahusay sa dulo pabalik, 613 00:38:53,670 --> 00:38:57,250 na maaaring maging magandang pati na rin dahil maaari nilang tulungan ang isa't isa na may mga problema 614 00:38:57,250 --> 00:38:58,820 na sila ay nagkakaroon. 615 00:38:58,820 --> 00:39:02,590 Maaari itong maging isang problema kung mayroon ka lamang ng 1 tao kung sino ang mananagot para sa isang tiyak na bagay 616 00:39:02,590 --> 00:39:06,650 at sila ay tumakbo sa isang problema, kaya nais mong magkaroon ng kaunting pagsanibin 617 00:39:06,650 --> 00:39:10,760 ngunit pinaka-mahalaga gusto mong tiyakin na ang lahat ng posibleng mga butas ay napunan. 618 00:39:10,760 --> 00:39:17,550 >> Ang huling bagay - at ito ay dapat na halata, ngunit ito ay madalas na hindi. 619 00:39:17,550 --> 00:39:19,550 Talagang gusto mo na nagkakaroon masaya. 620 00:39:19,550 --> 00:39:23,360 Ang punto ng ito huling proyekto sa CS50 at madalas ang punto ng web development sa pangkalahatan 621 00:39:23,360 --> 00:39:26,360 ay hindi na gawin lamang ng trabaho dahil kailangan nito ang paggawa. 622 00:39:26,360 --> 00:39:29,140 Talagang gusto mo na nagkakaroon masaya, at nais mong ginagawang isang bagay 623 00:39:29,140 --> 00:39:31,180 na motivating mong magtrabaho sa ito. 624 00:39:31,180 --> 00:39:33,650 Kung ano naman nagsasagawa ka ng ay isang sakit upang umupo at gumagana sa, 625 00:39:33,650 --> 00:39:35,650 pagkatapos ay hindi ka naka-pagpili ng tamang proyekto. 626 00:39:35,650 --> 00:39:37,730 Gusto mong pumili ng isang bagay na kawili-wili, 627 00:39:37,730 --> 00:39:41,150 Talaga bang nais mong makita ang mga resulta, ikaw ay nasasabik kapag kumuha ka ng isang bagong ideya tungkol sa 628 00:39:41,150 --> 00:39:44,700 isang bagay na maaari mong gawin - kaya mayroong lahat ng uri ng mga proyekto doon na ako sigurado 629 00:39:44,700 --> 00:39:47,290 maaari mong mahanap - lahat ay mayroong isang bagay na talagang intriga sa kanila 630 00:39:47,290 --> 00:39:49,290 kung ang mga ito ay gumagawa ng isang web-based na proyekto. 631 00:39:49,290 --> 00:39:52,210 Kukunin ko ito sinasabi muli ngayon. 632 00:39:52,210 --> 00:39:54,520 Kung ang iyong proyekto ay tila tulad ng isang sakit at hindi mo nais na magtrabaho sa ito, 633 00:39:54,520 --> 00:39:57,260 pumili ng isa pang proyekto. Pumili ng isang bagay na talagang inspirasyon mo. 634 00:39:57,260 --> 00:40:00,260 >> Ben Binanggit ito konsepto ng pag-ulit ng kaunti, at gusto kong pumunta sa ibabaw ito ng kaunti. 635 00:40:00,260 --> 00:40:08,250 Ito ay talagang mahalaga upang gumana sa spurts kung saan kumuha ka ng isang bagay na umaandar. 636 00:40:08,250 --> 00:40:13,420 Maaari itong maging mahusay na kung mayroon kang ito plano para sa isang website na pupuntahan gawin A, B, at C, 637 00:40:13,420 --> 00:40:16,000 at kalaunan magkakaroon ito makarating doon. 638 00:40:16,000 --> 00:40:18,600 Ngunit ka natigil sa bahaging ito kung saan nagtatrabaho ka dito at nagtatrabaho sa ito, 639 00:40:18,600 --> 00:40:23,330 ngunit wala ay nagsisimula pa tapos. Wala kang anumang bagay upang makita at isang nasasalat, nagagamit na bagay. 640 00:40:23,330 --> 00:40:27,940 Ano gusto mo talagang gawin hangga't parang ang uri ng isang sakit kung minsan sa 641 00:40:27,940 --> 00:40:32,300 gumagana sa isang bagay at pagkatapos ay isang uri ng lilimitahab ito off upang ito ay hindi bababa sa isang matatag, tumatakbo 642 00:40:32,300 --> 00:40:34,910 bersyon kahit na wala itong lahat ng mga tampok na gusto mo. 643 00:40:34,910 --> 00:40:37,690 At maaaring mayroong ilang mga tampok na Talaga bang nais mong magdagdag ngunit ikaw lamang ay hindi maaaring 644 00:40:37,690 --> 00:40:41,830 dahil gusto mo upang makuha ang site na ito sa isang functional point. 645 00:40:41,830 --> 00:40:44,400 At kaya gusto mong uri ng mayroon ang proseso ng pag-unlad buong hitsura iyon. 646 00:40:44,400 --> 00:40:47,810 Gusto mong simulan ang isang lugar functional - o mahalagang magsimula sa wala - 647 00:40:47,810 --> 00:40:49,890 ngunit nais mo upang makakuha ng isang lugar napaka basic at functional. 648 00:40:49,890 --> 00:40:54,940 At pagkatapos ay muli, magsagawa ng isang uri ng jump at muling makakuha ng isang lugar functional. 649 00:40:54,940 --> 00:40:59,190 Makikita mo dahan-dahan bumuo ng up, at maaaring pumunta ng kaunti mas mabagal kaysa ito gagawin kung hindi man, 650 00:40:59,190 --> 00:41:03,000 ngunit sa katagalan kung naka mo Patuloy natigil sa gitna lupa phase kung saan mo 651 00:41:03,000 --> 00:41:06,380 huwag aktwal na magkaroon ng kahit ano gumagana, maaari itong maging isang talagang malaking pagkabigo 652 00:41:06,380 --> 00:41:09,970 upang gumana sa iyong proyekto dahil ikaw ay palaging kaya malapit sa pagkuha ito gumagana, 653 00:41:09,970 --> 00:41:12,130 at ito ay hindi kailanman talagang gumagana. 654 00:41:12,130 --> 00:41:14,810 Gusto mong magtrabaho sa mga functional spurts, 655 00:41:14,810 --> 00:41:17,950 at gusto mo ring gawin ang ilang mga pagmuni-muni pagkatapos ng bawat isa. 656 00:41:17,950 --> 00:41:21,260 Sa ibang salita, sa sandaling ikaw ay nasa isang punto kung saan ang site ay gumagana na ngayon - 657 00:41:21,260 --> 00:41:24,790 wala itong lahat ng bagay na gusto mo ngunit ginagawa nito ang ilang mga bagay - 658 00:41:24,790 --> 00:41:28,870 gusto mong mag-isip, okay, ay sa site na ito accomplishing ang layuning iyon ako magse-set out upang gawin? 659 00:41:28,870 --> 00:41:33,410 Sa ibang salita, kung ang site ay pagpunta sa gawin X, ay kung ano ang ko na nagtatrabaho sa direksyon ng X? 660 00:41:33,410 --> 00:41:36,450 Sigurado lahat ng mga pag-andar na ako gusto doon? 661 00:41:36,450 --> 00:41:39,340 At saka, ay ito sa paghahatid ng mga pangkalahatang layunin na gusto ko? 662 00:41:39,340 --> 00:41:43,200 Kung ikaw ay sa paghahanap ng mga na ang iyong site ay nagsisimula sa pumapaling sa ibang direksyon 663 00:41:43,200 --> 00:41:47,330 o siguro bagay lamang uri ng ay hindi gumagana out, maaaring ito ay oras upang ilipat ang gears kaunti. 664 00:41:47,330 --> 00:41:51,700 Sa ibang salita, ito ay nagkakahalaga ng isinasaalang-alang - ito ay nagkakahalaga masusuka out ideya kung kinakailangan 665 00:41:51,700 --> 00:41:57,950 at isinasaalang-alang ang aking talagang gumagana patungo sa kung ano ang gusto kong maging. 666 00:41:57,950 --> 00:42:00,760 >> Naniniwala ako na ang aking susunod na point. Huwag matakot na abandunahin ng mga ideya. 667 00:42:00,760 --> 00:42:03,750 Dahil lamang na ginugol sa iyo ng maraming mga oras ng trabaho sa isang tampok 668 00:42:03,750 --> 00:42:07,890 at sa wakas ay nakuha ko nagtatrabaho ngunit ito talaga ay hindi pagpunta sa gayon na rin - 669 00:42:07,890 --> 00:42:12,690 tulad ng ito ay hindi na kapaki-pakinabang o mga user ay nagkakaroon ng problema sa paggamit nito - na uri ng mga bagay - 670 00:42:12,690 --> 00:42:15,300 huwag matakot upang ihagis ito ang layo. 671 00:42:15,300 --> 00:42:17,650 Ito sucks na iyong ginugol ng maraming oras ang pagtatrabaho sa ito, 672 00:42:17,650 --> 00:42:21,870 ngunit sa huli hindi mo nais ang isang site na uri ng magkasama sa pamamagitan ng mga piraso na 673 00:42:21,870 --> 00:42:25,380 uri ng trabaho ngunit hindi na mahusay na almusal. 674 00:42:25,380 --> 00:42:27,990 Gayundin, huwag matakot upang yakapin ang mga bagong ideya. 675 00:42:27,990 --> 00:42:30,050 Kung ang isang tao ay kasama at sabi, hey, mukhang talagang cool na ngunit ang site na iyon 676 00:42:30,050 --> 00:42:32,290 hindi ito kahit na maging mahusay kung ginawa din ito sa ganitong? 677 00:42:32,290 --> 00:42:36,220 Dahil lamang na isang bagay na hindi mo binalak at isang bagay na wala sa iyong 678 00:42:36,220 --> 00:42:37,900 specs, isang bagay na hindi mo na-set out upang gawin, 679 00:42:37,900 --> 00:42:40,860 huwag matakot upang dalhin ito sa at pagkatapos ay gumagana sa mga ito. 680 00:42:40,860 --> 00:42:43,680 Dahil madalas ang mga ideya na iyong pinapatakbo sa buong kurso ng pag-unlad 681 00:42:43,680 --> 00:42:47,630 napupunta pagiging talagang cool na tampok ng website. 682 00:42:47,630 --> 00:42:49,630 >> Sinabi ko na ito dati. Kukunin ko ito sinasabi muli. 683 00:42:49,630 --> 00:42:51,630 Tagasubok ay sukdulang, sobrang kapaki-pakinabang. 684 00:42:51,630 --> 00:42:56,350 Subukan upang makakuha ng mga tao na hindi kailanman nakita sa site bago mag-log on at makita kung ano ang nangyayari sa 685 00:42:56,350 --> 00:42:59,080 dahil maaari nilang hindi lamang subukan ang pagiging kapaki-pakinabang ng site at ang karanasan ng gumagamit, 686 00:42:59,080 --> 00:43:02,070 ngunit maaari din sila subukan ang pag-andar sa mga paraan na hindi mo magagawa. 687 00:43:02,070 --> 00:43:06,430 Kung gumawa ka ng ilang mga tampok na nagsasagawa ng isang tiyak na bagay 688 00:43:06,430 --> 00:43:11,620 at alam mo na ito ay pagpunta sa gawin na parehong bagay nang tama ang bawat solong oras, mabuti iyan. 689 00:43:11,620 --> 00:43:16,610 Ngunit maaari madalas itong maging mahirap na account para sa sulok mga kaso kung saan ang isang gumagamit ay maaaring 690 00:43:16,610 --> 00:43:19,500 nagta-type ng isang bagay na hindi ka na umaasang - tiyak dahil ang tinukoy mo 691 00:43:19,500 --> 00:43:21,500 iyong sarili ang mga tampok. 692 00:43:21,500 --> 00:43:23,730 Kaya, upang magkaroon ng isang tao dumating sa kung sino ay walang mga ideya kung paano gamitin ang site 693 00:43:23,730 --> 00:43:26,840 at masira lang ito sa kung anumang paraan na maaari nilang gawin ay talagang kapaki-pakinabang dahil sa iyo 694 00:43:26,840 --> 00:43:30,340 makakuha ng ideya mula sa isang ganap na kakaiba sa pananaw ng kung ano ang sa iyong site ay gumagana 695 00:43:30,340 --> 00:43:33,300 at ano ang mga kailangan sa pag-aayos. 696 00:43:33,300 --> 00:43:37,070 >> Huling, ako ng pagpunta sa makipag-usap tungkol sa ilang mga pangkalahatang mahusay na mga kasanayan, 697 00:43:37,070 --> 00:43:42,470 at nakita mo ng maraming mga ito sa CS50, ngunit sila din talaga ito, talagang ilapat sa isang setting proyekto. 698 00:43:42,470 --> 00:43:47,600 Ang isa ay komento. Laging magkomento iyong code lalo na kung nagtatrabaho ka sa isang malaking koponan. 699 00:43:47,600 --> 00:43:51,230 Maaari itong maging kaya nakakainis na magkaroon lamang ng isang higanteng bloke ng code na ang isang tao ay nakasulat 700 00:43:51,230 --> 00:43:54,230 at marahil ito gumagana, marahil hindi, ngunit wala kang mga ideya kung ano ang gagawin nito, 701 00:43:54,230 --> 00:43:58,010 kaya wala kang mga ideya kung ito ay ang kapaki-pakinabang o hindi o kung dapat itong maging doon o hindi, 702 00:43:58,010 --> 00:44:00,200 at kung nagtatrabaho ka sa ibang bagay ito ay kahit posible na nagtatrabaho ka sa 703 00:44:00,200 --> 00:44:06,590 ang parehong bagay, kaya maging napaka, napaka-ingat upang maging mapagbigay ng iyong mga kasamahan lamang 704 00:44:06,590 --> 00:44:09,710 at pagpapawalang code na rin dokumentado. 705 00:44:09,710 --> 00:44:13,580 Hindi mo na kailangang pumunta sa abot ng upang gawin ang buong bagay kung saan gusto kung dagdagan mo 706 00:44:13,580 --> 00:44:16,620 ng counter mayroon ng komento na nagsasabi, ako ang pagdaragdag ng 1 sa ito counter. 707 00:44:16,620 --> 00:44:20,450 Hindi nito kailangang maging na detalyadong, ngunit para sa anumang mga pag-andar na kailanman ay sumusulat ka 708 00:44:20,450 --> 00:44:23,160 dapat kang magkaroon ng ilang mga papeles ng pagtatanong kung ano ang eksaktong na function, 709 00:44:23,160 --> 00:44:25,140 ano input nito ay, at kung ano ang dapat itong bumalik. 710 00:44:25,140 --> 00:44:27,800 Sa ganoong paraan maaari mong gamitin ang mga bahagi ng ibang mga tao ng site 711 00:44:27,800 --> 00:44:31,990 at maaari kang magtrabaho tungo sa pagbuo ng isang bagay malaki. 712 00:44:31,990 --> 00:44:34,100 >> Ang isa pang mahalagang bagay ay gusto mong gawin regular na malinis-up. 713 00:44:34,100 --> 00:44:40,490 Gulung-gulo Code ay nakakakuha. Huwag sumama ang pakiramdam kung ang iyong code ay lamang talagang hindi nababasa at isang higanteng gulo. 714 00:44:40,490 --> 00:44:42,770 Nangyari iyon sa web development palagi. 715 00:44:42,770 --> 00:44:46,530 Nagdadagdag ka ng mga bagong tampok, pag-aalis ng mga luma. Bagay-bagay ay magiging doon na hindi dapat. 716 00:44:46,530 --> 00:44:49,330 Iyon ay pinong, ngunit nais mo upang matiyak na haharapin ang mga na regular. 717 00:44:49,330 --> 00:44:53,430 Hindi mo nais na ipaalam ito bumuo ng hanggang sa ang punto kung saan mo hindi lang mahanap ang anumang bagay 718 00:44:53,430 --> 00:44:56,430 sa iyong code, at wala kang mga ideya kung ano ang ginagawa kahit ano. 719 00:44:56,430 --> 00:44:58,430 Iyon ay ang kaso sa HTML. 720 00:44:58,430 --> 00:44:59,490 Minsan makakapunta ka sa mga bagay na hindi naglalaman ng anumang bagay, 721 00:44:59,490 --> 00:45:01,320 at makikita mo nais na mapupuksa ang mga iyon. 722 00:45:01,320 --> 00:45:04,610 Sa CSS, maaari mong ma-nagre-refer sa mga elemento na hindi doon ngayon, 723 00:45:04,610 --> 00:45:06,340 kaya gusto mong mapupuksa ang code na iyon. 724 00:45:06,340 --> 00:45:09,900 Sa JavaScript, maaaring naalis mo na ang isang bagay mula sa HTML. 725 00:45:09,900 --> 00:45:13,150 Kaya, nais mong tiyakin na palagi ka sa paglilinis up, paggawa ng mga bagay na medyo 726 00:45:13,150 --> 00:45:17,450 hanggang kaya mo sa isang regular na batayan. 727 00:45:17,450 --> 00:45:21,060 >> Ang isa pang talagang kapaki-pakinabang na bagay na Hindi sa tingin ko ay nakabalangkas Sobra sa CS50 728 00:45:21,060 --> 00:45:23,430 ngunit ito ay nagkakahalaga ng pagkuha sa ay kontrol bersyon. 729 00:45:23,430 --> 00:45:27,180 Ang ideya ng bersyon control ay kapag isa lamang ka Pinananatili track ng lahat ng mga pag-unlad 730 00:45:27,180 --> 00:45:30,820 na ginawa mo patungo sa iyong site at kung sa anumang punto natanto, oh, ito ay gumagana 731 00:45:30,820 --> 00:45:35,220 kani-kanina ngunit hindi ito ay gumagana sa anumang higit pa, maaari kang bumalik sa nakaraang bersyon 732 00:45:35,220 --> 00:45:37,720 at makita kung ano ang nagbago mula noon at na uri ng bagay. 733 00:45:37,720 --> 00:45:41,670 Ang pangunahing paraan upang gawin iyon ay may Git, at Git ay ang buong uri ng system na 734 00:45:41,670 --> 00:45:46,390 Naniniwala ako nagbigay Tommy MacWilliam isang seminar tungkol sa nakaraang taon. 735 00:45:46,390 --> 00:45:51,520 Kung pumunta ka sa CS50 seminar para sa 2011, maaari mong makita ang kanyang pantas-aral sa iyon. 736 00:45:51,520 --> 00:45:57,070 Ang ideya ng Git ay isa lamang na sa regular na mga agwat nagsasagawa ka ng mga commitment ng 737 00:45:57,070 --> 00:46:01,430 kung saan ang mga paraan ng pagsabi sa site ay sa magandang stable na bersyon sa ngayon kaya 738 00:46:01,430 --> 00:46:05,910 Ako Packaging ito up at ipadala ito ang layo sa isang server, at pagkatapos ay maaari kang pumunta sa server na 739 00:46:05,910 --> 00:46:07,910 at tumingin sa lahat ng mga nakaraang bersyon ng iyong code at tingnan kung paano ito progressed 740 00:46:07,910 --> 00:46:12,210 at ang lahat na uri ng mga magagandang bagay-bagay. 741 00:46:12,210 --> 00:46:14,210 Kaya, na isa lamang ito. 742 00:46:14,210 --> 00:46:17,870 Bilang malayo bilang web development, kami ay masaya na manatili sa paligid at sagutin ang anumang mga 743 00:46:17,870 --> 00:46:20,570 tanong kasing layo ng aming pagtatanghal. 744 00:46:20,570 --> 00:46:22,900 Iyan na ang lahat. Salamat. >> [Ben] Salamat. 745 00:46:22,900 --> 00:46:28,480 [Palakpakan] 746 00:46:28,480 --> 00:46:30,950 >> [Billy] ang staff, ang sinuman ay may anumang mga katanungan tungkol sa mga bagay na na-sakop namin 747 00:46:30,950 --> 00:46:33,950 o mga bagay na hindi namin sakop na sila ay umaasa na naming masaklawan? 748 00:46:33,950 --> 00:46:35,950 Malugod naming sasagutin ang mga iyon. Sinuman? 749 00:46:35,950 --> 00:46:50,360 [Miyembro ng madla] Ano ang mga kalamangan at kahinaan ng paggamit ng Ruby o paggamit ng Python? 750 00:46:50,360 --> 00:46:58,660 [Ben] Ang tanong ay, ano ang mga kalamangan at kahinaan ng paggamit ng Ruby o Python 751 00:46:58,660 --> 00:46:59,900 sa halip na tulad ng PHP. 752 00:46:59,900 --> 00:47:11,340 Ang pros ay na Ruby at Python ay magkano ang mas mahusay na mga wika kaysa sa PHP. 753 00:47:11,340 --> 00:47:14,920 Hindi bababa sa aking opinyon, at sa tingin ko ng maraming mga opinyon ng ibang tao pati na rin. 754 00:47:14,920 --> 00:47:20,990 Sila ay dinisenyo higit pa para sa paggawa ng kumplikadong mga bagay-bagay, 755 00:47:20,990 --> 00:47:25,380 at mas mababa para sa patampal magkasama sa mga web page talaga ng mabilisan kasama ang 756 00:47:25,380 --> 00:47:28,400 Medyo ng dynamic na nilalaman. 757 00:47:28,400 --> 00:47:35,180 Ang cons ay na mayroong kaunting - mayroong higit pa sa isang curve pag-aaral 758 00:47:35,180 --> 00:47:37,220 upang makakuha ng mga ito set up. 759 00:47:37,220 --> 00:47:41,010 Iyon ay, tulad ng sa PHP, maaari kang magkaroon lamang ng isang HTML file at ka magsulat mas mababa-kaysa, 760 00:47:41,010 --> 00:47:43,060 tandang pananong, at pagkatapos ay isulat mo ang ilang mga code, at pagkatapos ay isulat mo tandang pananong, 761 00:47:43,060 --> 00:47:45,700 mas malaki-kaysa, at pagkatapos ay tapos ka na. 762 00:47:45,700 --> 00:47:50,300 Sa iba pang mga wika tulad ng Ruby o Python, 763 00:47:50,300 --> 00:47:56,810 kailangan mong pumunta sa pamamagitan ng kaunti pang trabaho upang makuha ang paunang running site. 764 00:47:56,810 --> 00:48:02,730 Mayroon ding - hindi bababa sa ito ginagamit upang maging ang kaso - na may higit dokumentasyon 765 00:48:02,730 --> 00:48:05,480 Available para sa PHP dahil lamang doon ay mas sa mga taong gumagamit nito. 766 00:48:05,480 --> 00:48:09,370 Sa tingin ko hindi iyon bilang magkano ng isang isyu na ngayon. 767 00:48:09,370 --> 00:48:12,520 Mayroong tiyak na napakabuti dokumentasyon para sa mga bagay tulad ng Ruby sa daang-bakal 768 00:48:12,520 --> 00:48:16,080 o Django para Python ay ang katumbas. 769 00:48:16,080 --> 00:48:25,910 PHP ay ang isa na ang lahat ay ginagamit para sa taon, at alam mo kung paano ito gumagana. 770 00:48:25,910 --> 00:48:28,460 Ruby at Python ay Medyo mas mature. 771 00:48:28,460 --> 00:48:33,130 >> [Miyembro ng madla] Kung ikaw ay upang pumili sa pagitan ng isa sa mga ito upang matuto o pick up, 772 00:48:33,130 --> 00:48:36,130 na kung saan ay mas gusto mong? 773 00:48:36,130 --> 00:48:38,870 Totoo lang, sa palagay ko ay depende na sa tao. 774 00:48:38,870 --> 00:48:45,450 Sorry. Ang tanong ay kung saan kinuha mo para sa isang tao upang matuto? 775 00:48:45,450 --> 00:48:50,230 Mahanap ako Python ang nicest personal. 776 00:48:50,230 --> 00:48:55,360 Maraming ng mga tao na - ginawa ko ang aking unang proyekto sa web dev sa Python at Django. 777 00:48:55,360 --> 00:49:00,300 Maraming ng mga tao na gusto Ruby sa daang-bakal din. 778 00:49:00,300 --> 00:49:02,650 Malamang higit pang mga taong may alam Ruby sa daang-bakal. 779 00:49:02,650 --> 00:49:05,270 Totoo lang, Gusto ko pumunta lamang sa anuman ang mga tao sa paligid mo alam 780 00:49:05,270 --> 00:49:09,680 nang sa gayon ay magkaroon ka ng mga tao upang magtanong. 781 00:49:19,640 --> 00:49:24,170 >> Ang tanong ay - sa ibinahaging mga server ay ito uri ng matapang na upang gumana sa Python? 782 00:49:24,170 --> 00:49:26,170 Iyon ay depende sa iyong hosting. 783 00:49:26,170 --> 00:49:29,400 Mayroong isang bilang ng mga web host na ay magpo-post Python bagay-bagay. 784 00:49:29,400 --> 00:49:31,400 WebFaction gumagana na, i-right? 785 00:49:31,400 --> 00:49:34,400 WebFaction ay isa na Billy at ko na ginagamit para sa ilang mga proyekto. 786 00:49:34,400 --> 00:49:37,750 Ang mga ito ay talagang mahusay. Sinusuportahan nila ang karamihan ng mga wika. 787 00:49:37,750 --> 00:49:40,020 Ngunit ito ay tunay na PHP ay mas malawak na suportado. 788 00:49:40,020 --> 00:49:45,210 Kaya, kung ikaw ay natigil sa isang web host na gumagana ang PHP lamang, na ang isang magandang dahilan upang gamitin ang PHP. 789 00:49:45,210 --> 00:49:56,010 >> [Miyembro ng madla] lang ang nakuha ko sa pag-aaral kung paano i-query ang ilang mga database, 790 00:49:56,010 --> 00:50:00,680 at alam ko ang aking SQL ay ang lahat sa ibabaw ng lugar, ngunit ako kamakailan nakuha ko malantad sa - 791 00:50:00,680 --> 00:50:04,470 at mo itinuturo ito. Ang makikita mo JSON at napapalawak na mga database. 792 00:50:04,470 --> 00:50:14,580 Aking SQL ay ang lahat sa ibabaw ng lugar pa rin. Paano ko makikita mo na nangyayari? 793 00:50:14,580 --> 00:50:21,330 Ay may pagpunta sa maging isang lumalaking pagkahilig para sa higit pang napapalawak (hindi marinig)? 794 00:50:21,330 --> 00:50:30,100 Ang tanong ay - huwag tingin ko may pupuntahan maging isang takbo patungo sa mga database ng mga di-SQL. 795 00:50:30,100 --> 00:50:33,850 Halimbawa, tulad ng MongoDB. Sa tingin ko na ay talagang totoo. 796 00:50:33,850 --> 00:50:38,730 Aking mga payo ay kadalasang MySQL may kaugnayan dito dahil lamang MySQL ay 797 00:50:38,730 --> 00:50:40,950 pamantayan sa industriya. 798 00:50:40,950 --> 00:50:45,950 Personal, magkano Mas gusto ko ang mga database na walang schemos tulad MongoDB 799 00:50:45,950 --> 00:50:49,520 kung saan hindi mo na kailangang ang isyu ng, oh, kailangan kong magdagdag ng isa pang haligi. 800 00:50:49,520 --> 00:50:51,600 Sa aba ko, tulad ng kahit anong gagawin ko? 801 00:50:51,600 --> 00:50:55,840 Ito ay napakahirap upang gawin iyon sa MySQL, ngunit kapag mayroon kang isang bagay tulad ng Mongo 802 00:50:55,840 --> 00:50:57,840 ito ay magkano nicer. 803 00:50:57,840 --> 00:51:03,780 Ang iba pang magandang bagay tungkol sa Mongo ay ang iyong mga tala ay aktwal na mga bagay ang JavaScript. 804 00:51:03,780 --> 00:51:10,110 Walang uri ng mga hakbang ng conversion kung saan kailangan mong gawin ang mga hilera ng database 805 00:51:10,110 --> 00:51:13,140 at i-ang mga ito sa isang JavaScript na bagay at pagkatapos ay ipadala ang mga ito sa ibabaw ng wire. 806 00:51:13,140 --> 00:51:20,290 Sa tingin ko ang mga bagay-bagay tulad na ay magiging napaka, napaka-kapaki-pakinabang para sa pag-unlad ang mabilis na web sa hinaharap. 807 00:51:20,290 --> 00:51:23,060 >> [Billy] Isang bagay Gusto ko idagdag na kung saan ay lamang ng isang pangkalahatang punto ay na 808 00:51:23,060 --> 00:51:26,580 huwag dating na tila Dapat ay natutunan mo ang lahat ng mga wika na tinalakay namin 809 00:51:26,580 --> 00:51:28,580 mula sa aming mga pantas-aral. 810 00:51:28,580 --> 00:51:30,560 Malinaw ang punto ay upang mabigyan ka ng ideya ng kung ano ang out doon, 811 00:51:30,560 --> 00:51:33,450 at kung ikaw ay intrigued sa pamamagitan ng alinman sa mga bagay na nabanggit namin sa iyo ng Google ang mga ito 812 00:51:33,450 --> 00:51:35,830 at basahin up sa mga ito. 813 00:51:35,830 --> 00:51:38,750 At bilang ko nabanggit, mayroong ilang mga seminar na haharapin ang mga tiyak na mga bagay na ito. 814 00:51:38,750 --> 00:51:41,660 Mayroong higit pang mga seminar na hindi ko pa nabanggit na marahil dumapo 815 00:51:41,660 --> 00:51:43,660 ito bagay-bagay pati na rin. 816 00:51:43,660 --> 00:51:46,610 Ang ideya ay na kung nais mong upang gumana sa isang bagay, narito ang ilan sa mga tool sa iyong pagtatapon. 817 00:51:46,610 --> 00:51:51,630 Huwag mabigla kung hindi ka talaga sigurado kung ano ang mga tool na ito gawin nang eksakto, 818 00:51:51,630 --> 00:51:54,830 ngunit malaman na ang mga ito ay out doon at na maaari kang magsagawa ng malawak na paggamit ng mga ito 819 00:51:54,830 --> 00:51:56,830 sa pamamagitan ng Google. 820 00:51:56,830 --> 00:51:59,960 >> [Miyembro ng madla] Anong uri ng mga bagay na kailangan mong gawin upang tiyakin na ang iyong website 821 00:51:59,960 --> 00:52:02,530 mukhang mahusay sa mga mobile device? 822 00:52:02,530 --> 00:52:05,590 [Billy] aparatong mobile ay isang maliit na mahirap. 823 00:52:05,590 --> 00:52:07,590 Mayroong 2 mga paraan maaari mo itong lapitan. 824 00:52:07,590 --> 00:52:11,500 Ang unang paraan ay ang aktwal mong magkaroon ng isang mobile website. 825 00:52:11,500 --> 00:52:14,660 Sa madaling salita, magsasagawa ka ng isang uri ng pag-detect sa simula 826 00:52:14,660 --> 00:52:18,830 kapag gumagawa ng browser ang kahilingan sa iyong website kung saan alinman sabi 827 00:52:18,830 --> 00:52:25,240 bumalik sa view na ito - na kung saan ay ang view para sa desktop o laptop na mga browser - 828 00:52:25,240 --> 00:52:27,710 at ito ang iba pang view para sa mga aparatong mobile. 829 00:52:27,710 --> 00:52:33,090 Iyan ay isang lugar kung saan mga view ay talagang maganda sa na maaari mong medyo magkano swap ang 830 00:52:33,090 --> 00:52:37,580 dalawang out at magkaroon ng isang interface na gumagana talaga ng mabuti sa mga mobile device 831 00:52:37,580 --> 00:52:40,770 at magkaroon ng ganap na naiibang isa na gumagana ng mabuti sa mga aparatong browser. 832 00:52:40,770 --> 00:52:43,770 Ang problema sa na ay tumatagal ng isang mahabang panahon dahil ang ibig sabihin nito coding 833 00:52:43,770 --> 00:52:47,060 isang ganap na kakaiba interface. 834 00:52:47,060 --> 00:52:49,720 Ang iba pang mga paraan na maaari mong gawin ito ay - 835 00:52:49,720 --> 00:52:55,250 ng maraming modernong mga telepono ay magpapakita ng mga website at subukang mag-render ang mga ito bilang isang browser na gagawin, 836 00:52:55,250 --> 00:52:57,680 at gawin nila ang kanilang pinakamahusay na. 837 00:52:57,680 --> 00:53:04,340 Maaari mong uri ng subukang upang manatili ilaw sa dami ng jQuery JavaScript gumagamit ka ng 838 00:53:04,340 --> 00:53:07,360 na kung saan ay may gawi na maging kung saan maaaring pumunta bagay na mali kaunti. 839 00:53:07,360 --> 00:53:13,430 Ito ay uri ng mga paraan na dapat gamitin mo kung wala kang na karaming oras. 840 00:53:13,430 --> 00:53:18,540 Kung mayroon kang ang oras upang gumana sa isang mobile interface, na malinaw naman ang iyong pinakamahusay na pagpipilian. 841 00:53:18,540 --> 00:53:23,320 >> Sa tingin ko sa pangkalahatan ay para sa CS50 mga proyekto, ka ng pagpunta sa nais mong pumili ng isa o ang iba. 842 00:53:23,320 --> 00:53:27,990 Sa madaling salita, nais mong gumawa ng isang mobile app o nais mong gumawa ng isang desktop website. 843 00:53:27,990 --> 00:53:32,200 At na uri ng tumutukoy kung saan ka pumunta sa na. 844 00:53:32,200 --> 00:53:35,360 Ngunit kung nais mong palawakin ito sa ibang pagkakataon, marahil ang iyong pinakamahusay na mapagpipilian ay 845 00:53:35,360 --> 00:53:37,360 upang gumawa ng isa pang interface para sa iba pang mga. 846 00:53:51,650 --> 00:53:56,340 Mayroon akong ng kaunting karanasan sa pagbubuo-based WordPress site. 847 00:53:56,340 --> 00:53:58,670 Naka-host ako ng isang personal na website sa WordPress para sa sandali. 848 00:53:58,670 --> 00:54:02,310 Yaong mga uri ng Framework ay maaaring maging magaling tulad ng napaka pangunahing bagay. 849 00:54:02,310 --> 00:54:07,050 Malimit makikita mo lamang tumakbo sa isang pulutong ng mga isyu customizability bagaman. 850 00:54:07,050 --> 00:54:10,940 Makikita mo nais na magkaroon ng isang bagay na tumingin sa isang tiyak na paraan o maging isang tiyak na paraan 851 00:54:10,940 --> 00:54:14,510 at mo lamang ay hindi maaaring dahil ito ay hard-wired sa system na 852 00:54:14,510 --> 00:54:17,480 ito ay kung paano mayroon kang upang gumawa ng mga bagay na maaaring maging isang bit ng isang problema. 853 00:54:17,480 --> 00:54:22,020 Simula noon uri ng ko pa nang higit pa nakakiling upang gumana sa mga site mula sa lupa up. 854 00:54:22,020 --> 00:54:26,840 Para sa mga bagay tulad ng mga database ng blog at na uri ng mga bagay talaga hindi na mahirap na bumuo ng isang framework. 855 00:54:26,840 --> 00:54:29,970 Kung talagang naka-stretch para sa oras, maaari mong siyempre gamitin ang isang bagay tulad ng WordPress 856 00:54:29,970 --> 00:54:33,120 o na uri ng mga bagay para sa isang blog. 857 00:54:33,120 --> 00:54:38,790 Ang mga uri ng mga bagay na mga blog na tindahan at gawin ay hindi talagang mahirap sapat na 858 00:54:38,790 --> 00:54:41,500 kung nagpapatakbo ka sa alinman sa mga uri ng mga bagay, ikaw ay marahil pinakamahusay na lamang upang 859 00:54:41,500 --> 00:54:43,500 gumawa ng in-house na bersyon. 860 00:54:43,500 --> 00:54:48,350 >> Sa tingin ko na ang tungkol dito, kaya salamat muli para sa darating na. 861 00:54:48,350 --> 00:54:51,960 Talaga namin Tatangkilikin ang pakikipag-usap sa iyo guys at umaasa na natutunan mo ang ilang mga bagay-bagay. 862 00:54:51,960 --> 00:54:55,350 [Ben] Masaya kami na makipag-usap - mayroon kaming upang pumunta ngunit kami ay masaya na higit pa sa labas makipag-usap 863 00:54:55,350 --> 00:55:01,650 kung mayroon ka ng isa pang tanong. Salamat muli. [Palakpakan] 864 00:55:03,750 --> 00:55:06,000 [CS50.TV]