/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hastighed
Fra : Per Schulze


Dato : 19-07-01 20:16

Hej gruppe

Er jeg den eneste der ikke blander HTML og ASP sammen i min kodning?

De fleste eksempler af kildetekster / sourcekoder jeg har kigget igennem på
diverse danske ASP sider blander lystigt ASP og HTML sammen.
Det giver da en dårlig performance gør det ikke?

Og hvorfor koder alle i VBScript når JScript er fremtiden (her tænker jeg på
ASP.net)?

mvh.
Per Schulze
Http://Webkurs.dk




 
 
Allan Ebdrup (19-07-2001)
Kommentar
Fra : Allan Ebdrup


Dato : 19-07-01 22:38

"Per Schulze" <info@per-schulze.dk> skrev i en meddelelse
news:3b573147$0$3244$ba624c82@nntp01.dk.telia.net...
> Er jeg den eneste der ikke blander HTML og ASP sammen i min kodning?
>
> De fleste eksempler af kildetekster / sourcekoder jeg har kigget igennem

> diverse danske ASP sider blander lystigt ASP og HTML sammen.
> Det giver da en dårlig performance gør det ikke?
>
> Og hvorfor koder alle i VBScript når JScript er fremtiden (her tænker jeg

> ASP.net)?

Hej Per
1) Du er ikke den eneste der adskiller HTML og ASP men måske den eneste der
gør det pga. performance - HTML og VBScript bør ikke blandes da det
ødelægger den logiske struktur i din webapplikation - performance er nok
mindre vigtigt - her er det altid vigtigere at designe sin database og
database logik fornuftigt. Jeg er dog meget enig med dig i at folk burde
gøre mere for at opsplitte deres webapplikationer i logiske lag - det har
altid været et problem med ASP (og PHP) at det er meget nemt at programmere
tingene ustruktureret og det kræver alt for meget diciplin og erfaring at
byggge velstrukturerede webapplikationer. Derudover har MS ikke gjort nok
for at komme med gode eksempler på velstrukturerede webapplikatione bygget
med ASP - de har anbefalet COM/COM+ til forretningslogikken og
datalogikken - men 90% af de applikationer folk bygger laves uden COM/COM+
(af mange forskellige årsager). Det er til gengæld noget der burde blive
rettet gevaldigt op på med .Net teknologien - medmindre folk tager alt for
mange dårlige vaner med fra deres ASP dage...
2) JScript bliver næppe stort med ASP.Net, der er mange programmeringssprog
at vælge imellem i ASP.Net men VB.Net og C# er klart de vigtigste -
derudover er .Net stadig i beta så hvem gider omlægge sine arbejdsmetoder
efter en teknologi der kan nå at ændre sig inden den er færdig og alligevel
laver fuldstændigt om i de applikationer du laver. Det er en fornuftig og
pragmatisk tilgang til udvikling.

Kort og godt bruger folk alt for lidt tid på fornuftig kode struktur,
navngivning dokumentation og kommentare i deres kode - i stedet kigger de på
om deres asp side tager 0.04003 eller 0.04001 sekunder at eksekvere og kan
bruge timevis på at optimere performance i et script der bliver kørt 10
gange om dagen fordi de synes det er sjovt. Det er også lærerigt men
scaleability og langsigtede resultater afhænger aldrig af det. Det store
overblik, diciplin og fagligheden kniber det lidt med - men så er det jo
også ofte fordi der ikke er nogen til at råbe vagt i gevær. VAGT I GEVÆR!!!

MHV
Allan Ebdrup



Per Schulze (20-07-2001)
Kommentar
Fra : Per Schulze


Dato : 20-07-01 09:57


"Allan Ebdrup" <ebdrup@ti-fire.dk> skrev i en meddelelse
news:9j7ju6$1q8d$1@news.cybercity.dk...
> Hej Per
> 1) Du er ikke den eneste der adskiller HTML og ASP men måske den eneste
der
> gør det pga. performance - HTML og VBScript bør ikke blandes da det
> ødelægger den logiske struktur i din webapplikation - performance er nok
> mindre vigtigt - her er det altid vigtigere at designe sin database og
> database logik fornuftigt. Jeg er dog meget enig med dig i at folk burde
> gøre mere for at opsplitte deres webapplikationer i logiske lag - det har
> altid været et problem med ASP (og PHP) at det er meget nemt at
programmere
> tingene ustruktureret og det kræver alt for meget diciplin og erfaring at
> byggge velstrukturerede webapplikationer. Derudover har MS ikke gjort nok
> for at komme med gode eksempler på velstrukturerede webapplikatione bygget
> med ASP - de har anbefalet COM/COM+ til forretningslogikken og
> datalogikken - men 90% af de applikationer folk bygger laves uden COM/COM+
> (af mange forskellige årsager). Det er til gengæld noget der burde blive
> rettet gevaldigt op på med .Net teknologien - medmindre folk tager alt for
> mange dårlige vaner med fra deres ASP dage...
> 2) JScript bliver næppe stort med ASP.Net, der er mange
programmeringssprog
> at vælge imellem i ASP.Net men VB.Net og C# er klart de vigtigste -
> derudover er .Net stadig i beta så hvem gider omlægge sine arbejdsmetoder
> efter en teknologi der kan nå at ændre sig inden den er færdig og
alligevel
> laver fuldstændigt om i de applikationer du laver. Det er en fornuftig og
> pragmatisk tilgang til udvikling.
>
> Kort og godt bruger folk alt for lidt tid på fornuftig kode struktur,
> navngivning dokumentation og kommentare i deres kode - i stedet kigger de

> om deres asp side tager 0.04003 eller 0.04001 sekunder at eksekvere og kan
> bruge timevis på at optimere performance i et script der bliver kørt 10
> gange om dagen fordi de synes det er sjovt. Det er også lærerigt men
> scaleability og langsigtede resultater afhænger aldrig af det. Det store
> overblik, diciplin og fagligheden kniber det lidt med - men så er det jo
> også ofte fordi der ikke er nogen til at råbe vagt i gevær. VAGT I
GEVÆR!!!
>
> MHV
> Allan Ebdrup
>
>
Alle de hjemmesider jeg har været inde på og hvor jeg har valgt "vis kilde"
er HTML-kilden pænt sat op med kommentare og tabulator tryk afsnitsinddeling
m.m.

Men så bliver de besøgende jo straffet unødigt! De er nødt til at downloade
ekstra linier mellemrum og tabulator tryk, selv om deres browser er
fuldstændig ligeglad med om de er der.

Hvis man fjerner disse tabulator, mellemrum, kommentare fra webmaster m.m så
kan performance øges helt op til 80%.

MVH
Per Schulze






Mark S. Rasmussen (20-07-2001)
Kommentar
Fra : Mark S. Rasmussen


Dato : 20-07-01 10:08

> Alle de hjemmesider jeg har været inde på og hvor jeg har valgt "vis kilde"
> er HTML-kilden pænt sat op med kommentare og tabulator tryk afsnitsinddeling
> m.m.
>
> Men så bliver de besøgende jo straffet unødigt! De er nødt til at downloade
> ekstra linier mellemrum og tabulator tryk, selv om deres browser er
> fuldstændig ligeglad med om de er der.
>
> Hvis man fjerner disse tabulator, mellemrum, kommentare fra webmaster m.m så
> kan performance øges helt op til 80%.

Dette tvivler jeg _meget_ på er rigtigt... Et tryk på enter i din webeditor
laver et afsnit - rykker ned på næste linie. Hvad den laver i din kode er at
den indsætter en chr(13). chr(13) er entertasten. Det er to bit pr. afsnit. De
fleste editorer indsætter en chr(9) når de laver en tabulator indrykning, det
er een bit. Nogle editorer laver dog bare 10xspace tasten eller lignende -
dette kræver selvfølgelig 10xchr(32) som så er 20 bit. Hvad jeg prøver på at
sige her er at dette plads betyder så godt som intet på nær hvis du har et
dokument på 10000 linier hvoraf hver anden er spildplads. Selvfølgelig kræver
kommentarer lidt plads men med mindre du kommenterer hver enkelt linie skal der
også en del kommentarer til før du kan spare 80%!

<html><head><title>test side</title></head><body><font>test skrift på test
siden</font><br><hr><br><br><font>Enden på test siden</font></body></html>

--------

<html>
<head>
<title>test side</title>
</head>
<body>
<font>test skrift på test siden</font>
<br>
<hr>
<br><br>
<font>Enden på test siden</font>
</body>
</html>

den nederste kode i forhold til den øverste bruger 12 enter tryk - det er 0.024
kb. Jeg vil gerne ofre den ekstra plads på at få et langt bedre overblik end
den øverste kode.

Mvh Mark

--
The box said 'Requires Windows 95, or better.' So I bought a Macintosh.



Per Schulze (20-07-2001)
Kommentar
Fra : Per Schulze


Dato : 20-07-01 11:10

"Mark S. Rasmussen" <mark@tv.dk> skrev i en meddelelse
news:3B57F4D8.90142616@tv.dk...
> Dette tvivler jeg _meget_ på er rigtigt... Et tryk på enter i din
webeditor
> laver et afsnit - rykker ned på næste linie. Hvad den laver i din kode er
at
> den indsætter en chr(13). chr(13) er entertasten. Det er to bit pr.
afsnit. De
> fleste editorer indsætter en chr(9) når de laver en tabulator indrykning,
det
> er een bit. Nogle editorer laver dog bare 10xspace tasten eller lignende -
> dette kræver selvfølgelig 10xchr(32) som så er 20 bit. Hvad jeg prøver på
at
> sige her er at dette plads betyder så godt som intet på nær hvis du har et
> dokument på 10000 linier hvoraf hver anden er spildplads. Selvfølgelig
kræver
> kommentarer lidt plads men med mindre du kommenterer hver enkelt linie
skal der
> også en del kommentarer til før du kan spare 80%!
>
> <html><head><title>test side</title></head><body><font>test skrift på test
> siden</font><br><hr><br><br><font>Enden på test siden</font></body></html>
>
> --------
>
> <html>
> <head>
> <title>test side</title>
> </head>
> <body>
> <font>test skrift på test siden</font>
> <br>
> <hr>
> <br><br>
> <font>Enden på test siden</font>
> </body>
> </html>
>
> den nederste kode i forhold til den øverste bruger 12 enter tryk - det er
0.024
> kb. Jeg vil gerne ofre den ekstra plads på at få et langt bedre overblik
end
> den øverste kode.
>
> Mvh Mark

Hej Mark

Jeg prøvede med en fil fra frontpage på 40 kb.
Den fik jeg ned på 3 kb.
Den var fyldt med html kommentare med "Webbots" som frontpage benyttede til
db tilgang.

Min pointe er også at hvis man har en ASP side der er blandet med html og
JScript/VBScript-serverside, skal der hele tiden skiftes mellem html-modus
ASP-modus.
Der er ikke hensigtsmæssigt og det hæmmer også performance.



Mark S. Rasmussen (20-07-2001)
Kommentar
Fra : Mark S. Rasmussen


Dato : 20-07-01 11:12

> Jeg prøvede med en fil fra frontpage på 40 kb.
> Den fik jeg ned på 3 kb.
> Den var fyldt med html kommentare med "Webbots" som frontpage benyttede til
> db tilgang.

Generelt så laver Frontpage noget meget dårlig kode. Langt større og mere
uhensynsmæssigt end det burde være. Og desuden laver frontpage også kommentarer
over det hele osv - husk at slå dem fra i settings.

> Min pointe er også at hvis man har en ASP side der er blandet med html og
> JScript/VBScript-serverside, skal der hele tiden skiftes mellem html-modus
> ASP-modus.
> Der er ikke hensigtsmæssigt og det hæmmer også performance.

Det tror jeg ikke gør nogen stor forskel. Jeg sidder faktisk selv og er ved at
lave en web server og derfra har jeg lært lidt om hvordan serveren formentligt
fungerer :). Serveren skal intet gøre ved HTML koden, den skal bare sendes som
en databid til klienten - der findes derfor ikke noget "html-modus". Serveren
tager bare de ASP strenge ud fra html koden, behandler dem og kommer dem
bagefter ind i HTML koden igen på de rette pladser, og sender derefter den
samlede HTML kode til bage til klientet - og så behandler klientens browser
HTML koden.

/Mark

--
The box said 'Requires Windows 95, or better.' So I bought a Macintosh.



Per Schulze (20-07-2001)
Kommentar
Fra : Per Schulze


Dato : 20-07-01 11:51


"Mark S. Rasmussen" <mark@tv.dk> skrev i en meddelelse
news:3B5803D4.F0F516C2@tv.dk...
> > Jeg prøvede med en fil fra frontpage på 40 kb.
> > Den fik jeg ned på 3 kb.
> > Den var fyldt med html kommentare med "Webbots" som frontpage benyttede
til
> > db tilgang.
>
> Generelt så laver Frontpage noget meget dårlig kode. Langt større og mere
> uhensynsmæssigt end det burde være. Og desuden laver frontpage også
kommentarer
> over det hele osv - husk at slå dem fra i settings.
>

Ja nu benytter jeg ikke selv frontpage, men det er da et ok tip.


> Det tror jeg ikke gør nogen stor forskel. Jeg sidder faktisk selv og er
ved at
> lave en web server og derfra har jeg lært lidt om hvordan serveren
formentligt
> fungerer :). Serveren skal intet gøre ved HTML koden, den skal bare sendes
som
> en databid til klienten - der findes derfor ikke noget "html-modus".
Serveren
> tager bare de ASP strenge ud fra html koden, behandler dem og kommer dem
> bagefter ind i HTML koden igen på de rette pladser, og sender derefter den
> samlede HTML kode til bage til klientet - og så behandler klientens
browser
> HTML koden.
>

Det er ikke helt korrekt for man har jo som jeg netop pointere blandet html
og asp sammen.
Når du åbner en typisk asp side i din browser så fortolker browseren først
det html den nu kan, så kommer der måske noget asp serverside kode, det
fortolker serveren så og sender det til klienten, derefter er der måske lidt
html igen som browseren kan tygge på og derefter kommer der måske igen noget
serverside asp som serveren skal behandle.

Selv Microsoft anbefaler at man ikke skifter mellem html og script konstant,
da det påvirker performance.

Og i ASP.net er det faktisk ikke længere muligt at blande script og html.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/ht
ml/cpconcoderenderblocks.asp

Dette er efter min mening en dårlig idé:
<%@ Language=JavaScript %>
<html>
<head>
<title>Min side</title>
</head>

<body>
Lige nu er vi faktisk i Html modus
<%
var sScript = Request.ServerVariables ( "SCRIPT_NAME" );

Response.Write ( '<p>Jeg kaldes ' + sScript + '<p>' );
%>
....det er vi også her.
</body>
</html>

MVH
Per Schulze




Mark S. Rasmussen (20-07-2001)
Kommentar
Fra : Mark S. Rasmussen


Dato : 20-07-01 11:56

> Det er ikke helt korrekt for man har jo som jeg netop pointere blandet html
> og asp sammen.
> Når du åbner en typisk asp side i din browser så fortolker browseren først
> det html den nu kan, så kommer der måske noget asp serverside kode, det
> fortolker serveren så og sender det til klienten, derefter er der måske lidt
> html igen som browseren kan tygge på og derefter kommer der måske igen noget
> serverside asp som serveren skal behandle.

Jeg må indrømme at jeg ikke ved det her med sikkerhed men jeg tror nu ikke det
foregår på denne måde. Fordi en browser ved ikke at alt imellem f.eks <% og %>
er serverside kode - og den vil derfor heller ikke sende det tilbage til
serveren. Jeg tror først serveren sender HTML koden når den har behandlet alt
ASP koden... men som sagt, jeg ved det ikke.

/Mark

--
The box said 'Requires Windows 95, or better.' So I bought a Macintosh.



Per Schulze (20-07-2001)
Kommentar
Fra : Per Schulze


Dato : 20-07-01 12:12


"Mark S. Rasmussen" <mark@tv.dk> skrev i en meddelelse
news:3B580E2B.3BACB9B1@tv.dk...
> > Det er ikke helt korrekt for man har jo som jeg netop pointere blandet
html
> > og asp sammen.
> > Når du åbner en typisk asp side i din browser så fortolker browseren
først
> > det html den nu kan, så kommer der måske noget asp serverside kode, det
> > fortolker serveren så og sender det til klienten, derefter er der måske
lidt
> > html igen som browseren kan tygge på og derefter kommer der måske igen
noget
> > serverside asp som serveren skal behandle.
>
> Jeg må indrømme at jeg ikke ved det her med sikkerhed men jeg tror nu ikke
det
> foregår på denne måde. Fordi en browser ved ikke at alt imellem f.eks <%
og %>
> er serverside kode - og den vil derfor heller ikke sende det tilbage til
> serveren. Jeg tror først serveren sender HTML koden når den har behandlet
alt
> ASP koden... men som sagt, jeg ved det ikke.
>
> /Mark
>
> --
> The box said 'Requires Windows 95, or better.' So I bought a Macintosh.
>
Hej Mark
Jeg havde vist lige hovedet under armen.
Det er selvfølgelig ikke serverside script delen der er problemet, problemet
er at man mellem ens html blander det med script (ikke serverside). Dvs. der
skiftes mellem html fortolkeren og script fortolkeren hele tiden.

MVH
Per Schulze



Mark S. Rasmussen (20-07-2001)
Kommentar
Fra : Mark S. Rasmussen


Dato : 20-07-01 12:18

> Hej Mark
> Jeg havde vist lige hovedet under armen.
> Det er selvfølgelig ikke serverside script delen der er problemet, problemet
> er at man mellem ens html blander det med script (ikke serverside). Dvs. der
> skiftes mellem html fortolkeren og script fortolkeren hele tiden.

Som sagt er jeg faktisk selv ved at lave et Web Server program så jeg forklarer
lige hvordan den håndterer koden og hvorfor det sænker farten.

Serverprogrammet får en fil hvori der indeholder HTML & ASP kode i. Så leder
den efter den førse "<%" - denne position lagrer den så i en array. Alt html
koden før dette tegn ryger ind i en streng. Så leder den efter det næste
"%>".Denne position gemmer den så også i en anden array. Koden imellem disse to
tegn bliver lagt ind i en tredje array. Så begynder den forfra og leder efter
flere ASP stumper på samme måde, og hvis den finder dem ryger de ind i array'en
som indeholder den anden kode. Så hvis mit originale HTML/ASP dokument så
således ud:

html kode
asp kode
html kode
html kode
asp kode
html kode

så ser det nu således ud:

html kode
manglende asp kode
html kode
html kode
manglende asp kode
html kode

Den holder så styr på hvilke ASP koder der mangler, og hvor den skal tage dem
fra i ASP kode array'en. Så har jeg en funktion som tager ASP koden ud af ASP
array'en og behandler denne kode og derved omdanner den til normalt HTML kode.
Når den så er gået igennem hele ASP array'en indeholder denne array så kun HTML
kode. Så tager jeg fat i det sidste HTML dokument og fylder de ud således:

html kode
behandlet asp kode = html
html kode
html kode
behandlet asp kode = html
html kode

Det resulterer så i at jeg har et 100% HTML dokument. Når jeg så har dette
sender jeg det ud til klienten. Dette er langsommeligt fordi min server skal
lede efter al ASP koden i HTML dokumentet og tage det ud af strengen og
behandle det og derefter komme det tilbage deri. Hvis man havde rene ASP
dokumenter ville jeg kunne springe over delen som finder ASP kode og i stedet
bare behandle hele dokumentet som ASP kode. Jeg tror det er her man kan
optimere performance.

Hmmm... en lang smøre nu jeg tænker ove det .

Mvh Mark

--
The box said 'Requires Windows 95, or better.' So I bought a Macintosh.



Claus O (20-07-2001)
Kommentar
Fra : Claus O


Dato : 20-07-01 12:44


"Mark S. Rasmussen" <mark@tv.dk> wrote

> Det resulterer så i at jeg har et 100% HTML dokument. Når jeg så har dette
> sender jeg det ud til klienten. Dette er langsommeligt fordi min server skal
> lede efter al ASP koden i HTML dokumentet og tage det ud af strengen og
> behandle det og derefter komme det tilbage deri. Hvis man havde rene ASP
> dokumenter ville jeg kunne springe over delen som finder ASP kode og i stedet
> bare behandle hele dokumentet som ASP kode. Jeg tror det er her man kan
> optimere performance.
>
Det er vist ikke nyt at koden skal imellem et par <% %> hvorfor der kun bliver et
kald til asp.dll.
Dog er eks. ASP for dummies og Hr. Stein ikke helt enig. Spørgsmålet er vel
om belastningen er så stor for serveren at det retfærdiggøre det mistede "overblik"!?!
Claus



Mark S. Rasmussen (20-07-2001)
Kommentar
Fra : Mark S. Rasmussen


Dato : 20-07-01 12:51

> Det er vist ikke nyt at koden skal imellem et par <% %> hvorfor der kun bliver et
> kald til asp.dll.

Nej det er der ikke noget nyt i.

>
> Dog er eks. ASP for dummies og Hr. Stein ikke helt enig.

Hr. Stein? - ahva?

> Spørgsmålet er vel
> om belastningen er så stor for serveren at det retfærdiggøre det mistede "overblik"!?!

Det mener jeg bestemt ikke for som jeg skrev om tidligere svarer det til meget få bits...



--
The box said 'Requires Windows 95, or better.' So I bought a Macintosh.



Claus O (20-07-2001)
Kommentar
Fra : Claus O


Dato : 20-07-01 13:03

"Mark S. Rasmussen" <mark@tv.dk> wrote

> Hr. Stein? - ahva?

Newbee?

> > Spørgsmålet er vel
> > om belastningen er så stor for serveren at det retfærdiggøre det mistede "overblik"!?!
>
> Det mener jeg bestemt ikke for som jeg skrev om tidligere svarer det til meget få bits...
>

Mark S. Rasmussen wrote earlier:
>Dette er langsommeligt fordi min server skal
>lede efter al ASP koden i HTML dokumentet og tage det ud af strengen og
>behandle det og derefter komme det tilbage deri. Hvis man havde rene ASP
>dokumenter ville jeg kunne springe over delen som finder ASP kode og i stedet
>bare behandle hele dokumentet som ASP kode. Jeg tror det er her man kan
>optimere performance.

EOD




Mark S. Rasmussen (20-07-2001)
Kommentar
Fra : Mark S. Rasmussen


Dato : 20-07-01 13:05

> Newbee?

Måske... hvem/hvad er han/det :)?

> > > Spørgsmålet er vel
> > > om belastningen er så stor for serveren at det retfærdiggøre det mistede "overblik"!?!
> >
> > Det mener jeg bestemt ikke for som jeg skrev om tidligere svarer det til meget få bits...
> >
>
> Mark S. Rasmussen wrote earlier:
> >Dette er langsommeligt fordi min server skal
> >lede efter al ASP koden i HTML dokumentet og tage det ud af strengen og
> >behandle det og derefter komme det tilbage deri. Hvis man havde rene ASP
> >dokumenter ville jeg kunne springe over delen som finder ASP kode og i stedet
> >bare behandle hele dokumentet som ASP kode. Jeg tror det er her man kan
> >optimere performance.
>
> EOD

ups, jeg troede du spurgte om noget andet, jeg troede du mente om det kunne betale sig at
droppe alle afsnit osv i ens HTML kode for at spare plads.


--
The box said 'Requires Windows 95, or better.' So I bought a Macintosh.



Per Schulze (20-07-2001)
Kommentar
Fra : Per Schulze


Dato : 20-07-01 12:52

Hej Mark

Dette er efter min mening en dårlig idé:

<%@ Language=JavaScript %>
<html>
<head>
<title>Min side</title>
</head>

<body>
Lige nu er vi faktisk i Html modus
<%
var sScript = Request.ServerVariables ( "SCRIPT_NAME" );

Response.Write ( '<p>Jeg kaldes ' + sScript + '<p>' );
%>
....det er vi også her.
</body>
</html>

Sådan gør jeg:

<%@ Language=JavaScript %>
<%
// Nedenstående linie aktiverer lagring af de data der sendes til browseren.
%>
<% Response.Buffer=true %>

<%
Ud ( '<html>' );

Ud( '<head>' );
Ud( '<title>Min side</title>' );
Ud ( '</head>' );

Ud ( '<body>' );

Ud ( 'Lige nu er vi faktisk i Html modus' );

// hent navnet på selve scriptet
var sScript = Request.ServerVariables ( "SCRIPT_NAME" );

Ud ( '<p>Jeg kaldes ' + sScript );

Ud ( '<p>...det er vi også her.' );

Ud ( '</body>' );
Ud ( '</html>' );
%>

"Ud" er en simpel funktion jeg anvender til at pakke det hele sammen med og
derefter sende det ud med Response.Write.
Nu blander vi heller ikke længere Html modus sammen med ASP modus.

MVH
Per Schulze




Allan Ebdrup (20-07-2001)
Kommentar
Fra : Allan Ebdrup


Dato : 20-07-01 20:24

"Per Schulze" <info@per-schulze.dk> skrev i en meddelelse
news:3b581ad8$0$31245$ba624c82@nntp01.dk.telia.net...
[KLIP - eksempel]
> "Ud" er en simpel funktion jeg anvender til at pakke det hele sammen med
og
> derefter sende det ud med Response.Write.
> Nu blander vi heller ikke længere Html modus sammen med ASP modus.

Hej Per
Det er at gå over åen efter vand og meninger tæller ikke så meget når man
diskuterer performance - du kan måle hvad der er bedst med et værktøj som
"Microsoft Web Application Stress" (<http://webtool.rte.microsoft.com/>).

ASP har sin egen buffer som gør det samme som din Ud funktion - den eneste
forskel er at du laver en hel del arbejde med strenge og det er det værste
man kan gøre for performance i ASP (det eneste der kan stikke det er
overdreven brug af session variable eller redim preserve af arrays).
Derudover koster funktionskaldet til "Ud" funktionen en hel del da
argumenterne skal pakkes sammen og overføres til en kodestump der skal
afvikles i et andet scope - alt i alt har du gjort en hel del arbejde og
resultatet er at din kode er langsommere.
Skift mellem fortolket VBScript og HTML koster ikke noget særligt ifht.
performance - det koster en lille bitte smule men ikke noget der er værd at
skrive hjem om. I "gamle dage" under window NT (IIS4) kostede det lidt mere
og det kunne måske betale sig at holde øje med at man ikke havde 100 skift -
men det er ikke noget der batter.
Jeg har set en afdeling af danmarks populæreste sites køre med tonsvis af
servervariable, 100vis af skift mellem fortolket VB og HTML og en database
der hverken var normaliseret eller indekseret (det mente den oprindeliget
udvikler ikke var nødvendigt ?!?) på en enkelt server (PII 300 MHz) men NT 4
og SQL Server 6.5 uden performance problemer.

Der findes mange artikler på nettet om at optimere din ASP.
Mit råd er: Brug tiden på at optimere din database, lave en pæn opdeling
mellem datalag, forretningslag og præsentationslag, og dokumentere hvad du
laver.

Hvis du gerne vil optimere din ASP så kig på artiklen "25+ ASP Tips to
Improve Performance and Style":
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnasp/html
/asptips.asp>

Hvis du vil læse noget fornuftigt om at lave skalerbare webapplikationer så
kig på artiklen "Top Windows DNA Performance Mistakes and How to Prevent
Them":
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndna/html
/windnamistakes.asp>

Derudover er der utroligt meget andet lærerigt læsestof i MSDN librariet.

MVH
Allan Ebdrup



Per Schulze (21-07-2001)
Kommentar
Fra : Per Schulze


Dato : 21-07-01 00:23


"Allan Ebdrup" <ebdrup@ti-fire.dk> skrev i en meddelelse
news:9ja0f0$1q4e$1@news.cybercity.dk...
> Hvis du vil læse noget fornuftigt om at lave skalerbare webapplikationer

> kig på artiklen "Top Windows DNA Performance Mistakes and How to Prevent
> Them":
>
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndna/html
> /windnamistakes.asp>
>
> Derudover er der utroligt meget andet lærerigt læsestof i MSDN librariet.
>
> MVH
> Allan Ebdrup

Hej Allan

Tak for din feedback.
Jeg håbede på at høre fra nogen med mere erfaring, som det jo lyder til du
har.
Det er altid svært at finde nogen at udveksle erfaringer med.
Jeg fandt frem til denne løsning ved at prøve mig frem, og ved at læse
forskellige tips og kode fra "De professionelle".

Jeg vidste ikke at buffering nærmest kunne eliminere denne hoppen frem og
tilbage.

Jeg havde læst i en MS artikel at det ville medføre et performance problem
hvis man miksede tingene sammen på denne måde. Der stod ikke nævnt noget om
buffering.

Den vel vigtigste grund til at jeg gør som jeg gør er, at den html mine
sider genererer er "meget" mindre. Uden ligegyldige mellemrum m.m., hvorfor
siderne loader hurtigere. Det er vel et mål i sig selv.


Alt i alt lyder det du skriver jo vældig overbevisende, men i den kommende
ASP.NET tillades denne blanding af html og script jo ikke længere!.
Så hvorfor ikke bare indstille sig på det?

MVH
Per Schulze




Peter Lykkegaard (24-07-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 24-07-01 07:05


"Per Schulze" <info@per-schulze.dk> wrote in message
news:3b58bccb$0$4659$ba624c82@nntp01.dk.telia.net...
>
> >
> > Derudover er der utroligt meget andet lærerigt læsestof i MSDN
librariet.
> >
> Alt i alt lyder det du skriver jo vældig overbevisende, men i den kommende
> ASP.NET tillades denne blanding af html og script jo ikke længere!.
> Så hvorfor ikke bare indstille sig på det?
>
Implementeringen af string funktioner i VB og VBScript er noget af det
ringeste der er lavet fra M$'s side
Al concatenering af strenge skal holdes på et absolut minimum af hensyn til
_server_ performance

Derudover snakker i smule forbi hinanden
Per: Du snakker om performance på klienten og Allan snakker om performance
på serveren
Begge ting er selvfølgelig væsentlige

Din metode med "ud" kræver ekstra (unødvendige?) kræfter af serveren
Kan være af akademisk interesse

Men har den fordel at html koden nærmest er umulig at læse på klientsiden
Kan være en fordel

Hvis man skulle lave noget ala den metode du fremstiller - så kunne man lave
et større kodebibliotek med de væsentligste html tags - for at forbedre
læsevenligheden

I sedet for
Ud("<table>")
' mere stuff her
Ud("</table>")

Kunne du lave
StartTable(.... med de forskellige parametre
' mere stuff her
SlutTable

Event lave nogle klasser til at wrappe tingene ind i

mvh/Peter Lykkegaard




Allan Ebdrup (24-07-2001)
Kommentar
Fra : Allan Ebdrup


Dato : 24-07-01 10:08

"Peter Lykkegaard" <polonline@hot.mail.com> skrev i en meddelelse
news:R8877.8$aN4.594@news.get2net.dk...
[klip]
> Implementeringen af string funktioner i VB og VBScript er noget af det
> ringeste der er lavet fra M$'s side
> Al concatenering af strenge skal holdes på et absolut minimum af hensyn
til
> _server_ performance
>
> Derudover snakker i smule forbi hinanden
> Per: Du snakker om performance på klienten og Allan snakker om performance
> på serveren
> Begge ting er selvfølgelig væsentlige

Hej Peter
1) Implementeringen af string funktioner i VB og VBScript kan det meste. Du
er lidt hård ved MS hvis man tænker sig om. Det eneste der mangler er en
strengtype med amortiseret konstant tidskompleksitet O(1) i længdeforøgelse
med 1, der er ikke mange programmerinssprog der har en sådan som standard.
Jeg har set at MS har lavet noget der skulle være bedre med .Net, men jeg
hørte en af MS folkene sige til en konference at det virker ved at: "bare
allokere en heeeelt masse plads", nu ved jeg ikke om han forsimplede, eller
om de har lavet et "hack" af en slags ?

2) Vi har nok snakket lidt forbi hinanden - men det kan faktisk betyde meget
for performance på serveren også når man optimerer sin HTML - det tager
simpelthen kortere tid både at generere og sende en HTML side på 10Kb end en
på 75Kb, for slet ikke at snakke om båndbredde - det er virkeligt noget der
kan mærkes på en travl server (Og så får brugeren sin side hurtigere .

Jeg mener stadig at CSS (Cascading Style Sheets) i include filer er den
absolut bedste måde at nedbringe byte-størrelsen på sine HTML dokumenter.

MVH
Allan



Peter Lykkegaard (24-07-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 24-07-01 12:20


"Allan Ebdrup" <ebdrup@ti-fire.dk> wrote in message
news:9jjdqq$bom$1@news.cybercity.dk...
> "Peter Lykkegaard" <polonline@hot.mail.com> skrev i en meddelelse
> news:R8877.8$aN4.594@news.get2net.dk...
> [klip]
> > Implementeringen af string funktioner i VB og VBScript er noget af det
> > ringeste der er lavet fra M$'s side
>
> Hej Peter
> 1) Implementeringen af string funktioner i VB og VBScript kan det meste.
Du
> er lidt hård ved MS

Lave du noget ala dette, så sløver du det hele ned

Dim strSQL

strSQL = "SELECT MyField FROM myTable "
strSQL = strSQL & "WHERE AnotherField = '" & strAValue & "'"

Jeg har læst nogle artikler på hvordan man kan gøre det, kan sgu ikke lige
huske hvor :-|
Jeg vil prøve at kikke i MSDN - igen...
Kort fortalt skulle man allokere en streng med spaces og efterhånden
erstatte spaces med det rigtige indhold

Lidt lissom at have en lagerreol på forhånd, før du lægger varerne på
plads - i stedet for at bygge en ny sektion/hylder hver gang du skal sætte
én kasse på plads

Det var vist også noget ala den tidsforskel der blev påpeget

mvh/Peter Lykkegaard



Allan Ebdrup (24-07-2001)
Kommentar
Fra : Allan Ebdrup


Dato : 24-07-01 16:39

"Peter Lykkegaard" <polonline@hot.mail.com> skrev i en meddelelse
news:BLc77.84$aN4.14628@news.get2net.dk...
> Lave du noget ala dette, så sløver du det hele ned
>
> Dim strSQL
>
> strSQL = "SELECT MyField FROM myTable "
> strSQL = strSQL & "WHERE AnotherField = '" & strAValue & "'"

Hej Peter
Jeg ved godt hvordan det virker, du skal gøre det sådan:
strSQL = "SELECT MyField FROM myTable " & _
"WHERE AnotherField = '" & strAValue & "'"

Men min pointe er at du har det samme problem i alle andre
programmeringssprog - derfor kan man ikke sige at MS har været specielt
dårlige. Tværtimod er det godt at de tager hånd om problemet i .Net ved at
lave en speciel strengtype der ikke har dette problem.

MVH
Allan Ebdrup




Peter Lykkegaard (25-07-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 25-07-01 08:01


"Allan Ebdrup" <ebdrup@ti-fire.dk> wrote in message
news:9jk4o0$1amg$1@news.cybercity.dk...
> "Peter Lykkegaard" <polonline@hot.mail.com> skrev i en meddelelse
> news:BLc77.84$aN4.14628@news.get2net.dk...
> > Lave du noget ala dette, så sløver du det hele ned
> >
> > Dim strSQL
> >
> > strSQL = "SELECT MyField FROM myTable "
> > strSQL = strSQL & "WHERE AnotherField = '" & strAValue & "'"
>
> Hej Peter
> Jeg ved godt hvordan det virker, du skal gøre det sådan:
> strSQL = "SELECT MyField FROM myTable " & _
> "WHERE AnotherField = '" & strAValue & "'"
>
Nope

strSQL = "SELECT MyField FROM myTable WHERE AnotherField = '" & strAValue &
"'"
Men lad nu det ligge
Pointen var mere at man skal være lidt varsom med concateneringer/streng
gymnastik hvis det ikke er nødvendigt

Svjv så fx C eller TP ikke de begrænsninger
Men det er jo lidt uden for scope her

mvh/Peter Lykkegaard



Allan Ebdrup (25-07-2001)
Kommentar
Fra : Allan Ebdrup


Dato : 25-07-01 09:22

"Peter Lykkegaard" <polonline@hot.mail.com> skrev i en meddelelse
news:F2u77.21$YE5.1733@news.get2net.dk...
> "Allan Ebdrup" <ebdrup@ti-fire.dk> wrote in message
> news:9jk4o0$1amg$1@news.cybercity.dk...
> > "Peter Lykkegaard" <polonline@hot.mail.com> skrev i en meddelelse
> > news:BLc77.84$aN4.14628@news.get2net.dk...
> > > Lave du noget ala dette, så sløver du det hele ned
> > >
> > > Dim strSQL
> > >
> > > strSQL = "SELECT MyField FROM myTable "
> > > strSQL = strSQL & "WHERE AnotherField = '" & strAValue & "'"
> >
> > Hej Peter
> > Jeg ved godt hvordan det virker, du skal gøre det sådan:
> > strSQL = "SELECT MyField FROM myTable " & _
> > "WHERE AnotherField = '" & strAValue & "'"
> >
> Nope
>
> strSQL = "SELECT MyField FROM myTable WHERE AnotherField = '" & strAValue
&
> "'"
> Men lad nu det ligge
> Pointen var mere at man skal være lidt varsom med concateneringer/streng
> gymnastik hvis det ikke er nødvendigt
>
> Svjv så fx C eller TP ikke de begrænsninger
> Men det er jo lidt uden for scope her

Hej Peter
1) Jo, Forskellen mellem min løsning og din anden løsning er minimal, den
store forskel ligger i det første eksempel hvor du benytter en variabel til
"mellemregning", det kræver først en allokering og efterfølgende en ny og
større allokering, samt flytning af den første del af strengen. Jeg er enig
i at an skal være varsom, men det er vigtig at forstå hvad man skal være
varsom med. Og igen vil jeg opfordrer til at man tænker sig om, men ikke
"går amok" og sidder i timevis og optimere ens strengehåndtering - der er
mere at hente i DB optimering.

2) C og TP gør dette på nøjagtigt samme måde, grunden til at man som regel
ikke ligger mærke til at det koster er fordi ASP sider nemt kan blive kaldt
30 gange i sekundet (man loadtester dem) og ASP er fortolket, mens et TP
eller C program er kompileret og/eller ikke indgår i en webapplikation og
derfor ikke bliver udsat for tilnærmelsesvis samme optimering og
performance-test. Det betyder nemlig specielt meget med allokering når
"programmet" (ASP siden) bliver kørt 30 gange i sekunded over en længere
periode.

3) Jeg synes så absolut ikke vi er "udenfor scope" eller ude på et
sidespor - denne diskussion er utrolig vigtig for at forstå hvordan man
bruger strenge, det er noget MANGE har problemer med - det er derfor der er
kommet den nye strengtype i .Net, og derudover er denne diskussion med til
at understrege den kæmpe store forskel der mellem kravene til en
webapplikation og en typisk stand-alone applikation (.exe).

MVH
Allan Ebdrup



Peter Lykkegaard (25-07-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 25-07-01 12:17


"Allan Ebdrup" <ebdrup@ti-fire.dk> wrote in message
news:9jlvgd$1hao$1@news.cybercity.dk...

> Hej Peter
> 1) Jo, Forskellen mellem min løsning og din anden løsning er minimal, den
> store forskel ligger i det første eksempel hvor du benytter en variabel
til
> "mellemregning", det kræver først en allokering og efterfølgende en ny og
> større allokering, samt flytning af den første del af strengen. Jeg er
enig
> i at an skal være varsom, men det er vigtig at forstå hvad man skal være
> varsom med. Og igen vil jeg opfordrer til at man tænker sig om, men ikke
> "går amok" og sidder i timevis og optimere ens strengehåndtering - der er
> mere at hente i DB optimering.
>
Hvis du elller andre vil kikke lidt problemerne omkring concatenering
http://support.microsoft.com/support/kb/articles/Q170/9/64.ASP

Jeg kan ikke lige finde den anden artikel jeg læste

Og ja - jeg begyndte at lege fluknepper med mit forrige indlæg
For at komme tilbage på sporet så er det noget ala dette der giver problemer

strSQL = "SELECT MyValue "
strSQL = strSQL & "FROM MyTable"

> 2) C og TP gør dette på nøjagtigt samme måde

Du har andre muligheder en alm concatenering

> 3) Jeg synes så absolut ikke vi er "udenfor scope"

Njahh, det var mere C/TP der var uden for scope - ikke diskussionen som
sådan

mvh/Peter Lykkegaard



Tim Sørensen (21-07-2001)
Kommentar
Fra : Tim Sørensen


Dato : 21-07-01 01:34


"Per Schulze" <info@per-schulze.dk> wrote in message
news:3b57f1ad$0$31242$ba624c82@nntp01.dk.telia.net...
>
> "Allan Ebdrup" <ebdrup@ti-fire.dk> skrev i en meddelelse
> news:9j7ju6$1q8d$1@news.cybercity.dk...
> Alle de hjemmesider jeg har været inde på og hvor jeg har valgt "vis
kilde"
> er HTML-kilden pænt sat op med kommentare og tabulator tryk
afsnitsinddeling
> m.m.
>
> Men så bliver de besøgende jo straffet unødigt! De er nødt til at
downloade
> ekstra linier mellemrum og tabulator tryk, selv om deres browser er
> fuldstændig ligeglad med om de er der.
>
> Hvis man fjerner disse tabulator, mellemrum, kommentare fra webmaster m.m

> kan performance øges helt op til 80%.
>
> MVH
> Per Schulze

Hvorfår i alverden skal jeg da lave tingene så de ser pæne ud at browserens
"Vis kilde"??
For at folk lettere kan snage i mine koder?

Browseren er ligeglad, og hvis folk absolut skal glo i mine koder må de leve
med det.

--
Mvh.... Tim Sørensen
http://dondata.adsl.dk/



Allan Ebdrup (21-07-2001)
Kommentar
Fra : Allan Ebdrup


Dato : 21-07-01 10:28

"Tim Sørensen" <dondata@vip.cybercity.dk> skrev i en meddelelse
news:9jaic2$2isc$1@news.cybercity.dk...
> Hvorfår i alverden skal jeg da lave tingene så de ser pæne ud at
browserens
> "Vis kilde"??
> For at folk lettere kan snage i mine koder?
>
> Browseren er ligeglad, og hvis folk absolut skal glo i mine koder må de
leve
> med det.

Hehe, måske kunne du selv få brug for at kigge i din HTML - desuden er der
en begrænsning på hvor lang en linie må være (mener det er 2048 karakterer)
så man skal have lidt linieskift hvis du vil overholde W3C's anbefalinger.
Derudover er det så ufatteligt nemt at køre din HTML gennem et program der
sætter det pænt op så man kan læse det og hugge løs af det - det problem
kommer du næppe udenom.

Men det er rigtigt at man sagtens kan vinde meget i form af sparet
båndbredde ved at udvise diciplin når man laver HTML. Der er dog ingen grund
til at gå fuldstændigt amok og fjerne alle linieskift. Og desuden bliver
trafikken til fx modems pakket (a la zip) når det sendes.
Som regel kan det meste hentes ved at benytte CSS og tænke sig lidt om.

Hvis man vil være ekstrem kan man også sørge for at grafikken har korte
navne "a.gif", "b.gif" specielt hvis det er en gif der vises 100 gange på
siden. Det samme gælder for en side der linkes meget til "a.asp" og hvis der
er en querystring til siden skal man kalde feltet noget kort i linket
"a.asp?a=3" - her snakker vi igen hvis der er 100vis af links til "a.asp" på
samme side. Men man skal passe meget på at man ikke overgør det, for så
bliver ens kode noget rod og det bliver umuligt at fejlfinde og/eller
udvikle videre på webapplikationen.

MVH
Allan Ebdrup



Søg
Reklame
Statistik
Spørgsmål : 177508
Tips : 31968
Nyheder : 719565
Indlæg : 6408576
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste