[Powered by Google Translate] [Seminar] [Web Development: Mula sa ideya sa Pagpapatupad]
[Ben Kuhn] [Billy Janitsch] [Harvard University]
[Ito ay CS50] [CS50.TV]
[Billy] Hi, Ako Billy at ito ay Ben. >> [Ben] Hi.
Kami ay pagpunta sa ay pakikipag-usap tungkol sa web development ngayon.
[Webdev] [Billy Janitsch at Ben Kuhn]
Kaunting unang tungkol sa amin.
Ben ay isang uri ng back-end tao. Ginagawa niya ang mga bagay na gumagana.
At pagkatapos ay pumunta ako sa at gumawa ng mga ito kaakit-akit.
Ako ay higit sa lahat kasangkot na may higit na front-end design layout uri ng mga bagay-bagay,
at Ben, sa kabilang banda, alam ng kung ano ang ginagawa niya kaya gumagana siya sa back-end bagay-bagay.
Sama-sama gumawa kami ng ilang mga bagay.
Halimbawa, huling taon namin nagtrabaho sa Gimblium saan ay isang online na laro pag-unlad studio.
Iyon ay ang aming huling proyekto para sa klase,
at mula noon gumawa kami ng Harvard Class
na kung saan ay isang online na framework para sa pag-browse at shopping kurso sa Harvard.
>> Kami ay pagpunta sa magsimula sa mga ideyang ito para sa aming website.
Kami ay pagpunta sa gawin sa Facebook, ngunit para sa pusa.
Bago mo talaga gumawa ng website na ito,
huwag gumawa ng website na ito dahil hindi ito mahusay; ngunit gagamitin namin ito bilang isang framework
at pumunta sa pamamagitan ng proseso ng kung paano namin tumagal sa ideya na ito
at i-on ito sa isang tunay na website na maaari naming gamitin.
Sisimulan naming sa pamamagitan ng breaking ang website pababa.
Tulad ng na-paggawa sa CS50,
gusto mong mag-isip tungkol sa kung ano ang aktwal na mga bahagi na pumunta sa website na ito.
Isa lamang na buksan ito mula sa isang ideya na kung saan ay isa lamang uri ng isang abstract na konsepto
sa isang real, nasasalat bagay na maaari kang magsagawa.
Simulan namin sa pamamagitan ng pagtatanong ilang mga katanungan.
Ano ang website na ito? Bakit ginagawa namin dito?
Ano naman upang gamitin para sa? Iyon uri ng bagay.
Sa kaso ng Facebook Cat,
nais naming isa lamang sa isang website na nagbibigay-daan sa pusa social network sa bawat isa.
Ang ideya pagiging na maaari silang mag-post sa pader ng bawat isa,
Maaari silang gumawa ng mga komento, na uri ng bagay.
At na kung saan namin dumating sa ang mga nagagamit na mga bahagi.
Ay mayroon na ngayong namin ang ganitong uri ng balangkas ng - mayroon kami ng mga profile ng gumagamit,
May mga komento namin, at maaari naming i-post.
Marahil sa ibang araw magpapadala kami umaagos gusto at na uri ng bagay.
At uri ng namin nais na unahin ang pagpunta in mga tampok na ito
Gusto naming sabihin tulad, okay na, ito ay talagang mahalaga na lahat ay mayroong isang profile
at lahat ng tao na maaaring mag-post sa pader ng bawat isa.
Pangalawang iyon, ang mga komento ay magiging maganda.
Siguro sa ibang pagkakataon sa muli naming sanga ng ilog mga gusto.
Kaya, gusto mong magkaroon ng isang ideya ng kung ano ang saligan sa iyong proyekto
at kung ano ang uri ng isang mas pangkalahatang mga tampok na maaaring mailapat sa ibang pagkakataon.
Gusto mong uri ng mga may partikular na listahan sa isip,
ngunit ang mga proyekto na nagsimula ka sa ay hindi pagpunta sa maging ang proyekto na matapos ka sa.
Sa ibang salita, mga bagay ay pumunta sa upang baguhin habang naka-develop ng site,
at gusto mong umalis sa kuwarto para doon.
Kukunin ko ito pakaisipin sa Ben kung sino ang pagpunta sa makipag-usap ng kaunti tungkol sa istraktura.
>> [Ben] pupuntahan ko ay pakikipag-usap tungkol sa mga teknikal na bahagi ng web development.
Hayaan pumunta lamang sa paglipas ng ilang mga pangunahing kaalaman sa unang.
Kapag gumawa ka ng isang web app,
ang pangunahing dibisyon na kayo ay pagpunta sa may upang magkaroon ay
ka pagpunta sa may ilang mga bagay-bagay pagpunta sa sa gilid na kliyente -
iyon ay, ang code na ikaw ay browser tumatagal mula sa site
at ang JavaScript, HTML, CSS bagay-bagay.
Iyon lang ang nasa gilid ng client.
Ikaw ay pagpunta sa may iba pang code na nagpapatakbo sa gilid ng server
na sinusubaybayan ng lahat ng mga data na magpadala sa mga tao sa iyo,
nagpapasya kung sino upang bigyan ano, mga bagay-bagay tulad na.
Ito ay ilan lang terminolohiya upang ang mo guys ay pamilyar sa kung ano ang pinag-uusapan natin ang tungkol sa lahat.
Higit pa sa na division ito ay handa na upang isipin ang iyong web app sa mga tuntunin ng
isang pares ng mga natatanging mga bahagi.
Kapag ikaw ay gumagawa ng web development
isa sa mga bagay na dapat mong laging sinusubukang gawin ay upang bawasan ang pagiging kumplikado.
Ang mas kumplikado ang iyong code ay ang higit pang mga pagkakataon doon ay upang gumawa ng mga bug,
ang mas mahirap ito ay upang baguhin sa ibang pagkakataon.
Kaya, kung maaari mong magbuwag ang iyong app sa ilang mga natatanging mga functional na mga lugar
na habilin - at maaari mong bawasan ang uri ng mga halaga ng cross-area komunikasyon -
na makakatulong sa iyo ng maraming sa katagalan sa mga tuntunin ng pagbabawas ng mga bug.
>> Upang maging kongkreto, karaniwang tao hatiin up ng isang web app sa -
ang mga ito ay ngayon uri ng mga salita ng buzz, ngunit ang mga ito ay pa rin kapaki-pakinabang.
Maaaring narinig mo na nagsasalita ang mga tao tungkol sa mga modelo, mga tanawin, at controllers.
Mga modelo ay ang aktwal na data na iyong app ay pagpunta upang harapin ang.
Halimbawa, sa iyong Cat Facebook, ang iyong mga modelo ay magiging -
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.
Ang iyong mga view ay kung paano ipakita sa iyo ang data na iyon sa iyong mga gumagamit.
Maaaring mayroon kang 1 view para sa pagtingin sa isang solong post at ang lahat ng mga komento
at ng ibang view para sa iyong pader na may isang listahan ng lahat ng mga post
na-direct sa iyo, at ng ibang view para sa iyong balita feed - bagay tulad na.
Panghuli, mayroon ka ng mga controllers na kung saan ay isa lamang kapag nagpadala ka ng mga tao mga post
at gumawa ka ng mga update sa iyong back-end system,
mong dagdagan ng grupo ng mga counter, at kahit ano.
Iyon ang iyong controllers.
>> Pupunta ako sa pakikipag-usap ay kadalasang tungkol sa mga modelo.
Views ay technically hindi na mahirap at ang isyu ay higit pa gamit ang pagdidisenyo ng mga ito
Controllers ay pagpunta sa maging tiyak sa kung anong ka pagdidisenyo.
Ngunit mayroong ilang mga kaakit-akit pangkalahatang diskarte na maaari mong gamitin
upang gumawa ng iyong mga modelo nicer at mas madali upang gumana sa na sa tingin ko ay masyadong kapaki-pakinabang.
Ito ay halos pagpunta sa maging tungkol sa kung paano haharapin ang iyong data ng mga web application sa isang magaling na paraan.
Ang pangunahing isyu sa mga modelo
ay na nakatira sila sa client at server at mayroon kang upang malaman kung
a) kung paano makakuha ng mga ito - ang lahat ng may-katuturang mga bago - mula sa server sa client,
at b) kung paano panatilihing ang mga ito sa pag-sync.
Ang iyong mga gumagamit ay pagpunta sa nais na gumawa ng ilang mga pag-update.
Ang mga ito ay pagpunta sa nais na magkaroon ng mga bagong post.
Ang mga ito ay pagpunta sa nais upang gustuhin ang mga bagay at mga bagay-bagay kung mayroon kang mga gusto.
Iyon ang mga pangunahing teknikal na hamon sa pagharap sa mga modelo.
Ang unang bagay na kayo ay pagpunta sa nais upang tanungin ang inyong sarili ay
kung anong uri ng data na napupunta sa modelong ito at sa kung anong uri ng mga query kami makapupunta sa nais na gawin -
iyon ay, kung paano kami makapupunta sa tumingin sa mga modelo?
Para sa iyong Cat halimbawa ng Facebook,
ang iyong post ay pagpunta sa magkaroon ng isang may-akda na nauugnay dito,
ilang post na pader teksto, at isang tumatanggap ng mga post na pader.
At pagkatapos ay maaari mong i-query na sa isang bungkos ng mga iba't-ibang paraan.
Gusto mo gusto upang tumingin sa ito sa pamamagitan ng na sinulat ni aling post,
sa pamamagitan ng kung sino ang natanggap na mag-post, siguro ayon sa petsa kung sila ay nai-post.
Ngunit kung ikaw ay pagpunta sa gawin ito sa pamamagitan ng petsa, pagkatapos ay mayroon kang magdagdag ng ibang field sa iyong post
ng kapag aktwal na ito ay nai-post.
Ang mga salik 2 - ano data na nais mong gamitin at kung paano mo gustong upang tingnan ito -
dapat mong isipin ang tungkol sa kanila muna dahil nakadepende sila sa isa't-isa,
at ito ay pagpunta sa maging mas mahirap upang idagdag ang mga ito sa paglaon.
>> May ilang iba pang mga pagsasaalang-alang.
Kapag nag-iisip ka ng tungkol sa kung paano ka makitungo sa mga modelo sa server
kung ano ang nais mo upang tumingin sa ay -
gusto talaga upang gawing ang server na simple hangga't maaari.
Ang paggawa ng stuff sa gilid client ay karaniwang mas mabilis kung maaari mo itong gawin nang wagas sa client
nang hindi ginagawa ng anumang uri ng kahilingan sa network.
Ang ideya ay upang gawin ng maraming ng mga query na magagawa mo sa client.
Ang tanging problema sa na
ay kung humiling ka ng lahat ng iyong data sa simula
pagkatapos na pupuntahan tumagal ng isang mahabang oras upang i-load.
Kaya, ang ideya ay upang strike ng masaya daluyan sa pagitan ng pagkakaroon ng sapat na data sa client
na maaari mong gawin ang karamihan ng iyong trabaho doon ngunit hindi lamang sa pagkuha ng lahat ng bagay nang sabay-sabay
nang sa gayon ay makakuha mo ba talagang mababagal na oras ng pag-load sa simula.
Halimbawa, para sa iyong data pusa
gusto mo marahil upang makuha ang isang bungkos ng mga kamakailang post pader.
Hindi mo gugustuhing kunin ang lahat ng mga ito dahil maaaring na bumalik pagkatapos ng dalawang taon.
Ngunit hindi mo nais na kunin ang mga ito nang paisa-isa
dahil na ipakilala ng maraming overhead network.
>> Madalas ay hindi biro - sa sandaling mayroon kang isang running database -
ito ay madalas na masyadong mahirap upang baguhin kung ano ang data na mayroon ka sa ito -
iyon ay, magdagdag ng isang bagong database ng hanay o isang bagay -
kaya isa magandang diskarte ay ang tunay na panatilihin lamang ng maraming ng iyong data sa isang text patak -
isang JSON patak - JSON pagiging JavaScript Bagay pagtatanda -
Ang dahilan na kapaki-pakinabang ay dahil pagkatapos ay maaari mong magdagdag ng bagong mga katangian ng
sa lahat ng mga JSON blobs nang hindi binabago ang iyong database.
Ang tanging downside sa na ay na kung mayroon kang isang bungkos ng mga patlang
na iyong idinagdag sa ibang pagkakataon sa - tulad nakatago sa JSON na patak -
pagkatapos ito ay mas mahirap para sa mga tanong sa kanila sa loob ng database.
Halimbawa, kung ikaw mamaya - kung nagkaproblema ka sa iyong modelo post na namin tinalakay nang mas maaga
lang sa mga may-akda, ang tatanggap at ang teksto -
maaari ka ring magkaroon ng isang JSON patak at pagkatapos ay kung gusto mo sa ibang pagkakataon upang magdagdag ng isang patlang ng petsa
hindi mo na kailangang baguhin ang iyong database.
Maaari mo lamang idagdag ang mga petsa sa lahat ng mga patlang ng teksto.
At pagkatapos ay nais mo magagawang tumingin sa mga nasa gilid client,
ngunit hindi mo magagawang i-query ang mga ito sa gilid ng server
dahil ito ay nakatago sa loob ng teksto na.
>> Ang iba pang mga isyu na gusto mong isipin ang tungkol
ay kung paano ang iyong mga client at ang iyong server ay pumunta sa upang makipag-ugnayan.
Karaniwang gusto mong panatilihin ito simple hangga't maaari.
Maaari mo lang ay tulad ng isang get-me-ang hiling na ito ng data,
isang lumikha-a-bagong-bagay na bagay, at ng isang kahilingan sa pag-update-isang-lumang-bagay.
At ang mga magiging lahat ng iba't ibang mga URL sa isang server na sa iyo -
na ang mga browser ay - maaari mong gamitin ang AJAX mga kahilingan para sa lahat ng mga
at alinman makatanggap o data post.
Muli, para sa aming mga Cat halimbawa ng Facebook,
maaari kang magkaroon ng URL na iyon upang makakuha ng isang indibidwal na post,
at gusto mong magkaroon ng URL para sa paglikha ng isang bagong post pader
at marahil isang URL para sa pag-upload ng iyong larawan sa profile, mga bagay-bagay tulad na.
Ngunit muli, na i-pre-fetch ang karamihan sa iyong mga data sa gayon ay hindi mo na kailangang panatilihin
paggawa ng mga kahilingan sa network.
Para sa kadahilanang iyon, hindi mo maaaring nais na magkaroon na ang mga indibidwal kahilingan get para sa isang solong-post,
at sa halip ay gusto mo lamang ng 1 kahilingan get para sa buong pader.
At pagkatapos ay kung sinusubukan mong i-strike ng balanse dahil -
ito ay pagpunta din sa nakasalalay sa iyong application.
Dahil kung ikaw ay umaasa na ang mga tao ay may 10 o 20 wall post lamang
na magiging masarap.
Ngunit kung inaasahan mo ang mga ito ay may libu-libong pagkatapos na kahilingan ay tumagal ng masyadong mahaba,
at kaya maaaring gusto mong magdagdag ng isang makakuha ng-lahat-ng-post-mula ng parameter.
>> Para sa lahat ng mga marahil ka ng pagpunta sa gusto upang i-sync ang iyong data sa JSON -
JavaScript Bagay pagtatanda.
Pretty magkano ang bawat wika deal sa JSON nang mahusay.
JQuery ay may ito maganda getJSON function na ay gawin ang lahat ng mga matapang na trabaho para sa iyo.
At sa PHP mayroong napakabuti function JSON komunikasyon din.
Kaya, na marahil ang pinakamahusay na format para sa pagpapadala ng iyong mga modelo at pabalik.
>> Bilang isang halimbawa ng kung ano ang nai-usapan natin ang tungkol sa ngayon,
narito ang isang halimbawa ng daloy para sa iyong Cat application Facebook.
Nagsisimula off ito sa iyong browser humihiling ang URL base website.
Ang server ay marahil nais magpadala ng higit sa static HTML at ilang JavaScript at CSS.
Ito ay karaniwang pinakamahusay na hindi na gawin ang anumang pag-render sa server.
Ikaw marahil ay hindi nais na -
kung ano ang server ay hindi paggawa doon ay pagpunta down ang listahan ng mga pader mga post
at pagbuo ng ilang mga HTML para sa bawat isa at pagpapadala na sa paglipas.
Ito ay karaniwang pinakamahusay na upang gawin iyon sa gilid ng client dahil kung hindi man
tuwing gusto mong upang muling iguhit ang isang bagay, kailangan mong gumawa ng kahilingan sa server.
At na masyadong mabilis ay nagbibigay sa iyo ng maraming overhead.
Ito ay karaniwang pinakamahusay na lamang upang nagpapadala ng barko down na static HTML
at pagkatapos ng JavaScript at CSS na ang gagawin ng pag-render sa gilid ng client.
Sa sandali na ang bagay-bagay na nagmumula sa,
pagkatapos ay maaari kang magkaroon - sa JavaScript - maaari mong gawin ng mga kahilingan para sa data ng pader
at bagay-bagay tulad na, at pagkatapos na ang server ay isa lamang lamang paggawa query ng database
at pagsuri ng mga pahintulot.
Ang tanging mahalagang bagay ay na hindi ito maaaring magpadala sa paglipas ng ilang mga iba pang mga gumagamit post pader
na hindi ka pinapayagang makita.
Maaari isa lamang itong maging isang napaka-manipis na layer ng access sa iyong mga database,
at pagkatapos ang lahat ng mga nagpapakita ng data - lahat ng mga tanawin at mga bagay-bagay -
mga Maaari itong mangyari sa iyong browser, at pagkatapos ay kapag nais mong gumawa ng isang post o isang bagay
kang magpadala lamang ng isa pang kahilingan.
>> Mayroon ding ilang mga magarbong bagay-bagay na maaari mong gawin sa ibabaw ng mga ito.
Sa mga tuntunin ng mas tiyak na impormasyon teknikal,
pagbubuo sa simpleng JavaScript ay maaaring maging isang maliit na bit masakit,
kaya mayroong ilang mga aklatan at mga tool na makakatulong sa marami kang kasama na.
Sa tingin ko na ang lahat Maaaring narinig mo tungkol sa jQuery na ginagawang paggawa sa pag-render ng HTML
at pagmamanipula ng maraming mas madali - magkaroon ng maraming mga magarbong mga pag-andar para sa pagkupas in at out,
at ang paggawa mabilis animation.
Mayroon ding ang library na tinatawag na Underscore.js.
Ito ay may napakaraming mga kapaki-pakinabang na utility na mga pagpapaandar, mga bagay-bagay na nais mong asahan ang JavaScript upang magkaroon
na ito talagang doesn't - mga bagay tulad ng shuffling isang array,
pag-aalis ng mga nauulit mula sa isang listahan, o pagyupi ng isang listahan ng mga listahan.
Ito ay isang maliit na code halimbawa lang.
Guhitan sa ilalim ay may isang tonelada ng mga magaling na mga function na nais mong magkakaroon ka ng lahat ng oras.
>> At pagkatapos ay mayroong 1 pang library na nais kong gumastos ng kaunting oras sa
tinatawag Backbone.js dahil gulugod talaga nakakatulong harapin mo na may mga modelo sa gilid ng client
at maraming ang pagkalito na maaari itong magsanhi.
Gulugod ay nagbibigay sa iyo ang konsepto ng mga modelo at mga koleksyon
sa JavaScript na kung saan ay isa lamang nang eksakto tulad ng mga bagay ng JavaScript
sa array JavaScript ngunit mayroon sila ng mga kaganapan kapag binago mo ang kanilang mga pag-aari.
Tulad ng sa JavaScript, maaari kang magkaroon ng isang kaganapan kapag ang isang pindutan ay makakakuha ng nag-click o isang bagay
mga gulugod ng mga modelo at mga koleksyon gulugod ay i-broadcast ang mga bagay tulad ng
na kapag magbago ang mga ito.
Iyon ay nangangahulugan na maaari mong magsulat lamang ng isang bagay tulad ang snippet ng code dito -
ito sabi, sa tuwing idagdag mo ang anuman sa mga post array mo redraw ang buong pader.
At ito sasabihin sa tuwing bilang ng mga gusto ng isang post ng mga pagbabago,
mong ipaalam ang manggagamit na ang gumusto isang tao ang kanilang mga post.
O kaya sa tuwing ang anumang ari-arian ng isang post magbabago ka redraw ang post na ito.
Bagay-bagay tulad na ay magse-save ka tonelada ng pagiging kumplikado dahil kung hindi man
kung wala kang ilang mga balangkas na tulad nito pagkatapos ay sa bawat oras na ang iyong code na palitan mo
anumang bagay tungkol sa isang post, gusto mo kailangang tandaan ang iyong sarili upang tawagan ang lahat ng mga render function
at bagay-bagay tulad na, at kung nais mong magdagdag ng bagong bagay na nangyari
sa bawat oras na-modify na isang post ang kailangan mong i pumunta sa pamamagitan ng bawat lugar sa iyong
code na nabago mo na ang isang post at magdagdag ng na bagong bagay.
Ang isang framework tulad nito ay mag-aalis ng maraming na sa pagitan ng-layer na komunikasyon
na ginagawang ang iyong code na masalimuot at mahirap upang mapanatili.
>> Mayroong isang maliit na bit tungkol sa tanawin din.
Pupunta ako sa iwanan ang karamihan sa mga ito sa Billy dahil hindi nila technically hindi masyadong mahirap.
Gamitin ang jQuery para sa iyong mga tanawin. Ito ay halos tulad ng isang pangangailangan sa puntong ito.
Lamang ay ginagawang lahat ng bagay kaya mas madali.
Maraming ng mga aklatan.
Kung na-kumplikado elemento user-interface,
kung nais mo ang isang auto-complete bagay o gusto ang isa sa mga magarbong multi-tagapili -
kung gusto mo ng anumang bagay tulad na, dapat mong marahil lamang maghanap sa paligid
at maaari mong malaman ng isang magandang library na ang gagawin kung ano ang gusto mo.
Billy ay magpapaliwanag nang higit pa tungkol sa mga aktwal na mahirap mga bahagi ng mga view.
Gayundin, bilang isang bahagi tala, gulugod ay may ilang mga pag-andar para sa paggawa ng mga tanawin makipag-usap
mabuti na may mga modelo - tingnan ang dokumentasyon para sa lahat ng mga aklatan, talaga.
Hanapin lamang sa mga doc. Ang mga ito ay mahusay na nakasulat at madaling sundan.
Sa pangkalahatan, maaari mong medyo magkano lamang sa Google kung mayroon kang mga problema.
May ng maraming mga tao gamit ang mga ito.
Sa tingin ko ito bilang isang panghuling tala.
>> Mayroong ilang mga mas advance na mga bagay na maaari mong gawin din
kung naghahanap ka upang gumawa ng dagdag na kahanga-hangang iyong web app.
Maaari mong gawin - ang bagong pagtutukoy HTML5 ay may napakaraming mga magarbong mga bagay na maaari mong gawin.
Lokal na imbakan - na kung saan ay maaari kang mag-imbak ng data sa browser -
sa halip ng pagkakaroon upang bumalik at bumasang mabuti ang server para sa lahat ng bagay,
maaari mong panatilihin ang ilan sa mga ito sa client at na nagbibigay-daan sa kahit na ang mga tao -
sa ilang mga kaso ay maaaring kahit na ito daan sa iyo upang gamitin ang webpage offline.
Mayroong bagay na ito na tinatawag na websockets na ng iba't ibang uri ng komunikasyon ng network
kung saan sa halip na lamang gumawa ka ng isang kahilingan, kang makakuha ng tugon at tapos ka na,
panatilihin mong buksan ang isang koneksyon sa server at sa gayon maaari mong gumawa ng mga bagay tulad ng
real-time na mga update.
Kaya, kung sinusubukan mong gumawa ng isang chat app, maaari mong gamitin websockets
upang makipag-lipat sa gayon ay hindi mo ay magkakaroon upang panatilihin ang humihiling,
"Oh, server, ay sinuman padalhan ako ng isang chat?" bawat 10 segundo o isang bagay.
Mayroon ding isang kawili-wiling tampok ng HTML5 kung saan maaari mong gawin itong hitsura
ang URL ng pahina ay nagbabago nang hindi na kinakailangang talagang i-reload ito.
Maaari mong gamitin pabalik at ipasa ang mga pindutan nang hindi ginagawa ng grupo ng mga kahilingan sa network.
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.
>> Mayroon ding bagay na ito na tinatawag na CoffeeScript.
CoffeeScript ay isang ibang wika, talaga, na compiles pababa sa JavaScript.
Gusto mong isulat ang lahat ng iyong code sa CoffeeScript, at pagkatapos mong patakbuhin ang tagatala,
at ito spits out ng isang JavaScript na file na maaari mong isama sa iyong webpage.
Ang dahilan na CoffeeScript maganda ay dahil ito ay makakakuha ng mapupuksa ang isang pulutong ng mga
kakaiba mga kaso na ang JavaScript ay kung saan ay katumbas ng katumbas,
at katumbas Kapantay gawin iba't ibang mga bagay, o gusto -
mayroon itong nicer syntax para sa pagharap sa array at pag-andar.
Ito ay isang maliit na snippet ng CoffeeScript na gumagawa ng isang listahan ng lahat ng mga parisukat
mula sa 10 ^ 2-1 ^ 2 sa reverse order.
Tulad ng iyong nakikita, ay madalas na nagbibigay-daan sa CoffeeScript ipahayag mo sa 1 linya
ano ang magiging tumagal 5 linya ng JavaScript.
Maaari itong gumawa ng mga bagay ng maraming mas madali.
Ito ay isang maliit na bit ng bagong syntax upang matuto sa una,
ngunit ito ay talagang gumawa ka ng mas produktibo sa katagalan.
>> Maaari ka ring gumamit ng iba pang mga wika sa server kaysa sa PHP -
mga wika tulad ng Ruby, Python, o mayroong kahit isang proyekto na tinatawag na node.js
na hahayaan ginamit mo ang JavaScript sa server.
Personal, talaga ko, talaga mapoot PHP.
Ko lang huwag tangkilikin nagtatrabaho sa mga ito.
Kung ikaw, masyadong, sa tingin na ito ay isang kahindik-hindik na cluge ng isang wika,
pagkatapos ay maaari mong gamitin ang isa sa mga halip.
Sa pangkalahatan, kung nais mong gawin ang isang bagay at hindi mo talaga alam kung paano mo gawin ito,
maghanap lamang sa Internet.
Mayroong tonelada at tonelada ng mga mapagkukunan lalo na sa -
StackOverflow ay isang mahusay na isa.
Ito ay ang website na ito kung saan hinihiling programmer bawat iba pang mga tanong.
Baka gusto mong tumakbo sa ito kung ikaw ay nagkakaproblema sa mga hanay ng problema CS50.
At may mga tonelada ng mga aklatan para sa paggawa halos kahit ano gusto mo.
Kung gusto mong gawin ang isang bagay at hindi mo alam kung paano ito gawin,
huwag ipagpalagay na ito ay imposible.
Hanapin lamang sa paligid at maaari mong mahanap ang ilang mga mahusay na mapagkukunan.
>> Bilang isang pangkalahatang-wrap up,
ang pangunahing takeaways ay panatilihing simple ang mga bagay.
Ang mas kumplikado ang iyong code ay sa simula
at ang higit pa subukan mo at gawin magarbong bagay-bagay,
ang mas matagal upang makakuha ng isang bagay na talagang functional
at ang mas mahirap ito ay upang baguhin sa ibang pagkakataon.
Kaya, gawin ang unang bagay ang pipi, madaling paraan.
Upang pumunta kasama na iyon,
huwag matakot ng itsa lumang code o paglilinis up ito ng maraming.
Sa pangkalahatan, sa sandaling aktwal mong magkaroon ng isang bagay sa pagtatrabaho,
ito ay lubhang mas madaling isipin ang tungkol sa kapag handa ka pa rin sa simula yugto
ng kung paano ko ilalagay ang lahat ng sama-sama.
Pinakamainam na gawin ang dumbest posibleng disenyo na gumagana
at pagkatapos ay mapagbubuti iteratively kaysa sinusubukang upang makakuha ng lahat ng bagay kanan sa unang pagkakataon.
Sa mga tuntunin ng client-server division, subukan at panatilihin ang napaka-simpleng iyong server -
lamang ng isang database at ang ilan sa pagpapatotoo at huwag gawin ang anumang matapang na trabaho doon.
Gawin ang lahat ng iyong mga komplikadong bagay-bagay sa gilid ng client sa browser
sa JavaScript hanggang kaya mo.
Tumingin sa paligid para sa mga library na mas mahusay ang iyong buhay gumawa.
Laging mas mahusay na gamitin ang code na sinulat ni ibang tao
kung ikaw ito - at hindi upang isulat ito sa iyong sarili.
Marami ng mga bagay-bagay sa Internet. Google ay ang iyong matalik na kaibigan.
Ang Google ay matalik na kaibigan ang programmer ni.
Oo, talagang hindi matakot na tumingin sa paligid para sa mga bagay-bagay.
Ayos lang. At sa ibabaw sa Billy.
>> [Billy] talaga, bago ako magsimula sa ilang mga bagay-bagay na disenyo,
ang sinuman may anumang mga katanungan para sa Ben tungkol sa anumang bagay na siya usapan tungkol sa?
Okay, mabuti.
Muli, ipaalam sa amin kung anuman ang hindi malinaw
o kung gusto mo sa amin upang pumunta sa paglipas ng isang bagay ng kaunti pa.
Pupunta ako sa hakbang likod ng kaunti at makipag-usap tungkol sa higit pang mga pangunahing mga bahagi ng disenyo.
Binanggit ang modelo na tinatawag na Ben - paumanhin, ang sistema ng controller ng view ng modelo
na kung saan ay isang uri ng mga teknikal na aspeto, kaya ako pagpunta sa tumingin sa mga tanawin partikular,
at pupuntahan ko na magsimula sa kung paano mo nais magdisenyo ng isang view na mukhang maganda.
Narito ang uri ng isang talagang pangunahing template para sa aming Cat Facebook.
Sa tingin ko mayroong ilang mga batayan sa modernong disenyo ng UI
na nagkakahalaga ng tumatawag.
Maaari mong mapansin mayroong isang pulutong ng mga puting espasyo sa buong pahina,
maraming kuwarto para sa mga bagay.
Huwag pakiramdam tulad ng kailangan mong squash mga bagay sa isang pahina.
Gusto mong mag-iwan ng maraming mga kuwarto bukas, at kung pumunta ka sa halos anumang mga modernong website
makikita mo ang mayroong puting lahat ng dako.
May puti sa lugar na hindi mo aasahan.
Mayroon kang ito paleta ng kulay, at ito ay matalino sa simula
upang pumili ng isang kulay palette na kayo ay pagpunta upang gumana sa at bumuo.
Mo ring - makakatulong ito sa upang pumili ng isang typeface, at na paraan na iyong uri ng pakikipagtulungan sa mga
mga kongkreto batayan ng disenyo.
Mayroon kang ang iyong uri, mayroon kang ang iyong mga kulay, at pagkatapos ay maaari mong uri ng
magkasya lahat ng iba pa sa bilang kinakailangan.
Kaya, tulad ng sinabi ko, may scheme ng iyong kulay na gusto mong gamitin ang mas agresibong mga kulay ng scheme ng iyong kulay
paisa-isa. Ang mga header ay magaling. Pindutan ay mabait sa mayroon talagang malaki, marangya kulay.
Ngunit sa pangkalahatan, kung mayroon kang isang website na may lahat ng dako kulay,
lahat nakapako ka sa mukha, tinitingnan nito lamang cluttered, at ito ay hindi mahusay.
Na nais mong gamitin sa pangkalahatan liwanag na kulay.
Subukang, muli, pumili ng isang kaakit-akit na magkaugnay na scheme ng kulay.
Maaari kang magkaroon ng mga maliliit na splashes ng maraming mga kulay -
na maaaring magmukhang medyo maganda, ngunit gusto mong gamitin ang mga ito kaakit-akit ng paisa-isa.
>> Tulad ng sinabi ko, gusto mong maging minimal. Mas ay halos palaging higit pa.
Kung maaari mong ipakita ang isang bagay o hindi ipakita ang isang bagay,
at ikaw ay uri ng sigurado kung dapat itong maging doon sa pamamagitan ng default -
marahil ikaw ay pinakamahusay na off Aalis ito. Maaari mong palaging idagdag ito sa ibang pagkakataon.
Oo, panatilihing simple ang mga bagay.
Ngunit pinaka-mahalaga, gusto mong isaalang-alang ang maramihang mga disenyo.
Huwag isiping kapag gumawa ka ng isang site, mayroon ka nito sa iyong ulo na kayo ay pagpunta sa
gawin ang site sa isang tiyak na paraan, at ito ay pagpunta upang tumingin nang eksakto tulad nito.
Ito ay pagpunta sa may asul na header sa tuktok at ang mga asul na bahagi ng bar
at pagkatapos ay ang dilaw na bagay sub-header.
Gusto mong gumawa ng maramihang mga template.
Ikaw ay maaaring alinman sa - kung ikaw ay may mahusay na Shop ng Larawan, maaari mong buksan up na at uri ng
disenyo ng isang website na nais mo ito upang tumingin.
Kung hindi, maaari mo lamang gamitin ang pen at papel,
ngunit sa simula up ng maramihang mga disenyo.
Gusto mong isa lamang magkaroon ng isang set up kung saan mayroon kang maraming iba't ibang mga disenyo,
at kung ang isa ay nagtatapos up sa pagtatrabaho, pagkatapos ay mabuti iyan.
Kung ang isa ay nagtatapos up nabibigo, pagkatapos ay palagi kang mayroong isa pang isa sa bumaling.
Sa pangkalahatan, huwag parang dapat kang nilimitahan
sa kahit anong disenyo una mong magpasya sa.
Mga Disenyo ay napaka-variable, at bahagi ng kahalagahan ng modelo
controller view ng sistema ay na maaari mong magpalit in at out iba't ibang mga view na gusto mo.
Maaari mong ugoy ang data sa isang paraan, at pagkatapos ay magpasya, oh, talaga, hindi iyon gumana na rin.
Sa tingin ko ito uri ng masyadong kumplikado o mayroong isang bahagi dito na hindi talagang gumagana,
kaya lang Pupunta ako sa lahat-lahat abandunahin ito view at magpalitan sa isang ganap na bagong isa.
Maaari pa rin naming gamitin ang lumang modelo at ang lumang controllers.
Maaari naming gawin ang lahat sa server at client gaya ng ginagawa natin dati.
Ngunit ang aktwal na alon ng data bilang na ipinapakita ay magiging bahagyang naiiba.
>> Bilang malayo bilang aktwal na pagpapatupad ng mga disenyo na gusto mo,
sa sandaling mayroon kang ilang mga disenyo sketched out sa papel o sa Shop o kahit anong Photo,
mayroong isang bilang ng mga tool na ginawang magagamit para sa iyo.
Ang unang ikaw ay napaka-pamilyar sa kung saan ay iyong HTML, PHP, o anumang
wika na ginagamit mo lang sa code ng static na mga pahina sa iyong website.
Ikaw ay nagtrabaho ng maraming may HTML na uri ng nagbibigay sa iyo ng mga tag na ito
na maaari mong ilagay ang mga bagay sa, at isa lamang ito ay isang paraan ng pag-aayos ng iyong nilalaman.
Halimbawa, mayroon kang ang header up doon, kaya ka pagpunta sa magkaroon ng isang header tag,
at ito ay pagpunta sa may ilang mga teksto sa loob nito na kung saan ay marahil pagpunta sa maging sa isa pang tag.
Pagkatapos mayroon kang isang sidebar siguro na may ilang iba't ibang mga link,
at iyon ay pagpunta sa lahat maging sa hiwalay na mga tag.
Kaya, isa lamang ang HTML sa gitna nito ay isang paraan ng paghahati up ang pahina kung paano
mo ring nais upang i-format ito.
Kaya muli, nakita mo na dati.
Ikaw ay medyo kumportable sa pakikipagtulungan sa mga ito ngayon
given na nagawa mo na ang huling pset sana,
kaya na dapat ay walang problema.
>> Pagkatapos ay mayroon kang CSS na talaga humahawak ng lahat ng mga disenyo ng static na mga aspeto.
Ito pangasiwaan ang lahat ng mga kulay, ang lahat ng mga pagpoposisyon ng iba't ibang mga elemento,
kung saan sila pumunta na may paggalang sa isa't isa,
gaano kalaki ang mga ito, ang iba't ibang mga uri ng positionings na mayroon kang -
sa ibang salita, maaari mo pa bagay naayos upang kapag mag-scroll ka pababa sila manatili,
o maaari kang magkaroon ng mga bagay na may kaugnayan sa iba pang mga elemento.
Lahat ng na uri ng mga bagay-bagay ay nasa CSS.
Higit pa rito, maaari mong gawin ang iba't ibang mga dekorasyon, maaari kang magkaroon ng mga kulay ng teksto,
teksto ng epekto, ang lahat ng na uri ng mga bagay-bagay.
Ben ay nagbigay ng talagang mahusay na pantas-aral sa ito huling katapusan ng linggo,
at sa gayon ako ay talagang suriin na kung plano mong ma-paggawa ng ilang magarbong bagay sa CSS.
CSS3 ay talagang ang pinakabagong bersyon ng CSS, at maaari itong gawin sa lahat ng mga uri ng talagang magandang bagay.
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
gawin mas modernong at magarbong iyong website.
>> Ang susunod na tool ay JavaScript at jQuery na Ben usapan kaunti tungkol sa,
ngunit maari ba akong makakuha ng isang maliit na higit na malayo sa.
JavaScript, pati na iyong nagtrabaho sa ito ng kaunting, o hindi bababa sa nakikita ito sa panayam,
ay uri ng isang paraan ng paggawa dynamic na bagay sa HTML.
HTML, bilang alam mo, ay static, kaya sa sandaling ikaw ay may HTML na hindi mo mababago ito.
Ngunit ang JavaScript, sa ilang mga paraan, ay isang paraan upang magagawang baguhin HTML.
Kaya maaari mong gawin iyon, at iyon ang mahusay, ngunit JavaScript ay tunay na isang sakit upang gumana sa.
Ito ay kaya mahaba at mapurol ang ulo at gawin kahit na ang pinakasimpleng bagay
Nangangailangan ng maraming mga linya ng JavaScript.
Kaya, jQuery ay isa lamang sa isang library para sa JavaScript na pinapasimple ang lahat ng iyon.
Sinasabi nito, okay, kung gusto mong magkaroon ng isang parisukat na kahon dumating mula sa kaliwa
at fade sa pahinang ito kaya't ito ay sa gitna, sa JavaScript na maaaring tumagal -
Hindi ko alam, isang daang mga linya upang gawin, at magiging isang sakit,
at dumating ka na ng mga ito hating lahat ng bagay tungkol sa web programming.
JQuery talaga mayroon kang elemento-tuldok-fade-in ang, o isang bagay tulad na.
Kaya, napaka, napaka-simpleng mga pag-andar na hahayaan gawin mo ang lahat ng uri ng mga cool na mga animation
at na uri ng bagay.
Ang iba pang mga bagay na ang mga 2 ay talagang mabuti para sa ay lamang ang paggawa ng dynamic na bagay
sa website.
Kaya, sa halip ng pagkakaroon lamang ang iyong mga HTML na pahina - na nagpapakita ng ilang data ngunit hindi talaga
gumawa ng kahit ano - JavaScript at jQuery ay magbibigay-daan mayroon kang mga pindutan na maaari mong i-click sa,
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
Idinagdag o tinanggal. Maaari kang magdagdag-delete, na uri ng bagay.
Kaya, jQuery ang ginagawa tonelada ng mga cool na bagay.
At Vipul ay aktwal na nagbibigay sa isang pantas-aral sa ito ngayon, naniniwala ako, sa 5-singko ng hapon,
kaya kung maaari kang manatili sa paligid para sa na mahaba, na gagawin - 5 o 4?
Four. Sorry. Ito ay talagang pagkatapos ng karapatang ito, kaya Gusto ko inirerekumenda
nananatili sa paligid para dito kung magagawa mo na.
JQuery ay sobrang, sobrang kapaki-pakinabang, at magagawa mong gawin ng maraming mga talagang magandang bagay sa mga ito
para sa halos anumang proyekto web development.
>> Ngayon Pupunta ako upang makapunta sa uri ng isang pagkakaiba.
Gumagamit ako ng pakikipag-usap talaga tungkol sa user interface.
Interface ng User ay lamang ang disenyo ng site.
Subalit mayroong isang uri ng isa pang konsepto na karanasan ng user.
Ang dalawang ay ibang-iba.
Interface ay talagang bahagi ng karanasan.
Sa ibang salita, kapag pumunta ka sa isang site, tumingin ka sa interface.
Iyan ay bahagi ng kung paano kang makaranas ng site.
Ngunit ang karanasan ng gumagamit ay higit pa sa na.
Karanasan ng User ay tungkol sa kung ano ang impression na hindi nakakaabala ang user mula sa iyong site ay.
Kaya, malinaw naman, interface ay isang bahagi ng na.
At ito ay talagang isang kinakailangang bahagi, ngunit hindi ito sapat.
Sa madaling salita, kung mayroon kang isang masarap na interface, at ito ay medyo at makulay at lahat ng iyon,
mabuti iyan; ngunit kung gumagamit ang napupunta sa iyong site, nakita ng isang kaakit-akit na layout at ito ay lito sa pamamagitan ng
ang lahat ng bagay, ay walang mga ideya kung paano gumawa ng kahit ano, at pagkatapos ay malinaw naman naisagawa mo ang isang talaga
mahinang website.
Iyan ay isang uri ng kung saan nagmumula ang karanasan ng gumagamit in
Pupunta ako makipag-usap ng kaunti tungkol sa disenyong UX - UX ay maikli para sa karanasan ng gumagamit -
at uri ng kung paano mo maaaring tiyakin na mayroon kang isang mahusay na karanasan ng user.
Ang unang punto ay na maaari mong disenyo ng isang website kung saan maaari gawin ang isang gumagamit ng anumang bagay na
marahil ay nais gumagamit na iyon.
Ngunit kung hindi maaaring maisip ng user ang kung paano gawin ang mga bagay -
sa ibang salita, kung ang gumagamit ay hindi magkaroon ng isang magandang ideya kapag pumunta sila sa iyong site ng,
"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
pader ng isang tao, pagkatapos kong pumunta sa kanilang wall at mag-click sa isang maliit na kahon. "
Kung ang gumagamit ay hindi alam na, pagkatapos ay mabisa mong magkaroon ng hindi talaga
ipinatupad na pag-andar nang tama.
Bahagi ng pagpapatupad ng isang pag-andar ay na ang mga gumagamit ay aktwal na makakagamit nito.
At ito ay maaaring maging nakakabigo - maaari kang gumawa ng isang site, at maaari itong gawin ang lahat ng uri ng
kahanga-hangang mga bagay, ngunit pagkatapos ay magkakaroon ka ng mga tao subukan ito at sabihing, "Hindi ito maaaring gawin ito.
Bakit hindi ito maaaring gawin ito? "At makikita mo sinasabi pabalik sa kanila,
"Well, ito maaari. Mayroon kang lamang upang pumunta sa ika-7 drop-down menu sa ito nakatago
pahina na lamang ay natagpuan sa pamamagitan ng isang link sa ibabang kanang sulok "o isang bagay.
Malinaw, na hindi mo nais na.
Gusto mo ito upang maging malinaw sa iyong mga user kung ano ang kanilang dapat gawin,
at dapat itong maging simple at madaling maunawaan para sa kanila.
>> Isa pang bagay na nais mong subukan upang gawin ay, kapag ang isang tao ang nangyayari upang pumunta sa iyong site
at 9 out ng 10 beses na gawin ang pagkilos na A, at 1 out ng 10 beses na gawin ang pagkilos B,
malamang na gusto upang ituon ang kanilang karanasan sa pagkilos A.
Sa madaling salita, nais mong gawin itong napaka, napakalinaw kung paano gawin A.
A ay dapat na front-at-center - pumunta sa site, tingnan ito; oh, ito ay doon.
Sapagkat B malinaw naman nais mong maging malinaw, ngunit maaari mong iwanan ito nang kaunti pa
sa background.
David ay nagbibigay ng isang magandang halimbawa ng mga ito sa panayam,
kung saan ay ang Boston T system.
Kapag pumunta ka sa Boston T at nais mong bumili ng tiket,
mayroon kang upang makakuha ng sa 5 mga menu bago mo talagang bumili ng tiket
para sa isang $ 2, $ 2.50 na halaga, na kung saan ay kung magkano ang kinakailangan upang sumakay ng subway
sa isa direksyon.
Iyan ay isang problema dahil ang karamihan ng mga tao na nakasakay sa subway
marahil gusto lamang upang pumunta sa isang lugar, bumili ng kanilang mga tiket, sumakay kaagad.
Hindi ito magkaroon ng kahulugan na mayroon sila upang pumunta sa pamamagitan ng maraming iba't ibang mga menu
makapunta doon.
Ang isang mas mahusay na karanasan ng gumagamit ay magiging isang mabilis na pindutan sa unang pahina
na lang sinasabi, 'bumili ng isang one-way ticket,' at na ilalagay sa lahat ng mga standard
mga default na halaga; at pagkatapos ay kapag ang isang tao ay nais na bumili ng isang iba't ibang mga tiket kaysa doon,
pa rin sila, siyempre, mayroong pagpipilian na, ngunit ang na-optimize para sa
ang kaso karaniwang gamitin na kung saan ay talagang mahalaga.
Maaari mong makita ang mga halimbawa ng mga ito sa Facebook, tama?
Kung pupunta ka sa Facebook at nais mong mag-post ng isang katayuan,
ito ang tama sa tuktok na kung saan ay kung ano ang madalas na gusto mong gawin.
Sa sandaling ipasok mo ang pahina, maaari mong gawin ang mga pinaka-karaniwang bagay na
gusto mong gawin.
Kung gusto mong gawin bahagyang mas kumplikadong mga bagay tulad ng,
sabihin gusto kong pumunta sa pader ng aking kaibigan at mag-post ng isang larawan sa ito -
kung saan kukunin ko na nais na gawin madalas, ngunit hindi bilang madalas hangga't nagpo-post ng mga update ng katayuan -
kaya sa kasong iyon, i-type ko ang kanilang pangalan sa kahon sa tuktok, i-click sa kanilang profile,
at pagkatapos, pa rin, ito ay karapatan sa tuktok doon sa sandaling nakuha ko sa kanilang profile.
Muli, ako na-optimize sa priority para sa mga kaso pinaka-karaniwang paggamit.
>> Ang isa pang mahalagang bagay ay na madalas ang mga tao ay isang uri ng subukan upang makakuha ng paligid na ito
sa pamamagitan ng sinasabi, okay, kaya ginawa ko na ang mga site at mga tao ay paghahanap ng mga ito nakakalito,
at iyon ang isang problema, tama?
Malinaw, hindi ko nais ang mga tao na malito sa pamamagitan ng ang nilalaman ng aking site.
Subalit ang paraan upang malutas na hindi na magkaroon ng isang bagay na pop up na nagsasabi,
hey, ako ng pagpunta sa magturo sa iyo kung paano gamitin ang site na ito.
Hakbang 1 - i-click ang pindutan na ito. Hakbang 2 - pumunta dito.
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
talagang hindi ang pinakamainam na paraan.
Kung pumunta ako sa isang website at bigla akong bombarded sa tutorial na ito na nagsasabi sa akin
kung ano ang gagawin at kung saan upang pumunta at lahat ng iyon, hindi iyon masaya para sa akin.
Ito ay hindi isang magandang karanasan para sa akin.
Ito ay uri ng isang sakit. Gusto kong simulan lamang ang paggawa ng bagay.
Ang mga tao ay pagpunta upang isara out sa kanilang mga dialog box,
o makakuha ng out ng pagtuturo, hindi alam kung ano ang gagawin, at pagkatapos ay magreklamo dahil
hindi mo pa sinabi sa kanila kung ano ang gagawin.
Ang paraan upang malutas ito ay hindi sa pamamagitan ng pagbibigay ng anumang uri ng tutorial o direksyon -
anumang bagay tulad na.
Bilang magkano bilang maaari mo itong maiwasan, mo ba talagang ipakita ng user ang kung ano ang gagawin
lamang sa pamamagitan ng likas na katangian ng kung paano ang website ay inilatag out.
Sa madaling salita, kung pumunta ako sa Facebook nang hindi nagla-log in,
ang unang bagay na nakikita ko sa pangunahing pahina -
ito ay isang maliit na pag-login box. Kaya, duh. Mayroon akong mag-log in Ito ay mula doon.
Sapagkat, kung nagpunta ako sa Facebook at nagkaroon kong i-click ang isang maliit na link sa ibaba
na sinabi 'mag-log in' at ang natitirang bahagi ng pahina ay ilan lamang uri ng larawan o ng isang bagay,
Hindi ko talaga alam kung ano ang gagawin, tama? Gusto ko malito.
Kaya, maaari nitong sabihin sa akin upang pumunta down na doon at i-click ang pindutan upang mag-log in,
o ang log na button sa maaaring maging karapatan sa tuktok kung saan ako pupunta upang makita ito.
Gusto mong palaging nagpapakita ng mga user kung ano ang gagawin,
at iyon ay dapat na likas na taglay ng mismong pahina.
>> Kapag nag-iisip ka ng tungkol sa disenyo at mapanukso up iba't ibang mga paraan ng
pagpapahayag ng iyong site, mo ba talagang mag-isip tungkol sa kung ano ang pagpunta sa mga gumagamit upang
ginagawa at kung paano mo maaaring ipakita ang mga ito kung ano ang gagawin.
Isang huling bagay ay pagsubok ay talagang, talagang mahalaga.
Ito ay mahusay na upang makakuha ng isang tao - makakuha ng isang kaibigan, kumuha ng isang taong hindi mo kilala kahit na -
sino ang hindi kailanman nakita ang site bago gamitin ang site.
Dahil ikaw ay nagtatrabaho sa site para sa mga oras, na ikaw ay nakapako sa ito,
at alam sa iyo nang eksakto kung ano ang gagawin kaya malinaw naman ka pagpunta sa ay pagsubok ng
mga bagay na iyong nai-nagtatrabaho sa at na alam mong gawa.
Ngunit kung ang ibang tao ay kahabaan at ginagamit ang site na iyon ay hindi kailanman ginamit ito dati,
na isang natatanging karanasan dahil mayroon kang isang tao na walang paunang kaalaman
ng site ng pagpunta sa ito, kaya ang mga ito ay pagpunta sa may epektibong walang ideya kung ano ang gagawin
o kung anong uri ng mga kaso ng paggamit ay naroroon para sa kanila.
Mabuti iyan. Iyon ay natatanging dahil hindi nila lubos na ang isang tao na may isang blangko para sa isang isip.
Maaari nilang sabihin sa iyo kung ang isang bagay ay nakalilito o hindi malinaw.
Maaari silang mabigyan ka ng ideya ng kung ano eksakto ang karanasan ng gumagamit ng iyong site ay.
Maaari itong maging napakahirap upang sabihin na ang iyong sarili, kaya siguradong Gusto ko hinihikayat ka
bilang ka-develop ng iyong mga proyekto - kung gumagawa ka ng mga proyekto ng web-based -
upang makakuha ng mga tao gamit ang mga site na mas maaga sa mayroon kang ilang mga uri ng functional demo.
>> Ngayon ako pagpunta sa makipag-usap nang kaunti tungkol sa kung paano pamahalaan ang isang proyekto web development.
Na nawala na kami ng mahigit sa kung paano mo maaaring gawin ang teknikal na mga back-end side,
kung paano mo maaaring disenyo ng isang talagang mahusay na site,
at mabuti iyan kung nagtatrabaho ka sa pamamagitan ng iyong sarili ngunit -
kahit na nagtatrabaho ka sa pamamagitan ng iyong sarili at lalo na kung nagtatrabaho ka sa isang team,
nagiging isang malaking isyu sa pamamahala ng proyekto.
Uri ng iyong narinig ang tungkol sa pamamahala ng proyekto sa iba't-ibang mga form mula noong
mababang paaralan kapag ikaw ay sinabi sa trabaho group.
Kailangan mong makipagtulungan, makipag-usap, lahat ng iyon.
Iyon ay nalalapat sa lahat pa rin dito, ngunit mayroong ilang mga natatanging pangyayari na may
computer science na gusto mong magkaroon ng kamalayan ng, at nais mong tiyakin na pangasiwaan na rin.
Kukunin ko makipag-usap muna ng kaunti tungkol sa mga koponan na kailangan mong maging in
Ito ay napakahalaga upang pumili ng tamang laki ng isang team na nagtatrabaho sa,
at sa inyong huling proyekto sa tingin ko mayroon kang pagpipilian upang pumili
sa pagitan ng 1 at 4 na tao kung ako tama.
Gusto mong matiyak na hindi ka lamang ng pagpili ng bilang ng mga tao
na gusto mo upang gumana sa dahil sila iyong mga kaibigan.
Gusto mong pumili ng isang koponan na ay isang mahusay na laki at na makakapagbigay tapos na ang trabaho.
Mayroong isang kalakalan-off sa pagkakaroon ng mas maraming mga tao kumpara sa mas mababa tao.
Kung mayroon kang higit pang mga tao, malinaw naman pang trabaho Maaaring magawa
dahil mayroon kang maraming mga tao, napakaraming code, ng napakaraming ideya,
at iyon ang lahat ng mga mahusay na.
Ngunit nangangailangan din ito ng maraming higit pa pamamahala at ng maraming higit pang mga komunikasyon.
Sa madaling salita, kung mayroon kang 4 na tao na nagtatrabaho sa parehong proyekto
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
ano ang nangyayari sa gayon nangangailangan ito ng sa iyo -
kung magdagdag ka ng ilang mga bagong pag-andar mo uri ng kailangang sabihin sa mga tao - I'm pagdaragdag na ito,
Ako ang pagbabago na ito sa ganitong paraan - lalo na kung ikaw ay makakuha sa talagang malalim na mga bagay-bagay
tulad ng mga modelo at ang controllers na ay talagang pagpunta sa maka-impluwensya sa kung paano gumagana ang site.
Ang buong koponan ay kailangang magkaroon ng kamalayan ng mga ito,
kaya kailangan mo upang matiyak na hindi ka pumipili ng masyadong malaki isang koponan na pupuntahan mahirap
upang gawing na komunikasyon.
Hindi mo rin nais na pumili ng isang maliit na koponan sapat na hindi ka pagpunta sa
magagawang makipag-komunikasyon dahil ito ay mo lamang.
>> Isa pang bagay upang isaalang-alang ay ang balanse ng kung saan ang mga kakayahan ng mga tao ay.
Ito ay mahusay na kung ikaw ay ang lahat talagang magandang programmer.
Ngunit kung ikaw ay ang lahat ng back-end mga tao, pagkatapos ang iyong site ay hindi pagpunta sa hitsura napakabuti
dahil mayroon kang mahusay na ito database, at ginagawa nito napakabilis na mga query sa paghahanap -
na kung saan ay mahusay na - ngunit kapag kang pumunta sa ito, ito ay tulad ng isang site 1990 na may pula at bughaw
sa lahat ng dako, at iyon ang hindi magandang alinman.
Pansinin na Ben at nagtatrabaho ako bilang isang koponan ay napakabuti dahil ako uri ng higit pa
sa front end, parehong namin makipag-ugnay sa gitna-end, at Ben talaga mahusay sa back-end mga bagay-bagay,
nang sa gayon ay gumagana talagang mahusay dahil maaari naming magdisenyo ng anumang site at isa lamang ang butas
sa site na iyon na kailangan mapunan maaaring napuno sa pamamagitan ng alinman sa isa sa atin, o marahil pareho.
Gusto mong tiyakin na walang mga butas sa iyong koponan.
Ito ay okay kung mayroong isang bit ng overlap.
Sa madaling salita, kung mayroon kang 2 tao na parehong mahusay sa dulo pabalik,
na maaaring maging magandang pati na rin dahil maaari nilang tulungan ang isa't isa na may mga problema
na sila ay nagkakaroon.
Maaari itong maging isang problema kung mayroon ka lamang ng 1 tao kung sino ang mananagot para sa isang tiyak na bagay
at sila ay tumakbo sa isang problema, kaya nais mong magkaroon ng kaunting pagsanibin
ngunit pinaka-mahalaga gusto mong tiyakin na ang lahat ng posibleng mga butas ay napunan.
>> Ang huling bagay - at ito ay dapat na halata, ngunit ito ay madalas na hindi.
Talagang gusto mo na nagkakaroon masaya.
Ang punto ng ito huling proyekto sa CS50 at madalas ang punto ng web development sa pangkalahatan
ay hindi na gawin lamang ng trabaho dahil kailangan nito ang paggawa.
Talagang gusto mo na nagkakaroon masaya, at nais mong ginagawang isang bagay
na motivating mong magtrabaho sa ito.
Kung ano naman nagsasagawa ka ng ay isang sakit upang umupo at gumagana sa,
pagkatapos ay hindi ka naka-pagpili ng tamang proyekto.
Gusto mong pumili ng isang bagay na kawili-wili,
Talaga bang nais mong makita ang mga resulta, ikaw ay nasasabik kapag kumuha ka ng isang bagong ideya tungkol sa
isang bagay na maaari mong gawin - kaya mayroong lahat ng uri ng mga proyekto doon na ako sigurado
maaari mong mahanap - lahat ay mayroong isang bagay na talagang intriga sa kanila
kung ang mga ito ay gumagawa ng isang web-based na proyekto.
Kukunin ko ito sinasabi muli ngayon.
Kung ang iyong proyekto ay tila tulad ng isang sakit at hindi mo nais na magtrabaho sa ito,
pumili ng isa pang proyekto. Pumili ng isang bagay na talagang inspirasyon mo.
>> Ben Binanggit ito konsepto ng pag-ulit ng kaunti, at gusto kong pumunta sa ibabaw ito ng kaunti.
Ito ay talagang mahalaga upang gumana sa spurts kung saan kumuha ka ng isang bagay na umaandar.
Maaari itong maging mahusay na kung mayroon kang ito plano para sa isang website na pupuntahan gawin A, B, at C,
at kalaunan magkakaroon ito makarating doon.
Ngunit ka natigil sa bahaging ito kung saan nagtatrabaho ka dito at nagtatrabaho sa ito,
ngunit wala ay nagsisimula pa tapos. Wala kang anumang bagay upang makita at isang nasasalat, nagagamit na bagay.
Ano gusto mo talagang gawin hangga't parang ang uri ng isang sakit kung minsan sa
gumagana sa isang bagay at pagkatapos ay isang uri ng lilimitahab ito off upang ito ay hindi bababa sa isang matatag, tumatakbo
bersyon kahit na wala itong lahat ng mga tampok na gusto mo.
At maaaring mayroong ilang mga tampok na Talaga bang nais mong magdagdag ngunit ikaw lamang ay hindi maaaring
dahil gusto mo upang makuha ang site na ito sa isang functional point.
At kaya gusto mong uri ng mayroon ang proseso ng pag-unlad buong hitsura iyon.
Gusto mong simulan ang isang lugar functional - o mahalagang magsimula sa wala -
ngunit nais mo upang makakuha ng isang lugar napaka basic at functional.
At pagkatapos ay muli, magsagawa ng isang uri ng jump at muling makakuha ng isang lugar functional.
Makikita mo dahan-dahan bumuo ng up, at maaaring pumunta ng kaunti mas mabagal kaysa ito gagawin kung hindi man,
ngunit sa katagalan kung naka mo Patuloy natigil sa gitna lupa phase kung saan mo
huwag aktwal na magkaroon ng kahit ano gumagana, maaari itong maging isang talagang malaking pagkabigo
upang gumana sa iyong proyekto dahil ikaw ay palaging kaya malapit sa pagkuha ito gumagana,
at ito ay hindi kailanman talagang gumagana.
Gusto mong magtrabaho sa mga functional spurts,
at gusto mo ring gawin ang ilang mga pagmuni-muni pagkatapos ng bawat isa.
Sa ibang salita, sa sandaling ikaw ay nasa isang punto kung saan ang site ay gumagana na ngayon -
wala itong lahat ng bagay na gusto mo ngunit ginagawa nito ang ilang mga bagay -
gusto mong mag-isip, okay, ay sa site na ito accomplishing ang layuning iyon ako magse-set out upang gawin?
Sa ibang salita, kung ang site ay pagpunta sa gawin X, ay kung ano ang ko na nagtatrabaho sa direksyon ng X?
Sigurado lahat ng mga pag-andar na ako gusto doon?
At saka, ay ito sa paghahatid ng mga pangkalahatang layunin na gusto ko?
Kung ikaw ay sa paghahanap ng mga na ang iyong site ay nagsisimula sa pumapaling sa ibang direksyon
o siguro bagay lamang uri ng ay hindi gumagana out, maaaring ito ay oras upang ilipat ang gears kaunti.
Sa ibang salita, ito ay nagkakahalaga ng isinasaalang-alang - ito ay nagkakahalaga masusuka out ideya kung kinakailangan
at isinasaalang-alang ang aking talagang gumagana patungo sa kung ano ang gusto kong maging.
>> Naniniwala ako na ang aking susunod na point. Huwag matakot na abandunahin ng mga ideya.
Dahil lamang na ginugol sa iyo ng maraming mga oras ng trabaho sa isang tampok
at sa wakas ay nakuha ko nagtatrabaho ngunit ito talaga ay hindi pagpunta sa gayon na rin -
tulad ng ito ay hindi na kapaki-pakinabang o mga user ay nagkakaroon ng problema sa paggamit nito - na uri ng mga bagay -
huwag matakot upang ihagis ito ang layo.
Ito sucks na iyong ginugol ng maraming oras ang pagtatrabaho sa ito,
ngunit sa huli hindi mo nais ang isang site na uri ng magkasama sa pamamagitan ng mga piraso na
uri ng trabaho ngunit hindi na mahusay na almusal.
Gayundin, huwag matakot upang yakapin ang mga bagong ideya.
Kung ang isang tao ay kasama at sabi, hey, mukhang talagang cool na ngunit ang site na iyon
hindi ito kahit na maging mahusay kung ginawa din ito sa ganitong?
Dahil lamang na isang bagay na hindi mo binalak at isang bagay na wala sa iyong
specs, isang bagay na hindi mo na-set out upang gawin,
huwag matakot upang dalhin ito sa at pagkatapos ay gumagana sa mga ito.
Dahil madalas ang mga ideya na iyong pinapatakbo sa buong kurso ng pag-unlad
napupunta pagiging talagang cool na tampok ng website.
>> Sinabi ko na ito dati. Kukunin ko ito sinasabi muli.
Tagasubok ay sukdulang, sobrang kapaki-pakinabang.
Subukan upang makakuha ng mga tao na hindi kailanman nakita sa site bago mag-log on at makita kung ano ang nangyayari sa
dahil maaari nilang hindi lamang subukan ang pagiging kapaki-pakinabang ng site at ang karanasan ng gumagamit,
ngunit maaari din sila subukan ang pag-andar sa mga paraan na hindi mo magagawa.
Kung gumawa ka ng ilang mga tampok na nagsasagawa ng isang tiyak na bagay
at alam mo na ito ay pagpunta sa gawin na parehong bagay nang tama ang bawat solong oras, mabuti iyan.
Ngunit maaari madalas itong maging mahirap na account para sa sulok mga kaso kung saan ang isang gumagamit ay maaaring
nagta-type ng isang bagay na hindi ka na umaasang - tiyak dahil ang tinukoy mo
iyong sarili ang mga tampok.
Kaya, upang magkaroon ng isang tao dumating sa kung sino ay walang mga ideya kung paano gamitin ang site
at masira lang ito sa kung anumang paraan na maaari nilang gawin ay talagang kapaki-pakinabang dahil sa iyo
makakuha ng ideya mula sa isang ganap na kakaiba sa pananaw ng kung ano ang sa iyong site ay gumagana
at ano ang mga kailangan sa pag-aayos.
>> Huling, ako ng pagpunta sa makipag-usap tungkol sa ilang mga pangkalahatang mahusay na mga kasanayan,
at nakita mo ng maraming mga ito sa CS50, ngunit sila din talaga ito, talagang ilapat sa isang setting proyekto.
Ang isa ay komento. Laging magkomento iyong code lalo na kung nagtatrabaho ka sa isang malaking koponan.
Maaari itong maging kaya nakakainis na magkaroon lamang ng isang higanteng bloke ng code na ang isang tao ay nakasulat
at marahil ito gumagana, marahil hindi, ngunit wala kang mga ideya kung ano ang gagawin nito,
kaya wala kang mga ideya kung ito ay ang kapaki-pakinabang o hindi o kung dapat itong maging doon o hindi,
at kung nagtatrabaho ka sa ibang bagay ito ay kahit posible na nagtatrabaho ka sa
ang parehong bagay, kaya maging napaka, napaka-ingat upang maging mapagbigay ng iyong mga kasamahan lamang
at pagpapawalang code na rin dokumentado.
Hindi mo na kailangang pumunta sa abot ng upang gawin ang buong bagay kung saan gusto kung dagdagan mo
ng counter mayroon ng komento na nagsasabi, ako ang pagdaragdag ng 1 sa ito counter.
Hindi nito kailangang maging na detalyadong, ngunit para sa anumang mga pag-andar na kailanman ay sumusulat ka
dapat kang magkaroon ng ilang mga papeles ng pagtatanong kung ano ang eksaktong na function,
ano input nito ay, at kung ano ang dapat itong bumalik.
Sa ganoong paraan maaari mong gamitin ang mga bahagi ng ibang mga tao ng site
at maaari kang magtrabaho tungo sa pagbuo ng isang bagay malaki.
>> Ang isa pang mahalagang bagay ay gusto mong gawin regular na malinis-up.
Gulung-gulo Code ay nakakakuha. Huwag sumama ang pakiramdam kung ang iyong code ay lamang talagang hindi nababasa at isang higanteng gulo.
Nangyari iyon sa web development palagi.
Nagdadagdag ka ng mga bagong tampok, pag-aalis ng mga luma. Bagay-bagay ay magiging doon na hindi dapat.
Iyon ay pinong, ngunit nais mo upang matiyak na haharapin ang mga na regular.
Hindi mo nais na ipaalam ito bumuo ng hanggang sa ang punto kung saan mo hindi lang mahanap ang anumang bagay
sa iyong code, at wala kang mga ideya kung ano ang ginagawa kahit ano.
Iyon ay ang kaso sa HTML.
Minsan makakapunta ka sa mga bagay na hindi naglalaman ng anumang bagay,
at makikita mo nais na mapupuksa ang mga iyon.
Sa CSS, maaari mong ma-nagre-refer sa mga elemento na hindi doon ngayon,
kaya gusto mong mapupuksa ang code na iyon.
Sa JavaScript, maaaring naalis mo na ang isang bagay mula sa HTML.
Kaya, nais mong tiyakin na palagi ka sa paglilinis up, paggawa ng mga bagay na medyo
hanggang kaya mo sa isang regular na batayan.
>> Ang isa pang talagang kapaki-pakinabang na bagay na Hindi sa tingin ko ay nakabalangkas Sobra sa CS50
ngunit ito ay nagkakahalaga ng pagkuha sa ay kontrol bersyon.
Ang ideya ng bersyon control ay kapag isa lamang ka Pinananatili track ng lahat ng mga pag-unlad
na ginawa mo patungo sa iyong site at kung sa anumang punto natanto, oh, ito ay gumagana
kani-kanina ngunit hindi ito ay gumagana sa anumang higit pa, maaari kang bumalik sa nakaraang bersyon
at makita kung ano ang nagbago mula noon at na uri ng bagay.
Ang pangunahing paraan upang gawin iyon ay may Git, at Git ay ang buong uri ng system na
Naniniwala ako nagbigay Tommy MacWilliam isang seminar tungkol sa nakaraang taon.
Kung pumunta ka sa CS50 seminar para sa 2011, maaari mong makita ang kanyang pantas-aral sa iyon.
Ang ideya ng Git ay isa lamang na sa regular na mga agwat nagsasagawa ka ng mga commitment ng
kung saan ang mga paraan ng pagsabi sa site ay sa magandang stable na bersyon sa ngayon kaya
Ako Packaging ito up at ipadala ito ang layo sa isang server, at pagkatapos ay maaari kang pumunta sa server na
at tumingin sa lahat ng mga nakaraang bersyon ng iyong code at tingnan kung paano ito progressed
at ang lahat na uri ng mga magagandang bagay-bagay.
Kaya, na isa lamang ito.
Bilang malayo bilang web development, kami ay masaya na manatili sa paligid at sagutin ang anumang mga
tanong kasing layo ng aming pagtatanghal.
Iyan na ang lahat. Salamat. >> [Ben] Salamat.
[Palakpakan]
>> [Billy] ang staff, ang sinuman ay may anumang mga katanungan tungkol sa mga bagay na na-sakop namin
o mga bagay na hindi namin sakop na sila ay umaasa na naming masaklawan?
Malugod naming sasagutin ang mga iyon. Sinuman?
[Miyembro ng madla] Ano ang mga kalamangan at kahinaan ng paggamit ng Ruby o paggamit ng Python?
[Ben] Ang tanong ay, ano ang mga kalamangan at kahinaan ng paggamit ng Ruby o Python
sa halip na tulad ng PHP.
Ang pros ay na Ruby at Python ay magkano ang mas mahusay na mga wika kaysa sa PHP.
Hindi bababa sa aking opinyon, at sa tingin ko ng maraming mga opinyon ng ibang tao pati na rin.
Sila ay dinisenyo higit pa para sa paggawa ng kumplikadong mga bagay-bagay,
at mas mababa para sa patampal magkasama sa mga web page talaga ng mabilisan kasama ang
Medyo ng dynamic na nilalaman.
Ang cons ay na mayroong kaunting - mayroong higit pa sa isang curve pag-aaral
upang makakuha ng mga ito set up.
Iyon ay, tulad ng sa PHP, maaari kang magkaroon lamang ng isang HTML file at ka magsulat mas mababa-kaysa,
tandang pananong, at pagkatapos ay isulat mo ang ilang mga code, at pagkatapos ay isulat mo tandang pananong,
mas malaki-kaysa, at pagkatapos ay tapos ka na.
Sa iba pang mga wika tulad ng Ruby o Python,
kailangan mong pumunta sa pamamagitan ng kaunti pang trabaho upang makuha ang paunang running site.
Mayroon ding - hindi bababa sa ito ginagamit upang maging ang kaso - na may higit dokumentasyon
Available para sa PHP dahil lamang doon ay mas sa mga taong gumagamit nito.
Sa tingin ko hindi iyon bilang magkano ng isang isyu na ngayon.
Mayroong tiyak na napakabuti dokumentasyon para sa mga bagay tulad ng Ruby sa daang-bakal
o Django para Python ay ang katumbas.
PHP ay ang isa na ang lahat ay ginagamit para sa taon, at alam mo kung paano ito gumagana.
Ruby at Python ay Medyo mas mature.
>> [Miyembro ng madla] Kung ikaw ay upang pumili sa pagitan ng isa sa mga ito upang matuto o pick up,
na kung saan ay mas gusto mong?
Totoo lang, sa palagay ko ay depende na sa tao.
Sorry. Ang tanong ay kung saan kinuha mo para sa isang tao upang matuto?
Mahanap ako Python ang nicest personal.
Maraming ng mga tao na - ginawa ko ang aking unang proyekto sa web dev sa Python at Django.
Maraming ng mga tao na gusto Ruby sa daang-bakal din.
Malamang higit pang mga taong may alam Ruby sa daang-bakal.
Totoo lang, Gusto ko pumunta lamang sa anuman ang mga tao sa paligid mo alam
nang sa gayon ay magkaroon ka ng mga tao upang magtanong.
>> Ang tanong ay - sa ibinahaging mga server ay ito uri ng matapang na upang gumana sa Python?
Iyon ay depende sa iyong hosting.
Mayroong isang bilang ng mga web host na ay magpo-post Python bagay-bagay.
WebFaction gumagana na, i-right?
WebFaction ay isa na Billy at ko na ginagamit para sa ilang mga proyekto.
Ang mga ito ay talagang mahusay. Sinusuportahan nila ang karamihan ng mga wika.
Ngunit ito ay tunay na PHP ay mas malawak na suportado.
Kaya, kung ikaw ay natigil sa isang web host na gumagana ang PHP lamang, na ang isang magandang dahilan upang gamitin ang PHP.
>> [Miyembro ng madla] lang ang nakuha ko sa pag-aaral kung paano i-query ang ilang mga database,
at alam ko ang aking SQL ay ang lahat sa ibabaw ng lugar, ngunit ako kamakailan nakuha ko malantad sa -
at mo itinuturo ito. Ang makikita mo JSON at napapalawak na mga database.
Aking SQL ay ang lahat sa ibabaw ng lugar pa rin. Paano ko makikita mo na nangyayari?
Ay may pagpunta sa maging isang lumalaking pagkahilig para sa higit pang napapalawak (hindi marinig)?
Ang tanong ay - huwag tingin ko may pupuntahan maging isang takbo patungo sa mga database ng mga di-SQL.
Halimbawa, tulad ng MongoDB. Sa tingin ko na ay talagang totoo.
Aking mga payo ay kadalasang MySQL may kaugnayan dito dahil lamang MySQL ay
pamantayan sa industriya.
Personal, magkano Mas gusto ko ang mga database na walang schemos tulad MongoDB
kung saan hindi mo na kailangang ang isyu ng, oh, kailangan kong magdagdag ng isa pang haligi.
Sa aba ko, tulad ng kahit anong gagawin ko?
Ito ay napakahirap upang gawin iyon sa MySQL, ngunit kapag mayroon kang isang bagay tulad ng Mongo
ito ay magkano nicer.
Ang iba pang magandang bagay tungkol sa Mongo ay ang iyong mga tala ay aktwal na mga bagay ang JavaScript.
Walang uri ng mga hakbang ng conversion kung saan kailangan mong gawin ang mga hilera ng database
at i-ang mga ito sa isang JavaScript na bagay at pagkatapos ay ipadala ang mga ito sa ibabaw ng wire.
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.
>> [Billy] Isang bagay Gusto ko idagdag na kung saan ay lamang ng isang pangkalahatang punto ay na
huwag dating na tila Dapat ay natutunan mo ang lahat ng mga wika na tinalakay namin
mula sa aming mga pantas-aral.
Malinaw ang punto ay upang mabigyan ka ng ideya ng kung ano ang out doon,
at kung ikaw ay intrigued sa pamamagitan ng alinman sa mga bagay na nabanggit namin sa iyo ng Google ang mga ito
at basahin up sa mga ito.
At bilang ko nabanggit, mayroong ilang mga seminar na haharapin ang mga tiyak na mga bagay na ito.
Mayroong higit pang mga seminar na hindi ko pa nabanggit na marahil dumapo
ito bagay-bagay pati na rin.
Ang ideya ay na kung nais mong upang gumana sa isang bagay, narito ang ilan sa mga tool sa iyong pagtatapon.
Huwag mabigla kung hindi ka talaga sigurado kung ano ang mga tool na ito gawin nang eksakto,
ngunit malaman na ang mga ito ay out doon at na maaari kang magsagawa ng malawak na paggamit ng mga ito
sa pamamagitan ng Google.
>> [Miyembro ng madla] Anong uri ng mga bagay na kailangan mong gawin upang tiyakin na ang iyong website
mukhang mahusay sa mga mobile device?
[Billy] aparatong mobile ay isang maliit na mahirap.
Mayroong 2 mga paraan maaari mo itong lapitan.
Ang unang paraan ay ang aktwal mong magkaroon ng isang mobile website.
Sa madaling salita, magsasagawa ka ng isang uri ng pag-detect sa simula
kapag gumagawa ng browser ang kahilingan sa iyong website kung saan alinman sabi
bumalik sa view na ito - na kung saan ay ang view para sa desktop o laptop na mga browser -
at ito ang iba pang view para sa mga aparatong mobile.
Iyan ay isang lugar kung saan mga view ay talagang maganda sa na maaari mong medyo magkano swap ang
dalawang out at magkaroon ng isang interface na gumagana talaga ng mabuti sa mga mobile device
at magkaroon ng ganap na naiibang isa na gumagana ng mabuti sa mga aparatong browser.
Ang problema sa na ay tumatagal ng isang mahabang panahon dahil ang ibig sabihin nito coding
isang ganap na kakaiba interface.
Ang iba pang mga paraan na maaari mong gawin ito ay -
ng maraming modernong mga telepono ay magpapakita ng mga website at subukang mag-render ang mga ito bilang isang browser na gagawin,
at gawin nila ang kanilang pinakamahusay na.
Maaari mong uri ng subukang upang manatili ilaw sa dami ng jQuery JavaScript gumagamit ka ng
na kung saan ay may gawi na maging kung saan maaaring pumunta bagay na mali kaunti.
Ito ay uri ng mga paraan na dapat gamitin mo kung wala kang na karaming oras.
Kung mayroon kang ang oras upang gumana sa isang mobile interface, na malinaw naman ang iyong pinakamahusay na pagpipilian.
>> Sa tingin ko sa pangkalahatan ay para sa CS50 mga proyekto, ka ng pagpunta sa nais mong pumili ng isa o ang iba.
Sa madaling salita, nais mong gumawa ng isang mobile app o nais mong gumawa ng isang desktop website.
At na uri ng tumutukoy kung saan ka pumunta sa na.
Ngunit kung nais mong palawakin ito sa ibang pagkakataon, marahil ang iyong pinakamahusay na mapagpipilian ay
upang gumawa ng isa pang interface para sa iba pang mga.
Mayroon akong ng kaunting karanasan sa pagbubuo-based WordPress site.
Naka-host ako ng isang personal na website sa WordPress para sa sandali.
Yaong mga uri ng Framework ay maaaring maging magaling tulad ng napaka pangunahing bagay.
Malimit makikita mo lamang tumakbo sa isang pulutong ng mga isyu customizability bagaman.
Makikita mo nais na magkaroon ng isang bagay na tumingin sa isang tiyak na paraan o maging isang tiyak na paraan
at mo lamang ay hindi maaaring dahil ito ay hard-wired sa system na
ito ay kung paano mayroon kang upang gumawa ng mga bagay na maaaring maging isang bit ng isang problema.
Simula noon uri ng ko pa nang higit pa nakakiling upang gumana sa mga site mula sa lupa up.
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.
Kung talagang naka-stretch para sa oras, maaari mong siyempre gamitin ang isang bagay tulad ng WordPress
o na uri ng mga bagay para sa isang blog.
Ang mga uri ng mga bagay na mga blog na tindahan at gawin ay hindi talagang mahirap sapat na
kung nagpapatakbo ka sa alinman sa mga uri ng mga bagay, ikaw ay marahil pinakamahusay na lamang upang
gumawa ng in-house na bersyon.
>> Sa tingin ko na ang tungkol dito, kaya salamat muli para sa darating na.
Talaga namin Tatangkilikin ang pakikipag-usap sa iyo guys at umaasa na natutunan mo ang ilang mga bagay-bagay.
[Ben] Masaya kami na makipag-usap - mayroon kaming upang pumunta ngunit kami ay masaya na higit pa sa labas makipag-usap
kung mayroon ka ng isa pang tanong. Salamat muli. [Palakpakan]
[CS50.TV]