Een dynamische website bouwen: 4 stappen (met afbeeldingen)

Inhoudsopgave:

Een dynamische website bouwen: 4 stappen (met afbeeldingen)
Een dynamische website bouwen: 4 stappen (met afbeeldingen)

Video: Een dynamische website bouwen: 4 stappen (met afbeeldingen)

Video: Een dynamische website bouwen: 4 stappen (met afbeeldingen)
Video: How to Create a Business Email Address in 5 Mins (2023) 2024, Mei
Anonim

De problemen van dit onderwerp zijn zo breed en gevarieerd in mogelijke benaderingen dat een realistisch antwoord op onvermijdelijke vragen alleen maar de algemene weg kan wijzen.

Veel mensen willen en hopen tegenwoordig dynamische (gegevensgestuurde) webpresentaties te bouwen, waarvan de architecturen gemakkelijk geschikt zijn voor nieuw materiaal, revisie en bezoekersinteractie. wikiHow is bijvoorbeeld een dynamische website. Hoewel het doel van kwaliteitsprojecten binnen het bereik van alle ijverige mensen ligt, zou het een vergissing zijn om te onderschatten wat uiteindelijk een substantieel uitdagende taak is, vooral in de technische objecten van een toekomstig project. Zelfs de eenvoudigste dynamische webpresentaties vereisen voldoende vaardigheden in verschillende disciplines.

Bij het behalen van onmisbare doelen kan niemand afwijken van een goed databaseontwerp. Onszelf alleen in deze discipline voorbereiden is een substantieel (maar niet sluitend) oeuvre. Als we eenmaal een samenvatting van de projectdoelstellingen hebben, moeten we goede middelen bedenken om ze te bereiken. Dan hebben we programmeertalen of tools om uit te kiezen, gebaseerd op een visie voor ideale projectarchitectuur.

Het hele plaatje vanaf het allereerste begin bekijken, is de meest essentiële vaardigheid van allemaal.

Stappen

Bouw een dynamische website Stap 1
Bouw een dynamische website Stap 1

Stap 1. Zorg dat u weet welke soorten hulpmiddelen en processen uw doelen zullen bereiken

Omdat de zeer centrale kern van elke dynamische aanwezigheid op het web de database en de verwerking van gegevens is, is ons eerste essentiële doel het nemen van een verreikende beslissing over een database-engine. Het is geen goed idee om te hopen een dergelijke beslissing terloops te nemen op slechts een schijnbare, meest redelijke eerste manier.

  • Het essentiële doel van deze eerste beslissing is om ons project te plannen op een manier (met tools en database-engines) die uw behoeften volledig zal ondersteunen in een toekomst, waarin u, omdat u de juiste initiële beslissingen hebt genomen, zult bouw effectief voort op uw oorspronkelijke fundament, efficiënt en zonder enige belemmering. Dit betekent dat bijvoorbeeld de database-engine die u kiest in het ideale geval niet alleen de gemakkelijke of schijnbaar eenvoudige is om vandaag te implementeren; vanaf het begin moet het een motor zijn die uw stroomafwaartse verwerkingseisen zal ondersteunen.
  • Soms zijn commerciële overwegingen van invloed op dergelijke keuzes. Welke motoren zijn aanwezigheidsintensief (en duur)? Welke motoren zijn vrijwel aanwezigheidsvrij in implementaties die de verwerkingsdoelen ondersteunen die uw uiteindelijke project moet ondersteunen? Over het algemeen is het te volgen patroon om uw motor te selecteren op basis van een van de twee mogelijke disposities.
  • Om dit te doen, moet u eerst uw basisbehoeften aan tafel in kaart brengen. Een professional hoeft deze kaart niet eens te bouwen (zelfs als er honderden of duizenden tabellen bij betrokken zijn), omdat ze meestal meteen zien of de architectuur en toekomstige behoeften die je moet ondersteunen lees- of schrijfintensief zijn. U kiest dan een geschikte database, gebaseerd op deze algemene instelling, en misschien verder op basis van persoonlijke smaak en ervaring, zoals het werken met respectieve softwareontwikkelingstools kan prediken. MySQL is de gebruikelijke keuze voor leesintensieve implementaties. Veel ontwikkelaars kijken naar databases zoals PostgreSQL voor betrouwbare schrijfintensieve implementaties. We ontwikkelen onze aanleg voor dergelijke essentiële tools door zorgvuldig onderzoek en door gebruik te maken van de ervaring van de algemene softwareontwikkelingsindustrie. Kosten kunnen over het algemeen worden vermeden, omdat er gratis implementaties van zeer goede tools beschikbaar zijn. Waar we naar op zoek zijn, zijn prestaties in lees- of schrijfintensieve omgevingen, betrouwbaarheid, gemak en minimalisering van het beheer, en gemakkelijke integratie met toekomstige softwareontwikkelingstools.
Bouw een dynamische website Stap 2
Bouw een dynamische website Stap 2

Stap 2. Kies uw softwareontwikkelingstools

Er zijn twee patronen waarmee u rekening moet houden bij het kiezen van softwareontwikkelingstools. Zogenaamd "gemakkelijke" tools zijn zelden in feite eenvoudig, wanneer een project onvermijdelijk de cast van de ontwikkelings- en functionaliteitspatronen doorbreekt waartoe "gemakkelijke" tools over het algemeen beperkt zijn. Als u iets wilt doen dat verder gaat dan de "gemakkelijke" tools, zoals het opnemen van een taal- of vertaalparameter in dynamisch gegenereerde URL's, kan het zo veel moeilijker zijn om dit in de "eenvoudige" tools te bereiken dat er uiterst geavanceerde programmeervaardigheden voor nodig zijn om als net als het gemakkelijke patroon om complexere dingen te doen. We moeten onze tools beheersen om goede projecten te bouwen. Dit maakt gemakkelijke tools niet de beste keuze, of de meest geavanceerde tools een moeilijke propositie. De valkuil van "gemakkelijke" ontwikkeling omvat in het algemeen beperkingen die zeer kostbaar worden om te overwinnen in de onvermijdelijke ontwikkeling van projecten. Er ontstaat over het algemeen een enorme verscheidenheid aan dergelijke hulpmiddelen, die ogenschijnlijk aan dergelijke behoeften voldoen. Maar het patroon van de volharding van de tools verraadt een ogenschijnlijk feit dat ze dit doel hebben bereikt; en dus vinden we over het algemeen dat de meest geavanceerde en krachtige tools, die goede patronen volgen (of de beschikbaarheid van objecten en bibliotheken), niet alleen praktisch onvermijdelijke obstakels voor gemakkelijke tools wegnemen, maar ook het "er komen" een veel eenvoudiger proces maken. Wanneer we de reikwijdte van beschikbare tools onderzoeken, worden over het algemeen minder uitgebreide modellen gepresenteerd in initiële ontwikkelingsconcepten en worden betere concepten geboden door later opkomende tools (anders zouden ze geen kans hebben om te overleven in markten die al zijn gewonnen). Als we een ogenschijnlijk eenvoudig hulpmiddel kiezen, dan zoeken we een ontwikkelingspatroon dat zowel hanteerbaar als zonder enige belemmering is. De paradox voor de neofiet is dan de moeilijkheid om zo ver op de weg te kijken dat we programmeerbelemmeringen voor een bepaalde gereedschapset kunnen waarnemen. Sommige mensen geloven dat de beste tools het krachtigst zijn en het minst beperkend in termen van projectaanpak. Vrijheid om te ontwikkelen wat je wilt en nodig hebt, betekent vaak dat je het algemene model van ogenschijnlijk eenvoudige tools moet doorbreken, waarvan de uitdagingen het brein van de meest ervaren en geavanceerde software-ingenieur praktisch kunnen breken, omdat slagen in een dergelijk object betekent dat je de "eenvoudige" model iets doen waarvoor het mogelijk geen native capaciteit heeft om te ondersteunen. Is "Ruby" bijvoorbeeld echt een eenvoudiger hulpmiddel dan fundamenteel C++ of C#? Nee. Niet echt, vooral als je het eenvoudige model van Ruby moet doorbreken om essentiële functionaliteit te leveren. Net als Ruby is GCC gratis voor Linux en OSX. Ruby komt ook op OSX - je moet het alleen op je systeem ontdekken. Van de ogenschijnlijk eenvoudigere tools is mijn persoonlijke keuze Ruby. Van de echt geavanceerde tools zullen C++ en C# tot ver in de toekomst de boventoon voeren; en de waarheid is dat dit de enige voertuigen zijn voor ontwikkeling zonder belemmering. Dus ga rechtop zitten en zet je schrap voor serieuze studie, want ongeacht de weg die je kiest, je zult niet alleen je tools onder de knie moeten krijgen, maar ook de potentieel beperkende modellen waarmee die tools je uiteindelijk kunnen belasten. Ruby is waarschijnlijk veel schoner dan bijna al zijn "gemakkelijke" leeftijdsgenoten. C++ is het instrument van onbezwaard uitmuntendheid; en in feite zullen doorgewinterde goeroes weergaloze projecten opleveren, waarschijnlijk met veel minder moeite dan dat ze dezelfde doelen zouden kunnen bereiken met een ogenschijnlijk eenvoudig hulpmiddel. Uiteindelijk betalen ontwikkelaars die van deze observatie afdwalen een prijs: ofwel de meest gunstige "gemakkelijke" tool kiezen, of zich minder zorgen maken over de vrijheid van bezwaring in de meest geavanceerde tool. In het laatste geval beheers je Fast CGI-objecten, pak je de bal en ren je weg. Enorme concepten worden vaak geïmplementeerd met weinig code. Ja, eenvoudige tools maken dezelfde bewering, maar door schijnbare moeilijkheden van ons weg te abstraheren op zo'n manier dat het afwijken van hun gewoonlijk enkelvoudige patroon zeer moeilijke technische uitdagingen met zich meebrengt, naast prestatiebeperkingen die C++ oplost.

Bouw een dynamische website Stap 3
Bouw een dynamische website Stap 3

Stap 3. Bij het oplossen van deze vragen moeten we onvermijdelijk de basismodellen of patronen onderzoeken voor het ontwikkelen van projecten van de aard die we willen realiseren

Dit betekent dat we de beste literatuur moeten pakken voor tools die we willen vergelijken, en ons concept tenminste een vorm geven waarin het een bepaalde set tools zou kunnen aannemen, in vergelijking met andere. Voordat u bijvoorbeeld voor Ruby kiest, kunt u belangrijke boeken lezen, zoals 'The Ruby Programming Language' en 'Agile Web Development with Rails'. Je initiële studie moet niet alleen de tools voldoende beheersen, het moet ook voorstellen hoe je daar kunt komen - hoe je de gewenste functionaliteit kunt bieden met de tool die je zou kunnen kiezen. Dit is een ontmoedigende taak voor de ingewijde. Als je een ogenschijnlijk gemakkelijke ontwikkelomgeving gaat vergelijken met de beste van het beste, moet je ook de beste C-tools evalueren. Als je echt een doorgewinterde ingenieur wilt worden, kies je C voor zijn vrijheid van beperking. Is C echt moeilijker? Nee. Syntaxis is syntaxis. Uiteindelijk moet je het uitdrukken van dezelfde functionaliteit beheersen; en in werkelijkheid is de C-talenfamilie uitstekend. Het moeilijke van uitblinken in C++ is dat je de modellen in handen krijgt waarop je mogelijk moet voortbouwen. Een uitstekende start van bijna 15 jaar geleden waren de originele FastCGI-componenten die beschikbaar waren in Borland's CPPBuilder - waarschijnlijk nog steeds de beste C++ voor Windows. Zelfs C-initiatieven kunnen ver gaan met dergelijke objectgeoriënteerde benaderingen, omdat het algemene model van ondersteunende functionaliteit is ingebouwd in de dingen waarmee u werkt. Je werk is veel vrijer dan het bijvoorbeeld in Ruby kan zijn, wanneer je het Ruby-model in je aanpak zou kunnen breken of overschrijden. Aan de andere kant versnellen de steigertechnieken van Rails veel werk voor de neofiet, als en alleen als het project past in de algemene mal van Ruby en Rails. Introduceer bijvoorbeeld rudimentaire beveiligingsvoorzieningen, die echter in al uw Ruby-interfaces worden herkend, en voor u het weet, herschrijft u duizend regels automatisch gegenereerde Ruby-code voor elke tabel die uw toepassing onderhandelt. Is dat makkelijk? Nou, ik doe het met een Windows-editor genaamd NoteTab Pro, die draait op Ruby-projecten die zich op een OSX-systeem bevinden; en geavanceerde macro's maken mijn revisies in misschien een seconde, waarbij duizend regels code worden aangepast tot bijna het dubbele. Toch gaat het om relatief eenvoudige, basisfunctionaliteit, waartoe een project zich beperkt. Het is een feit dat we in C++ onze eigen objecten kunnen schrijven die deze taken echt universeel afhandelen - je zou dit proces zelfs nooit hoeven te repliceren. Dit zijn dus de afwegingen. Uiteindelijk is objectgeoriënteerd C het krachtigst en efficiëntst. Wat betekent dat het ook het minste werk is.

Bouw een dynamische website Stap 4
Bouw een dynamische website Stap 4

Stap 4. Ongeacht uw keuze van programmeertools, er is geen manier om afhankelijkheid van een redelijke beheersing van HTML en CSS te vermijden

Over het algemeen vertrouwen ervaren ontwikkelaars op W3C.org voor essentieel materiaal. webpagina

Video - Door deze service te gebruiken, kan bepaalde informatie worden gedeeld met YouTube

Tips

  • Een essentieel onderdeel van je zoektocht zal dan zijn om de beste middelen te bemachtigen. Ik zou beginnen met Ruby; en als je wilt uitblinken, moet je objectgeoriënteerde C-talen evalueren, en de omgevingen waarin goed geschreven projecten beter zullen presteren dan alle collega's.
  • Niets kan daarom uitputtende studie en evaluatie vervangen.

Waarschuwingen

  • Een andere belemmering om eenvoudige tools echt onder de knie te krijgen, is het onprofessionele gedrag op veel forums. Er is een enorm verschil tussen vakkennis en voorgewende vaardigheid die je zo vaak ver van de goede weg kunnen doen afdwalen. De beste informatiebronnen zijn over het algemeen de meest talentvolle leeftijdsgenoten, niet de zogenaamde meesters van ogenschijnlijk eenvoudige tools die er gewoon voor pleiten om vast te houden aan het enige beschikbare patroon. De belangrijkste reden dat je vragen gaat stellen aan forums, is dat je het model van de ogenschijnlijk eenvoudige benadering moet overtreffen (en dus moet breken). Wanneer u onvermijdelijk tegen deze behoeften aanloopt, heeft u het beste advies nodig.
  • Denk dan nooit dat een schijnbare snelkoppeling het werk daadwerkelijk versnelt. HEEL vaak is het omgekeerde waar.

Aanbevolen: