
Cierto o Falso: El uso de sesiones para almacenar objetos (conexiones, recordsets, etc) es una buena práctica en ASP.
| ||||
Re: ¿Realidad ó Fantasía? Cita: Fantasía. Usar sessions para almacenar objetos poco sentido tendría ya que esta es exclusiva del usuario. Con lo cual, a mayor cantidad de usuarios conectados, mayor cantidad de objetos innecesarios (y seguramente duplicados) en memoria.Realidad o Fantasía: El uso de sesiones para almacenar objetos (conexiones, recordsets, etc) es una buena práctica en ASP. Sigo: Realidad o Fantasía: El uso de variables application para almacenar objetos (conexiones, recordsets, etc) es una buena práctica en ASP. ![]() Tu debes de esparcir algo de Reputación a otros usuarios antes de darle otra vez a u_goldman
__________________ ...___... Última edición por AlZuwaga; 27/02/2007 a las 13:35 Razón: porque puse "Falso" en lugar de "Fantasía" ñ_ñ!!!! |
| ||||
Re: ¿Realidad ó Fantasía? Cita: Falso, el uso del objeto application para el almacenamiento de objetos también supone una sobrecarga de memoria excesiva para la aplicación, sin embargo, puedes almacenar solamente el string de conexión en una variable de aplicación, de este modo estará disponible para toda tu aplicación y se usará "on demand".Cierto o Falso: Es mejor práctica abrir y cerrar tags de ASP (1) para intercalar con HTML, que hacer un Response.Write del código HTML.
Código:
1. <% if condicion then %> <p>condicion cumplida</p> %> end if <% 2. <% if condicion then Response.Write("<p>condicion cumplida</p>") end if %>
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Re: ¿Realidad ó Fantasía? Cita: False. En el segundo caso, el intérprete ASP debe actuar sólo una vez, entregando (o no) la respuesta HTML. En el primer caso debe actuar 2 veces. Una para evaluar la condición y otra para darle fin a la misma. El ejemplo no es muy exhaustivo, pero en grandes cantidades puede afectar el rendimiento de la aplicación. Realidad o Fantasía: Es preferible hacer un response.write en cada vuelta de un ciclo (A) que concatenar los datos y finalmente escupirlos todos juntos (B) A:
Código:
B:<% response.write "<ul>" for i = 1 to 12 response.write "<li>" & MonthName(i) & "</li>" next response.write "</ul>" %>
Código:
<% meses = "<ul>" for i = 1 to 12 meses = meses & "<li>" & MonthName(i) & "</li>" next meses = meses & "</ul>" response.write meses %> |
| ||||
Re: ¿Cierto ó Falso? Cita: La pusiste difícil, voy a contestar sin hacer ningún tipo de investigación al respecto, así que si estoy mal, puedes editar mi post Realidad o Fantasía: Es preferible hacer un response.write en cada vuelta de un ciclo (A) que concatenar los datos y finalmente escupirlos todos juntos (B) ![]() Cierto La concatenación de strings tiene un severo impacto en el rendimiento de la aplicación, a menos que no se utilicen objetos específicos para esta tarea, me parece que había por ahí un objeto stringBuilder para VBS, por lo tanto me quedo con la opción A. Cierto o Falso: El uso exitoso de SQL Injection es un problema de seguridad del IIS.
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Re: ¿Cierto ó Falso? Cita: Difiero Cita: False. En el segundo caso, el intérprete ASP debe actuar sólo una vez, entregando (o no) la respuesta HTML. En el primer caso debe actuar 2 veces. Una para evaluar la condición y otra para darle fin a la misma. El ejemplo no es muy exhaustivo, pero en grandes cantidades puede afectar el rendimiento de la aplicación.Originalmente publicado por u_goldman Ver Mensaje Cierto o Falso: Es mejor práctica abrir y cerrar tags de ASP (1) para intercalar con HTML, que hacer un Response.Write del código HTML. Y como mejor argumento, les preparo un ejercicio. Al correrlo comprobarán que abrir y cerrar etiquetas ASP tiene el mejor rendimiento.
Código:
<% 'MODO 1 tiempoinicio = Timer For i = 1 To 800000 %>*<% Next tiempototal = FormatNumber(Timer - tiempoinicio, 3, True) Response.Write "<br>MODO 1: " & tiempototal & "<br>" 'MODO 2 tiempoinicio = Timer For i = 1 To 800000 Response.Write "*" Next tiempototal = FormatNumber(Timer - tiempoinicio, 3, True) Response.Write "<br>MODO 2: " & tiempototal & "<br>" 'MODO 3 tiempoinicio = Timer With Response For i = 1 To 800000 .Write "*" Next End With tiempototal = FormatNumber(Timer - tiempoinicio, 3, True) Response.Write "<br>MODO 3: " & tiempototal & "<br>" 'MODO 4 tiempoinicio = Timer Cadena = "" response.write "<ul>" for i = 1 to 10000 response.write "<li>" & i & "</li>" next response.write "</ul>" Response.Write Cadena & "<br>" tiempototal = FormatNumber(Timer - tiempoinicio, 3, True) Response.Write "<br>MODO 4: " & tiempototal & "<br>" 'MODO 4 tiempoinicio = Timer Cadena = "" response.write "<ul>" meses = "<ul>" for i = 1 to 10000 meses = meses & "<li>" & i & "</li>" next meses = meses & "</ul>" response.write meses response.write "</ul>" Response.Write Cadena & "<br>" tiempototal = FormatNumber(Timer - tiempoinicio, 3, True) Response.Write "<br>MODO 5: " & tiempototal & "<br>" %> Cita: Por la misma razón a la anterior y comprobándolo con el mismo ejercicio, verán que la primera opción tiene el mejor rendimiento.Realidad o Fantasía: Es preferible hacer un response.write en cada vuelta de un ciclo (A) que concatenar los datos y finalmente escupirlos todos juntos (B) Edito Me tardé en contestar por hacer el ejemplo, mmmmmmm Cita: Falso, el SQL Injection es un problema imputable a malas prácticas de programación, el IIS tiene muy poco o nada de culpa en esos casosCierto o Falso: El uso exitoso de SQL Injection es un problema de seguridad del IIS. Cierto o Falso: Las sesiones duran por default 20 minutos a partir de que el usuario deja de interactuar con el navegador |
| ||||
Re: ¿Cierto ó Falso? No respondo porque no tengo ganas de hacer otra pregunta (ya estoy entrando en modo offline por hoy ![]() Por cierto, desconozco el stringBuilder, pero no que VBS maneja muy mal la concatenaciones de strings (según eh leído en varias oportunidades) EDIT: El mensaje del master tigurón no estaba cuando comencé a escribir este mensajito
__________________ ...___... |
| ||||
Re: ¿Cierto ó Falso? Cita: Cierto, la propiedad timeout del objeto session te permitirá cambiar este valor.Cierto o Falso: Las sesiones duran por default 20 minutos a partir de que el usuario deja de interactuar con el navegador Cierto o Falso Los lenguajes de programación interpretados por el IIS, son orientados a objetos.
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Re: ¿Cierto ó Falso? Cita: Difiero Cita: Cita: Cierto, la propiedad timeout del objeto session te permitirá cambiar este valor.Cierto o Falso: Las sesiones duran por default 20 minutos a partir de que el usuario deja de interactuar con el navegador ![]() Es cuando se deja de interactuar con el servidor, no con el navegador , igual puedes tardarte mucho escribiendo un correo o llenando una encuesta y al tratar de mandarla habrá expirado el tiempo de la sesión. Cita: FalsoCierto o Falso Los lenguajes de programación interpretados por el IIS, son orientados a objetos. Los lenguajes interpretados por el IIS, no cumplen todas las características de la POO, que son Herencia, Polimorfismo, Abstracción y Encapsulamiento Cierto o Falso Este juego es un poco cansado después de jugarlo un rato ![]() |
| ||||
Re: ¿Cierto ó Falso? Cita:
Iniciado por Myakire ![]() Difiero ![]() Es cuando se deja de interactuar con el servidor, no con el navegador , igual puedes tardarte mucho escribiendo un correo o llenando una encuesta y al tratar de mandarla habrá expirado el tiempo de la sesión. Falso Los lenguajes interpretados por el IIS, no cumplen todas las características de la POO, que son Herencia, Polimorfismo, Abstracción y Encapsulamiento Cierto o Falso Este juego es un poco cansado después de jugarlo un rato ![]() ![]() Cierto, sobre todo si nada mas hay 3 jugadores, vamos hagasn sus preguntas ![]() Cierto o Falso: Son 10 los objetos interconstruidos de ASP.
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Re: ¿Cierto ó Falso? Falso. Son (por lo menos) 14: Response, Request, Application, Session, Server, Error, FileSystem, TextStream, Drive, File, Folder, Dictionary, ADO y XMLHTTP. Además de 4 componentes: AdRotator, BrowserCap, Content Linking, Content Rotator. Cierto o Falso. Es posible mezclar código vbs y js (ambos de servidor, claro esta) en la misma página ASP a fin de usar las características de uno y otro en diferentes partes del mismo archivo. |
| ||||
Re: ¿Cierto ó Falso? Cita: Ah, caray... nunca lo había hecho, pero haciendo algunas pruebas la respuesta a la que llego es: Masomenos ![]() O sea, si se puede... pero los resultados son un tanto "raros". Parecería como que el orden de interpretación es: 1- JSCript (script runat=server) 2- ASP "normal" (<% %>) 3- VBScript (script runat=server) Prueba:
Código:
Resultado:<script language="vbscript" runat="server"> var_vbs = 1 response.write "<p>VBScript (var_vbs): " & var_vbs & "</p>" response.write "<p>VBScript (var_js): " & var_js & "</p>" response.write "<hr>" </script> <script language="jscript" runat="server"> var_js = 2; response.write("<p>JScript (var_js): " + var_js + "</p>"); var var_vbs; response.write("<p>JScript (var_vbs): " + var_vbs + "</p>"); response.write("<hr>"); </script> <% var_asp_normal = 3 response.write "<p>sin usar script runat=server (var_asp_normal): " & var_asp_normal & "</p>" response.write "<p>var_vbs dentro de tags ASP: " & var_vbs & "</p>" response.write "<p>var_js dentro de tags ASP: " & var_js & "</p>" response.write "<hr>" %> Cita: JScript (var_js): 2 JScript (var_vbs): undefined ----------------------------------------------------------- sin usar script runat=server (var_asp_normal): 3 var_vbs dentro de tags ASP: var_js dentro de tags ASP: 2 ----------------------------------------------------------- VBScript (var_vbs): 1 VBScript (var_js): 2 ----------------------------------------------------------- Cierto o Falso: La única manera de hacer comentarios en ASP+VBScript es usando un apóstrofe (') Y edito: Hice la prueba del master tugurón y efectivamente es preferible abrir y cerrar tags ASP. Nunca lo hubiese pensado!
__________________ ...___... Última edición por AlZuwaga; 28/02/2007 a las 12:41 |
| ||||
Re: ¿Cierto ó Falso? Cita: Difiero
Iniciado por Myakire ![]() Falso. Son (por lo menos) 14: Response, Request, Application, Session, Server, Error, FileSystem, TextStream, Drive, File, Folder, Dictionary, ADO y XMLHTTP. Además de 4 componentes: AdRotator, BrowserCap, Content Linking, Content Rotator. Cierto o Falso. Es posible mezclar código vbs y js (ambos de servidor, claro esta) en la misma página ASP a fin de usar las características de uno y otro en diferentes partes del mismo archivo. Los objetos interconstruidos de ASP son 7: Application ASPError ObjectContext Request Response Server Session Cierto Siempre y cuando se utilicen las etiquetas de <SCRIPT RUNAT="SERVER" LANGUAGE="languagename" ID="idname"> para diferenciar ![]() ![]() Cita: Falso Puedes hacer uso de la palabra reservada REM
Código:
REM este es un comentario Cierto o Falso VBScript es el lenguaje por default de ASP, pero se puede tambien programar en JScript y Perl.
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway Última edición por u_goldman; 28/02/2007 a las 12:38 Razón: Ups, me gano AZ |
| ||||
Re: ¿Cierto ó Falso? Cita: Y también podés usar:
Código:
// este es un comentario response.write "hola mundo" // esta linea imprime "hola mundo"
__________________ ...___... |
| ||||
Re: ¿Cierto ó Falso? Cita: Cita: Originalmente publicado por Myakire Ver Mensaje Falso. Son (por lo menos) 14: Response, Request, Application, Session, Server, Error, FileSystem, TextStream, Drive, File, Folder, Dictionary, ADO y XMLHTTP. Además de 4 componentes: AdRotator, BrowserCap, Content Linking, Content Rotator. Difiero Los objetos interconstruidos de ASP son 7: Application ASPError ObjectContext Request Response Server Session mmmmmm, pero si te los puse arriba compadre, pues donde dejas al Dictionary y los demás? mmmmmmm, a ver, deja busco en el rae intercontruidos, jeje, quizá ahí esta el detalle ![]() |
| ||||
Re: ¿Cierto ó Falso? Los voy a expulsar de mi juego porque no están siguiendo las reglas, creo que jugaré solo, Myakire, me refiero a los "built-in objects", creo que interconstruídos es una buena traducción no? ![]() Salud
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Re: ¿Cierto ó Falso? aaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhh ok, sigamos adelante ![]() Cita: Cierto. La utilización de PerlScript aunque es ya muuuuy conocida desde hace años, es poco utilizada (de hecho no he visto mas que ejemplos en el sitio oficial de perl) pero aceptada si tienes el intérprete de perl instalado y configurado en el IIS (como si fuera a usar CGI's)Cierto o Falso VBScript es el lenguaje por default de ASP, pero se puede tambien programar en JScript y Perl. Por cierto, sobre si se puede usar JS y VBS en la misma página para aprovechar características de ambos lenguajes, este es un ejemplo de su utilidad:
Código:
Cierto o Falso<script language=JScript runat=server> function SortVBArray(arrVBArray) { return arrVBArray.toArray().sort().join('\b'); } </script> <% arrInput = Split("6,2,9,3,5,1",",") SortArray = Split(SortVBArray(arrInput), Chr(8)) for i=0 to UBound(SortArray) response.write SortArray(i) & ", " next %> Las transacciones son cosas de la BD, ASP no tiene forma de saber si la operación sobre la BD falla y deshacerla. PD. No te pongas bravo, U_G que si nos expulsas te vas a quedar a jugar solo, jejeje, como que a los demás no les "prendió" el jueguito ![]() |
| ||||
Re: ¿Cierto ó Falso? Cita: FalsoPuedes hacer uso del objeto ObjectContext de ASP para crear una transacción, por supuesto que necesitas ciertos métodos en la capa que comunica ASP con tu base de datos para hacer un rollback a tu base de datos por ejemplo, las transacciones no son cosa de la base de datos, son cosa de la capa que comunica, podrías hacer una transacción con Jet por ejemplo sobre una base de datos de Access. Cierto o Falso Puedo obtener mediante VBS server side, archivos del cliente sin su interacción.
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Re: ¿Cierto ó Falso? Cita: Por obvias razones de seguridad, no es posible obtener archivos del cliente o trabajar con sus recursos (impresoras, p.e) sin su interacción, ya sea aceptando un ActiveX o presionando un botón.Cierto o Falso Puedo obtener mediante VBS server side, archivos del cliente sin su interacción. Cierto o Falso Una forma de aumentar el desempeño de nuestras consultas SQL cuando hacemos tablas jerárquicas (por cada registro de un encabezado hay N registros detalle), es usar objetos command parametrizados en lugar de un simple Rs.Open SQL |
| ||||
Re: ¿Cierto ó Falso? Cita: CiertoNo solo se recomienda para recordsets jerárquicos, sino también para cualquier tipo de consulta, es un poco mas "latoso" tener que definir a mano todos los parámetros, pero ganas en performance, seguridad y claridad en tu código. Cierto o Falso Son 4 los cursores que puedes definir para ADO, los cuales listaré a continuacón, de entre estos 4 cursores, no importa cuál se use, el rendimiento siempre es el mismo. Static Dynamic ForwardOnly KeySet
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |
| ||||
Re: ¿Cierto ó Falso? ![]() ![]() ![]() y solo por rescatar este gran post Cita:
Iniciado por u_goldman Cierto o Falso Son 4 los cursores que puedes definir para ADO, los cuales listaré a continuacón, de entre estos 4 cursores, no importa cuál se use, el rendimiento siempre es el mismo. Static Dynamic ForwardOnly KeySet FALSO ![]() son 5 los cursores de ADO, y en el orden que estan acomodados es el rendimiento, 1 - ForwardOnly (sólo hacia delante) ![]() 2 - Firehose (manguera de bombero) 3 - Static (Estático) 4 - KeySet (Conjunto de claves) 5 - Dynamic (Dinámico) ![]() Siendo Dynamic el mas lento de todos los anteriores, y FowardOnly el mas rapido de estos 5 cursores Cierto o Falso ![]()
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra |
| ||||
Re: ¿Cierto ó Falso? Cita: Bueno, no es exactamente tema de ASP, sino de bases de datos, pero como ha sido un buen tiempo desde que formulé la última pregunta, contestaré:Las bases relacionales no soportan Polimorfismo, o encapsulacion y son exclusivas de Access Cita: CiertoLas bases relacionales no soportan Polimorfismo, o encapsulacion Polimorfismo y encapsulamiento son caracterísiticas de OOP, por lo tanto las bases de datos que tienen estas características no petenecen a las estructuradas, sino a las orientadas a objetos. Cita: Supongo que te refieres a si las estructuradas son exclusivas de Access, no, no lo son, Access solo es un motor más, por lo tanto es falsoson exclusivas de Access Cierto o Falso El valor del objecto Request, HTTP_REFERER tendrá un valor sí y solo sí se ha hecho una llamada al servidor desde el cliente, es decir, se necesita la interacción del cliente.
__________________ "El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera." -- Ernest Hemingway |