Ir al contenido principal

Entradas

Mostrando entradas de 2013

[javascript] Función retorna descendiente de objeto DOM HTML

Holas a todos! Hoy les traigo una funcioncita Javascript que hice para apoyar ciertas tareas que estoy haciendo. Así como hace un tiempo les presenté la función tatas() , que les devolvía los ancestros  de un objeto HTML, ahora les traigo la función inversa: la función getDescendiente() les devolverá los objetos hijos o descendientes del objeto HTML buscado. En su momento, dejé el código fuente de la función tatas() en una página en mi host personal. En esta ocasión, lo colocaré acá no más :) Espero que les sea de utilidad :D Recuerden que si van a reutilizar la función, respeten los créditos colocados en los comentarios! Gracias y hasta pronto! /** ----------------------------------------------------------------------------- @about    Retorna objeto DOM (unico o coleccion) descendiente del DOM padre.           Puede ser hijo, nieto, bisnieto: vendra dado por la Generacion. @author   Carolina Casanova Garcia, aka, quinqui @date     25/11/2013 @param    fDom           object   

[php] NuSOAP HTTP Error: socket read of headers timed out

Holas a todos. Este es para comentar un problema que he tenido al trabajar un servicio web montado en PHP con la clase NuSOAP. El problema surgió cuando intenté llamar al servicio web desde el otro servidor, pero se caía a los exactos 30 segundos de ejecución, mostrando el mensaje que titula este registro: HTTP Error: socket read of headers timed out Sabía que el problema era el timeout, pero ¿el timeout de qué? En los servidores y páginas web hay timeouts por todos lados: el de la Conexión a internet o la red, el del Servidor (hardware), el del Servidor Web en sí (Apache, mi caso), el de PHP (mi caso)... Pero nunca se me habría ocurrido que las Aplicaciones o frameworks también pudieran tener :o Por eso, tras buscar por la red la solución a mi problema, la respuesta vino precisamente de alguien que señaló sencillamente que había que modificar el timeout de la clase NuSOAP. Y dicho y hecho, eso solucionó el problema. Si están usando en su servidor y/o cliente la clase NuSOAP, y d

[tip] Crea tu propio tema en Windows 7

Habiendo instalado el Windows 7 en el PC de mi trabajo, me enteré de aquella bella característica de los temas con fondo de escritorio cambiante. Aunque en la ventana de personalización de pantalla no aparece una opción de "Crear Tema", pues me di a la tarea de averiguar si existía la forma de hacerlo. Tras bastante tiempo sin saber cómo se hacía, hoy encontré la respuesta en Theme File Format y en la Community , ambos sitios de Microsoft. La respuesta no podía ser más sencilla, y por eso se las dejo comentada acá. Cuando seleccionamos un Tema en nuestra ventana de personalización, lo que hace Windows es buscar el archivo correspondiente a dicho tema. Ese archivo lleva por extensión "theme". De ese modo, tenemos el archivo "aero.theme" para el tema Aero; el archivo "nature.theme" para el tema Naturaleza; y así sucesivamente. Lo increíble y mejor de todo es que estos archivos "theme" no son sino simples archivos de texto, que guarda

[php] Averiguar si una cadena contiene código HTML

Holas a todos. Estaba buscando una manera rápida de averiguar si un texto era código HTML, y tras una breve indagación googleana, les presento la solución que encontré. Se usa la función nativa de PHP strip_tags() , que lo que hace es limpiar una cadena de toda etiqueta HTML que encuentre, devolviéndonos dicha cadena "limpia". Ya que al usar esta función sobre una cadena que efectivamente tiene etiquetas dentro, nos retornará una cadena totalmente distinta, lo que hacemos es averiguar el resultado de comparar la cadena original con la procesada. /** ---------------------------------------- @author Carolina Casanova García @date 11/06/2013 @return boolean */ function is_html($fval) {   // si las cadenas son distintas, entonces se trata efectivamente   // de una cadena con etiquetas HTML dentro   return (strip_tags($fval) != $fval); } // acá un ejemplo de uso: $cadena = '<u><b>¡Hola!</b></u>' ; print "<p>La cade

[tip] Videos se reproducen muy rápido

Holas a todos. Hoy les traigo un tip para aquellos que han tenido problemas con sus videos en su reproductor en Windows 7. En mi caso particular, la situación era esta: Tenía un pc con Windows XP, en donde Winamp era mi reproductor de audio-video de cabecera. La razón de usar Winamp principalmente radicaba en (para mí) su super útil opción de acoplarse a uno de los bordes de la ventana (como si fuera otra barra de herramientas más), y encima poder reproducir mis mini videos en formato FLV. Aquí entro en explicar que, como es el pc del trabajo, suelo descargar mis videos favoritos de internet en la más baja resolución, de modo de tener muchos, y de paso que se reproduzcan dentro de mi playlist como otro track más, sin interferir con mi escritorio de trabajo. El problema surgió cuando me cambiaron el pc, y con él, el sistema operativo. Ahora tengo Windows 7, y al instalar el Winamp, pues nada, que no había caso para poder reproducir los videitos en formato FLV. Sabía que era problema

[tsql] Error: La instrucción INSERT EXEC no se puede anidar

Holas a todos. Mientras programaba un procedimiento almacenado, intenté obtener los datos de otro procedimiento, como lo he venido haciendo desde que descubrí tamaña maravilla de la programación sql. Pero hoy me topé con este extraño error: La instrucción INSERT EXEC no se puede anidar . Tras investigar por algunos lados, di con la respuesta: no se puede almacenar en una tabla temporal de procedimiento almacenado, el resultado de otro procedimiento que también esté realizando una inserción de este tipo. Esto es algo como tener: CREATE PROCEDURE miProcedimiento AS  INSERT INTO #tablita EXEC otroProcedimiento;  SELECT * FROM #tablita; END; CREATE PROCEDURE nuevoProcedimiento AS  INSERT INTO #tabla1 EXEC miProcedimiento; END; Esto significará que si ejecuto: EXEC nuevoProcedimiento; ...SQL me arrojará el error antes mencionado. La solución al problema es no llamar a un procedimiento que esté llamando a otro ya en su interior. En algunos lados leí que transf

[sql] Búsqueda por palabras en una frase

Holas de nuevo. Esta vez les he traído un tip especial para principiantes ultra novatos en desarrollo de consultas a bases de datos ^^. Se trata del método que uso para poder hacer consultas a una tabla, filtrando los resultados de acuerdo una frase de búsqueda. Usaré sentencias en TSQL y lenguaje PHP para hacer los ejemplos. Todos sabemos cómo hacer una consulta teniendo una palabra o frase exacta de búsqueda: SELECT * FROM tabla WHERE campo LIKE '%palabra o frase clave%'; Si queremos aplicar la palabra o frase de búsqueda en varias columnas, la sintaxis sería: SELECT * FROM tabla WHERE campo1 LIKE '%palabra o frase clave%' OR campo2 LIKE '%palabra o frase clave%'; ...añadiendo todas las columnas deseadas a continuación, siempre separando con el OR. Si hubiesen más condiciones de filtro, sería encapsular todos los elementos separados por OR, dentro paréntesis redondo: SELECT * FROM tabla WHERE campoX = 'valor' AND (campo1

[linux] Cambio de hora en servidor CentOS (Chile)

No soy una experta en Linux, pero me ha tocado trabajar periódicamente sobre este sistema operativo, especialmente en modo consola, ya que la mitad de los sitios web de mis trabajo se encuentran alojados en esta plataforma. Uno de los problemas con lo que me he topado (y seguro muchos de ustedes también), es el tema del Cambio de Hora Chileno, que en los últimos años ha venido variando como loco, por lo que hemos tenido que realizar el ajuste de hora prácticamente de forma manual en clientes y servidores. Hoy, al llegar al trabajo, precisamente me topé con la sorpresa de que uno de los servidores tenía la hora cambiada. Claro: la configuración del servidor tenía puesto cambio de hora el Sábado 9 de Marzo (y el siguiente cambio en Octubre), ya que esa es la regla de cambio de hora que Chile tuvo por muchos años, por lo que me tuve que poner a la tarea de corregir el fallo. En años pasados había tenido que solucionar lo mismo, por lo que busqué entre mis favoritos y reencontré este

[js] Autoajustar posición de capas con Javascript

Holas a todos. Hoy he querido compartir con ustedes una función Javascript que he logrado crear con el fin de realizar la tarea de ajustar la posición de un grupo de capas, de modo que queden todas pegadas, con un valor de margen determinado entre ellas. Esta característica la quería aplicar en mis sitios web desde hacía tiempo, y lo había intentado aplicando la propiedad float:left al CSS de las capas, pero no era suficiente. Si bien en los primeros elementos se veía bastante bien la cosa, luego, cuando debían bajar, pues venía el desorden. En otro intento por acercarme al efecto deseado sin usar programación extra, le asigné a cada capa el mismo alto, de modo que al menos se vieran ordenadas hacia abajo. Pero esto no me convencía, y me di a la tarea de ver la manera de hacerlo con Javascript. Y he aquí el resultado :D Antes:  Después: Pueden ver el código fuente para lograr este efecto en los siguientes enlaces: pero antes, por favor, ¡no borren los créditos! No esper

Fin de la bitacorita como la conocía

Holas a todos. Como lo dijera en mi último registro, he decidido realizar un cambio en mi bitacorita. Esto no incluye el cierre de la misma, sino un cambio de temática. Inicialmente la bitacorita nació para servir de registro de las actualizaciones de mis sitios web; luego mudó a un blog típico, donde hablaba sobre mis cosas cotidianas; y finalmente llegó a ser lo que es ahora: un compendio de todo lo que quisiera escribir: desde notificaciones sobre mis sitios web; reflexiones personales; comentarios de libros y películas; hasta consejos y tips de programación y otros. Y es en esta última área donde he decidido dejar acotada la bitacorita. Ya no será "mi" bitacorita, sino la bitácora de una programadora , en ayuda de otros programadores y/o usuarios del ámbito. Todo el material "personal" se irá a mi Baúl, el cual acabo de inaugurar y en el cual me siento realmente cómoda escribiendo. Como todo "baúl", puedo "echar" dentro todo lo que se m

El Baúl

Holas a todos. Montando mi nuevo sitio " El Baúl ", di en la cuenta de que en él no sólo quiero hablar sobre mis gustos y preferencias, sino sobre todo lo que se me ocurra. En ese sentido, es altamente probable que este sitio, mi bitacorita, dé un paso atrás y se retire definitivamente. Esta bitacorita nació con el fin de informar las actualizaciones de mis sitios web, pero terminó transformándose en un blog común y corriente, con pocas visitas y menos comentarios. En mi Baúl ya no espero recibir comentarios, sólo quiero expresarme, y por eso también me desligaré de Blogger. Gracias a la herramienta de comentarios de Disqus creo que podré salvar gratamente este tema del feedback básico del sitio. Si la bitacorita ha de seguir en línea sólo será por los temas de programación, que son a fin de cuentas, los más requeridos y visitados (útiles). Tal vez le haga un cambio completo de look, y deje de ser bitacorita en general, y pase a ser sitio de tips de programación tan sólo. Bu