Hoe om 'n dinamiese webwerf te bou: 4 stappe (met foto's)

INHOUDSOPGAWE:

Hoe om 'n dinamiese webwerf te bou: 4 stappe (met foto's)
Hoe om 'n dinamiese webwerf te bou: 4 stappe (met foto's)

Video: Hoe om 'n dinamiese webwerf te bou: 4 stappe (met foto's)

Video: Hoe om 'n dinamiese webwerf te bou: 4 stappe (met foto's)
Video: Brewstew - Airsoft Guns 2024, Mei
Anonim

Die kwessies van hierdie onderwerp is so breed en uiteenlopend in moontlike benaderings dat enige realistiese antwoord op onvermydelike vrae slegs die algemene weg kan wys.

Baie mense wil en hoop vandag om dinamiese (data -gedrewe) webaanwesighede te bou, waarvan die argitektuur maklik nuwe materiaal, hersiening en besoekersinteraksie akkommodeer. wikiHow is byvoorbeeld 'n dinamiese webwerf. Alhoewel die doel van kwaliteitsprojekte binne die bereik van alle ywerige mense is, is dit 'n fout om te onderskat wat uiteindelik 'n wesenlik uitdagende taak is, veral in die tegniese doelwitte van enige voornemende projek. Selfs die eenvoudigste dinamiese webaanwesighede vereis voldoende vaardighede in 'n verskeidenheid dissiplines.

By die bereiking van onontbeerlike doelwitte kan niemand afwyk van goeie databasisontwerp nie. Om ons alleen in hierdie dissipline voor te berei, is 'n aansienlike (maar nie 'n uitsluitende) werk nie. Sodra ons 'n opsomming van die projekdoelwitte het, moet ons goeie middele voorstel om dit te bereik. Dan het ons programmeertale of gereedskap om uit te kies, gebaseer op 'n visie vir ideale projekargitektuur.

Om die hele prentjie van die begin af te sien, is die belangrikste vaardigheid van almal.

Stappe

Bou 'n dinamiese webwerf Stap 1
Bou 'n dinamiese webwerf Stap 1

Stap 1. Stel u brein vas watter tipe gereedskap en prosesse u doelwitte sal bereik

Omdat die databasis en verwerking van data die belangrikste kern van enige dinamiese webaanwesigheid is, is ons eerste belangrike doelwit om 'n ingrypende besluit oor 'n databasis-enjin te neem. Dit is nie 'n goeie idee om te hoop om toevallig so 'n besluit te neem op 'n skynbare, redelike aanvanklike manier nie.

  • Die belangrikste doel van hierdie eerste besluit is om ons projek op 'n manier te beplan (met gereedskap en databasis -enjins) wat u behoeftes in 'n toekoms sal ondersteun, waarin u, omdat u die regte aanvanklike besluite geneem het, bou effektief op u aanvanklike fondament, effektief en sonder uiteindelike belemmering. Dit beteken dat die databasis -enjin wat u kies, byvoorbeeld ideaal is, nie net die maklikste of oënskynlik eenvoudige een is om vandag te implementeer nie; van die begin af moet dit 'n enjin wees wat aan u stroomafwaartse verwerkingsvereistes sal voldoen.
  • Soms beïnvloed kommersiële oorwegings sulke keuses verder. Watter enjins is intensief (en duur)? Watter enjins is feitlik bywoningsvry in implementerings wat die verwerkingsdoelwitte wat u uiteindelike projek moet bereik, ondersteun? Oor die algemeen is die patroon wat u moet volg, om u enjin te kies op grond van een van die twee moontlikhede.
  • Om dit te kan doen, moet u eers u basiese tafelbehoeftes uiteensit. 'N Professionele persoon hoef nie eers hierdie kaart te bou nie (ongeag of daar honderde of duisende tafels betrokke is), want hulle sal gewoonlik onmiddellik sien of die argitektuur en toekomstige behoeftes wat u moet ondersteun, intensief gelees of geskryf is. U sal dan 'n geskikte databasis kies, gebaseer op hierdie algemene ingesteldheid, en miskien verder op grond van persoonlike smaak en ervaring, aangesien die werk met die onderskeie sagteware -ontwikkelingshulpmiddels kan voorspel. MySQL is die gewone keuse vir leesintensiewe implementerings. Baie ontwikkelaars kyk na databasisse soos PostgreSQL vir betroubare skryfintensiewe implementerings. Ons ontwikkel ons ingesteldheid teenoor sulke belangrike hulpmiddels deur noukeurige navorsing en deur gebruik te maak van die poel ervaring van die algemene sagteware -ontwikkelingsbedryf. Uitgawes kan oor die algemeen vermy word, want gratis implementering van baie goeie gereedskap is beskikbaar. Wat ons soek, is prestasie in lees- of skryfintensiewe omgewings, betroubaarheid, gemak en minimalisering van administrasie en gereed integrasie met voornemende sagteware -ontwikkelingshulpmiddels.
Bou 'n dinamiese webwerf Stap 2
Bou 'n dinamiese webwerf Stap 2

Stap 2. Kies u sagteware -ontwikkelingshulpmiddels

Daar is twee patrone wat u moet oorweeg by die keuse van sagteware -ontwikkelingshulpmiddels. Na bewering is 'maklike' gereedskap selde in werklikheid maklik, as 'n projek onvermydelik die rol van die ontwikkelings- en funksionele patrone breek, en 'maklike' gereedskap is oor die algemeen beperk tot. As u iets verder wil doen as die 'maklike' gereedskap, soos om 'n taal- of vertaalparameter in dinamies gegenereerde URL's op te neem, kan dit soveel moeiliker wees om dit in die 'maklike' gereedskap te bereik, wat dit uiters gesofistikeerde programmeervaardighede kan verg. om die maklike patroon te mislei om meer ingewikkelde dinge te doen. Ons moet ons gereedskap bemeester om goeie projekte te bou. Dit maak nie maklike gereedskap die beste keuse nie, of die mees gesofistikeerde gereedskap 'n moeilike voorstel. Die strik van 'maklike' ontwikkeling bevat gewoonlik beperkings wat baie duur word om te oorkom in die onvermydelike ontwikkeling van projekte. Oor die algemeen kom daar 'n groot verskeidenheid sulke instrumente voor wat aan hierdie behoeftes voldoen. Maar die patroon van die volharding van die gereedskap verraai 'n skynbare feit dat hierdie doel bereik is; en dus vind ons in die algemeen dat die mees gesofistikeerde en kragtige gereedskap, volgens goeie patrone (of beskikbaarheid van voorwerpe en biblioteke), nie net prakties onvermydelike obstruksies vir maklike gereedskap verlig nie, maar dat dit ook makliker is om daar te kom. As ons die omvang van beskikbare hulpmiddels ondersoek, word in die algemeen aanvanklike ontwikkelingskonsepte oor die algemeen minder omvattende modelle aangebied, en beter konsepte word aangebied deur hulpmiddels wat later ontstaan (of sou hulle nie 'n kans hê om te oorleef in reeds gewen markte nie). As ons dan 'n beweerde maklike hulpmiddel kies, dan is ons op soek na 'n ontwikkelingspatroon wat moeilik en sonder obstruksie is. Die paradoks vir die neofiet is dan die moeilikheid om so ver langs die pad te sien dat ons programmeringshindernisse vir 'n gegewe werktuigstel kan waarneem. Sommige mense meen dat die beste instrumente die kragtigste en die minste beperkend is ten opsigte van projekbenadering. Vryheid om te ontwikkel wat u wil en nodig het, beteken dikwels dat u die algemene model van oënskynlik eenvoudige instrumente moet breek, waarvan die uitdagings die brein van die mees ervare en gesofistikeerde sagteware -ingenieur feitlik kan breek, want om met so 'n voorwerp te slaag, beteken om die 'eenvoudige' model iets doen wat dit moontlik nie ondersteun het nie. Is 'Ruby' byvoorbeeld regtig 'n makliker hulpmiddel as fundamentele C ++ of C#? Nee. Nie regtig nie, veral nie as u die eenvoudige model van Ruby moet breek om belangrike funksies te lewer nie. Net soos Ruby, is GCC gratis vir Linux en OSX. Ruby kom ook op OSX - u hoef dit net op u stelsel te ontdek. Van die maklikste gereedskap, is my persoonlike keuse Ruby. Van die werklik gesofistikeerde gereedskap sal C ++ en C# lank in die toekoms heers; en die waarheid is, dit is die enigste voertuie vir ontwikkeling sonder obstruksie. Sit dus regop en staan gereed vir ernstige studie, want ongeag die pad wat u kies, sal u nie net u gereedskap moet bemeester nie, maar ook die moontlik beperkende modelle waarmee u hierdie instrumente u uiteindelik kan belemmer. Ruby is waarskynlik baie meer skoon as byna al sy 'maklike' eweknieë. C ++ is die instrument van onbelemmerde uitnemendheid; en in werklikheid sal ervare goeroes ongeëwenaarde projekte uitloop, waarskynlik met baie minder moeite as om dieselfde doelwitte te bereik met 'n beweerde maklike hulpmiddel. Uiteindelik betaal ontwikkelaars wat van hierdie waarneming afwyk, 'n bietjie prys: kies óf die gunstigste 'maklike' hulpmiddel, óf bekommer u minder oor die vryheid van beswaring in die mees gesofistikeerde hulpmiddel. In laasgenoemde geval bemeester u Fast CGI -voorwerpe, neem u die bal en hardloop. Groot konsepte word dikwels met min kode geïmplementeer. Ja, eenvoudige instrumente maak dieselfde bewering, maar deur die oënskynlike moeilikheid van ons af weg te neem op so 'n manier dat afwyking van hul gewoonlik unieke patroon baie moeilike ingenieursuitdagings bied, benewens prestasiegebreke wat C ++ oplos.

Bou 'n dinamiese webwerf Stap 3
Bou 'n dinamiese webwerf Stap 3

Stap 3. In die loop van die oplossing van hierdie vrae, moet ons noodwendig die basiese modelle of patrone van die ontwikkeling van projekte ondersoek van die aard wat ons wil bereik

Dit beteken dat ons die beste literatuur moet kry vir gereedskap wat ons wil vergelyk, en ons konsep ten minste 'n vorm gee waarin dit 'n gegewe stel gereedskap kan aanneem, in vergelyking met ander. Voordat u byvoorbeeld Ruby kies, kan u belangrike boeke opneem, soos 'The Ruby Programming Language' en 'Agile Web Development with Rails'. U aanvanklike studie moet nie net die gereedskap genoegsaam bemeester nie, maar moet ook voorstel hoe u daarheen kan kom - hoe u die gewenste funksionaliteit kan bied met die hulpmiddel wat u kan kies. Dit is 'n skrikwekkende taak vir die ingewydes. As u 'n beweerde maklike ontwikkelingsomgewing met die beste van die beste gaan vergelyk, moet u ook die beste C -instrumente evalueer. As u regtig 'n ervare ingenieur is, kies u C vir sy vryheid van beperking. Is C regtig moeiliker? Nee Sintaksis is sintaksis. Uiteindelik moet u dieselfde funksionaliteit bemeester; en in werklikheid is die C -taalfamilie uitstekend. Die moeilike ding om uit te blink uit die hek in C ++, is om die modelle waarop u moet bou, in die hande te kry. 'N Uitstekende begin van bykans 15 jaar gelede was die oorspronklike FastCGI -komponente wat beskikbaar was in Borland se CPPBuilder - waarskynlik steeds die beste C ++ vir Windows. Selfs C -ingewydes kan ver gaan met sulke objekgeoriënteerde benaderings, omdat die algemene model van funksionele instandhouding ingebou is in die dinge waarmee u werk. Jou werk vloei baie meer vry as wat dit byvoorbeeld in Ruby kan wees, elke keer as jy die Ruby-model in jou benadering kan breek of oorskry. Aan die ander kant versnel Rails -steigertegnieke baie werk vir die neofiet, al is dit slegs as die projek by die algemene vorm van Ruby and Rails pas. Stel byvoorbeeld rudimentêre beveiligingsbepalings in, wat in al u Ruby-koppelvlakke erken word, en die volgende ding wat u weet, is dat u 'n duisend reëls outomaties gegenereerde Ruby-kode skryf vir elke tafel waaroor u aansoek onderhandel. Is dit maklik? Ek doen dit met 'n Windows -redakteur genaamd NoteTab Pro, wat op Ruby -projekte werk wat op 'n OSX -stelsel werk; en gesofistikeerde makros maak my hersienings binne 'n sekonde moontlik, en ek pas duisend reëls kode byna twee keer so aan. Dit hou nogtans verband met relatief eenvoudige, basiese funksies waarop 'n projek beperk is. Die feit is dat ons in C ++ ons eie voorwerpe kan skryf wat hierdie take werklik universeel hanteer - u hoef nooit eers hierdie proses te herhaal nie. Dit is dus die afwegings. Uiteindelik is objekgeoriënteerde C die kragtigste en doeltreffendste. Dit beteken ook dat dit die minste werk is.

Bou 'n dinamiese webwerf Stap 4
Bou 'n dinamiese webwerf Stap 4

Stap 4. Ongeag u keuse van programmeerhulpmiddels, daar is geen manier om afhanklikheid van redelike beheersing van HTML en CSS te vermy nie

Oor die algemeen vertrou ervare ontwikkelaars op W3C.org vir noodsaaklike materiaal. webblad

Video - Deur hierdie diens te gebruik, kan sommige inligting met YouTube gedeel word

Wenke

  • 'N Belangrike deel van u soeke is dan om die beste hulpbronne in die hande te kry. Ek sou begin met Ruby; en as u wil presteer, moet u objekgeoriënteerde C-tale evalueer en die omgewings waarin goedgeskrewe projekte alle eweknieë beter sal presteer.
  • Niks kan dus volledige studie en evaluering vervang nie.

Waarskuwings

  • 'N Verdere belemmering om eenvoudige gereedskap werklik te bemeester, is die onprofessionele optrede op baie forums. Daar is 'n groot verskil tussen professionele kennis en voorgegee vaardigheid wat u so dikwels van die regte manier kan afwyk. Die beste inligtingsbronne is oor die algemeen die mees bekwame eweknieë, nie voorgee meesters van beweerde eenvoudige instrumente wat net pleit om by die patroon te bly wat hulle beskikbaar het nie. Die belangrikste rede waarom u vrae by die forums gaan indien, is dat u die model moet oorskry (dus breek) wat deur die beweerde eenvoudige benadering bestaan. As u onvermydelik in hierdie behoeftes te staan kom, het u die beste advies nodig.
  • Moet nooit dink dat 'n oënskynlike kortpad eintlik werk nie. BAIE dikwels is die omgekeerde waar.

Aanbeveel: