Avatar billede tofferman Nybegynder
14. april 2004 - 13:45 Der er 23 kommentarer og
1 løsning

Optimering af css og asp.

Hejsa!
Jeg har opbygget mit website toflo.dk helt efter css. Men da jeg er en luset amatør fylder mit stylesheet nu 11 kb. Er det ikke i overkanten, og er der nogen har har nogle gode råd til hvordan man kan minimere det?

En anden ting jeg er lidt i tvivl om er brugen af asp. Hvad er bedst (skaber mindst trafik):

1: <p>Nu skriver vi en variabel:<%response.Write variabel%>.</p>

eller

2. <%response.Write "<p>Nu skriver vi en variabel: "& variabel &"."%>

Det der er humlen i det er, at jeg er i tvivl om om det er bedst at bruge response.Write hele vejen igennem, eller om det er bedre at skifte mellem html og asp flere gange.
Avatar billede thesurfer Nybegynder
14. april 2004 - 13:51 #1
At bruger ASP hele vejen, er hurtigere end at hoppe frem og tilbage hele tiden..

..havde engang et eksempel med en restaurent, en tjener, og en gruppe der bestiller mad :-)
Avatar billede thesurfer Nybegynder
14. april 2004 - 13:54 #2
Her er det:

ASP skriver HTML kode VS spring frem og tilbage (optimering)

  Eksempel 1 (den hurtige): Der er 5 elever på en restaurant. Der er 1 minutters gang fra køkkenet (serverside) og til bordet (klientside) hvor eleverne sidder. Tjeneren kommer for at tage imod deres bestilling (1 minut er passeret). Tjeneren tager alle elevernes bestillinger og går hen til kokken (endnu 1 minut er passeret). Der gik i alt 2 minutter fra de satte sig ved bordet, til kokken havde deres bestilling. Det tog ikke lang tid, da det hele skete på samme tid.

  Eksempel 2 (den langsomme): Der er 5 elever på en restaurant.. Der er 1 minutters gang fra køkkenet (serverside)  og til bordet (klientside) hvor eleverne sidder. Tjeneren kommer for at tage imod deres bestilling (1 minut er passeret). Tjeneren tager 1 elevs bestilling og går hen til kokken (+1 min.). Tjeneren går derefter tilbage til bordet (+1 min.), tager imod endnu en bestilling og går tilbage til kokken (+1 min.). Sådan skifter tjeneren mellem bordet (klientside) og køkkenet (serverside) indtil alle har bestilt. Det taget i alt 10 minutter.
  Pointen er som følgende: Ved at udføre at det der skal udføres samme sted (serveren; ASP skriver HTML koden), går det hurtigere. Det er en del af optimeringsprocessen.
  En andel del af optimeringsprocessen er direkte tilslutning til databasen, via ASP. Jeg har også brugt Option Explicit som tvinger programmøren (mig) til at definere variablerne. Dette gør at hastigheden, når den skal hente værdierne, øges.
Avatar billede thesurfer Nybegynder
14. april 2004 - 13:56 #3
hmm.. der kom vist lidt for meget med :-)

Skulle være stoppet ved:
"Pointen er som følgende: Ved at udføre at det der skal udføres samme sted (serveren; ASP skriver HTML koden), går det hurtigere."
Avatar billede thesurfer Nybegynder
14. april 2004 - 13:58 #4
..men på den anden side:
Jo mere serveren skal lave, jo mere belastes den og jo flere ressourcer skal den bruge..
Avatar billede tofferman Nybegynder
14. april 2004 - 14:00 #5
Ok. Sådan en forklaring giver sgu karma :-)

Men jeg bruger response.Buffer=true. Har det nogen indflydelse?

Hvad mener du med direkte tilslutning til databasen via asp? Jeg bruger noget der ligner nedenstående når jeg tilslutter:

SQLserveradr="server.server.dk"
SQLdatabase="databasenavn"
SQLlogin="brugernavn"
SQLpassword="password"

Set Con = Server.CreateObject("ADODB.Connection")

conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase
conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386"

Con.Open conStr
set SQLserveradr=nothing
set SQLdatabase=nothing
set SQLlogin=nothing
set SQLpassword=nothing
set conStr=nothing
Avatar billede tofferman Nybegynder
14. april 2004 - 14:01 #6
Kl. 13:58:08 ramte du faktisk sømmet. Jeg mener nemlig at det må være lettere for serveren når den ikke skal bearbejde alt teksten, men kun den dynamiske del.

Men jeg er jo stadig en luset amatør ;), så det kan godt være at det ikke er rigtigt.
Avatar billede thesurfer Nybegynder
14. april 2004 - 14:13 #7
Jeg mener at det er sådan her (Microsoft Access database):

set rs = Server.CreateObject("ADODB.RecordSet")
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db1.mdb")
strSQL = "sql streng her"
rs.Open strSQL, Conn
' kode her
conn.close
set conn = nothing
Avatar billede tofferman Nybegynder
14. april 2004 - 14:15 #8
Ok. Jeg tror i princippet det er det samme.

Mht. mit css-spørgsmål. Nogle ideer?
Avatar billede thesurfer Nybegynder
14. april 2004 - 14:15 #9
.. det er i hvert fald den kode, jeg brugte i min rapport (12. januar 2003)..

Men nu bruger jeg følgende kode:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db1.mdb")
Conn.Open DSN
strSQL = "sql streng her"
Set rs = Conn.Execute(strSQL)
' kode her
Conn.Close
Set Conn = Nothing
Avatar billede thesurfer Nybegynder
14. april 2004 - 14:18 #10
kigger lige på det..
Avatar billede thesurfer Nybegynder
14. april 2004 - 14:26 #11
Nu er jeg godt nok ikke csshaj.. men det ser godt ud (formaering).. hvis du vil reducere filstørrelsen, skal du nok reducere antallet af linier, da "ny linie" vist også tager plads..

..og så fandt jeg nogle småfejl

#menureklamer
        {position: absolute;
        top: 450px;
        height: 300px;
        width: 100%;
        text-align: center <-- husk ";".. ellers vil den næste linie ikke virke, hvis du indsætter en..
        }   



#lup    {position: absolute;
        z-index=3; <-- "=" skal være ":"
        top: 40px;
        left: 20px;
        width: 60px;
        height: 60px;
        }
Avatar billede tofferman Nybegynder
14. april 2004 - 14:29 #12
Tak for det :-) Den første er jeg dog ikke helt enig i. Syntaksen siger at der kun skal være en ; hvis der kommer en linie mere.
Avatar billede thesurfer Nybegynder
14. april 2004 - 14:30 #13
mht "response.Buffer=true"> Det ved jeg faktisk ikke.. men jeg vil tro, at det er det samme som "ASP skriver HTML kode VS spring frem og tilbage"..
Forskellen er vel, at det bare tager længere tid, før noget sendes til browseren..

Men som sagt: det ved jeg faktisk ikke..
Avatar billede tofferman Nybegynder
14. april 2004 - 14:30 #14
Ok. Men læg lige et svar, så du kan få nogle point :-)
Avatar billede thesurfer Nybegynder
14. april 2004 - 14:31 #15
mht "syntaxen"> ..sagde jo at jeg ikke var en css-haj ;-)

Karma OG points? *snøft*.. Det er jo næsten juleaften ;-)

- Et svar er lagt :-)
Avatar billede tofferman Nybegynder
14. april 2004 - 14:33 #16
Helt fortjent :-)
Avatar billede thesurfer Nybegynder
14. april 2004 - 14:36 #17
Takker for karma og points! :-)
Avatar billede nute Nybegynder
14. april 2004 - 14:37 #18
thesurfer >> hmm .. ved ikke helt om jeg køber den forklaring. man "forlader jo ikke bordet" selv om man skifter mellem "html-mode" og "asp-mode". det er jo ikke sådan at serveren sender en stump html til klienten, derefter processerer en stump asp som den sender til klienten, derefter sender "ren" html til klienten og bagefter processerer asp og sender html til klienten. Serveren bruger lidt mere krudt på at identificere script-blokke, hvis det er et hav af dem, men helt normal rendering af sider, koster ikke særlig meget.

"Pointen er som følgende: Ved at udføre at det der skal udføres samme sted (serveren; ASP skriver HTML koden), går det hurtigere" - eh ... alt udføres samme sted. serveren fortolker scriptingen som er inkluderet på en side. når serveren er færdig med at fortolke scriptingen, så sendes det færdige resultat til klienten, som fortolker den asp-genererede HTML/XML/WML/whatever.

/nute
Avatar billede thesurfer Nybegynder
14. april 2004 - 14:50 #19
nute> mht eksemplet: Det mener jeg at have læst.. jeg kan se at jeg læste bøgerne "Teach Yoursself Active Server Pages in 24 Hours" (af Christoph Willi og Christian Koller, DK-Titel: "ASP – Active Server Pages") og "ASP 3 – dynamiske hjemmesider" (af Michell Cronberg), da jeg skrev rapporten..

Det har sikkert stået der?
Avatar billede nute Nybegynder
14. april 2004 - 14:57 #20
thesurfer >> måske .. måske ikke ... det ved jeg ikke, da jeg ikke har læst bøgerne ;o]

anywho ... jeg synes stadig at det er en dårlig forklaring - om ikke andet, en dårlig formulering. Jeg ser ingen sammenhæng mellem den citerede bord-analogi, og sådan det fungerer i den virkelige verden.

/nute
Avatar billede roenving Novice
14. april 2004 - 20:31 #21
-- og nute har helt ret, den analogi går f.eks. på forholdet mellem at give mulighed for at lave løbende validering client-side i forhold til alene at lave løbende validering server-side ...

-- og betyder alt andet lige, at det er dårligt at bruge server-side til at lave småting, som ændrer en smule på siden, hvis det samme kan klares client-side, så opbygningen skal laves, så man serverside får så mange oplysninger på een gang som muligt, hvis der skal reageres på !-)

Ej, det er zq da svært at skrive forståeligt dænsg, men det har i hvert fald ikke det fjerneste med forholdet mellem de to eksempler tofferman kom med ...

Man kunne måske endda argumentere for, at en meget stor html-blok uden behov for dynamik vil være dårlig at sende igennem en response.Write, da asp-fortolkeren så alligevel bliver nødt til at lede den igennem for eventuelle dynamiske tags ...
Avatar billede thesurfer Nybegynder
15. april 2004 - 15:27 #22
nute & roenving> Jeg havde åbenbart misforstået et eller andet? Jeg er villig til at sende pointsne en anden vej.. Læg et besked hvis I vil ha' pointsne.. så vil jeg oprette et nyt til dig/jer.
Læg også en besked, hvis I ikke vil ha' points :-)
Så slipper jeg for at sætte en tidsfrist.. kunne jo være at I ikke fik mails ang dette spm..
Avatar billede nute Nybegynder
15. april 2004 - 15:41 #23
thesurfer >> ingen points til mig, tak. det var ikke derfor jeg postede en kommentar. Jeg ville kommentere og påpege at der har blevet godkendt urigtige oplysninger. Dette er noget tofferman har "ret" til at få at vide, så han slipper for at gå rundt og tro at verden er skruet sådan sammen som du har givet indtryk af (no offence).

og kender jeg roenving ret, så er han også rimelig ligeglad med at få points for dette. Det er ikke points der tæller - men at give korrekt information

;o]
Avatar billede roenving Novice
16. april 2004 - 02:23 #24
Helt enig med nute ,-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester