Paano Bumuo ng isang Dynamic na Website: 4 na Hakbang (na may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Bumuo ng isang Dynamic na Website: 4 na Hakbang (na may Mga Larawan)
Paano Bumuo ng isang Dynamic na Website: 4 na Hakbang (na may Mga Larawan)

Video: Paano Bumuo ng isang Dynamic na Website: 4 na Hakbang (na may Mga Larawan)

Video: Paano Bumuo ng isang Dynamic na Website: 4 na Hakbang (na may Mga Larawan)
Video: Paano gumawa ng email address sa cellphone for beginners 2024, Mayo
Anonim

Ang mga isyu ng paksang ito ay napakalawak at magkakaiba sa mga posibleng diskarte na ang anumang makatotohanang sagot sa hindi maiiwasang mga katanungan ay maaari lamang ituro ang pangkalahatang paraan.

Maraming mga tao ngayon ang nais at umaasang bumuo ng mga pabuong (data driven) na presensya sa web, ang mga arkitektura na kaagad na tumatanggap ng mga bagong materyal, rebisyon, at pakikipag-ugnay ng bisita. wikiHow halimbawa ay isang pabago-bagong website. Habang ang layunin ng mga de-kalidad na proyekto ay maabot ng lahat ng masigasig na tao, isang pagkakamali na maliitin ang sa wakas ay isang malaking hamon na gawain, lalo na sa mga teknikal na bagay ng anumang inaasahang proyekto. Kahit na ang pinakasimpleng mga presensyang dinamikong web ay nangangailangan ng sapat na mga kasanayan sa iba't ibang mga disiplina.

Sa pagtugon sa mga kailangang-kailangan na layunin, walang sinumang maaaring lumihis mula sa mahusay na disenyo ng database. Ang paghahanda ng ating mga sarili sa disiplina na ito lamang ay isang malaking (ngunit hindi isang tiyak na) katawan ng trabaho. Sa sandaling mayroon kaming isang buod ng mga layunin sa proyekto, dapat nating isipin ang mahusay na paraan ng pagkamit ng mga ito. Pagkatapos ay mayroon kaming mga wika ng mga programa o tool na pipiliin, batay sa isang paningin para sa perpektong arkitektura ng proyekto.

Ang pagtingin sa buong larawan mula sa simula pa lamang, ay ang pinakamahalagang kasanayan sa lahat.

Mga hakbang

Bumuo ng isang Dynamic na Website Hakbang 1
Bumuo ng isang Dynamic na Website Hakbang 1

Hakbang 1. Iikot ang iyong utak kung anong mga uri ng tool at proseso ang makakamit ng iyong mga layunin

Dahil ang pinakasentral na core ng anumang pagkakaroon ng pabagu-bago ng web ay ang database at pagproseso ng data, ang aming unang mahahalagang layunin ay upang makagawa ng isang malayong desisyon sa isang engine ng database. Hindi magandang ideya na umasa na basta-basta na makagawa ng gayong pagpapasya sa ilang tila, pinaka makatwirang paunang pamamaraan.

  • Ang mahalagang layunin ng unang desisyon na ito ay upang planuhin ang aming proyekto sa paraang mabuo nang mabisa sa iyong paunang pundasyon, mahusay at walang tuluyang sagabal. Nangangahulugan ito na perpekto halimbawa, ang database engine na pinili mo ay hindi lamang madali, o tila simpleng i-deploy ngayon; mula sa simula dapat itong maging isang makina na susuportahan ang iyong mga hinihingi sa downstream na pagproseso.
  • Minsan ang mga pagsasaalang-alang sa komersyo ay higit na nakakaapekto sa mga naturang pagpipilian. Anong mga makina ang masinsinang pumasok (at magastos)? Ano ang mga engine na libre ang pagdalo sa mga pagpapatupad na nagpapanatili ng mga layunin sa pagpoproseso na dapat panatilihin ng iyong proyekto sa huli? Pangkalahatan, ang pattern na susundan ay piliin ang iyong engine batay sa isa sa dalawang posibleng mga disposisyon.
  • Upang magawa ito, kailangan mo munang i-chart ang iyong pangunahing mga pangangailangan sa talahanayan. Hindi na kailangan ng isang propesyonal na buuin ang mapang ito (hindi alintana kahit daan-daang libo o libu-libong mga talahanayan ang kasangkot), sapagkat kadalasang makikita nila kaagad kung ang arkitektura at mga hinaharap na kailangan mong suportahan ay basahin o sumulat nang masinsinan. Pipili ka pagkatapos ng isang naaangkop na database, batay sa pangkalahatang disposisyon na ito, at marahil ay batay pa sa personal na panlasa at karanasan, tulad ng maaaring paghulaan ng pagtatrabaho sa kani-kanilang mga tool sa pag-unlad ng software. Ang MySQL ay ang karaniwang pagpipilian para sa basahin ang masinsinang pagpapatupad. Maraming mga tagabuo ang tumingin sa mga database tulad ng PostgreSQL para sa maaasahang pagsulat ng masinsinang pagsulat. Binubuo namin ang aming mga disposisyon patungo sa mga mahahalagang tool sa pamamagitan ng maingat na pagsasaliksik, at sa pamamagitan ng pagguhit sa pool ng karanasan ng pangkalahatang industriya ng pag-unlad ng software. Sa pangkalahatan ay maiiwasan ang gastos, dahil ang mga libreng pag-deploy ng napakahusay na tool ay magagamit. Ang hinahanap namin ay ang pagganap sa alinman sa mabasa o sumulat ng masinsinang mga kapaligiran, pagiging maaasahan, kadalian at pagliit ng administrasyon, at handa na pagsasama sa mga prospective na tool sa pag-unlad ng software.
Bumuo ng isang Dynamic na Website Hakbang 2
Bumuo ng isang Dynamic na Website Hakbang 2

Hakbang 2. Piliin ang iyong mga tool sa pag-unlad ng software

Mayroong dalawang mga pattern na isasaalang-alang sa pagpili ng mga tool sa pag-unlad ng software. Sinasabing "madaling" mga tool ay bihirang sa katunayan madali, kapag ang isang proyekto ay hindi maiiwasang masira ang cast ng pag-unlad at mga pattern ng pag-andar na "madali" na mga tool sa pangkalahatan ay limitado sa. Kung nais mong gumawa ng isang bagay na lampas sa mga "madaling" tool tulad ng pagsasama ng isang wika o parameter ng pagsasalin sa mga dinamyang nabuong URLS, maaaring mas mahirap itong makamit sa mga "madaling" tool na maaaring tumagal ng sobrang sopistikadong mga kasanayan sa pagprogram bilang kasing trick ng madaling pattern sa paggawa ng mas kumplikadong mga bagay. Dapat nating makabisado ang ating mga tool upang makabuo ng magagandang proyekto. Hindi ito gumagawa ng madaling mga tool ng pinakamahusay na pagpipilian, o ang pinaka sopistikadong mga tool ng isang mahirap na panukala. Ang bitag ng "madaling" pag-unlad sa pangkalahatan ay naglalaman ng mga limitasyon na naging napakamahal upang mapagtagumpayan sa hindi maiiwasang ebolusyon ng mga proyekto. Ang isang malaking pagkakaiba-iba ng mga naturang tool sa pangkalahatan ay lumilitaw, na tila natutugunan ang mga naturang pangangailangan. Ngunit ang pattern ng pagtitiyaga ng mga tool ay nagtataksil ng isang mawari na katotohanan na nagawa ang layuning ito; at sa gayon, sa pangkalahatan ay nasusumpungan natin na ang pinaka sopistikado at makapangyarihang mga tool, na sinusundan ang mabuting mga pattern (o pagkakaroon ng mga bagay at aklatan), hindi lamang pinapawi ang praktikal na hindi maiiwasang mga sagabal sa madaling mga tool, ngunit gayon din gawin ang "pagpunta doon" ng isang mas prangka na proseso. Kapag sinuri namin ang saklaw ng mga magagamit na tool, sa pangkalahatan ang mga hindi gaanong komprehensibong mga modelo ay ipinakita sa mga paunang konsepto ng pag-unlad, at ang mas mahusay na mga konsepto ay inaalok ng mga susunod na umuusbong na tool (o hindi sila magkakaroon ng pagkakataon na mabuhay sa mga merkado na napanalunan na). Kung pipiliin namin ang isang sinasabing madaling tool pagkatapos, kung ano ang hinahanap namin ay isang pattern ng pag-unlad na parehong malambot at walang panghuling hadlang. Ang kabalintunaan para sa neophyte noon ay ang kahirapan na makita ang napakalayo sa kalsada na maaari nating makita ang mga hadlang sa programa sa isang naibigay na tool set. Ang ilang mga tao ay naniniwala na ang pinakamahusay na mga tool ay ang pinaka-makapangyarihang at ang hindi gaanong mahigpit sa mga tuntunin ng diskarte ng proyekto. Ang kalayaan upang mabuo kung ano ang gusto mo at kailangan ay madalas na nangangahulugang pagsira sa pangkalahatang modelo ng parang simpleng mga tool pagkatapos, ang mga hamon na maaaring praktikal na masira ang utak ng pinaka-bihasang at sopistikadong software engineer, dahil ang pagtagumpay sa naturang isang bagay ay nangangahulugang paggawa ng "simple" modelo gumawa ng isang bagay na maaaring wala itong katutubong kakayahan para sa pagsuporta. Ang "Ruby" halimbawa ay talagang isang madaling tool kaysa sa pangunahing C ++ o C #? Hindi. Hindi talaga, lalo na kung kailangan mong putulin ang simpleng modelo ng Ruby upang maihatid ang mahalagang pag-andar. Tulad ni Ruby, ang GCC ay libre para sa Linux at OSX. Dumarating din si Ruby sa OSX - kailangan mo lang itong tuklasin sa iyong system. Sa sinasabing mas madaling mga tool, ang aking personal na pagpipilian ay si Ruby. Sa tunay na sopistikadong mga tool, ang C ++ at C # ay maghahari ng kataas-taasan hanggang sa hinaharap; at ang totoo, ito lamang ang mga sasakyan para sa kaunlaran nang walang hadlang. Kaya't umupo ka ng tuwid at mag-ayos para sa seryosong pag-aaral, dahil anuman ang kalsada na iyong pinili, kakailanganin mong makontrol hindi lamang ang iyong mga tool, ngunit ang mga potensyal na paghihigpit na mga modelo kung saan ang mga tool na iyon ay maaaring sakaling makaabala sa iyo. Si Ruby ay marahil ay mas malinis kaysa sa halos lahat ng mga "madaling" kasamahan nito. Ang C ++ ay ang tool ng unencumbered kahusayan; at sa katunayan, ang mga napapanahong gurong magaganap ay walang kapantay na mga proyekto na marahil ay may mas kaunting kahirapan kaysa sa maaari nilang makamit ang parehong mga layunin sa isang sinasabing madaling tool. Sa huli, ang mga developer na naliligaw mula sa pagmamasid na ito ay nagbabayad ng kaunting presyo: alinman ang pumili ng pinaka-kaaya-aya na tool na "madali", o mas mag-alala sa kalayaan mula sa pag-agaw sa pinaka sopistikadong tool. Sa huling kaso, pinangangasiwaan mo ang Mabilis na mga bagay na CGI, kunin ang bola at patakbuhin. Malalaking konsepto ay ipinatutupad madalas na may maliit na code. Oo, ang mga simpleng tool ay gumagawa ng parehong pag-angkin, ngunit sa pamamagitan ng pag-unawa ng hindi mawari na kahirapan na malayo sa amin sa mga ganitong paraan na ang paglihis mula sa kanilang karaniwang isahan na pattern ay nagdudulot ng napakahirap na hamon sa engineering, bilang karagdagan sa mga handicap sa pagganap na nalulutas ng C ++.

Bumuo ng isang Dynamic na Website Hakbang 3
Bumuo ng isang Dynamic na Website Hakbang 3

Hakbang 3. Sa kurso ng paglutas ng mga katanungang ito, hindi natin maiiwasang suriin ang mga pangunahing modelo o pattern ng pagbuo ng mga proyekto ng likas na nais nating lumabas

Nangangahulugan ito ng pagkuha ng pinakamahusay na panitikan para sa mga tool na nais naming ihambing, at hindi bababa sa pagbibigay sa aming konsepto ng ilang form kung saan maaaring tumagal ito sa isang naibigay na hanay ng mga tool, kumpara sa iba. Bago mo piliin si Ruby halimbawa, maaari kang pumili ng mga mahahalagang libro tulad ng "The Ruby Programming Language," at "Agile Web Development with Rails." Ang iyong paunang pag-aaral ay hindi dapat sapat na makabisado sa mga tool, dapat isipin nito kung paano ka makakarating doon - kung paano mo maibibigay ang nais na pag-andar sa tool na maaari mong mapili. Ito ay isang nakakatakot na gawain para sa magpasimula. Kung ihahambing mo ang isang inaasahang madaling kapaligiran sa pag-unlad sa pinakamahusay ng pinakamahusay, kakailanganin mong suriin din ang pinakamahusay na mga tool ng C. Kung talagang magiging isang bihasang inhinyero, pipiliin mo ang C para sa kalayaan nito mula sa limitasyon. Mas mahirap ba talaga si C? Hindi. Ang syntax ay syntax. Sa huli, kailangan mong master ang pagpapahayag ng parehong pag-andar; at sa totoo lang, ang pamilya ng C ng mga wika ay mahusay. Ang mahirap na bagay tungkol sa paggaling sa labas ng gate sa C ++ ay ang paglalagay ng iyong mga kamay sa mga modelo na maaaring kailanganin mong buuin. Ang isang mahusay na pagsisimula mula halos 15 taon na ang nakaraan ay ang orihinal na mga bahagi ng FastCGI na magagamit sa Borland's CPPBuilder - marahil ay ang pinakamahusay na C ++ para sa Windows. Kahit na ang mga pinagsisimulan ng C ay maaaring lumayo sa mga diskarte na nakatuon sa object, dahil ang pangkalahatang modelo ng pagpapanatili ng pag-andar ay binuo sa mismong mga bagay na iyong pinagtatrabahuhan. Ang iyong trabaho ay mas malayang malayang daloy kaysa sa halimbawa nito sa Ruby, tuwing maaari mong masira o lumagpas sa modelo ng Ruby sa iyong diskarte. Sa kabilang banda, ang mga diskarte sa Raff scaffolding ay nagpapabilis sa maraming gawain para sa neophyte, kung at kung ang proyekto ay umaangkop sa pangkalahatang hulma ng Ruby at Rails. Ipakilala ang panimulang mga probisyon sa seguridad, halimbawa, kinikilala sa lahat ng iyong mga interface ng Ruby gayunpaman, at sa susunod na bagay na alam mo, nagsusulat ka ulit ng isang libong linya ng auto-generated Ruby code para sa bawat talahanayan na pinag-uusapan ng iyong aplikasyon. Madali ba yan Kaya, ginagawa ko ito sa isang editor ng Windows na tinatawag na NoteTab Pro, na tumatakbo sa mga proyekto ng Ruby na naninirahan sa isang OSX system; at sopistikadong macros gawin ang aking mga pagbabago sa marahil isang segundo, pagpapasadya ng isang libong mga linya ng code sa halos dalawang beses na. Gayunpaman, nauugnay ito sa medyo simple, pangunahing pag-andar, kung saan ang isang proyekto ay pinaghihigpitan. Ang totoo, sa C ++ maaari kaming magsulat ng aming sariling mga bagay na humahawak sa mga gawaing ito na tunay na pandaigdigan - hindi mo na kailangang gayahin ang prosesong ito. Kaya ito ang mga trade-off. Sa huli, ang object oriented C ay ang pinaka malakas at mahusay. Na nangangahulugang ito ang pinakamaliit na trabaho din.

Bumuo ng isang Dynamic na Website Hakbang 4
Bumuo ng isang Dynamic na Website Hakbang 4

Hakbang 4. Hindi mahalaga ang iyong napili ng mga tool sa pag-program, walang paraan upang maiwasan ang pagpapakandili sa isang makatwirang master ng HTML at CSS

Pangkalahatan, ang mga napapanahong developer ay umaasa sa W3C.org para sa mahahalagang materyal. Pahina ng web

Video - Sa pamamagitan ng paggamit ng serbisyong ito, maaaring ibahagi ang ilang impormasyon sa YouTube

Mga Tip

  • Ang isang mahalagang bahagi ng iyong pakikipagsapalaran pagkatapos ay upang makuha ang iyong mga kamay sa pinakamahusay na mga mapagkukunan. Magsisimula ako kay Ruby; at kung nais mong humusay, kakailanganin mong suriin ang mga wika na nakatuon sa object, at ang mga kapaligiran kung saan mahusay na nakasulat na mga proyekto ang maisasagawa ang lahat ng mga kapantay.
  • Walang anuman na maaaring magpalit sa lubusang pag-aaral at pagsusuri.

Mga babala

  • Ang isang karagdagang hadlang sa tunay na mastering simpleng mga tool ay ang hindi propesyonal na pag-uugali sa maraming mga forum. Mayroong isang malaking pagkakaiba sa pagitan ng propesyonal na kaalam-alam at nagkukunwaring kasanayan na madalas na humantong sa iyo malayo sa maling paraan. Ang pinakamahusay na mapagkukunan ng impormasyon sa pangkalahatan ay ang pinaka-nagawang mga kapantay, hindi kunwaring master ng sinasabing simpleng mga tool na nagtataguyod lamang na manatili sa isang pattern na magagamit sa kanila. Ang punong-guro na dahilan na magsumite ka ng mga katanungan sa mga forum ay kakailanganin mong lumampas (sa gayon masira) ang modelo na binubuo ng sinasabing simpleng diskarte. Kung hindi mo maiwasang maabot ang mga pangangailangan na ito, kailangan mo ng pinakamahusay na payo.
  • Huwag isipin kung gayon na ang isang tila shortcut ay talagang nagpapabilis sa trabaho. Napakadalas, ang pag-uusap ay totoo.

Inirerekumendang: