[Powered by Google Translate] [Semina] [Maendeleo ya Mtandao: Kutoka Idea kwa Utekelezaji]
[Ben Kuhn] [Billy Janitsch] [Chuo Kikuu cha Harvard]
[Hii ni CS50] [CS50.TV]
[Billy] Hi, mimi nina Billy na hii ni Ben. >> [Ben] Hi.
Tunakwenda kuzungumza juu ya maendeleo ya mtandao leo.
[Webdev] [Billy Janitsch na Ben Kuhn]
kidogo kuhusu sisi kwanza.
Ben ni aina ya nyuma-mwisho guy. Yeye hufanya mambo ya kazi.
Na kisha mimi kwenda katika na kuwafanya pretty.
Mimi nina kwa kiasi kikubwa wanaohusika na zaidi mbele-mwisho kubuni mpangilio aina ya mambo,
na Ben, kwa upande mwingine, anajua yale ya kufanya hivyo anafanya kazi juu ya nyuma-mwisho mambo ya ajabu.
Pamoja tumekuwa alifanya mambo kadhaa.
Kwa mfano, mwaka jana sisi kazi katika Gimblium ambayo ni online maendeleo ya mchezo studio.
Hiyo ilikuwa ni mradi wetu wa mwisho kwa ajili ya darasa,
na tangu wakati huo tumekuwa alifanya Harvard Hatari
ambayo ni mfumo online kwa ajili ya kuvinjari na kozi ununuzi katika Harvard.
>> Sisi ni kwenda kuanza na wazo hili kwa tovuti yetu.
Sisi ni kwenda kufanya Facebook, lakini kwa ajili ya paka.
Kweli kabla ya kufanya tovuti hii,
si kufanya tovuti hii kwa sababu si nzuri, lakini sisi itabidi kutumia kama mfumo
na kupitia mchakato wa jinsi sisi kuchukua wazo hili
na kugeuka katika tovuti kweli tunaweza kutumia.
Tutaweza kuanza kwa kuvunja tovuti chini.
Kama tumekuwa kufanya katika CS50,
unataka kufikiri juu ya kile vipengele halisi kwamba kwenda katika tovuti hii ni.
Kimsingi kumwelekeza na wazo ambayo ni aina ya dhana abstract
ndani ya kweli, yanayoonekana kitu kwamba unaweza kufanya.
Sisi kuanza kwa kuuliza baadhi ya maswali.
Ni tovuti hii nini? Kwa nini sisi kufanya hivyo?
Je, ni kwa kwenda kutumika kwa? Kwamba aina ya kitu.
Katika kesi ya Facebook Cat,
sisi kimsingi wanataka tovuti ya kwamba lets paka mtandao wa kijamii na kila mmoja.
wazo kuwa kuwa wanaweza baada ya juu ya kuta ya kila mmoja,
wanaweza kufanya maoni, kwamba aina ya kitu.
Na hapo ndipo sisi kuja katika vipengele kazi.
Kwa sasa tuna aina hii ya mfumo wa - tuna maelezo ya mtumiaji,
tuna maoni, na tunaweza post.
Labda siku moja tutaweza influent anapenda na kwamba aina ya kitu.
Na sisi aina ya kutaka kipaumbele makala haya kwenda in
Tunataka kusema kama, okay, ni kweli muhimu kwamba kila mtu ana profile
na kwamba kila mtu anaweza baada ya juu ya kuta ya kila mmoja.
Sekondari na kwamba, maoni itakuwa nzuri.
Labda baadaye juu ya tutaweza influent anapenda.
Hivyo, unataka kuwa na wazo la nini msingi kwa mradi wako
na nini aina ya kipengele zaidi kwa ujumla ambayo inaweza kutumika baadaye.
Unataka aina ya kuwa na orodha maalum katika akili,
lakini mradi huo kuanza kwa si kwenda kuwa mradi huo kumaliza kwa.
Kwa maneno mengine, mambo ni kwenda na mabadiliko wakati wewe zinazoendelea tovuti,
na unataka kuondoka chumba kwa ajili hiyo.
Mimi itabidi kugeuka ni juu ya Ben ambaye ni kwenda kuzungumza kidogo kuhusu muundo.
>> [Ben] Mimi kwenda kuzungumza juu ya upande zaidi ya kiufundi ya maendeleo ya mtandao.
Hebu tu kwenda juu ya baadhi misingi ya kwanza.
Wakati wewe ni kufanya programu ya mtandao,
mgawanyiko kuu kwamba wewe ni kwenda kuwa na ni
wewe ni kwenda na baadhi ya mambo kinachoendelea katika upande wa mteja -
yaani, kificho kwamba wewe ni kisakuzi inachukua kutoka tovuti
na JavaScript, HTML, CSS mambo ya ajabu.
Hayo ni yote upande wa mteja.
Wewe ni kwenda na code nyingine kwamba anaendesha upande server
ambayo anaendelea wimbo wa data yote kutuma watu katika na wewe,
anaamua nani kutoa nini, mambo kama hayo.
Hii ni baadhi tu ya maneno nyie ili wote ni familiar na kile sisi ni kuzungumza juu.
Zaidi ya mgawanyiko ni vizuri kufikiria kwamba mtandao programu yako katika suala la
michache ya vipengele tofauti.
Wakati wewe ni kufanya maendeleo ya mtandao
moja ya mambo ambayo unatakiwa kujaribu kufanya ni kupunguza utata.
ngumu zaidi code yako ni nafasi zaidi huko ni kufanya mende,
ni vigumu kubadili baadaye.
Hivyo, kama unaweza kuvunja programu yako katika baadhi ya maeneo tofauti ya kazi
kwamba itakuwa - na unaweza kupunguza aina ya kiasi cha msalaba eneo mawasiliano -
kwamba itasaidia mengi kwa muda mrefu katika suala la kupunguza mende.
>> Kuwa halisi, kwa kawaida watu kugawanya programu mtandao ndani ya -
haya ni aina ya maneno buzz sasa, lakini bado ni muhimu.
Unaweza kuwa na habari watu majadiliano juu ya mifano, maoni, na controllers.
Mifano ni data halisi kwamba programu yako ni kwenda kushughulikia.
Kwa mfano, katika Cat yako Facebook, mifano yako itakuwa -
Ningependa kuwa mfano kwa kama posts, na mfano wa kuigwa kwa maelezo ya mtumiaji, mambo kama hayo.
Maoni yako ni jinsi gani sasa data kwamba kwa watumiaji yako.
Unaweza kuwa na 1 maoni kwa ajili ya kuangalia baada ya moja na maoni yote
na mtazamo tofauti kwa ukuta yako ambayo ina orodha ya nafasi zote
kwamba ni kwa madhumuni ya wewe, na mtazamo tofauti kwa kulisha habari yako - mambo kama hayo.
Hatimaye, una controllers ambayo kimsingi ni wakati watu kukutumia posts
na kufanya updates kwa mfumo wa nyuma-mwisho wako,
ninyi nyongeza kundi la counters, na chochote.
Wale ni controllers yako.
>> Mimi nina kwenda kuzungumza zaidi juu ya mifano.
Maoni ni utaalamu si vigumu na suala hilo ni zaidi kwa kubuni yao
Controllers ni kwenda kuwa maalum kwa chochote wewe ni kubuni.
Lakini kuna baadhi ya mbinu pretty ujumla unaweza kutumia
kufanya mifano yako nicer na rahisi kufanya kazi na kwamba nadhani ni muhimu sana.
Hii ni zaidi kwenda kuwa juu ya jinsi ya kukabiliana na yako data programu mtandao katika njia nzuri.
masuala kuu na mifano ya
ni kuwa wanaishi juu ya mteja na server na una kufikiri
a) jinsi ya kupata yao - wale wote husika - kutoka server kwa mteja,
na b) jinsi ya kuwaweka katika usawazishaji.
Watumiaji yako ni kwenda kutaka kufanya baadhi ya updates.
Wao wanaenda wanataka kufanya posts mpya.
Wao wanaenda kutaka kama mambo na mambo kama una anapenda.
Wale ni kuu changamoto ya kiufundi ya kushughulika na mifano.
Jambo la kwanza kwamba wewe ni kwenda kutaka kujiuliza ni
aina gani ya data huenda katika mtindo huu na ni aina gani ya maswali ni sisi kwenda wanataka kufanya -
yaani, ni jinsi gani sisi kwenda kuangalia mifano ya?
Kwa Cat yako Facebook mfano,
baada ya yako ni kwenda na mwandishi yanayohusiana na hayo,
Nakala baadhi ya ukuta wa mwisho, na mpokeaji wa ukuta post.
Na kisha unaweza kutaka swala kwamba katika kundi la njia tofauti.
Wewe unataka kuangalia ni na ambaye aliandika ambayo post,
na ambao walipata ambayo post, labda kwa tarehe walikuwa posted.
Lakini kama wewe ni kwenda kufanya hivyo kwa tarehe, basi una kuongeza shamba lingine kwa post yako
ya wakati ilikuwa kweli posted.
2 hawa mambo - nini data unataka kutumia na jinsi gani unataka kuona ni -
unapaswa kufikiria yao ya kwanza kwa sababu wao hutegemea juu ya kila mmoja,
na itakuja kuwa vigumu zaidi kwa kuongeza yao ya baadaye.
>> Kuna baadhi ya masuala mengine.
Wakati wewe ni kufikiri kuhusu jinsi ya kukabiliana na mifano juu ya server
nini unataka kuangalia ni -
wewe kimsingi wanataka kufanya server kama rahisi kama iwezekanavyo.
Kufanya mambo upande wa mteja ni kwa ujumla kwa kasi zaidi kama wewe unaweza kufanya hivyo rena juu ya mteja
bila kufanya aina yoyote ya ombi la mtandao.
Wazo ni kufanya kama wengi wa maswali kama unaweza juu ya mteja.
Tatizo tu na kwamba
ni kwamba kama wewe kuomba yote ya data yako katika mwanzo
basi hiyo ni kwenda kuchukua muda mrefu kupakia.
Kwa hiyo, wazo ni mgomo furaha kati kati ya kuwa na data ya kutosha juu ya mteja
kwamba unaweza kufanya zaidi ya kazi yako huko lakini si tu kuchota kila kitu mara moja
ili kupata mara kweli polepole mzigo mwanzoni.
Kwa mfano, kwa ajili ya paka data yako
ungependa pengine wanataka kuchota kundi la ukuta posts hivi karibuni.
Wewe si unataka kuchota wote kwa sababu ambayo inaweza kwenda nyuma miaka michache.
Lakini hawataki kuchota yao moja kwa wakati
kwa sababu kwamba ingekuwa kuanzisha mengi ya mtandao uendeshaji.
>> Ni mara nyingi ni vigumu kabisa - mara moja na database mbio -
ni mara nyingi ni vigumu kabisa kubadili kile data una it -
yaani, kuongeza mpya database safu au kitu -
hivyo mtu mkakati mzuri ni kweli tu kwa kuweka mengi ya data katika maandishi Blob -
JSON Blob - JSON kuwa JavaScript Object nukuu -
sababu hiyo muhimu ni kwa sababu kisha unaweza kuongeza mali mpya
wote wa matone haya JSON bila kubadilisha orodha yako.
upande wa chini tu na kwamba ni kwamba kama wewe kuwa na rundo la mashamba
kwamba aliongeza baadaye juu ya - kama siri kwa kuwa JSON Blob -
kisha ni vigumu swala yao ndani ya database.
Kwa mfano, kama wewe baadaye - kama alikuwa na post yako mfano kwamba sisi kujadiliwa mapema
na tu mwandishi, mpokeaji na asilia -
unaweza pia kuwa na JSON Blob na kisha kama wewe baadaye alitaka kuongeza shamba tarehe
bila kuwa na mabadiliko ya orodha yako.
Unaweza tu kuongeza tarehe kwa yote ya mashamba maandishi.
Na kisha itakuwa na uwezo wa kuangalia wale walio upande wa mteja,
lakini bila kuwa na uwezo wa swala yao upande server
kwa sababu ni siri ndani ya maandishi hiyo.
>> Jambo jingine kwamba unataka kufikiri juu ya
ni jinsi gani mteja wako na kompyuta yako ni kwenda kuwasiliana.
Kwa kawaida unataka kuweka hii kama rahisi kama iwezekanavyo.
Unaweza tu na kama kupata-me-hii ombi data,
a kujenga-mpya-kitu kitu, na ombi update-zamani-kitu.
Na hawa ingekuwa wote kuwa URL mbalimbali juu ya server kwamba -
kwamba browser itakuwa - unaweza kutumia maombi AJAX kwa haya yote
na ama kupokea au data post.
Tena, kwa Cat yetu Facebook mfano,
unaweza kuwa na kwamba URL kupata baada ya mtu binafsi,
na wewe d kuwa URL kwa ajili ya kujenga ukuta mpya baada ya
na labda URL kwa ajili ya kuweka profile picha yako, mambo kama hayo.
Lakini tena, kwamba kabla ya kuchota zaidi ya data yako ili huna kuweka
kufanya maombi ya mtandao.
Kwa sababu hiyo, unaweza si unataka kuwa na kwamba mtu kupata ombi kwa baada ya moja,
na badala yake wanataka 1 tu kupata ombi kwa ukuta mzima.
Na kisha kama wewe ni kujaribu kuleta usawa kwa sababu -
hii pia ni kwenda itategemea maombi yako.
Kwa sababu kama wewe ni kutarajia kwamba watu 10 tu au 20 ukuta posts
kwamba itakuwa vizuri.
Lakini kama wewe ni kutarajia wao itabidi maelfu kisha ombi hilo bila kuchukua muda mrefu sana,
na hivyo unaweza kutaka kuongeza kupata-wote posts-tangu parameter.
>> Kwa haya yote pengine wewe kwenda kutaka kusawazisha data yako katika JSON -
JavaScript Object nukuu.
Pretty much kila lugha inahusika na JSON vizuri sana.
JQuery ina hii nzuri getJSON kazi kwamba kufanya kazi ngumu kwa ajili yenu.
Na juu ya PHP kuna pia ni nzuri sana kazi JSON mawasiliano.
Hivyo, kwamba pengine format bora kwa ajili ya kupeleka mifano yako na kurudi.
>> Kama mfano wa nini tumekuwa kuongelea hadi sasa,
hapa ni mfano kati yake kwa ajili Cat yako Facebook maombi.
Ni kuanza mbali na browser yako kuomba tovuti msingi URL.
server pengine ingekuwa kutuma juu ya HTML tuli na baadhi JavaScript na CSS.
Ni kawaida bora si kufanya utoaji yoyote kwenye kompyuta.
Pengine hawataki -
nini server si kufanya huko ni kwenda chini katika orodha ya posts ukuta
na kuzalisha baadhi HTML kwa kila mmoja na kutuma kwamba juu.
Ni kawaida bora ya kufanya hivyo upande wa mteja kwa sababu vinginevyo
kila wakati unataka upya kuteka kitu, una kufanya ombi server.
Na kwamba haraka sana inakupa mengi ya uendeshaji.
Ni kawaida bora tu meli ameteremsha HTML tuli
na kisha JavaScript na CSS kwamba kufanya utoaji upande wa mteja.
Haraka kama kwamba mambo unakuja,
basi unaweza kuwa na - katika JavaScript - unaweza kufanya maombi kwa ajili ya data ukuta
na mambo kama hayo, na baada ya kuwa server kimsingi ni tu kufanya maswali database
na kuangalia ruhusa.
kitu muhimu tu ni kwamba hawawezi kupeleka juu ya baadhi ya watumiaji wengine ukuta posts
kwamba wewe si kuruhusiwa kuona.
Ni unaweza kimsingi kuwa nyembamba sana kupata safu ya database yako,
na kisha wote wa kuonyesha data - zote za maoni na stuff -
hayo yanaweza kutokea katika browser yako, na kisha wakati unataka kufanya baada au kitu
wewe tu kutuma ombi lingine.
>> Kuna pia baadhi ya mambo dhana unaweza kufanya juu ya hili.
Katika suala la maalum zaidi ya kiufundi habari,
zinazoendelea katika wazi JavaScript inaweza kuwa kidogo chungu,
hivyo kuna baadhi maktaba na zana ambazo zitasaidia mengi na kwamba.
Nadhani umefanya wote pengine kusikia kuhusu jQuery ambayo inafanya kufanya HTML utoaji
na matumizi mabaya rahisi sana - kuwa na kura ya kazi dhana kwa kufifia ndani na nje,
na kufanya michoro zippy.
Kuna pia maktaba hii inayoitwa Underscore.js.
Ina mengi ya muhimu kazi shirika, mambo ambayo bila kutarajia JavaScript kuwa na
kwamba ni kweli doesn't - mambo kama shuffling safu,
kuondoa marudio kutoka kwenye orodha, au flattening orodha ya orodha.
Hii ni ndogo tu code sampuli.
Kusisitiza ina tani ya kazi hizi nzuri kwamba wewe unataka bila kuwa na wakati wote.
>> Na kisha kuna 1 zaidi maktaba ambayo Ningependa kutumia muda kidogo juu ya
aitwaye Backbone.js kwa sababu Uti wa mgongo inasaidia kukabiliana na mifano upande wa mteja
na mkanganyiko kwamba inaweza kusababisha.
Uti wa mgongo anatoa dhana hii ya mifano na makusanyo ya
katika JavaScript ambayo kimsingi ni hasa kama JavaScript vitu
katika JavaScript arrays lakini wana matukio ya wakati mabadiliko ya mali zao.
Tu kama katika JavaScript, unaweza kuwa na tukio wakati kifungo anapata clicked au kitu
mifano ya haya uti wa mgongo na makusanyo ya Uti wa mgongo mapenzi matangazo ya mambo kama
kwamba wakati wao kubadilika.
Hiyo ina maana kwamba unaweza tu kuandika kitu kama snippet hii ya maadili ya hapa -
hii anasema, wakati wowote kuongeza chochote kwa posts safu ninyi redraw ukuta nzima.
Na hii kusema wakati wowote baada ya kuzingatia idadi ya anapenda mabadiliko,
ninyi kutoa taarifa user kwamba mtu walipenda baada yao.
Au wakati wowote mali yoyote ya baada ya mabadiliko ya wewe redraw post.
Mambo kama hayo kuokoa tani ya utata kwa sababu vinginevyo
kama huna baadhi mfumo kama hii basi kila wakati katika kanuni yako kwamba mabadiliko ya
chochote kuhusu post, utaweza kukumbuka mwenyewe kuwaita kutoa kazi zote
na mambo kama hayo, na kama alitaka kuongeza kitu kipya yaliyotokea
kila wakati iliyopita baada ya wewe d na kwenda kwa njia ya kila mahali katika yako
kificho kwamba unaweza iliyopita baada ya na kuongeza jambo jipya.
mfumo kama huu kuondoa mengi ya kuwa kati ya safu mawasiliano
kwamba inafanya code yako tata na kwa bidii ili kudumisha.
>> Kuna kidogo kuhusu maoni pia.
Mimi naenda kuondoka zaidi ya hii kwa Billy kwa sababu wao ni kitaalam si vigumu sana.
Kutumia jQuery kwa maoni yako. Ni kivitendo kama umuhimu katika hatua hii.
Ni tu hufanya kila kitu hivyo rahisi sana.
Kuna mengi ya maktaba.
Kama una ngumu mambo user-interface,
kama unataka auto-kamili kitu au kama mmoja wa wale dhana mbalimbali selectors -
kama unataka kitu kama hicho, unapaswa pengine tu kutafuta karibu
na unaweza kupata maktaba nzuri kwamba kufanya nini unataka.
Billy kueleza zaidi kuhusu sehemu kweli ni vigumu ya maoni.
Pia, kama upande note, uti wa mgongo ina baadhi ya utendaji kwa ajili ya kufanya maoni kuwasiliana
nicely na mifano - kuangalia nyaraka kwa ajili ya wote ya maktaba hizi, kwa kweli.
Tu kuangalia maandiko. Wao ni vizuri sana iliyoandikwa na rahisi kufuata.
Kwa ujumla, unaweza pretty much tu Google kama una matatizo.
Kuna mengi ya watu kutumia yao.
Nadhani hii ni kama note ya mwisho.
>> Pia kuna baadhi ya mambo ya juu zaidi ambayo unaweza kufanya
kama wewe ni kuangalia kufanya mtandao programu yako ya ziada ya kutisha.
Unaweza kufanya - mpya HTML5 vipimo ina mambo mengi dhana unaweza kufanya.
Mitaa kuhifadhi - ambayo ni unaweza kuhifadhi data katika browser -
badala ya kuwa na kurudi nyuma na peruse server kwa kila kitu,
unaweza kuweka baadhi ya juu ya mteja na kwamba hata inawafanya watu -
katika baadhi ya kesi inaweza hata basi wewe kutumia tovuti ya mkondo.
Kuna hii kitu inayoitwa websockets ambayo ni aina tofauti ya mtandao wa mawasiliano ni
ambapo badala ya kufanya ombi moja, kupata majibu na wewe ni kosa,
kuweka wazi uhusiano na server na hivyo unaweza kufanya mambo kama
halisi wakati updates.
Hivyo, kama wewe walikuwa wakijaribu kufanya programu chat, unaweza kutumia websockets
kuwasiliana na kurudi ili bila kuwa na kuweka kuomba,
"Oh, server, kuna mtu kutuma mimi chat?" kila sekunde 10 au kitu.
Kuna pia kuvutia HTML5 kipengele ambapo unaweza kufanya ni kuangalia kama
URL ya ukurasa ni kubadilisha bila hata kuwa na kweli upya yake.
Unaweza kutumia nyuma na mbele vifungo bila kufanya rundo la maombi ya mtandao.
Mambo kama hayo ni muhimu kweli kweli katika suala la kuifanya haraka lakini pia kazi kama programu mtandao lazima.
>> Kuna pia hii kitu inayoitwa CoffeeScript.
CoffeeScript ni lugha mbalimbali, kwa kweli, kwamba inaandaa chini ya JavaScript.
Ungependa kuandika kanuni yako yote katika CoffeeScript, na kisha kukimbia compiler hii,
na mtemi nje JavaScript faili kwamba unaweza pamoja katika tovuti yako.
sababu hiyo CoffeeScript ni nzuri ni kwa sababu anapata kuondoa mengi ya
kesi weird kwamba JavaScript ina ambapo ni sawa na sawa,
na ni sawa na usawa kufanya mambo tofauti, au kama -
ina nicer syntax kwa ajili ya kukabiliana na arrays na kazi.
Hii ni snippet kidogo ya CoffeeScript kwamba hutoa orodha ya miraba yote
kutoka 10 ^ 2 1 ^ 2 ili nyuma.
Kama unaweza kuona, CoffeeScript mara nyingi inakuwezesha kueleza katika 1 line
gani kuchukua 5 mistari ya JavaScript.
Ni wanaweza kufanya mambo rahisi sana.
Ni kidogo ya syntax mpya ya kujifunza kwa mara ya kwanza,
lakini ni dhahiri nitafanya uzalishaji zaidi katika muda mrefu.
>> Unaweza pia kutumia lugha nyingine juu ya server kuliko PHP -
lugha kama Ruby, Python, au kuna hata mradi inayoitwa node.js
basi wewe kutumia JavaScript kwenye kompyuta.
Mimi binafsi, kwa kweli, kwa kweli chuki PHP.
Mimi si tu kufurahia kufanya kazi na yake.
Kama wewe, pia, nadhani kwamba ni cluge kubwa ya lugha,
basi unaweza kutumia moja ya hizi badala yake.
Kwa ujumla, kama unataka kufanya kitu na si kweli kujua jinsi gani ya kufanya hivyo,
kutafuta tu mtandao.
Kuna tani na tani ya rasilimali hasa juu ya -
StackOverflow ni moja kubwa.
Ni tovuti hii ambapo programmers kuuliza maswali kila mmoja.
Unaweza kuwa na kukimbia ndani yake kama ungekuwa kuwa na matatizo ya seti CS50 tatizo.
Na kuna tani ya maktaba kwa ajili ya kufanya pretty kiasi chochote ungependa.
Kama unataka kufanya kitu na huwezi kujua jinsi ya kufanya hivyo,
wala kudhani kwamba ni vigumu.
Hebu angalia karibu na wewe ili kupata baadhi ya rasilimali nzuri.
>> Kama mkuu wa kufuta,
takeaways kuu ni kuweka mambo rahisi.
ngumu zaidi code yako ni mwanzo
na zaidi wewe kujaribu na kufanya mambo dhana tu,
tena itakuwa kuchukua ili kupata kitu kweli kazi
na itakuwa vigumu kubadili baadaye.
Hivyo, kufanya mambo bubu, njia rahisi ya kwanza.
Kwenda pamoja na kwamba,
msiwe na hofu ya kutupa mbali code zamani au kusafisha it up sana.
Kwa ujumla, kwa kweli mara moja una kitu kazi,
ni rahisi kufikiri juu ya kuliko wakati bado uko katika hatua za mwanzo
ya jinsi gani mimi kuweka hii yote pamoja.
Ni bora kufanya dumbest iwezekanavyo kubuni kwamba kazi
na kisha kuboresha yake iteratively kuliko kujaribu kupata kila kitu sawa mara ya kwanza.
Katika suala la mgawanyo mteja-server, kujaribu na kuendelea server yako rahisi sana -
tu database na baadhi uthibitisho na si kufanya kazi yoyote ngumu huko.
Kufanya yote ya mambo yako ngumu upande wa mteja katika browser
katika JavaScript kama vile wewe unaweza.
Kuangalia kote kwa ajili ya maktaba kwamba kufanya maisha yako bora.
Daima bora kutumia kificho kwamba mtu mwingine aliandika
kama wewe - na si kuandika ni wewe mwenyewe.
Kuna mengi ya mambo ya mtandao. Google ni rafiki yako.
Google ni rafiki programu ya.
Yeah, dhahiri wala kuwa na hofu ya kuangalia kote kwa mambo ya ajabu.
Sawa. Na juu ya Billy.
>> [Billy] Kwa kweli, kabla ya kuanza kwa baadhi ya mambo ya kubuni,
haina mtu yeyote una maswali yoyote kwa Ben kuhusu lolote ambalo yeye aliyesema kuhusu?
Okay, nzuri.
Tena, hebu kujua kama kitu si wazi
au kama Ningependa twende juu ya kitu kidogo zaidi.
Mimi nina kwenda hatua nyuma kidogo na majadiliano juu ya sehemu zaidi ya msingi ya design.
Ben zilizotajwa mfano kuitwa - sorry, mfano mtawala kuangalia mfumo
ambayo ni aina ya kipengele kiufundi, hivyo mimi nina kwenda kuangalia maoni hasa,
na mimi nina kwenda kuanza na jinsi d kubuni mtazamo kwamba inaonekana nzuri.
Hapa ni aina ya template kweli ya msingi kwa Cat yetu Facebook.
Nadhani kuna baadhi ya misingi ya kisasa UI kubuni
ambayo ni ya thamani kuokota.
Unaweza taarifa kuna mengi ya nafasi nyeupe wote juu ya ukurasa,
mengi ya chumba kwa ajili ya mambo.
Je, si kuhisi kama una boga mambo katika ukurasa.
Unataka kuondoka kura ya chumba wazi, na kama wewe kwenda kwenye tovuti karibu yoyote ya kisasa
utaona kuna nyeupe kila mahali.
Kuna nyeupe katika maeneo bila kutarajia.
Una hii palette rangi, na ni busara mwanzoni
kuchagua palette alama ya kwamba ni kwenda kufanya kazi pamoja na kuendeleza.
Unaweza pia - inasaidia kuchagua typeface, na kwa njia hiyo wewe ni aina ya kufanya kazi na
misingi hizi halisi ya design.
Una aina yako, una rangi yako, na kisha unaweza aina ya
fit kila kitu kingine katika kama inahitajika.
Kwa hiyo, kama nilivyosema, na rangi yako mpango unataka kutumia rangi bolder ya rangi yako mpango
kidogo. Headers ni nzuri. Kifungo ni nzuri na kuwa na kubwa kweli kweli, flashy rangi.
Lakini kwa ujumla, kama una tovuti hiyo ina rangi kila mahali,
wote staring wewe uso kwa uso, ni tu inaonekana na vitu vingi, na ni si nzuri.
Unataka ujumla kutumia mwanga wa rangi.
Kujaribu, tena, pick pretty madhubuti rangi ya mpango huo.
Unaweza kuwa na haya splashes kidogo ya kura ya rangi -
ambayo inaweza kuangalia pretty nzuri, lakini unataka kuzitumia pretty kidogo.
>> Kama nilivyosema, unataka kuwa ndogo. Chini ni karibu kila mara zaidi.
Kama unaweza kuonyesha kitu au si kuonyesha kitu,
na wewe ni aina ya uhakika kama ni lazima kuwa huko kwa default -
pengine wewe ni bora mbali na kuacha nje. Daima unaweza kuongeza kuwa katika baadaye.
Yeah, kuweka mambo rahisi.
Lakini muhimu zaidi, unataka kufikiria miundo mbalimbali.
Sidhani kwamba wakati kufanya tovuti, kuwa ni katika kichwa yako kwamba wewe kwenda
kufanya tovuti katika njia fulani, na ni kwenda kuangalia hasa kama hii.
Ni kwenda na header bluu juu na bar ya bluu upande
na kisha njano ndogo-header kitu.
Unataka kufanya templates nyingi.
Unaweza ama - kama wewe ni mzuri na Picha Shop, unaweza wazi kwamba up na aina ya
kutengeneza tovuti kama wewe kama hayo kwa kuangalia.
Kama siyo, unaweza kutumia tu kalamu na karatasi,
lakini scratch up miundo mbalimbali.
Unataka kimsingi na kuanzisha ambapo una kura ya miundo tofauti,
na kama mtu anapata kazi, basi, kwamba ni kubwa.
Kama moja ya mwisho juu ya kushindwa, basi daima kuwa na mtu mwingine kwa kugeuka.
Kwa ujumla, wala kuhisi kama wewe lazima unakabiliwa
kubuni chochote awali kuamua juu ya.
Miundo variable sana, na sehemu ya umuhimu wa mfano
mtawala kuangalia mfumo ni kwamba unaweza kubadilishana ndani na nje maoni tofauti unataka.
Unaweza Sway data kwa njia moja, na kisha kuamua, oh, kwa kweli, kwamba haifanyi kazi vizuri.
Nadhani ni aina ya ngumu sana au kuna sehemu hapa kwamba haifanyi kazi,
hivyo mimi nina tu kwenda kuachana na kabisa mtazamo huu na kubadilishana katika moja mpya kabisa.
Sisi bado unaweza kutumia mifano ya zamani na controllers zamani.
Tunaweza kufanya kila kitu juu ya server na mteja kama tunataka kabla ya.
Lakini halisi wimbi la data kama kuonyeshwa ni kwenda kuwa tofauti kidogo.
>> Mbali kama kweli utekelezaji wa mpango unataka,
mara moja una miundo chache sketched nje juu ya karatasi au kwenye picha Shop au chochote,
kuna idadi ya zana kwamba ni kupatikana na wewe.
kwanza wewe ni ukoo sana na ambayo ni HTML yako, PHP, au chochote
lugha unatumia tu na kanuni kurasa tuli kwenye tovuti yako.
Umefanya kazi mengi na HTML ambayo aina ya anatoa haya vitambulisho
kuwa unaweza kuweka mambo katika, na kimsingi ni njia ya kuandaa maudhui yako.
Kwa mfano, una kichwa hadi pale, hivyo ni kwenda na header tag,
na ni kwenda kuwa na baadhi ya maandishi ndani yake ambayo pengine ni kwenda kuwa katika tag mwingine.
Kisha una sidebar labda kwa baadhi ya viungo tofauti,
na wale ni kwenda wote kuwa katika vitambulisho tofauti.
Kwa hiyo, kimsingi HTML katika moyo wake ni njia ya kugawa up ukurasa jinsi
hatimaye wanataka muundo ni.
Hivyo tena, wameweza kuona kwamba kabla ya.
Wewe pretty vizuri na kufanya kazi na sasa
kutokana na kwamba umefanya kosa pset mwisho hopefully,
hivyo kwamba wanapaswa kuwa hakuna tatizo.
>> Kisha una CSS ambayo kimsingi Hushughulikia zote za kubuni masuala tuli.
Itakuwa kushughulikia yote ya rangi, wote wa nafasi ya mambo mbalimbali,
ambapo wao kwenda kwa heshima na mtu mwingine,
jinsi kubwa wao ni, aina mbalimbali za positionings kwamba ingekuwa -
kwa maneno mengine, unaweza kuwa mambo fasta ili wakati kitabu chini wao kukaa,
au unaweza kuwa na mambo jamaa na mambo mengine.
Yote hayo aina ya mambo ni katika CSS.
Aidha, unaweza kufanya mapambo tofauti, unaweza kuwa na rangi ya maandishi,
madhara Nakala, kila ya aina hiyo ya mambo ya ajabu.
Ben kuwaelimisha mzuri juu ya mwishoni mwa wiki hii ya mwisho,
na hivyo napenda dhahiri kuangalia kwamba nje kama mpango wa kufanya baadhi ya mambo dhana na CSS.
CSS3 ni kweli toleo newest wa CSS, na wanaweza kufanya kila aina ya mambo ni nzuri.
Inaweza kufanya gradients, unaweza kuwa na nzuri, pembe rounded, unaweza kufanya kila aina ya mambo
kufanya tovuti yako kuangalia kisasa zaidi na dhana.
>> chombo pili ni JavaScript na jQuery ambayo Ben aliyesema kidogo kuhusu,
lakini mimi itabidi kupata kidogo mbali zaidi katika.
JavaScript, kama umefanya kazi na ni kidogo kidogo, au angalau kuonekana katika hotuba,
ni aina ya njia ya dynamically kufanya mambo katika HTML.
HTML, kama unajua, ni tuli, hivyo mara moja na HTML huwezi kurekebisha.
Lakini JavaScript, katika baadhi ya njia, ni njia ya kuwa na uwezo wa kurekebisha HTML.
Hivyo unaweza kufanya hivyo, na kwamba ni kubwa, lakini JavaScript kweli ni maumivu kufanya kazi pamoja.
Ni muda mrefu na butu na kufanya hata mambo rahisi
inahitaji kura ya mistari ya JavaScript.
Hivyo, jQuery kimsingi ni maktaba kwa ajili ya JavaScript kwamba simplifies yote.
Ni anasema, sawa, kama unataka kuwa na sanduku mraba kuja kutoka upande wa kushoto
na kupotea katika ukurasa hivyo kwamba ni katikati, katika JavaScript kwamba bila kuchukua -
Mimi sijui, mia mistari ya kufanya, na itakuwa maumivu,
na wewe kuja nje ya hiyo kuwachukia kila kitu kuhusu programu ya mtandao.
JQuery wewe kimsingi na kipengele-dot-fade-katika, au kitu kama hicho.
Kazi hiyo, sana, rahisi sana kwamba basi wewe kufanya kila aina ya mifano kwa michoro cool
na kwamba aina ya kitu.
Kitu kingine kwamba hizi 2 ni mzuri kwa ajili ya anafanya mambo ya nguvu tu
na tovuti.
Hivyo, badala ya kuwa tu HTML ukurasa wako - ambayo inaonyesha baadhi data lakini si kweli
kufanya kitu chochote - JavaScript na jQuery basi una kifungo kwamba unaweza bonyeza,
na unaweza Drag mambo na re-ili nao na aina yao, na kuwa na mambo mapya
aliongeza au kuondolewa. Unaweza kuongeza kufuta, kwamba aina ya kitu.
Hivyo, jQuery gani tani ya mambo ya baridi.
Na Vipul ni kweli kutoa semina juu yake leo, naamini, saa 5 usiku,
hivyo kama unaweza fimbo karibu kwa muda mrefu kiasi kwamba ingekuwa - 5 au 4?
Nne. Sorry. Ni kweli haki baada ya hii, hivyo napenda kupendekeza
sticking karibu kwa ajili yake kama unaweza.
JQuery ni super, super muhimu, na wewe utakuwa na uwezo wa kufanya mambo mengi ya kweli ni nzuri na ni
kwa pretty much mradi wowote wa maendeleo ya mtandao.
>> Sasa mimi nina kwenda kupata katika aina ya tofauti.
Nimekuwa kuzungumza kimsingi kuhusu user interface.
Interface user ni tu mpango wa tovuti.
Lakini kuna aina ya mwingine dhana ambayo ni user uzoefu.
mbili ni tofauti sana.
Interface ni dhahiri sehemu ya uzoefu.
Kwa maneno mengine, wakati wa kwenda kwenye tovuti, ukiangalia interface.
Hiyo ni sehemu ya jinsi gani uzoefu tovuti.
Lakini uzoefu user ni zaidi ya hapo.
Uzoefu user ni juu ya nini hisia kwamba mtumiaji anapata kutoka tovuti yako ni.
Hivyo, ni wazi, interface ni sehemu ya kwamba.
Na ni dhahiri sehemu muhimu, lakini si ya kutosha.
Kwa maneno mengine, kama una interface nzuri, na ni pretty na colorful na yote hayo,
kwamba ni kubwa, lakini kama user huenda kwenye tovuti yako, anaona layout pretty na ni kuchanganyikiwa na
kila kitu, hana wazo jinsi ya kufanya kitu chochote, basi ni wazi umefanya kweli
tovuti maskini.
Hiyo ni aina ya ambapo uzoefu user anakuja in
Mimi nina kwenda kuzungumza kidogo kuhusu UX design - UX ni short kwa uzoefu user -
na aina ya jinsi gani ya kuhakikisha kwamba una nzuri user uzoefu.
hatua ya kwanza ni kwamba unaweza kutengeneza tovuti ambapo mtumiaji anaweza kufanya kitu chochote ambacho
user kwamba huenda anataka.
Lakini kama user hawezi kufikiri jinsi ya kufanya mambo hayo -
kwa maneno mengine, kama mtumiaji hana wazo nzuri wakati wao kwenda kwenye tovuti yako ya,
"Oh, kama nataka update profile yangu, basi mimi bonyeza button hii, au kama nataka baada ya juu
ukuta mtu, basi mimi kwenda ukuta yao na bonyeza sanduku kidogo. "
Kama mtumiaji hajui kwamba, basi wewe kwa ufanisi na si kweli
kutekelezwa kwamba utendaji kwa usahihi.
Sehemu ya utekelezaji wa utendaji ni kuwa watumiaji ni kweli na uwezo wa matumizi yake.
Na inaweza kuwa frustrating - unaweza kufanya tovuti, na inaweza kufanya kila aina ya
mambo ya ajabu, lakini basi itabidi watu mtihani na kusema, "Ni hawezi kufanya hivyo.
Kwa nini hawawezi ni kufanya hii? "Na wewe utakuwa kusema nyuma yao,
"Naam, inaweza. Wewe tu na kwenda katika orodha ya 7 kushuka chini juu ya hili Obscure
ukurasa kwamba tu ni kupatikana kwa kiungo chini-mkono wa kulia kona "au kitu.
Ni wazi, hawataki hiyo.
Unataka kuwa wazi kwa watumiaji yako nini re wanatakiwa kufanya,
na ni lazima kuwa rahisi na Intuitive kwa ajili yao.
>> Kitu kingine kwamba unataka kujaribu kufanya ni, kama mtu ni kwenda kwenye tovuti yako
na 9 kati ya 10 mara ya kufanya vitendo A, na 1 kati ya mara 10 ya kufanya vitendo B,
pengine unataka kuzingatia uzoefu wao juu ya hatua ya A.
Kwa maneno mengine, unataka kufanya hivyo sana, wazi sana jinsi ya kufanya A.
lazima mbele-na-kituo cha - kwenda kwenye tovuti, kuona, oh, ni haki huko.
Wakati B wazi unataka kuwa wazi, lakini unaweza kuondoka kidogo zaidi
katika background.
David anatoa mfano mzuri wa hili katika hotuba,
ambayo ni mfumo wa Boston T.
Baada ya kwenda kwa Boston T na unataka kununua tiketi,
una kupata katika 5 menus kabla unaweza kweli kununua tiketi
kwa $ 2, $ 2.50 thamani, ambayo ni kiasi gani inachukua wapanda Subway
katika mwelekeo mmoja.
Hilo ni tatizo kwa sababu watu wengi ambao ni wanaoendesha Subway
pengine wanataka tu kwenda sehemu moja, kununua tiketi zao, kupata haki mbali.
Haina maana kwamba wao kwenda njia ya kura ya menus mbalimbali
ya kufika huko.
user uzoefu bora itakuwa kifungo haraka juu ya ukurasa wa kwanza
kwamba tu anasema, 'kununua njia moja ya tiketi, na kwamba bila kuweka katika yote ya kiwango
maadili default; na kisha kama mtu anataka kununua tiketi mbalimbali zaidi ya kwamba,
wao bado, bila shaka, kuwa na chaguo, lakini umefanya optimized kwa ajili ya
kawaida ya matumizi ya kesi ambayo ni muhimu.
Unaweza kuona mifano ya hili juu ya Facebook, sawa?
Kama wewe kwenda kuungana na unataka baada ya sasa,
ni haki juu ambayo ni nini mara nyingi unataka kufanya.
Kama haraka kama wewe kuingia ukurasa, unaweza kufanya mambo ya kawaida kwamba
unataka kufanya.
Kama unataka kufanya mambo kidogo ngumu zaidi kama,
kusema Nataka kwenda kwa ukuta rafiki yangu na baada ya picha juu yake -
ambayo mimi utasikia wanataka kufanya mara nyingi, lakini si kama mara nyingi kama posting hali updates -
hivyo katika kesi hiyo, mimi uandike jina lake kwenye sanduku saa ya juu, bonyeza profile zao,
na kisha, bado, ni haki juu huko mara moja mimi wameweza kujipatia kwa maelezo yao.
Tena, nimekuwa optimized katika kipaumbele kwa ajili ya kesi ya kawaida ya kutumia.
>> Jambo jingine muhimu ni kwamba mara nyingi watu aina ya kujaribu kupata kote hii
kwa kusema, okay, hivyo nimekuwa alifanya tovuti na watu ni kutafuta ni utata,
na kwamba ni tatizo, sawa?
Ni wazi, sitaki watu kuchanganyikiwa na maudhui ya tovuti yangu.
Lakini njia ya kutatua kwamba ni si kuwa na kitu pop up akisema,
hey, mimi nina kwenda kufundisha jinsi ya kutumia tovuti hii.
Hatua ya 1 - bonyeza button hii. Hatua ya 2 - nenda hapa.
Hakika, hiyo ni njia ya kuzunguka ni - ni njia ambayo unaweza kuwaambia watu nini cha kufanya, lakini ni
kweli si njia mojawapo.
Kama mimi kwenda kwenye tovuti na ghafla mimi nina bombarded na mafunzo haya anayewambia mimi
nini cha kufanya na wapi pa kwenda na yote hayo, si kwamba furaha kwa ajili yangu.
Siyo uzoefu mzuri kwa ajili yangu.
Ni aina ya maumivu. Nataka tu kuanza kufanya mambo ya ajabu.
Watu tunaenda kuifunga nje ya boksi yao dialog,
au kupata nje ya mafunzo, si kujua nini cha kufanya, na kisha wanalalamika kwa sababu
wewe si aliwaambia nini cha kufanya.
njia ya kutatua hii si kwa kutoa aina yoyote ya mafunzo au maelekezo -
kitu kama hicho.
Kama vile unaweza kuepuka hayo, kweli unataka kuonyesha user nini cha kufanya
tu na asili ya jinsi tovuti ni kuweka nje.
Kwa maneno mengine, kama mimi kwenda Facebook bila magogo katika,
Jambo la kwanza kwamba mimi kuona kwenye ukurasa kuu -
ni kidogo sanduku kuingia. Hivyo, duh. Mimi na kuingia ndani Ni haki huko.
Wakati, kama nilikwenda Facebook na mimi alikuwa na bonyeza kiungo kidogo chini
kuwa alisema 'kuingia katika' na wengine wa ukurasa baadhi tu ya aina ya picha au kitu,
Napenda si kweli kujua nini cha kufanya, sawa? Napenda kuwa na kuchanganyikiwa.
Hivyo, inaweza kuwaambia mimi kwenda huko chini na bonyeza kuingia katika,
au logi katika kifungo inaweza kuwa na haki katika juu ambapo mimi nina kwenda kuona.
Unataka daima kuwa na kuonyesha user nini cha kufanya,
na kwamba wanapaswa kuwa asili katika ukurasa yenyewe.
>> Wakati wewe ni kufikiri kuhusu miundo na mzaha juu ya njia mbalimbali za
kuonyesha tovuti yako, kwa kweli nataka kufikiri kuhusu nini watumiaji ni kwenda
kufanya na jinsi gani unaweza kuwaonyesha nini cha kufanya.
Jambo la mwisho ni kupima ni kweli, kweli muhimu.
Ni kubwa ya kupata mtu - kupata rafiki, kupata mtu hamjui hata -
ambaye kamwe kuona tovuti kabla ya kutumia tovuti.
Kwa sababu tumekuwa kufanya kazi kwenye tovuti kwa masaa, tumekuwa staring saa hiyo,
na kujua hasa nini cha kufanya hivyo ni wazi utaenda kuwa upimaji wa
mambo ambayo tumekuwa kazi na kwamba unajua kazi.
Lakini mtu mwingine akija pamoja na matumizi ya tovuti ambayo hajawahi kutumia hivyo kabla,
kwamba uzoefu wa kipekee kwa sababu wewe kuwa na mtu ambaye hana maarifa ya awali
cha Tiba kwenda ndani yake, hivyo ni kwenda na ufanisi hakuna wazo la kufanya
au ni aina gani ya kesi ya matumizi waliopo kwa ajili yao.
Hiyo ni kubwa. Hiyo ni ya kipekee kwa sababu wao ni kimsingi mtu na tupu kwa akili.
Wanaweza kukuambia kama kitu fulani ni utata au wazi.
Wao wanaweza kukupa wazo la just nini uzoefu mtumiaji wa tovuti yako ni.
Inaweza kuwa vigumu sana kuwaambia kwamba wewe mwenyewe, hivyo dhahiri napenda moyo
kama wewe ni kuendeleza miradi yako - kama wewe ni kufanya miradi mtandao msingi -
kupata watu kutumia tovuti kama mapema kama una aina fulani ya kazi demo.
>> Sasa mimi nina kwenda kuzungumza kidogo kuhusu jinsi ya kusimamia maendeleo ya mtandao mradi huo.
Tumeenda juu ya jinsi gani unaweza kufanya kiufundi nyuma-mwisho upande,
jinsi gani unaweza kubuni tovuti mzuri,
na kwamba ni kubwa kama wewe ni kufanya kazi na wewe mwenyewe lakini -
hata kama wewe ni kufanya kazi na wewe mwenyewe na hasa kama wewe ni kazi ya timu,
usimamizi wa mradi inakuwa suala kubwa.
Umefanya aina ya kusikia kuhusu usimamizi wa mradi katika aina mbalimbali tangu
shule ya wakati waliambiwa kazi ya kikundi.
Una kushirikiana, kuwasiliana, yote hayo.
Hayo ni yote bado inatumika hapa, lakini kuna baadhi ya mazingira ya kipekee na
sayansi ya kompyuta kwamba unataka kuwa na ufahamu wa, na unataka kuhakikisha kushughulikia vizuri.
Mimi nitaongea kwanza kidogo juu ya timu kuwa wewe utakuwa in
Ni muhimu sana kwa kuchukua ukubwa wa kulia wa timu ya kufanya kazi katika,
na katika mradi wako wa mwisho nadhani una hiari ya kuchagua
kati ya 1 na 4 watu kama mimi nina sahihi.
Unataka kuhakikisha kwamba wewe si kuchagua tu ya idadi ya watu
kwamba unataka kufanya kazi na kwa sababu wao ni rafiki yako.
Unataka kuchagua timu hiyo ni nzuri kawaida na kwamba kupata kazi kufanyika.
Kuna biashara mbali ya kuwa na watu zaidi dhidi ya watu chini ya ni.
Kama una watu wengi zaidi, kazi ni wazi zaidi kifanyike
kwa sababu una kura ya watu, kura ya kificho, kura ya maoni,
na kwamba wote kubwa.
Lakini pia inahitaji usimamizi mengi zaidi na mawasiliano mengi zaidi.
Kwa maneno mengine, kama una watu 4 kazi juu ya mradi huo
na wote unahariri code huo huo, zaidi au chini ya wao kila aina ya haja ya kujua
nini kinaendelea hivyo inahitaji -
kama wewe kuongeza baadhi ya kazi mpya aina ya kuwa na kuwaambia watu - Nina akiongeza kuwa hili,
Mimi nina kubadilisha hii kwa njia hii - hasa kama wewe kupata katika mambo ya kweli kina
kama mifano na controllers kwamba ni kweli kwenda ushawishi jinsi tovuti kazi.
timu nzima inahitaji kuwa na ufahamu wa hayo,
hivyo unahitaji kuhakikisha wewe si kuchagua kubwa mno timu hiyo itakuja kuwa vigumu
kwa kufanya mawasiliano.
Wewe pia hawataki kuchagua ndogo timu kutosha kwamba wewe si kwenda kwa
kuwa na uwezo wa kuwasiliana kwa sababu wewe tu.
>> Jambo jingine la kuzingatia ni urari wa ambapo ujuzi watu ni.
Ni kubwa kama wewe ni wote programmers mzuri.
Lakini kama wewe ni watu wote nyuma-mwisho, basi tovuti yako si kwenda kuangalia vizuri sana
kwa sababu una database hii kubwa, na ni gani maswali super-haraka search -
ambayo ni kubwa - lakini wakati wa kwenda hilo, ni kama miaka ya 1990 tovuti na nyekundu na bluu
kila mahali, na kwamba hakuna nzuri aidha.
Taarifa kwamba Ben na mimi kufanya kazi kama timu ni nzuri sana kwa sababu mimi nina aina ya zaidi
katika mwisho wa mbele, sisi wote kuingiliana katika katikati mwisho, na Ben ni mzuri na nyuma-mwisho stuff,
ili kazi vizuri kwa sababu tunaweza kubuni tovuti yoyote na kimsingi mashimo
katika kwamba tovuti ambayo yanahitaji kujazwa inaweza kujazwa na ama mmoja wetu, au pengine zote mbili.
Unataka kuhakikisha kwamba hakuna mashimo katika timu yako.
Ni sawa kama kuna kidogo ya mwingiliano.
Kwa maneno mengine, kama una watu 2 kwamba ni mema kwa nyuma mwisho,
ambayo inaweza kuwa nzuri kama vizuri kwa sababu wanaweza kusaidiana na matatizo
kwamba wao ni kuwa.
Inaweza kuwa ni tatizo kama wewe tu na 1 mtu ambaye ni wajibu kwa ajili ya kitu fulani
na wao kukimbia katika tatizo, hivyo wewe unataka kuwa na kidogo kidogo ya mwingiliano
lakini muhimu zaidi unataka kuhakikisha kwamba wote wa mashimo inawezekana ni kujazwa.
>> Jambo la mwisho - na hii inapaswa kuwa wazi, lakini ni mara nyingi si.
Kweli unataka kuwa na furaha.
hatua ya mradi huu wa mwisho katika CS50 na mara nyingi hatua ya maendeleo ya mtandao kwa ujumla
si tu kufanya kazi kwa sababu mahitaji ya kufanya.
Kweli unataka kuwa na furaha, na unataka kuwa kufanya kitu
hiyo kuwahamasisha wewe kazi juu yake.
Kama chochote wewe ni kufanya ni maumivu ya kukaa chini na kazi,
kisha wewe si kuchagua mradi wa kulia.
Unataka kuchagua kitu ambacho wewe kupata kuvutia,
kweli unataka kuona matokeo, wewe ni msisimko wakati kupata wazo mpya kuhusu
kitu unaweza kufanya - hivyo kuna kila aina ya miradi huko kwamba mimi nina uhakika
unaweza kupata - kila mtu ana kitu ambacho ingekuwa kweli fitina yao
kama wao ni kufanya mradi wa mtandao msingi.
Mimi itabidi kusema tena hivi sasa.
Kama mradi wako inaonekana kama maumivu na hawataki kwa kazi hiyo,
kuchagua mradi mwingine. Kuchagua kitu ambacho kwa kweli kuwahamasisha wewe.
>> Ben zilizotajwa hii dhana ya iteration kidogo, na mimi nataka kwenda juu yake kidogo.
Ni kweli muhimu kufanya kazi katika spurts ambapo unaweza kupata kitu kazi.
Inaweza kuwa kubwa kama una mpango huu kwa tovuti ya kwamba kwenda kufanya, B, na C,
na hatimaye kutakuwa na kufika huko.
Lakini wewe ni kukwama katika awamu hii ambapo wewe ni kazi yake na kazi yake,
lakini hakuna ni kupata kufanyika. Huwezi kuwa na kitu chochote kuona na yanayoonekana, kazi kitu.
Kweli unataka kufanya kama vile inaonekana aina ya maumivu wakati mwingine
kazi juu ya kitu na kisha aina ya cap ni mbali hivyo kuwa ni angalau imara, mbio
toleo hata kama haina sifa zote unataka.
Na labda kuna baadhi ya vipengele kwamba kweli unataka kuongeza lakini tu hawezi
kwa sababu unataka kupata tovuti hii kwa uhakika kazi.
Na hivyo unataka aina ya kuwa na mchakato wa maendeleo kwa ujumla kuangalia kama hiyo.
Unataka kuanza mahali fulani kazi - au kimsingi kuanza na kitu -
lakini unataka kupata mahali fulani ya msingi sana na kazi.
Na kisha tena, kufanya aina ya kuruka na kupata mahali fulani kazi tena.
Itabidi polepole kujenga, na wanaweza kwenda kidogo polepole kuliko ingekuwa vinginevyo,
lakini kwa muda mrefu kama wewe ni mara kwa mara kukwama katika hii katikati ya ardhi awamu ya wapi
si kweli kuwa na kitu chochote kufanya kazi, inaweza kuwa kuchanganyikiwa kweli kubwa
kufanya kazi juu ya mradi wako kwa sababu wewe daima karibu na kupata ni kazi,
na ni kweli kamwe kazi.
Unataka kazi katika spurts hizi kazi,
na wewe pia wanataka kufanya baadhi ya kutafakari baada ya kila mmoja.
Kwa maneno mengine, mara moja uko katika hatua ambapo tovuti kwa sasa anafanya kazi -
haina kila kitu wewe kama lakini haina baadhi ya mambo -
unataka kufikiri, okay, ni tovuti hii kufanikisha lengo kwamba mimi kuweka nje kufanya?
Kwa maneno mengine, kama tovuti ni kwenda kufanya X, ni nini nina kazi katika mwelekeo wa X?
Wote ni wa functionalities kuwa nilitaka huko?
Na zaidi ya hayo, ni ni kuwahudumia madhumuni ya jumla kwamba mimi nataka?
Kama wewe ni kutafuta kwamba tovuti yako ni mapya Nanhe katika mwelekeo tofauti
au labda mambo tu ya aina ya si kufanya kazi nje, inaweza kuwa wakati kuhama gia kidogo.
Kwa maneno mengine, ni thamani ya kuzingatia - ni yenye thamani ya kutupa mawazo kama ni lazima
na kwa kuzingatia mimi kweli kufanya kazi kwa nini nataka kuwa.
>> Naamini hiyo ni hatua yangu ijayo. Je, si kuwa na hofu ya kuachana na mawazo.
Kwa sababu tu alitumia kura ya saa za kazi juu ya kipengele
na hatimaye got ni kazi lakini kwa kweli si kwenda vizuri -
kama si kwamba muhimu au watumiaji ni kuwa na matatizo ya kutumia it - aina ya kitu -
wala kuwa na hofu ya kutupa mbali.
It sucks kwamba umefanya alitumia muda mwingi kufanya kazi juu yake,
lakini hatimaye hawataki tovuti hiyo aina ya kuweka pamoja na vipande haya
aina ya kazi lakini si kwamba pia aliwahi.
Pia, je, si kuwa na hofu ya kukubaliana na mawazo mapya.
Kama mtu anakuja pamoja na anasema, hey, tovuti ambayo kwa kweli inaonekana baridi lakini
bila hata kuwa kubwa kama pia alifanya hii?
Kwa sababu tu kwamba kitu ambacho wewe hakuwa na nia ya na kitu ambacho si katika yako
specs, kitu ambacho si kuweka nje kufanya,
msiwe na hofu ya kuchukua juu na kisha kazi na hivyo.
Kwa sababu mara nyingi mawazo kwamba kukimbia na katika kozi ya maendeleo
kuishia kuwa makala kweli baridi wa tovuti.
>> Nilivyosema hili kabla. Mimi itabidi kusema tena.
Wapimaji ni super, super muhimu.
Kujaribu kupata watu ambao hawajawahi kuona tovuti kabla ya kuingia na kuona nini kinaendelea
kwa sababu wao si tu mtihani manufaa ya tovuti na uzoefu user,
lakini wanaweza pia mtihani utendaji kwa njia ambayo hawawezi.
Kama wewe kufanya baadhi kipengele kwamba hana kitu fulani
na unajua ni kwenda kufanya jambo moja kwa usahihi kila mara moja, kwamba ni kubwa.
Lakini mara nyingi unaweza kuwa vigumu akaunti kwa ajili ya kona kesi ambapo mtumiaji nguvu
aina ya kitu kwamba hawakuwa wanatarajia - just kwa sababu wewe defined
makala mwenyewe.
Hivyo, kuwa na mtu kuja juu ambaye hana wazo jinsi ya kutumia tovuti
na tu kuvunja katika kila njia wanaweza kufanya ni muhimu kweli kweli kwa sababu wewe
kupata wazo kwa mtazamo tofauti kabisa na kile kwenye tovuti yako ni kufanya kazi
na nini mahitaji ya kukarabati.
>> Mwisho, mimi nina kwenda kuzungumza kuhusu baadhi ya mila na mkuu nzuri,
na wameweza kuona mengi ya haya katika CS50, lakini wao pia kweli, kweli kuomba katika mazingira ya mradi huo.
Moja ni maoni. Daima maoni code yako hasa kama wewe ni kazi ya timu kubwa.
Ni inaweza kuwa hivyo annoying tu na kuzuia kubwa ya kificho kwamba mtu imeandikwa
na labda ni kazi, labda hana, lakini hawana wazo nini hivyo,
hivyo hawana wazo kama ni muhimu au si au kama ni lazima kuna au la,
na kama wewe ni kufanya kazi juu ya kitu kingine ni hata inawezekana kwamba wewe ni kazi ya
kitu kimoja, ili tu kuwa mwangalifu sana kuwa mpole wa rika yako
na kuandika kificho kwamba ni vizuri kumbukumbu.
Huna kwenda mbali kama kufanya jambo zima ambapo kama kama wewe increment
kukabiliana na kuwa na maoni kwamba anasema, mimi nina kuongeza 1 kukabiliana na hali hii.
Ni hana kuwa kina, lakini kwa kazi yoyote ambayo wewe ni milele kuandika
unapaswa kuwa baadhi ya nyaraka ya nini kazi hiyo hasa haina,
nini pembejeo yake ni, na nini ni lazima kurudi.
Kwa njia hiyo unaweza kutumia sehemu nyingine ya watu wa tovuti
na unaweza kufanya kazi ya kujenga jambo kubwa.
>> Jambo jingine muhimu ni unataka kufanya mara kwa mara safi-ups.
Code anapata messy. Je, si kujisikia vibaya kama kanuni yako ni haki kabisa iliyojaa na fujo kubwa.
Kinachotokea katika maendeleo ya mtandao daima.
Wewe ni kuongeza makala mpya, kuondoa wale wa zamani. Mambo ni kwenda kuwa kuna kwamba wanapaswa kuwa.
Hiyo ni sawa, lakini unataka kuhakikisha kukabiliana na kwamba mara kwa mara.
Hawataki basi ni kujenga kwa uhakika ambapo wewe tu hawezi kupata kitu
katika kanuni yako, na wewe huna wazo nini kitu chochote gani.
Hiyo ni kesi na HTML.
Wakati mwingine utasikia kuishia na vitu kwamba wala vyenye kitu chochote,
na utasikia wanataka kujikwamua wale.
Katika CSS, unaweza kuwa na akimaanisha mambo ambayo ni huko si tena,
hivyo unataka kujikwamua kwamba code.
Katika JavaScript, unaweza kuwa na kuondolewa kitu kutoka HTML.
Hivyo, unataka kuhakikisha kuwa wewe ni daima kusafisha, kufanya mambo pretty
kama vile unaweza mara kwa mara.
>> Jambo jingine muhimu kweli kwamba sidhani ni ilivyoainishwa sana katika CS50
lakini ni thamani ya kupata ndani ya ni toleo la kudhibiti.
wazo la toleo la kudhibiti ni wakati wewe ni kimsingi kuweka wimbo wa maendeleo wote
umefanya kuelekea tovuti yako na kama katika hatua yoyote wewe kutambua, oh, hii alikuwa akifanya kazi
wakati iliyopita lakini si kazi yoyote zaidi, unaweza kwenda nyuma matoleo ya awali
na kuona nini imebadilika tangu wakati huo na kwamba aina ya kitu.
njia ya kwanza ya kufanya hivyo ni kwa Git, na Git ni aina hii nzima ya mfumo wa kwamba
Naamini Tommy MacWilliam kuwaelimisha kuhusu mwaka jana.
Kama kwenda katika semina CS50 kwa ajili ya 2011, unaweza kuona semina wake juu ya hilo.
wazo la Git kimsingi ni kwamba katika vipindi vya kawaida wewe ni kufanya ahadi hizo
ambayo ni njia ya kusema tovuti kiko kwenye toleo pretty imara hivi sasa ili
Mimi nina ufungaji it up na kutuma mbali kwa server, na kisha unaweza kwenda kwamba server
na kuangalia matoleo yote ya awali ya code yako na kuona ni jinsi gani endelea
na kwamba aina zote za mambo mema.
Hivyo, kwamba kimsingi yake.
Mbali kama maendeleo ya mtandao, sisi ni furaha kwa fimbo karibu na kujibu yoyote
maswali kama mbali kama presentation yetu.
Hiyo ni. Shukrani. >> [Ben] Shukrani.
[Applause]
>> [Billy] Staff, haina mtu yeyote una maswali yoyote kuhusu mambo ambayo tumekuwa kufunikwa
au mambo ambayo tumekuwa si kufunikwa kwamba walikuwa na matumaini tunatarajia kufunika?
Tunatarajia kuwa na furaha na kujibu hizo. Mtu yeyote?
[Watazamaji mwanachama] ni faida na hasara za kutumia Ruby au kutumia Python nini?
[Ben] swali, ni nini faida na hasara za kutumia Ruby au Python
badala ya kama PHP.
faida ni kwamba Ruby na Python ni lugha bora zaidi kuliko PHP.
Angalau kwa maoni yangu, na nadhani katika mengi ya maoni ya watu wengine pia.
Walikuwa iliyoundwa zaidi kwa kufanya mambo tata,
na kidogo kwa ajili ya whacking pamoja kurasa za mtandao kweli haraka kwa
kidogo ya bidhaa za nguvu.
hasara ni kwamba kuna kidogo ya - kuna zaidi ya kujifunza Curve
kupata yao kuanzisha.
Hiyo ni, kama katika PHP, unaweza tu na HTML file na kuandika chini-kuliko,
swali, na kisha kuandika baadhi ya kanuni, na kisha kuandika swali,
zaidi-kuliko, na kisha wewe ni kosa.
Katika lugha zingine kama Ruby au Python,
una kwenda kwa njia ya kazi kidogo zaidi ya kupata awali tovuti mbio.
Kuna pia - angalau kutumika kuwa kesi - kwamba kuna nyaraka zaidi
kutosha kwa ajili ya PHP kwa sababu tu kuna watu zaidi ya kutumia.
Nadhani si kama mengi ya suala tena.
Kuna hakika nyaraka nzuri sana kwa ajili ya mambo kama Ruby juu ya reli
au Django kwa Python ni sawa.
PHP ni kwamba kila mmoja imekuwa kutumia kwa miaka, na unajua jinsi ya kazi.
Ruby na Python ni kidogo kidogo kukomaa.
>> [Watazamaji mwanachama] Kama ungekuwa na kuchagua kati ya mmoja wao kujifunza au pick up,
ambayo unapendelea?
Kusema kweli, nadhani kwamba inategemea mtu.
Mimi nina sorry. swali ambayo unaweza kuchukua kwa ajili ya mtu kujifunza?
Mimi kupata Python nicest binafsi.
Kuna mengi ya watu ambao - mimi mradi wangu wa kwanza mtandao dev katika Python na Django.
Kuna mengi ya watu ambao kama Ruby juu ya reli pia.
Watu pengine zaidi ambao wanajua Ruby juu ya reli.
Kusema kweli, mimi ingekuwa tu kwenda na chochote watu karibu na wewe kujua
ili kuwa na watu kuuliza maswali.
>> Swali ni - juu ya watumishi pamoja ni aina ya vigumu kufanya kazi juu ya Python?
Hiyo inategemea mwenyeji wako.
Kuna idadi ya majeshi mtandao ambayo baada ya Python mambo ya ajabu.
WebFaction gani kwamba, haki?
WebFaction ni moja kwamba Billy na mimi kutumika kwa baadhi ya miradi.
Wao ni kubwa kweli kweli. Wanaunga mkono lugha zaidi.
Lakini ni kweli kwamba PHP ni zaidi sana mkono.
Hivyo, kama wewe ni kukwama kwa jeshi mtandao tu gani PHP, hiyo ni sababu nzuri ya kutumia PHP.
>> [Watazamaji mwanachama] I just got katika kujifunza jinsi ya swala baadhi database,
na Mimi najua SQL yangu ni kila mahali, lakini hivi karibuni got wazi kwa -
na wewe alisema nje. Unaweza kuona JSON na database expandable.
SQL langu ni bado kila mahali. Jinsi gani unaweza kuona kwamba kinachotokea?
Je, kuna kwenda kuwa na tabia kuongezeka kwa zaidi expandable (inaudible)?
swali - sidhani kuna kwenda kuwa mwenendo kuelekea database mashirika yasiyo ya SQL.
Kwa mfano, kama MongoDB. Nadhani ni dhahiri kweli.
Ushauri wangu ilikuwa zaidi MySQL yanayohusiana na hapa tu kwa sababu MySQL ni
sekta ya kiwango.
Binafsi, mimi napendelea sana database kwamba hawana schemos kama MongoDB
ambapo huna suala la, oh, mimi haja ya kuongeza safu nyingine.
Ole wangu, kama chochote mimi?
Ni vigumu sana kufanya hivyo juu ya MySQL, lakini wakati una kitu kama Mongo
ni kiasi nzuri.
nyingine nzuri kitu kuhusu Mongo ni kwamba rekodi zako ni kweli JavaScript vitu.
Hakuna aina ya hatua kubadilika ambapo unahitaji kuchukua safu database hizi
na kurejea kwao katika JavaScript kitu na kisha kuwatuma juu ya waya.
Nadhani mambo kama hayo ni kwenda kuwa sana, muhimu sana kwa maendeleo ya haraka ya mtandao katika siku zijazo.
>> [Billy] Kitu napenda kuongeza ambayo ni tu uhakika kwa ujumla ni kwamba
wala kuhisi kama unapaswa wamejifunza lugha zote tumekuwa kujadiliwa
kutoka kwenye semina yetu.
Ni wazi hatua ni kwa kukupa wazo la nini huko nje,
na kama wewe ni zilizovutiwa na lolote kati ya mambo tumekuwa zilizotajwa unaweza Google yao
na kusoma juu yao.
Na kama nilivyoeleza, kuna semina chache ili kukabiliana na hasa mambo haya.
Kuna semina hata zaidi kwamba mimi si alieleza kuwa pengine kupata katika
mambo haya pia.
Wazo ni kwamba kama unataka kazi juu ya kitu, hapa ni zana ovyo wako.
Je, si kuhisi kuzidiwa kama wewe ni uhakika nini zana hizo kufanya hasa,
lakini kujua kwamba wao ni huko nje na kwamba unaweza kufanya matumizi mbalimbali ya yao
na Google.
>> [Watazamaji mwanachama] Ni aina gani ya mambo unahitaji kufanya ili kuhakikisha tovuti yako
inaonekana ni nzuri juu ya vifaa simu?
[Billy] vifaa Mkono ni ngumu kidogo.
Kuna njia 2 unaweza mbinu yake.
Njia ya kwanza ni kwamba kwa kweli kuwa na tovuti ya mkononi.
Kwa maneno mengine, wewe kufanya aina fulani ya kutambua mwanzoni
wakati browser ni kufanya ombi tovuti yako ambayo aidha anasema
kurudi mtazamo huu - ambayo itakuwa maoni kwa ajili ya desktop au mbali browsers -
na mtazamo huu nyingine kwa ajili ya vifaa vya muziki.
Hiyo ni mahali ambapo maoni ni kweli ni nzuri katika kwamba unaweza kubadilishana pretty much
mbili nje na kuwa na interface kwamba kazi kweli nicely juu ya vifaa simu
na kuwa na moja tofauti kabisa kwamba kazi vizuri juu ya vifaa browser.
tatizo na hilo ni inachukua muda mrefu kwa sababu ina maana coding
interface tofauti kabisa.
njia nyingine ambayo unaweza kufanya ni -
mengi ya simu za kisasa kuonyesha Nje na kujaribu atatoa yao kama browser kwamba,
na wao kufanya bora yao.
Unaweza aina ya kujaribu kukaa mwanga juu ya kiasi cha jQuery JavaScript unatumia
ambao huelekea kuwa ambapo mambo yanaweza kwenda vibaya kidogo.
Hii ni aina ya njia ambayo unapaswa kutumia kama huna wakati kiasi hicho.
Kama una muda wa kufanya kazi juu ya interface za Mkono, hiyo ni wazi chaguo bora yako.
>> Nadhani kwa ujumla kwa ajili ya miradi CS50, wewe ni atataka kuchagua moja au nyingine.
Kwa maneno mengine, unataka kufanya programu ya mkononi au unataka kufanya tovuti desktop.
Na kwamba aina ya huamua ambapo kwenda na kwamba.
Lakini kama unataka kupanua nje baadaye, pengine bet wako bora ni
kufanya mwingine interface kwa wengine.
Nina kidogo ya uzoefu katika kuendeleza maeneo ya WordPress-msingi.
Mimi mwenyeji tovuti binafsi juu ya WordPress kwa muda.
Wale aina ya mfumo wa inaweza kuwa nzuri tu mambo kama msingi sana.
Mara nyingi utasikia tu kukimbia katika masuala mengi mno ya customizability ingawa.
Utasikia wanataka kuwa na kitu kuangalia njia fulani au kuwa na njia fulani
na wewe tu hawezi kwa sababu ni ngumu-wired ndani ya mfumo
hii ni jinsi gani kufanya mambo ambayo inaweza kuwa kidogo ya tatizo.
Tangu wakati huo nimekuwa aina ya kuwa kutega zaidi ya kufanya kazi pamoja na maeneo ya kutoka ardhini hadi.
Kwa maana mambo kama database blog na kwamba aina ya kitu ni kweli si kwamba ni vigumu kujenga mfumo.
Kama wewe ni kweli aliweka kwa muda, unaweza bila shaka kutumia kitu kama WordPress
au aina ya kitu kwa blog.
aina ya mambo ambayo blogs kuhifadhi na kufanya ni si kweli ni vigumu kutosha kwamba
kama wewe ni mbio katika yeyote kati ya wale aina ya mambo, wewe ni pengine ni bora tu
kufanya katika nyumba version.
>> Nadhani hiyo ni juu yake, hivyo shukrani tena kwa kuja.
Sisi kwa kweli nilifurahia kuongea na wewe guys na matumaini kwamba kujifunza baadhi ya mambo.
[Ben] Sisi ni furaha kwa majadiliano - tuna kwenda lakini sisi ni furaha kwa majadiliano zaidi nje
kama una swali jingine. Shukrani tena. [Applause]
[CS50.TV]