Динамикалык веб -сайтты кантип түзүү керек: 4 кадам (сүрөттөр менен)

Мазмуну:

Динамикалык веб -сайтты кантип түзүү керек: 4 кадам (сүрөттөр менен)
Динамикалык веб -сайтты кантип түзүү керек: 4 кадам (сүрөттөр менен)

Video: Динамикалык веб -сайтты кантип түзүү керек: 4 кадам (сүрөттөр менен)

Video: Динамикалык веб -сайтты кантип түзүү керек: 4 кадам (сүрөттөр менен)
Video: Электрондук почта аркылуу кат,документтерди жиберуу 2024, Май
Anonim

Бул теманын маселелери мүмкүн болушунча кеңири жана ар түрдүү болгондуктан, сөзсүз суроолорго кандайдыр бир реалдуу жооп жалпы жолду гана көрсөтө алат.

Бүгүнкү күндө көптөгөн адамдар архитектурасы жаңы материалды, оңдоону жана коноктордун өз ара аракеттешүүсүн камтыган динамикалык (маалыматка негизделген) веб -катышууну курууну каалашат жана үмүттөнүшөт. wikiHow мисалы, динамикалык вебсайт. Сапаттуу долбоорлордун максаты бардык тырышчаак адамдардын колунда болсо да, айрыкча, кандайдыр бир перспективдүү долбоордун техникалык объекттеринде олуттуу татаал милдет экенин баалоо жаңылыштык болот. Жада калса эң жөнөкөй динамикалык желе болушу үчүн ар кандай дисциплиналар жетиштүү көндүмдөрдү талап кылат.

Керектүү максаттарга жетүүдө эч ким жакшы маалымат базасынын дизайнынан четтей албайт. Бул дисциплинага өзүбүздү даярдоо - бул олуттуу (бирок алдын ала эмес) жумуштун бир бөлүгү. Долбоордун максаттары жөнүндө кыскача маалыматка ээ болгондон кийин, биз аларга жетүү үчүн бекем каражаттарды карашыбыз керек. Андан кийин бизде идеалдуу долбоордун архитектурасы боюнча көрүнүшкө негизделген программалоо тилдери же шаймандар бар.

Бүт сүрөттү башынан бери көрүү - бул эң маанилүү чеберчилик.

Кадамдар

Динамикалык веб -сайтты түзүү 1 -кадам
Динамикалык веб -сайтты түзүү 1 -кадам

Кадам 1. Мээңизди кандай максаттарга жетүү үчүн кандай инструменттер менен процесстерди айландырыңыз

Ар кандай динамикалык вебдин болушунун эң негизги өзөгү анын маалымат базасы жана маалыматтарды иштетүү болгондуктан, биздин эң биринчи маанилүү максатыбыз-маалымат базасынын кыймылдаткычы боюнча кеңири чечим кабыл алуу. Мындай чечимди кокусунан кандайдыр бир көрүнгөн, эң негиздүү түрдө кабыл алууга үмүттөнүү жакшы эмес.

  • Бул биринчи чечимдин эң негизги максаты - бул биздин долбоорду келечекте керектүү жолдордо колдой турган түрдө (шаймандар жана маалымат базасы моторлору менен) пландаштыруу, мында туура чечим кабыл алгандыктан, баштапкы пайдубалыңызга эффективдүү жана натыйжалуу тоскоолдуксуз куруңуз. Бул, мисалы, идеалдуу түрдө, сиз тандаган маалымат базасынын кыймылдаткычы бүгүнкү күндө жай гана оңой же жөнөкөй көрүнбөйт дегенди билдирет; башынан бери бул сиздин ылдыйкы иштетүү талаптарын колдогон кыймылдаткыч болушу керек.
  • Кээде коммерциялык ойлор мындай тандоолорго дагы таасир этет. Кандай кыймылдаткычтарга катышуу интенсивдүү (жана кымбат)? Кайсы кыймылдаткычтар сиздин акыркы долбооруңуз иштеп чыгууга тийиш болгон максаттарды колдойт? Жалпысынан алганда, ээрчүү керек болгон модель - бул сиздин кыймылдаткычыңызды эки мүмкүн болгон тандоолордун бирине негиздөө.
  • Ал үчүн адегенде негизги таблицанын керектөөлөрүн аныктап алышыңыз керек. Кесипкөйгө бул картаны түзүүнүн деле кажети жок (жүздөгөн же миңдеген столдор тартылганына карабай), анткени алар колдоого муктаж болгон архитектура менен келечектеги муктаждыктар интенсивдүү түрдө окулганын же жазылбаганын дароо көрүшөт. Сиз андан кийин тийиштүү программалык камсыздоону иштеп чыгуу инструменттери менен иштөө предикаты болушу мүмкүн, бул жалпы мааниге негизделген жана, балким, андан ары жеке табитке жана тажрыйбага негизделген ылайыктуу маалымат базасын тандайсыз. MySQL интенсивдүү ишке ашыруу үчүн кадимки тандоо болуп саналат. Көптөгөн иштеп чыгуучулар ишенимдүү жазууну интенсивдүү ишке ашыруу үчүн PostgreSQL сыяктуу маалымат базаларына кайрылышат. Биз абдан маанилүү инструменттерге болгон көз карашыбызды кылдат изилдөө аркылуу жана жалпы программалык камсыздоону иштеп чыгуу индустриясынын тажрыйбасынын бассейнине таянуу менен өнүктүрөбүз. Чыгымдарды көбүнчө качууга болот, анткени абдан жакшы куралдарды бекер жайылтуу бар. Биз издеп жаткан нерсе - бул интенсивдүү чөйрөдө окуу же жазуу, ишенимдүүлүк, башкаруунун оңойлугу жана минималдаштыруу жана болочок программалык камсыздоону иштеп чыгуу куралдары менен даяр интеграция.
Динамикалык веб -сайтты түзүү 2 -кадам
Динамикалык веб -сайтты түзүү 2 -кадам

Кадам 2. Программалык камсыздоону иштеп чыгуу инструменттериңизди тандаңыз

Программалык камсыздоону иштеп чыгуу инструменттерин тандоодо эске алуу керек болгон эки үлгү бар. Болжолдуу түрдө "оңой" инструменттер сейрек кездешет, анткени долбоор сөзсүз түрдө иштеп чыгуучулардын катмарын бузат жана функционалдык үлгүлөр "жеңил" куралдар менен чектелет. Эгер сиз динамикалык түрдө түзүлгөн URL дарегине тилди же котормонун параметрин киргизүү сыяктуу "оңой" куралдардан тышкары бир нерсе кылгыңыз келсе, "оңой" куралдарда аткаруу өтө татаал болушу мүмкүн, андыктан программалоо үчүн өтө татаал жөндөмдөр талап кылынат. алда канча татаал нерселерди жасоо үчүн жеңил үлгү алдап. Биз жакшы долбоорлорду куруу үчүн куралдарыбызды өздөштүрүшүбүз керек. Бул оңой куралдарды эң жакшы тандоо же эң татаал куралдарды кыйын сунуш кылбайт. "Оңой" өнүгүүнүн тузагы жалпысынан долбоорлордун сөзсүз эволюциясын жеңүү үчүн өтө кымбатка турган чектөөлөрдү камтыйт. Мындай куралдардын көп түрдүүлүгү, негизинен, мындай муктаждыктарга жооп берет. Бирок инструменттердин туруктуулугунун үлгүсү бул максатка жеткени көрүнүп турган фактыны көрсөтөт; Ошентип, жалпысынан алганда, эң татаал жана күчтүү шаймандар, жакшы үлгүлөргө (же объекттердин жана китепканалардын болушуна) ылайык, оңой куралдардын иш жүзүндө сөзсүз тоскоолдуктарын жеңилдетип гана койбостон, ошол эле учурда "ал жакка жетүүнү" алда канча жөнөкөй процесске айландырат. Биз жеткиликтүү инструменттердин масштабын изилдегенде, жалпысынан анча кеңири эмес моделдер баштапкы иштеп чыгуу түшүнүктөрүндө берилет жана жакшыраак түшүнүктөр кийинчерээк пайда болгон инструменттер тарабынан сунушталат (же алар буга чейин утуп алган базарларда аман калуу мүмкүнчүлүгүнө ээ болмок эмес). Эгерде биз болжолдуу оңой куралды тандап алсак, анда биз издеп жүргөн нерсе - бул өнүгүү үлгүсү, ал экөө тең иштеши мүмкүн жана эч кандай тоскоолдуксуз. Неофит үчүн парадокс - бул жолдо ушунчалык алыс көрүүнүн татаалдыгы, биз программалоо инструменттеринин тоскоолдуктарын сезе алабыз. Кээ бир адамдар мыкты куралдар долбоордун ыкмасы жагынан эң күчтүү жана эң аз чектөөчү деп эсептешет. Каалаган жана керектүү нерселерди иштеп чыгуу эркиндиги көбүнчө жөнөкөй куралдардын жалпы моделин бузууну билдирет, анын көйгөйлөрү иш жүзүндө эң тажрыйбалуу жана татаал программалык камсыздоонун инженеринин мээсин сындырышы мүмкүн, анткени мындай объектте ийгиликке жетүү "жөнөкөйдү" жасоону билдирет. модель колдоого жөндөмү жок болушу мүмкүн болгон нерсени жасоо. Мисалы, "Ruby" фундаменталдуу C ++ же C#караганда оңой куралбы? Жок. Чындыгында эмес, айрыкча, эгер сиз эң маанилүү функцияларды жеткирүү үчүн Rubyдун жөнөкөй моделин бузушуңуз керек болсо. Ruby сыяктуу эле, GCC Linux жана OSX үчүн акысыз. Ruby OSXке да келет - сиз аны системаңыздан табышыңыз керек. Кыязы, жеңил инструменттердин ичинен менин жеке тандооум Ruby. Чыныгы татаал инструменттердин ичинен C ++ жана C# келечекте эң көп падышалык кылат; жана чындык, бул тоскоолдуксуз өнүгүүнүн жалгыз каражаттары. Ошентип, түз отуруңуз жана олуттуу изилдөө үчүн, анткени сиз тандаган жолго карабастан, сиз өзүңүздүн шаймандарды гана эмес, чектөөчү моделдерди да үйрөнүшүңүз керек болот, бул куралдар акыры сизди каптап кетиши мүмкүн. Ruby, балким, дээрлик бардык "оңой" курдаштарына караганда алда канча таза. C ++ - бул сан жеткис артыкчылыктын куралы; жана чындыгында, тажрыйбалуу гурустар теңдешсиз долбоорлорду ишке ашырышат, алар бир эле максаттарга жеңил курал менен жетише алышат. Акыр -аягы, бул байкоодон адашкан иштеп чыгуучулар кандайдыр бир бааны төлөшөт: же эң ыңгайлуу "оңой" куралды тандап алышат, же эң татаал инструменттеги оорчулуктан бошонуу үчүн азыраак тынчсызданышат. Акыркы учурда, сиз Fast CGI объектилерин өздөштүрүп, топту алып, чуркайсыз. Чоң түшүнүктөр көп учурда аз код менен ишке ашырылат. Ооба, жөнөкөй инструменттер ошол эле дооматты айтышат, бирок бизден көрүнгөн кыйынчылыктарды абстракциялоо менен, алардын адатта жекече үлгүсүнөн четтөө абдан оор инженердик кыйынчылыктарды жаратат, C ++ чечүүчү майыптыктардан тышкары.

Динамикалык веб -сайтты түзүү 3 -кадам
Динамикалык веб -сайтты түзүү 3 -кадам

3 -кадам. Бул суроолорду чечүүдө биз сөзсүз түрдө биз каалагандай мүнөздөгү долбоорлорду иштеп чыгуунун негизги моделдерин же моделдерин карап чыгышыбыз керек

Бул биз салыштыргысы келген инструменттер үчүн эң мыкты адабиятты алуу жана жок дегенде биздин концепциябызга башкаларга салыштырмалуу берилген инструменттер топтомун ала турган форманы берүү дегенди билдирет. Мисалы, Rubyну тандаардан мурун, "Ruby программалоо тили" жана "Rails менен Agile Web Development" сыяктуу маанилүү китептерди алышыңыз мүмкүн. Сиздин баштапкы изилдөөңүз инструменттерди жетишерлик деңгээлде эле өздөштүрбөстөн, ал жакка кантип жетээриңизди да элестетиши керек - сиз тандаган курал менен каалаган функционалды кантип камсыздай аласыз. Бул демилгечи үчүн оор тапшырма. Эгерде сиз болжолдуу оңой өнүгүү чөйрөсүн мыктылар менен салыштыра турган болсоңуз, анда сиз эң мыкты С куралдарын баалоого туура келет. Эгерде сиз чындап эле тажрыйбалуу инженер болууну кааласаңыз, анда сиз чектөөлөрдөн эркиндиги үчүн С тандайсыз. C чынында эле кыйыныраакпы? Жок. Синтаксис - бул синтаксис. Акыр -аягы, сиз ошол эле функционалды билдирүүнү өздөштүрүшүңүз керек; жана чындыгында, C тилдеринин үй -бүлөсү мыкты. C ++ дарбазасынан оңой чыгып кетүүнүн татаал жери - бул сизге керектүү болгон моделдерге кол коюу. Дээрлик 15 жыл мурун эң сонун башталыш Борланддын CPPBuilder -де бар FastCGI оригиналдуу компоненттери болгон - балким дагы эле Windows үчүн эң жакшы C ++. Атүгүл C демилгечилери да объектке багытталган мындай ыкмалар менен алыска кете алышат, анткени функционалдыкты колдоонун жалпы модели сиз иштеп жаткан нерселерге курулган. Жумушуңуз Rubyдегиден алда канча эркин, анткени сиз Ruby моделин бузуп же ашып кетсеңиз болот. Башка жагынан алганда, Rails складдык техникасы неофит үчүн көп жумушту тездетет, эгерде долбоор Ruby жана Railsтин жалпы калыпына туура келсе. Мисалы, бардык Ruby интерфейстериңизде таанылган жөнөкөй коопсуздук жоболорун киргизиңиз, жана сиз билгенден кийин, сиз колдонмо сүйлөшүп жаткан ар бир стол үчүн Ruby кодунун миң сапын кайра жазып жатасыз. Бул оңойбу? Ооба, мен муну OSX тутумунда жашаган Ruby долбоорлорунда иштеген NoteTab Pro аттуу Windows редактору менен жасайм; жана татаал макростар менин оңдоолорумду бир секунданын ичинде жасашат, миң сап кодду эки эсеге жакын кылып тууралашат. Ошентсе да, бул проект чектелген салыштырмалуу жөнөкөй, негизги функционалдуулукка тиешелүү. Чындыгында, C ++ тилинде биз бул милдеттерди чындап универсалдуу түрдө чече турган өз объекттерибизди жаза алабыз - бул процессти эч качан кайталабашыңыз керек. Демек булар соодалашуулар. Акыр -аягы, объектке багытталган С эң кубаттуу жана эффективдүү. Демек бул эң аз жумуш.

Динамикалык веб -сайтты түзүү 4 -кадам
Динамикалык веб -сайтты түзүү 4 -кадам

Кадам 4. Программалоо инструменттерин тандаганыңызга карабастан, HTML жана CSSтин акылга сыярлык чеберчилигине көз каранды болуудан качуунун эч кандай жолу жок

Жалпысынан алганда, тажрыйбалуу иштеп чыгуучулар W3C.org сайтына таянышат. веб баракча

Видео - Бул кызматты колдонуу менен, кээ бир маалыматтар YouTube менен бөлүшүлүшү мүмкүн

Кеңештер

  • Сиздин тапшырмаңыздын маанилүү бөлүгү колуңузду эң мыкты ресурстарга алуу болот. Мен Ruby менен баштамакмын; жана эгерде сиз мыкты болгуңуз келсе, анда объектке багытталган C тилдерин жана жакшы жазылган долбоорлор бардык курдаштарыңызды аткара турган чөйрөнү баалашыңыз керек болот.
  • Эч нерсе толук изилдөөнү жана баалоону алмаштыра албайт.

Эскертүүлөр

  • Жөнөкөй куралдарды чындап өздөштүрүүгө дагы бир тоскоолдук - көптөгөн форумдарда профессионалдуу эмес жүрүм -турум. Профессионалдык ноу-хау менен жасалма чеберчиликтин ортосунда чоң айырма бар, алар көп учурда сизди туура жолдон алыстатып салышы мүмкүн. Эң жакшы маалымат булактары - бул көбүнчө эң тажрыйбалуу курдаштар, алар өздөрүнө жеткиликтүү болгон бир калыпты карманууну жактаган жөнөкөй куралдардын чеберлери болуп көрүнүшпөйт. Форумдарга суроолорду берүүнүн негизги себеби, сиз болжолдонгон жөнөкөй ыкма камтыган моделден ашып кетишиңиз керек. Сиз сөзсүз түрдө бул муктаждыктарга туш болгондо, сизге эң жакшы кеңеш керек.
  • Кыязы, жумушту тездетет деп эч качан ойлобоңуз. Өтө көп учурда, тескерисинче, чындык.

Сунушталууда: