Pravidelný občasník originálního humoru

chlívek Active Server Pages

Tipy, triky, informace týkající se ASP (Active Server Pages)
ASP knihovna : Generování hesel
Další varianta generátoru hesel (pevné délky i náhodné délky) nabízí různou velikost písma
3
ASP knihovna : Generování hesel
Užitečný generátor písmenných hesel, který se opravdu snaží generovat hesla opravdu náhodná - umožňuje zvolit délku hesla a nastavit z jakých znaků se má skládat.
2
ASP knihovna : Generování hesel
Verze používající systémovou funkci - unikátnost hesla pochopitelně není po určitém počtu vygenerovaných hesel garantována - jde o funkci zaručující unikátnost jména soubor pro dočasné použití
1
Microsoft Script Debugger
Užitečná (ale dodatečná) výbava pro každého tvůrce skriptů - client i server side.
ServerXMLHTTP používané pro stažení stránek nechce stránku stáhnout..
A co navíc, podobně se chová i .Load XMLDOM objektu
XML .Load vrací Not enough storage is available to complete this operation
a pátrání v MSDN, KnowledgeBase, Google, News (atd) příliš nepomáha. Na jednom serveru to přitom funguje, na jiném serveru to nefunguje.
Table2XML() funkce pro snadný export tabulky
Využívejte nabízeného a zkuste použít podporu XML přímo v Microsoft SQL Server. Hodit se vám bude například tam, kde potřebujete z hostingu získat kompletní tabulku (či tabulky) a nechcete moc programovat ani přemýšlet.
Řešení problémů s ASP skripty
překlad dlouhého anglického článku se skvělým pohledem na ASP, IIS, IUSR_cosi, práva a ladící prostředky a nejčastější problémy. Povinné čtení pro ASP vývojáře!
ASP a různé verze
Jednoduchý čítač pomocí ASP
strašně jednoduché využití ASP pro počítání přístupů na stránku.
Session() a cookies a vůbec
je článek o tom k čemu slouží Session() a hlavně proč je důležité mít povolené cookies.
Last-Modified v hlavičce HTML
je důležité a možná ani nevíte jak. ASP skripty ho přitom vůbec neposílají. Zkuste pomoci Internetu (hlavně jeho přetížené infrastruktuře) a doplňte do svého ASP WWW něco, co tam dávno má být.
Last-Modified a jak toho dosáhnout v ASP
a jako bonbónek ještě postup jak dostat potřebný LASTMOD= datum do IE kanálu
Ladění ASP
je souhrnný dokument stěžejní a vysvětlující jak na to abyste si sami mohli vyladit výkon svého IIS
Není Pravda jako Pravda
a pokud přecházíte z IIS 3.0 na IIS 4.0 můžete mít docela problém. True totiž není jenom True….
Pozor na ASP a SSL komunikaci
při které může docházet k náhodným chybám bez zjevné příčiny.
Response.Redirect, užitečné ale záludné
a my poradíme jak jej použít. A taky jak se zachovat při Headers already written chybě.
Pozor na objekty v poli uložené do Session().
Dočkat se totiž můžete GPF celého IIS a tím problémů
Všechny si je spočítejte - prima ASP počítadlo s minimální námahou.
Site Server Search a chybějící "cs" specifikace
v HTTP_ACCEPT_LANGUAGE vede k hlášce "Query contained only ignored words" a žádnému hledání. Čtěte jak nastavit správně prohlížeče co netuší nic o existenci češtiny.
Zobrazuje se vám místo výsledku ASP prázdno?
Zkuste se podívat jestli náhodou nemáte na svém serveru nějaký starý software.
Rychlost vašich ASP nade vše (6)
Tentokrát se podíváme na to jak "správně" volat uložené procedury (stored procedures) aby bylo dosaženo maximálního výkonu.
Rychlost vašich ASP nade vše (5)
RESPONSE BUFFER ano či ne? Tentokrát odhalíme zda používat Response.Buffer=True. A jako bonbónek ukážeme rozdíl mezi používám Response.Write a postupného načítání do řetězce a poté vypsání.
Rychlost vašich ASP nade vše
Kdybych tak věděl jak dlouho to běží.... Tentokrát žádné testy rychlostí. Přichází návod jak zjistit reálnou dobu běhu vašich ASP skriptů. Testy rychlosti zase až někdy příště.
4
Rychlost vašich ASP nade vše
V třetím díle se budeme věnovat operacím s řetězci. A odhlalíme něco, co by vás ani ve snu nenapadlo.
3
Rychlost vašich ASP nade vše
Tentokrát se v testech zaměříme na přístup k SQL databázi a budeme sledovat Server.CreateObject() vs. CreateObject() - a co hlavně, DSN, DSN-less a OLEDB. Co je nejrychlejší způsob? Kde ušetříte čas?
2.
Rychlost vašich ASP nade vše
V prvním díle otestujeme rychlost Scripting.FileSystemObject a konečně přijdeme na to zda je rychlejší Server.CreateObject() nebo jenom CreateObject().
1.
Zlobí vás ASP při přístupu k souborům
na vzdáleném stroji? Nezoufejte a poučte se. Stačí málo a vše bude fungovat jak má.
Rychlost vašich ASP nade vše (7)
Jestlipak je rychlejší SELECT CASE než použití POLE? Někteří naši čtenáři se poněkud nevybíravě vyjadřovali s despektem o použití SELECT CASE a myslí si že pole. Skutečnost je taková, že jsou vedle jak ta jedle.
Rychlost vašich ASP nade vše (8)
Zkuste se naučit využívat možností a vypínat a zapínat session management. Vypnutím SESSION() podpory totiž můžete ušetřit čas a zrychlit tak vaší aplikaci. O kolik? To zjistíte v článku.
Rychlost vašich ASP nade vše (9)
Vrátíme se zpět k testům Server.CreateObject vs. CreateObject a potvrdíme výsledek pomocí WAS testu. Zjistíte taky zda FileSystemObject je pomalejší než ADODB.RecordSet. A ještě potvrdíme, že OLEDB se rozhodně vyplatí.
Hledání v SQL7 fulltextnefunguje
pokud chcete hledat cokoliv s českými znaky. Bohužel, nepřiznivá zpráva, žádný ze ServicePacků pro SQL7 toto neřeší. NYNÍ TA PŘÍZNIVÁ ZPRÁVA, UŽ VÍME JAK TO UDĚLAT ABY TO FUNGOVALO!!!!
FUNGUJE!
Změňte si "default" pro WSH soubory
Pozor na uvozovky ve Visual InterDev při vytváření stored procedure ….
Visual InterDev RecordSet DTC stávkuje
a ukazuje pouze červené vykřičníky v kroužku? Nezoufejte, neblamujte sebe. Je to chyba ve VI, naštěstí snadno odstranitelná.
Pozor na Frontpage98 a Visual InterDev 6.0
a použití FP98 pro editaci ASP stránek - špatně dopadnete.
"Thispage undefined" chyba v ASP stránkách generovaných VI 6.0 - co s tím.
InterDev RAD Remote Deployment Support InterDev RAD Remote Deployment Support
Postavte si Web (3) .... aneb
Desatero úspěšného podnikání na Internetu. Rada č. 3 – Pořádně si to rozmyslete.
"Document" Objekt
Kompletní popisy jednotlivých objektů použitelných v rámci VBScriptů
Kontrola verze Skriptingu!
Request.ServerVariables jsou užitečné
tam kde potřebujete získat nějaké informace o klientovi (ale i serveru)
VBScript a proměnné
4
Jak se VBScript používá v HTML
2
Jaké jsou datové typy VBScriptu
3
Co je to VBScript
1
VBScript a operátory
6
Co je to konstanta
5
VBSCRIPT užitečné tipy - verze VBScriptu
VBSCRIPT užitečné tipy - konverzní funkce
VBSCRIPT užitečné tipy -
DateAdd
VBSCRIPT užitečné tipy - matematické funkce
VBSCRIPT užitečné tipy -
DateDiff
VBSCRIPT užitečné tipy -
DateSerial
VBSCRIPT užitečné tipy - převodní funkce
VBSCRIPT užitečné tipy -
DateValue
VBSCRIPT užitečné tipy -
Filter
VBSCRIPT užitečné tipy - Systémové funkce
VBSCRIPT užitečné tipy -
FormatDateTime
VBSCRIPT užitečné tipy -
ARRAY
VBScript užitečné tipy - SET a objekty
VBSCRIPT užitečné tipy - Join() a
Split
VBSCRIPT užitečné tipy - LBound() a
UBound
VBSCRIPT užitečné tipy - řetězcové funkce
VBSCRIPT užitečné tipy - datumové funkce
VBSCRIPT užitečné tipy - zjišťování typů
VBScript užitečné tipy - CALL
VBScript užitečné tipy - Const
VBScript užitečné tipy - Dim
Zakódujte si své Jscript/VBscript výtvory
a ochraňte je tak před zvědavými a lačnými kopírovači vaší vlastní práce. Nová verze 5.0 scripting engine to již umožňuje.
VBScript užitečné tipy - programové konstrukce
VBSCRIPT užitečné tipy - InStr() a
InStrB
VBSCRIPT versus Visual Basic - co tam není.
VBSCRIPT versus Visual Basic - co tam je.
VBScript užitečné tipy - FOR EACH
VBScript užitečné tipy - práce s poli
Změny ve VBSCript Engine 5.0
a informace o tom které verze VBScriptu vlastně existují a kde je můžete najít. Důležité pro každého programátora ASP stránek.
WriteToLogFile() funkce pro tvorbu "log" souborů o činnosti vašeho Webu.
GetForm() funkce pro podporu logování
(například) výsledků předaných ve formuláři do textového "log" souboru.
hasvalidtext() pomůže určit zda proměnná
skutečně obsahuje nějaký ten použitelný obsah. Hodí se zejména pro testy předaných dat.
parsetemplate() je pohled pod pokličku Namodro
a ukazuje jak se používá "template" pro tvorbu stránek Světa Namodro.
iif() je funkce co vám v VBS bude vždy chybět.
MailViaObject() aneb jak snadno poslat mail
DatumCesky() nedělá nic jiného než české datum
JmenoDne() poskytne jméno dne česky.
StringRepeat() je další "chybějící" funkce
kterou si ovšem snadno můžete doplnit. A určitě se bude hodit (byť to není nic až tak světoborného)
padl() a padlhtml() slouží k dorovnávání textů
SQLDate() a GetDateFromSql()
jsou dvě převodní funkce pro manipulaci s univerzálním formátem data používaném v SQL konstrukcích.
Potřebujete globální unikátní identifikátor?
CopyFiles() užitečnost pro vaše WSH pokusy.
MailViaFile() aneb jak snadno poslat mail
z ASP stránky. Nehledejte vynalezené, nehledejte nic složitého, vše je snadné a jednoduché.
Pozor na datumové hodnoty v novém Jscriptu
Nezapomínejte na <%= !
Nebo lépe řečeno, zapomeňte na <%= uplně!
Přístup k souborům na vzdáleném počítači
Nepoužívejte příponu .INC pro #INCLUDE
Tipy a triky pro správnou tvorbu WWW stránek V.
Pokračujeme již pátým dílem, tentokrát jsme ale již v oblasti pravidel pro tvorbu ASP stránek. Najdete zde některé informace, které nikde jinde popsané nejsou.
Vypište si obsah různorodých kolekcí
a přestaňte tápat. Dost často budete potřebovat vědět co je v Application() či Session(). Stačí málo, kousek kódu.
Tipy a triky pro správnou tvorbu WWW stránek VI.
Šesté pokračování seriálu s pravidly pro tvorbu HTML/ASP se dále věnuje tvorbě ASP a doplňuje některá pravidla pro tvorbu SQL záležitostí. Jde nicméně o poslední díl. Pokud chcete pokračování, pište!
Jak psát ASP aplikace neblokující server
aneb co se v mládí naučíš.... Bohužel ti mladí se to už na školách neučí a ASP mají také svá pravidla jak je psát. Stěžejní článek pro ASP programátory!
Jak dostat do URL problematické znaky?
Pozor na opakované používání Text/Blob polí
Pozor na to co vlastně ukládáte do Scripting Dictionary
Když nepotřebujete Session, nepoužívejte je!
Nepřehánějte to s Request "proměnnými"
"object moved" po response.redirect?
Spolehlivý test na "prázdnost"?
Directory listing not allowed a default document je .ASP?
Jak vypsat přehled souborů
v adresáři? Snadno, stačí znát příslušné objekty a jejich použití.
Pište svá ASP tak aby byla rychlá
a efektivní. Dejte si pozor na přirozenou vlastnost Webu - možnost zablokování pro nepříliš průchozí kanál zpět k prohlížeči.
File already in use - co s tím?
ASPtip - ošetřete i Script Timeout chybu.
Ač to vypadá jako nemožné, nic není nemožného.
Ladění ASP stránek
Nezapomeňte na extra význam znaku \ při použití JScript jazyka.
Čtení a zpracování binárních dat
Response.IsClientConnected možná právě pro vás.
Pozor na .OpenTextFile - v IIS4 se chová jinak než v IIS3!
Pozor na některé zvláštnosti ve jménech funkcí
Pozor na #include.
Je nutné si uvědomit k čemu je určeno - zcela vůbec není určeno pro práci s dynamicky se měnícími soubory.
Scripting.Dictionary přestalo fungovat?
Možná jste jenom nainstalovali VI6 a vlastně tím opravili chybu přítomnou od samého počátku.
ASPtear pro stahování stránek
"zevnitř" vašeho ASP kódu - prostě si vyžádáte stránku z jiného serveru a v proměnné jí dostanete. Něco na co se všichni ptáte pořád dokola. A co navíc, ASPtear je dostupné zdarma!
Proxy servery mohou být programátorům nepříjemné
a občas je potřeba WWW aplikace vytvářet s ohledem na vliv proxy serverů. Podívejte se s námi na příklad jedné chyby na jednom známém serveru.
Opatřete si Scripting Encoder
a přestaňte se bát o své skripty - můžete je snadno zakódovat a nikdo nebude vědět jak jste něco napsali.
Pořiďte si novou verzi scripting engine
a začněte využívat i nový Windows Script Host.
Nainstalujte si VBScript dokumentaci
přímo do svého počítače. Budete tak mít po ruce vše potřebné, snadno a rychle.
Nainstalujte si JScript dokumentaci
přímo do svého počítače. Budete tak mít po ruce vše potřebné, snadno a rychle.
Využití Document.lastModified
v ASP souborech může narazit na "chybičku" v IE 3.0 - je tedy vhodné jí předejít. Zároveň je nutné si uvědomit co vlastně bude lastModified vracet pro ASP soubory.
Jak na obrázky uložené v BLOB poli
v SQL databázi. Vše je jednoduché, pokud víte jak to udělat.
Jak zobrazit datum poslední změny ASP
souboru. Skutečné datum poslední změnym nikoliv datum vyžádání souboru ze serveru.
Jak na načtení Autonumber vložené věty
Nejde vám OLE DB připojení na Access?
Zkontrolujte si verzi MDAC instalovanou na počítači kde chcete své ASP a přístup do databáze provozovat!
ASPtip - naučte se používat LCID
pro nastavení správného "locale". Co navíc, nastavte ho automaticky podle toho jaké "locale" hlásí prohlížeč návštěvníka vašich stránek.
Proč se mi v Requst.Form objevuje více hodnot oddělených čárkou?
Naučte se používat METADATA typelib
a usnadněte si tak přístup ke konstantám používaným (například) v ADO. Zároveň tak můžete urychlit svou ASP aplikaci.
Pořiďte si náhradu za BROWSCAP.INI
- to je tak jako tak pouze zdrojem problémů a funguje zcela nedostatečně.
Nepoužívejte STA objekty v Session
a ani v Application. Nejlépe nepoužívejte Session management vůbec. V opačném případě si koledujete o problémy a velkou ztrátu na výkonu vaší ASP aplikace.
ASPtip - poučte se o modelech threadingu
a zkratkách MTA/STA a označeních typů threadingu. Zjistíte zároveň jaký efekt má použití jednotlivých modelů v různorodých situacích (Application, Session, Page)
Automatické přesměrování na SSL
stránku pokud uživatel omylem vstoupí v nezabezpečeném (HTTP://) režimu. Nic složitého.
Pozor na opsání starých příkladů
můžete být nepříjemně překvapeni zejména pokud příjde řeč na ADO.
Pozor na některé objekty nevypadající tak
a pro nezkušené vypadající jako hodnoty. Typický příklad je RequestQueryString a Request.Form.
ASP 0115 chyba v případě zpracování formuláře
může být poněkud záhadná. Projevuje se zpravidla náhodně, ale může mít jasnou a viditelnou příčinu. Ušetřete si práci a podívejte se s námi na možné příčiny.
Používejte správné wildcards v LIKE
operátoru i pokud používáte (prozatím) pouze Access databáze. Ušetříte si problémy při přechodu na skutečné SQL.
Jak získat místo IP adresy DNS jméno vzdáleného stroje v příslušné serverové proměnné?
Co dělat když získáte No current record
místo očekávaných dat z ADODB.Connection a přitom nemáte nikde žádnou viditelnou a zjevnou chybu?
Pozor na velký počet For/Next
u starších verzí VBScript engine. Obsahují chybu a můžete být nepříjemně překvapeni.
Mějte přehled o objektech na vaší stránce s pomocí jednoduché pomůcky napsané v WSH!
Databáze bez databází
aneb jestlipak víte o možnosti používat ADODB.Recordset zcela bez jakékoliv databáze? Skvělý tip na velice užitečné využití RecordSet objektu pro ukládání a zpracování dat se všemi výhodami databázového zpracování.
Není int jako int aneb dávejte si pozor na rozsahy datových typů.
ASPtip - ověřte si existenci objektu na serveru
i když nemáte přístup k administraci serveru. Kupodivu si vystačíte s obyčejnou ASP stránkou a pár řádkami kódu.
Otevírají se vám ASPčka ve PhotoShopu?
Tipy a triky pro Web autory - pamatujte na rychlost
Jak detekovat zda prohlížeč má určitý Plug-In?
V ASP pochopitelně nijak, ASP je serverová strana, v klientském skriptingu ovšem můžete docílit žádaného poměrně snadno. Poradím jak.
Pomozte si dynamickými SP
tam, kde nemůžete použít běžné "staticky" definované dotazy.
Naučte se používat uložené procedury
místo přímo uvedených SELECT příkazů. Ušetříte čas sobě i SQL serveru.
ASPtip - Dejte si pozor na serializaci požadavků
Pozor na umístění "@" direktivy a její správné ukončení.
Pozor na Session() a rámce.
Kombinace může být nepříjemná pro programátora, který nebude tušit která bije. Prostě mu to nebude fungovat. Důvod je prostý, řešení také.
Naučte se pracovat s poli a Application().
Poměrné zásadní informace o tom jak kombinovat Application() a pole (array).
Co všechno byste chtěli vědět o ASP+ a přitom nevěděli kde hledat.
Přístup k souborům uloženým na jiném stroji
z ASP občas může znamenat problém. Stačí ovšem vědět jak na to. A protože opakování je matkou moudrosti, popíšeme znovu co je potřeba aby to fungovalo jak potřebujete.
Kouzla s On Error Resume Next
Překvapivé chování On Error Resume Next může mít na svědomí nedokončení funkce či procedury, ačkoliv logika říká, že by dokončeno být mělo!
2.
Kouzla s On Error Resume Next.
Jak se chová On Error Resume Next aktivované uvnitř fuknce? Důležitou odpověď na důležitou otázku najdete v tomto ASP tipu.
FileSystemObject je věc záludná
Není pochyb o tom, že Microsoft vytvořil FileSystemObject (a vůbec i další objekty) aby dokonale zmátl programátora. FileSystemObject je přitom používán často a tak není divu, že řada programátorů se nechá poplést a píše své ASP špatně.........
Přístup k datům v Excelu z ASP.
Nic složitého, ale rovnou jedno varování - nic pro navštěvovaný web!
Netrapte své ASP usilovným počítáním
počtu vět v určitém dotazu z databáze. Přenechte to pro povalnější - SQL Server to rád udělá za vás.
Využijte Remove a RemoveAll nově dostupné v IIS 5.0 u Application a Session objektů!
Využijte Server.Transfer a .Execute v novém IIS5.0
Naučte se rozdíl mezi SCRIPT a <%
Naučte se používat with..end with
pokud máte k dispozici novější verzi VBScript Engine. Může vám ušetřit čas při psaní programu a zpřehlednit vaše zdrojové kódy.
Zapomeňte na UNICODE, pro .ASP soubory se ve W2K stejně použít nedá.
Cookies v IIS/ASP neumožňují expiraci
dále než do 19.1.2038 - další příklad toho, jak vznikají "Y2K" chyby....
Nastavení Application() proměnné
z komponenty volané z IIS 5.0 může dovést IIS5 k zatuhnutí.
Používejte WSH z ASP stránek.
Pozor na FormatNumber() funkci
Při častém používání může mít na svědomí váš web.
Další důvod, proč nepoužívat
V IIS5.0/ADO2.5 vede ukládání Recordset objektu do Session k chybám.
Session
Pozor na Request.Form či .QueryString
při ukládání do Session v JavaScript ASP stránkách. Předejděte zbytečným problémům.
ASPtip - odstranění HTML kódu z textu
ASP stránky umějí pouze #INCLUDE SSI direktivu
Proklet či pochválen budiž Variant?
Něco málo o proměnných, hodnotách, objektech, ukazatelích, polích a tak vůbec....
Proklet či pochválen budiž Variant?
aneb závorky OPRAVDU mohou programátorům přidělat mnoho práce - a nepomohou ani sprosté maily, realitu prostě nepředěláte. V závorkách je prostě výraz a ten ByRef předat nejde, i kdybyste se rozkrájeli...
2
Microsoft potvrdil chybu ve formátování data/času
ve VBScript funkcích - závislost na uživateli přihlášeném či nepřihlášeném interaktivně na počítači s IIS je absurdní, ale prostě je to tak.....