Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Capítulo XIII de la segunda parte del Quijote. Léase.

Y, por cierto,... ha sido leer un poco del texto para acordarme de que sí, en el Quijote se utiliza "hijo de puta" en más de una ocasión y más de dos...
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 05-09-2006 a las 02:10:10.
Responder Con Cita
  #2  
Antiguo 05-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Sí; de hecho dudo en añadir un método (y seguramente más de uno sería necesario) en la clase BDatos, puesto que la clase Opciones está ahora bastante clara y limpia, y tampco estorban ahí las consultas SQL.

Empero, los métodos principales relacionados con la base de datos de la aplicación: realizar la conexión, la selección de la base de datos, ejecutar consultas de varias maneras... todo eso lo hace la clase BDatos,... que en realidad no se ha tocado en Loturak, es decir, que puede usarse en otra aplicación sin problemas (en principio) y de hecho yo la he utilizado en alguna otra aplicación o pruebas.

Ahora, lo que existe en Loturak es una clase que extiende (que hereda) de la clase BDatos "principal". Es en esta clase hija en donde se acumulan métodos como "NumEnlacesPublicos", "NumEnlacesPrivados", "EnlaceUsuario", etc., etc., etc., que, básicamente, puede decirse que conforman las consultas SQL. No se ejecutan, sólo se conforman, porque de la ejecución de las consultas, entre otras cosas, se encarga la clase padre de esta.

¿Entonces cuál es la intención de extender la clase BDatos? Pues, básicamente (y es posible que de forma equivocada) se hace para tener en un solo lugar la conformación de consultas SQL. Esto no se consigue del todo, hay sitios en la aplicación en donde se hacen consultas SQL (siempre a través de la clase BDatos), pero, la gran mayoría (y como norma general) se hacen en la clase BDatos, no en "cualquier sitio".

Ocurre un poco lo mismo con la clase Xhtml, que "encapsula" (es mucho decir) la salida del código XHTML de la apliación. En algunos sitios se genera código de salida, pero, prácticamente todo el código XHTML de salida está en la clase Xhtml, de manera que es algo más sencillo de "localizar", editar, etc. Al menos así lo estoy viendo yo de momento... porque está el problema del tamaño de los archivos... la clase BDatos no me preocupa, pero, la clase Xhtml, incluso luego de varios repasos, ocupa ya unos 130 KB.

Sin embargo, no noto problemas en eso (de momento) y todavía es posible darle más de un repaso y más de dos...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 05-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Seoane
Ya te busco yo el fragmento
Muchas gracias Seoane. Unos párrafos más adelante de lo que has referido Seaoane, viene a caer Sancho en la verdad de que hijo de puta no es siempre un término ofensivo:

Cita:
(...)

-Por mi fe, hermano -replicó el del Bosque-, que yo no tengo hecho el estómago a tagarninas, ni a piruétanos, ni a raíces de los montes. Allá se lo hayan con sus opiniones y leyes caballerescas nuestros amos, y coman lo que ellos mandaren. Fiambreras traigo, y esta bota colgando del arzón de la silla, por sí o por no; y es tan devota mía y quiérola tanto, que pocos ratos se pasan sin que la dé mil besos y mil abrazos.

Y, diciendo esto, se la puso en las manos a Sancho, el cual, empinándola, puesta a la boca, estuvo mirando las estrellas un cuarto de hora, y, en acabando de beber, dejó caer la cabeza a un lado, y, dando un gran suspiro, dijo:

-¡Oh hideputa bellaco, y cómo es católico!

-¿Veis ahí -dijo el del Bosque, en oyendo el hideputa de Sancho-, cómo habéis alabado este vino llamándole hideputa?

-Digo -respondió Sancho-, que confieso que conozco que no es deshonra llamar hijo de puta a nadie, cuando cae debajo del entendimiento de alabarle. Pero dígame, señor, por el siglo de lo que más quiere: ¿este vino es de Ciudad Real?

-¡Bravo mojón! -respondió el del Bosque-. En verdad que no es de otra parte, y que tiene algunos años de ancianidad.

(...)
Véase el lenguaje de Cervantes (aunque traído al castellano "moderno"), pero, véase la maestría, la elegancia, la sencillez, la enjundia, el conocimiento, la cultura, lo que este hombre es capaz de decir en lo que escribe... ¡si no habéis leído el Quijote no dejéis de hacerlo cuando podáis, os aseguro risas, buenos ratos, sabiduría! ¡Y pongo las manos en el fuego por ello! No puede haber ser humano al que el Cervantes (no ya el Quijote) deje indiferente. Yo no sé cómo encarecerlo como se debe.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 05-09-2006 a las 14:21:47.
Responder Con Cita
  #4  
Antiguo 05-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec
Ocurre un poco lo mismo con la clase Xhtml, que "encapsula" (es mucho decir) la salida del código XHTML de la apliación. En algunos sitios se genera código de salida, pero, prácticamente todo el código XHTML de salida está en la clase Xhtml, de manera que es algo más sencillo de "localizar", editar, etc. Al menos así lo estoy viendo yo de momento... porque está el problema del tamaño de los archivos... la clase BDatos no me preocupa, pero, la clase Xhtml, incluso luego de varios repasos, ocupa ya unos 130 KB.
La clase BDatos no te preocupa ahora y posiblemente funcione bien en esta aplicación. Pero sí es de pensarse qué pasa cuando toda una clase muy grande debe cargarse para cualquier mínima cosa. Esto realmente es pregunta. Es que hasta para la página más pequeñita, tu clase xhtml carga todo. Y aunque en esta aplicación BDatos no tiene tanta demanda, la naturaleza de la cuestión es la misma que en la clase xhtml.

No sé, no sé. Sería bueno saber

// Saludos
Responder Con Cita
  #5  
Antiguo 05-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Román
Esto realmente es pregunta. Es que hasta para la página más pequeñita, tu clase xhtml carga todo (...)
Sobre eso diré que yo también me he preguntado algunas cosas y he estado a punto de comentarlo en los Foros, y, en fin, acaso ahora toca hacerlo.

En primer lugar no se me escapa que ciertas páginas, digamos, más o menos estáticas, podrían prescindir de la clase Xhtml, o, fuera como fuera, no necesitarían de métodos en esta clase, sino que, simplemente, cada página incluiría su código XHTML correspondiente (además del "general", que sí añadiría, por ejemplo, las cabeceras de las páginas, o el pie de estas). Puede hacerse, se ha pensado y no se descarta.

Peeeeeeeeeeeero... Lo cierto es que dudo que PHP carge los 130 KB del archivo de la clase Xhtml. Lo pongo en duda... ¡porque la carga de la página es bastante rápida, y, si tuviera que cargar los 130 de la clase Xhtml, los 30 de la clase BdatosEx, los 25 de la clase Login, los... tardaría mucho más de lo que tarda, fijo. Además nos hemos animado a echar para adelante (por lo menos hasta que no veamos que la cosa no escala, que no es posible seguir así) porque hemos visto clases en PHP de 300 KB...

Pero, sobre todo, porque los hechos contradicen a los números. Ya lo he dicho, si se "carga todo" la página tendría que ocupar unos 250 KB (no quiero exagerar) y, sin embargo, Loturak carga bastante rápido, desde luego, no cargaría así si tuviera que cargar con 250 KB... y lo dice alguien que cuenta con una conexión vía módem de 56 kbs y que notaría esos KB de qué manera...

¿Entonces? Pues no sé... no llego a tanto... es lo que quería preguntar, ¿cómo se las ingenia PHP? No lo sé, pero, desde luego, se las ingenia. No sé. Debe haber algo parecido al caché de los navegadores, o a lo que hace Apache (que no sirve páginas si no han cambiado desde la última vez), me parece, o MySQL, que no actualiza un registro (aunque se lo digas) si esto es innecesario, porque los datos del mismo son iguales... o al compilador JIT (Just in time) de .NET, que compila el código la primera vez que es necesario, pero, luego ya no hace sino ejecutar el código previamente compilado...

Mecanismos de optimización que van más allá de mi conocimiento, pero, que, deben existir, pues de lo contrario se vería enseguida, se notaría la diferencia y bastante además, ya digo.

Pensad en que la clase Xhtml no va sola... que se apoya en otra clases (de algún modo) y antes de su declaración puede verse:

Código PHP:
<?php

require(DIR_LIBS.'captcha.class.php');
require(
DIR_LIBS.'filtros.class.php');
require(
DIR_LIBS.'servidor.class.php');
require(
DIR_LIBS.'etiquetas.class.php');
require(
DIR_LIBS.'validarex.class.php');
require(
DIR_LIBS.'compresion.class.php');
require(
DIR_LIBS.'administrar.class.php');

class 
XHtml


  
/* ... */
Estas clases son mucho menos pesadas (del orden de 10 KB ó menos), pero, lo cierto es que ahí están... y, como digo, Loturak no carga "lenta" ni noto "en local" un excesivo consumo de recursos o algo parecido... ¡qué sé yo! Alguien tiene que explicarnos esto.

Edito: Me doy cuenta ahora de que acaso he mezclado churras con merinas en parte de lo que he dicho, pero, no voy a buscarle las vueltas, porque, me parece que se entiende lo que más o menos quiero explicar. Ea. ¡Saludos!
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 05-09-2006 a las 03:25:45.
Responder Con Cita
  #6  
Antiguo 05-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Claro que en mucho dependerá lo que se desee hacer. Ciertamente hay clases por ahí tremendamente grandes pero también sé de varias de ellas que a la larga han tenido que refactorizar y dividirse en partes. Ahora, ciertamente quizá me "asusto" sin razón pero el caso es que alguna vez pregunté algo relacionado con la velocidad en MaestrosDelWeb y nadie pareció saber la respuesta. No al menos para el ambiente que tenían en mente y que era uno de accesos de entre 600 y 800 personas simultaneas (real). En ese entonces quería probar con un sistema de plantillas, no smarty que me parece conceptualmente estúpido, sino con algún otro. Pero me entró el temor de que tantos accesos simultáneos cargando cada uno clases de cientos o miles de líneas, no dieran el ancho, y como no podía darme el lujo de experimentar y que fallara, pues aun no lo he probado.

En fin, claro que cabe la posibilidad de que esté mal informado y que php (y apache y el servidor) puedan manejar muchos elefantes simultáneos, pero la realidad es que no lo sé.

Ahora bien, dejando de lado las consideraciones de eficiencia, también me pregunto yo sí a la larga no resulta difícil de manejar y entender una clase tan amplia.

// Saludos
Responder Con Cita
  #7  
Antiguo 05-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Román
Ahora bien, dejando de lado las consideraciones de eficiencia, también me pregunto yo sí a la larga no resulta difícil de manejar y entender una clase tan amplia.
Bueno. Es probable que eso ocurra, pero, en el caso de las clases de Loturak de que venimos hablando, hay que tener en cuenta la idiosincracia de las mismas.

La clase Xhtml, que es la más "pesada", en realidad ni siquiera llega a instanciarse (lo que puede tener que ver con lo que estamos hablando: acaso de instanciarse otro gallo cantaría), pero, únicamente cuenta con métodos estáticos.

Es una manera de "encapsular", de "tener a buen recuado" las funciones que tratan con el código XHTML de la aplicación, es por comodidad, básicamente, pero, ya digo: no es compleja, porque no tiene más que métodos (funciones) listas para utilizar.

Estaría bien que alguien que supiera nos contara un tanto sobre todo esto. Resulta interesante.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo ver a los usuarios conectados desde mi aplicacion? federiconqn21 Conexión con bases de datos 3 23-07-2006 01:56:09
Problema al ejecutar un procedimiento dos usuarios distintos en aplicacion asp.net mamen .NET 5 04-05-2006 14:58:23
lanzo aplicación para que sea terminada por usuarios de internet unreal4u Varios 0 25-11-2004 19:34:03
Usuarios conectados en mi aplicacion ? Jorge Taveras MS SQL Server 8 29-06-2004 22:18:41
opciones para grabar un video jfgonzalez OOP 2 11-08-2003 16:25:42


La franja horaria es GMT +2. Ahora son las 06:43:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi