Gracias por tu visita, tus comentarios son muy importantes

viernes, 7 de octubre de 2011

Problemas con Zend PDT y Aptana Studio 3

Hoy me encontraba intentando integrar Aptana Studio 3 en mi Zend PDT pero al momento de agregar la dirección del plugin de Aptana y una vez finalizada la instalación y reiniciar el IDE, resulto con un error en los editores y dejo de funcionar el highlight del código.

Buscando en muchos sitios la manera de solucionar este problema, me molesto que no encontraba la solución y me di a la tarea de pensarle un poco el por que de ese problema. La lógica me salió y fué determine que el Aptana Studio instala el edito de PHP pero, ¿para qué instalar el editor si el PDT ya lo tiene integrado? entonces con el simple hecho de ir a la carpeta de instalación y dirigirme al directorio de los plugins, eliminé todo lo relacionado con Aptana y PHP y Voila. El IDE inicio sin problemas y con el plugin de Aptana funcionando.

Si les ayudo este post comenten, saludos...

lunes, 12 de septiembre de 2011

Detectar Click fuera de un Elemento con jQuery

El otro día de encontraba con un compañero de trabajo que estaba batallando para manipular un evento en un dropdown menú que habia hecho,
y el problema era que quería que una vez que le daba click en el menú y se expadía al hacer click fuera de este elemento este se volviera
a colapsar. Hay muchos lugares que presentaban un solución aparente pero aqui muestro un código que puede funcionar para muchos casos.



El código es muy simple pero la magía que hace jQuery es genial. Si se le da click en un html cualquiera se va a esconder el menú, así que para evitar esto
en nuestro elemento detenemos esta acción con stopPropagation(). Aquí lo que estamos haciendo en realidad es que estamos manipulando eventos.

El primer evento que sucede es el click de nuestro selector 'html', entonces si le damos click en '#dropList' el primer evento en responder es el de mayor jeraquía que es 'html', entonces se corre el metodo de esconder el menú.

En el segundo evento si le damos click en '#dropList' se va a esconder aunque este no se encuentre visible y para indicarle que este elemento es el que queremos usar, detenemos la ejecución de eventos padre con stopPropagation() y ejecutamos el de nuestro elemento '#dropList'.

No hay mucha ciencia pero si se desea mas informacrion de stopPropagation() pueden consultarla aquí. :D

Error 500 internal server error !

The other day I was working on a site and encounter with this error, thinking myself that this was from the server admin I complained to him, since he didn't find the error I got myself to work and found a solution, this may not work to everyone but I did to me. This was the error that I get:



I solve this problem by changing the permission to the file where I was having the error to 0644 and then everything worked like a charm.

Just to add a few comments of this. I made this mistake when I was updating a file with the Aptana Studio 3, It results that I changes the permission and you have to be aware when you upload you files.

domingo, 10 de julio de 2011

Crear un Dialogo simple con jQuery UI

Como pueden leer en la parte de arriba, les voy a mostrar como hacer un dialog simple de jquery. El dialogo consta de un título, un simple mensaje y el boton de aceptar.

Conforme los usuarios vayan opinando ire mostrando opciones para poder manipular el dialogo, pero las mas comunes y que voy a usar aqui es que el dialogo se muestre en forma Modal. ¿Qué significa esto? que al mostrar un dialog en la forma Modal este ocupara toda la pantalla del navegado hasta que el usuario lo cierre. Aquí el ejemplo.

  • Mostrar Dialogo


  • y el código que nos produce este resultado es el siguiente:



    El código de arriba es lo que hace la magia con jQuery, y estamos diciendo que sea modal, con un tamaño de 250x250 pixeles y que tenga un posición de 150x150 pixeles con respecto a nuestro explorador, ya que el dialogo aparece en posición absoluta.

    Pero falta de mencionar algo. ¿En donde esta esa información que aparece en el dialogo? La respuesta es muy simple. Es un codigo html que ponemos dentro de una "div" el cual contiene el ID al cual vamos a hacer la referencia con jQuery, el Título de nuestro dialogo y finalmente el contenido que deseemos con un lindo boton. El html es escondido por jQuery UI y se mostrará cuando uno se lo indique. El codigo html es el siguiente:



    Si tienen alguna duda respecto al código no duden en ponerla, recuerden que pueden encontra mas informacion del Dialogo en aquí

    Este es un simple dialogo hecho con jQuery, yeah !!

    No olvides dejar tus comentarios :D

    viernes, 1 de julio de 2011

    Basic Rules for CSS and the Cascade !!

    The other day I was trying to show to one of my co-workers about the cascade in CSS because he was arguing me that the route to apply a rule to an ID was too long and he only needed to use de ID like this.



    But the real code was this:



    So I googled a little bit and found this good article. Leave your comments about it.

    sábado, 25 de junio de 2011

    Comprobar que jQuery funcione !!

    La manera mas simple de saber si nuestro jQuery esta funcionando en nuestro sitio es con el poderoso alert :p, y digo poderoso por que me ha servido muchas veces para debuggear.

    Una vez que tenemos agregado el api probamos de la siguiente manera en nuestro head


    sábado, 11 de junio de 2011

    Prueba de Highlighter

    Aqui una muestra del highlighter funcionando:

    lunes, 6 de junio de 2011

    Web 2.0 y jQuery

    Tal vez mucho se han de estar preguntando que es la Web 2.0 y el jQuery. Habra otros que ya lo sepan e incluso ya lo manejan, pero para aquellos que empiezan a interesarse en estos rumbos me gustaría platicar un poco de ello y con el tiempo y dando consejos y ayudas sobre la programación web.

    Para empezar ¿Qué es el Web 2.0?

    Según wikipedia y tiene razon...El término Web 2.0 (2004–actualidad) está comúnmente asociado con aplicaciones web que facilitan el compartir información, la interoperabilidad, el diseño centrado en el usuario y la colaboración en la World Wide Web. Ejemplos de la Web 2.0 son las comunidades web, los servicios web, las aplicaciones Web, los servicios de red social, los servicios de alojamiento de videos, las wikis, blogs, mashups y folcsonomías.

    ¿Y jQuery?

    Segun la página de jQuery...jQuery es una librería rápida y concisa de JavaScript que simplifica la creación del documento HTML, manejo de eventos, animación e interacciones Ajax para el desarrollo de web rápido. jQuery esta diseñado para cambiar la manera en que escribes JavaScript.

    Y ahora que he puesto unas pequeñisimas palabras estare posteando sobre esto, si tienen peticiones en especial son bienvenidas, no hago tarea, pero me interesan los retos.


    jueves, 14 de abril de 2011

    Salir de pantalla completal en Okular - Ubuntu 10.04

    Bueno el otro día estaba trabajando con este editor de pdfs que permite hacer marcas en los documentos que tenemos, así como también poder subrayar o incluso usar un marca textos.

    Resulta que quería usar toda la pantal y puse a okular el modo pantalla completa y mi sorpresa fue que no pude salir de ella, la verdad no se como se genero ese bug pero si se en donde se realizaron esos cambios y fue en el archivo okularrc que se encuentra en mi ruta ~/.kde/share/config/ o mas es especifico /home/reedyseth/.kde/share/config/. Una vez que tengamos abierto el archivo okularrc veremos algo así:

    [Desktop Entry]
    FullScreen=false

    [KFileDialog Settings]
    Height 768=288
    Recent Files[$e]=BD3_OO2.pdf,$/thinking-underline.pdf,$HOME/Documentos/012-TECNOPARQUE/Bruce.Eckel.Thinking.In.Java.4th.Edition.Dec.2007.pdf
    Width 1366=617

    [MainWindow]
    Height 768=769
    State=AAAA/wAAAAD9AAAAAAAABVYAAAK0AAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAWAG0AYQBpAG4AVABvAG8AbABCAGEAcgAAAAAA/////wAAAAAAAAAA
    ToolBarsMovable=Disabled
    Width 1366=1367

    Aquí solamente tenemos que cambiar de FullScreen=false a true y nuestro problema se solucionara al cerrar y abrir de nuevo nuestro okular si es que lo tenemos abierto.


    ref: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508634

    martes, 12 de abril de 2011

    Error de conexion Netbeans 6.9.1 con SQL Server

    Bueno después de estar intentado muchas veces y horas la conexion y meterme en todos lados del sistema solucione mi problema de una forma muy fácil.

    Primero que nada, la solucion que presento a continuación no garantiza que vaya a ser la misma en los mismos equipos. Actualmente estaba haciendo la conexion con las siguientes caracteristicas de software:

    Sistema Operativo: Windows 7 Home
    Sql server: SQL Server 2008
    Netbeans: 6.9.1

    Y el error que me salio al intentar hacer la conexion fue la siguiente:

    "com.microsoft.sqlserver.jdbc.SQLServerException: No se pudo realizar la conexión TCP/IP al host localhost, puerto 1433. Error: "Connection refused: connect. Verifique las propiedades de conexión, compruebe que hay una instancia de SQL Server ejecutándose en el host y aceptando las conexiones TCP/IP en el puerto y compruebe que no hay ningún firewall bloqueando las conexiones TCP en el puerto."


    La razon por que me salía este error era por que el el MSSQL estaba asignando el purto dinámicamente, y como en la conexión yo le indicaba que usará ese puerto no realizaba la conexión. Entonces la solución fue cambiar en mi código Java de esto:

    String url = "jdbc:sqlserver://localhost\\sqlserver:1433;databaseName=Northwind";
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    System.out.println("El driver de MSSQL se realizo con exito");
    connSQLServer = DriverManager.getConnection(url, "northwind", "****")


    a esto:

    String url = "jdbc:sqlserver://localhost\\sqlserver;databaseName=Northwind";
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    System.out.println("El driver de MSSQL se realizo con exito");
    connSQLServer = DriverManager.getConnection(url, "northwind", "****")

    Y con esto quedo solucionado mi problema que me costo horas :p

    jueves, 17 de marzo de 2011

    Mejorar tiempos de consulta con DNS-Cache

    Andando surfeando el internet en busca de información para instalar un servidor DNS me encontre con que podemos mejorar los tiempos de consulta a los sitios web al implementar un servidor DNS-Cache.

    ¿Y que es un servidor DNS-Cache y como funciona?

    El proceso de recibir información de una página web es transparente para el usuario. Pero lo que en realidad pasa es que buscamos la direccion IP del dominio que deseamos accesar. Cada dominio tiene asignado un DNS el cual es el que se encarga de mostar la direcciones de los dominios que tiene registrados.

    Entonces si estoy buscando la direccion www.misitio.com el browser busca quien es el servidor DNS y le hace una petición: dime cual es la dirección IP para el dominio www.misitio.com, el servidor DNS busca en su base de datos el dominio y si lo encuentra devuelve la direccion IP que es la que usa nuestro browser para acceder a la informacion que deseamos.



    Mas explicitamente; El sistema operativo, antes de establecer alguna comunicación, comprueba si la respuesta se encuentra en la memoria caché. En el caso de que no se encuentre, la petición se enviará a uno o más servidores DNS.

    La mayoría de usuarios domésticos utilizan como servidor DNS el proporcionado por el proveedor de servicios de Internet. La dirección de estos servidores puede ser configurada de forma manual o automática mediante DHCP. En otros casos, los administradores de red tienen configurados sus propios servidores DNS.

    Entonces si tengo instalado un servidor DNS-Cache significa que en vez de estar haciendo la consulta al servidor DNS remoto en busca de la dirección IP primero busca esas direcciones en mi servidor local, de esta manera se eficientiza la busqueda de direcciones IP. En el dado caso de que la direccion IP cambie, se hace una consulta al servidor DNS remoto y se guarda en el caché de nuestro servidor local.

    ¿Cómo lo instalo?

    Este post esta hecho para El sistema operativo GNU/Linux y mas especificamente Ubuntu, así que vamos a la terminal y ponemos:

    1. Instalamos el dnsmasq

    $x: sudo apt-get install dnsmasq

    2. Copiamos /etc/resolv.conf como /etc/resolv.dnsmasq.conf.

    $ sudo cp /etc/resolv.conf /etc/resolv.dnsmasq.conf

    3. Editamos /etc/resolv.conf:

    $ sudo gedit /etc/resolv.conf

    Y añadimos la siguiente línea al principio del archivo:

    nameserver 127.0.0.1

    Ahora podemos comprobar si nuestro DNS-Cache funciona:

    $ dig guia-ubuntu.org | grep Query
    ;; Query time: 89 msec

    Lo ejecutamos otra vez para comprobar:

    $ dig guia-ubuntu.org | grep Query
    ;; Query time: 0 msec

    Dig hace una consulta DNS y entre otros parámetros ofrece el de “Query time” que informa de cuanto tiempo ha tardado en saber la IP, la primera vez al no tenerla guardada pueden pasar 50ms, 100ms, 200ms, dependiendo de la latencia de tu conexión, la segunda vez ya tiene el dato y baja a entre 0 y 2ms +/-.

    lunes, 28 de febrero de 2011

    Nuevo enfoque del Blog !!

    Como muchos ha visto en el blog que por el último para de meses si no es que años he estado publicando post sobre música y tracklist. La primeras publicaciones de este blog tienen enfoques sobre programación y cosas similares y voy retomar el tema, pero esto no significa que dejaré de postear sobre la música, sino que tendre mas post sobre los temas geeks xD


    Saludos,

    Reedyseth