Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Tutoriales / manuales

Instalar Android SDK en Ubuntu Linux

A continuación pongo uno de los mejores manuales que he encontrado para instalar la SDK de Android en Ubuntu : Instalar Android SDK en Ubuntu Linux . Hay que tener en cuenta que se requiere, como mínimo, la versión 10.04 de Ubuntu (o Kubuntu). Y dos ejemplos de hacer un ' Hola Mundo ': Hola Mundo en web oficial de Android (inglés) . Otro Hola Mundo (español) .

Como usar la extensión Spatial de MySQL

Si necesitas almacenar datos espaciales en MySQL, pero sobre todo realizar operaciones espaciales sobre ellos, te recomiendo que estudies la extensión Spatial de MySQL (disponible desde MySQL 5.x). En el siguiente enlace obtendrás un manual de uso (en inglés): How to use MySQL Spatial extension . La referencia oficial en: MySQL Spatial extension .

.htaccess - Limitar los tipos de ficheros que pueden subirse (upload)

Si queremos que no se puedan subir (upload) un tipo (o varios tipos) de ficheros a nuestro servidor o a un directorio específico , tenemos que crear (o modificar) el archivo .htaccess (el principal o el de un directorio en particular). Por ejemplo, imaginad que solo queremos que se puedan subir archivos jpg : AddType image/jpeg .jpg Si ahora solo queremos subir ficheros de tipo htm y/o html : AddType text/plain .htm .html

MySQL - Selección (select) parametrizando el nombre de tabla y un campo

En el siguiente ejemplo se muestra como crear un procedimiento almacenado que recibe dos parámetros (nombre de tabla y nombre de columna) y realiza una selección (select) en esa tabla y campo, creando así un método para hacer selecciones (select) parametrizando el nombre de tabla y un campo. [sourcecode language="sql"] DELIMITER $$ DROP PROCEDURE IF EXISTS ejemplo$$ CREATE PROCEDURE ejemplo(IN tabla CHAR(64), IN columna CHAR(64)) READS SQL DATA COMMENT 'Hace select de una tabla y campo parametrizado' BEGIN SET @s = CONCAT('SELECT ' , columna , ' FROM ' , tabla); PREPARE stmt FROM @s; EXECUTE stmt; END $$ DELIMITER ; [/sourcecode] Ahora tan solo hay que llamarlo con el nombre de tabla y campo que queramos: [sourcecode language="sql"] call ejemplo('mitabla', 'micampo'); [/sourcecode]

JavaScript - Borrar elementos en un array

Si queremos borrar un elemento de un array en JavaScript , habremos observado que con igualar el elemento a undefined o null, el elemento no desaparece del array. La manera óptima para hacerlo es usar el operador delete de JavaScript (disponible a partir de JavaScript 1.2), tal y como muestro en el siguiente ejemplo: [sourcecode language="javascript"] colores = new Array("rojo", "amarillo", "verde", "negro", "blanco"); delete colores[2]; [/sourcecode] Con esto el elemento "verde", es el que tenía índice número 2 , desaparece del array realmente, consumiendo así el array menos memoria. Rectificación : El método anterior me funcionó en una implementación en concreto de Javascript y en un navegador que no recuerdo ahora mismo, pero como bien postean en algunos comentarios, parece que no siempre funciona correctamente, ya que delete no borra el elemento, sino que inicializa su valor a undefined. La manera más correct...

JavaScript - Averiguar si un elemento está en un array o en un objeto

La manera más eficiente de saber si un elemento está en un array o en objeto en JavaScript es la que muestro en el siguiente ejemplo: En un array: [sourcecode language="javascript"] colores = new Array("rojo", "amarillo", "verde", "negro", "blanco"); if (3 in colores) { // codigo } [/sourcecode] En un objeto: [sourcecode language="javascript"] micapa = document.getElementById("capa1"); if ("innerHTML" in micapa){ //codigo } [/sourcecode] En el primero ejemplo se comprueba que exista un elemento con índice 3 en el array colores . Y en el segundo ejemplo, que el objeto capa1 contenga la propiedad innerHTML . El único requisito para usar el operador in es que el navegador soporte JavaScript 1.2.

Proteger imágenes en la web

Una de las características principales de internet es el compartir y enlazar todo tipo de información. Pero algunas veces quedremos proteger ciertos aspectos de nuestras webs, como por ejemplo código fuente de javascript e imágenes . Un colega me ha pasado un enlace en el que explican (en inglés) diez maneras de intentar proteger nuestras imágenes en los desarrollos web que hagamos: 10+ Ways To Protect Images From Being Stolen . Aunque siempre quedará el truco del almendruco: hacer captura de pantalla, recortar, copiar y pastear. Pero seguro que con estos diez consejos se hace más complicada la labor de copiar imágenes protegidas y/o con copywrite.

Cursos gratuitos de introducción a la ingeniería informática de Standford School

En la web de Standford School podéis acceder a varios cursos , gratuitos en inglés, de introducción a la ingeniería informática . Podemos encontrar cursos como: Metodología de programación, programación abstracta, paradigmas de la programación, introducción a la robótica, etc. El material de cada curso es 100% descargable directamente desde la web. Puedes acceder al listado de cursos desde el siguiente enlace: Standford Engineering Everywhere .

Hacer HTTP Request en JAVA

Os dejo un código para hacer HTTP Request desde JAVA . Para ello tendréis que usar la clase HttpURLConnection . [sourcecode language="java"] java.net.URL url = new java.net.URL(PROTOCOL,HOST,PORT,FILE); HttpURLConnection m_con = (HttpURLConnection)url.openConnection(); m_con.setRequestProperty("NAME","VALUE"); m_con.setDoInput(true); m_con.setDoOutput(true); m_con.setAllowUserInteraction(true); m_con.getOutputStream().write(); [/sourcecode]

.htaccess: Evitar mostrar el contenido de un directorio (carpeta)

Cuando solicitamos un determinado fichero a un servidor Apache desde un navegador web, en caso de que el servidor no lo encuentre, automáticamente (y por defecto) nos mostrará un listado del directorio (carpeta) , y nos permitirá navegar por dicho directorio y/o acceder a los ficheros que contenga. Este comportamiento no es muy seguro, porque estamos permitiendo ver nuestra estructura de directorio y su contenido a cualquiera, es por lo que es muy recomendable deshabilitarlo. Esto se consigue añadiendo la siguiente directiva al fichero .htaccess de nuestro directorio que queremos proteger: Options -Indexes

Hacer selección (SELECT) por orden aleatorio en MySQL

Si queremos hacer una consulta ( select ) en MySQL que nos obtenga un conjunto de registros con un orden aleatorio , tendremos que usar la función RAND() , tal y como muestro en el siguiente ejemplo: SELECT * FROM tbl_elbitcampeador ORDER BY RAND(); Esta consulta obtiene todos los registros, con todos sus campos, de la tabla tbl_elbitcampeador y ordena dichos registros aleatoriamente. Este método combinado con LIMIT es una manera muy útil de obtener un muestreo aleatorio de N elementos. Por ejemplo: SELECT * FROM tabla_elbitcampeador ORDER BY RAND() LIMIT 100; Obtiene 100 elementos aleatoriamente de la tabla tbl_elbitcampeador . La función RAND() no está implementada haciendo uso de un perfecto algoritmo de generación aleatoria, pero nos ofrece una poderosa y rápida herramienta de selección aleatoria en una tabla.

.htaccess: Denegar acceso por dirección IP

Podemos denegar el servicio, desde nuestro servidor Apache , a una dirección IP o aun rango de ellas, o bien permitirlo. Para ello modificaremos el fichero .htaccess del directorio al que queremos denegar (o permitir ) el servicio por IP . Ejemplo de permitir el acceso a todas las IP, excepto a la IP 1.2.3.4 : order allow, deny deny from 1.2.3.4 allow from all Con el siguiente ejemplo negamos el servicio al rango de IPs 1.2.*.* , y lo permitimos al resto: order allow, deny deny from 1.2. allow from all En este ejemplo denegaremos el servicio a todo lo que venga del dominio www.dominio.es : order allow, deny deny from www.dominio.es allow from all En los tres ejemplos siguientes haremos justamente lo contrario, denegarlo a todos y permitirlo solo en los casos que queramos: order deny, allow allow from 1.2.3.4 deny from all order deny, allow allow from 1.2. deny from all order deny, allow allow from www.dominio.es deny from all Es posible aplicar diversas normas: order allow, deny de...

Leer parámetros desde la URL en JavaScript

Normalmente se suelen mandar parámetros desde un formulario en HTML / XHTML a un script escrito en un lenguaje de lado de servidor (JSP, PHP, ASP, ...), pero en alguna ocasión tendremos que llamar a un HTML / XHTML pasándole parámetros por URL (es decir, los parámetros son enviados usando el método GET ). En JavaScript podemos recurrir al objeto del navegador location y a su método search . Si una URL con parámetros tiene la forma: http://elbitcampeador.wordpress.com?parametro1=valor1&parametro2=valor2 Para esta URL , el método location.search devuelve la cadena: ?parametro1=valor1&parametro2=valor2 Donde cada parámetro está separado por el caracter & , y para cada párametro se usa el carácter = para separar el nombre del valor. A continuación pongo un ejemplo completo de lectura de parámetros desde URL usando JavaScript , y usar dos parámetros en concreto (uno llamado ancho y otro alto) para hacer un recuadro con esas dimensiones. index.html [sourcecode la...

Escritorio remoto en Ubuntu

Me he visto en la necesidad de conectarme desde un ordenador remoto a mi escritorio de Ubuntu, aunque es sencillo hacerlo he preferido dejarlo aquí por escrito para recordarlo en el futuro, y por si le sirve a alguien más. Lo que vamos a hacer es compartir el escritorio de Ubuntu , que es muy diferente a entrar remotamente en Ubuntu creando una nueva sesión (esto lo explico luego al final de manera más brevemente). Afortunadamente Ubuntu 7.10 (gutsy) trae instalado la utilidad de compartir escritorio remotamente, y supongo que en versiones posteriores también. Yo lo he configurado desde el escritorio GNOME. Para acceder a las opciones sigue estos pasos: Sistema -> Preferencias -> Escritorio remoto En la pantalla que se muestra podremos configurar lo siguiente: - Permitir a otros usuarios ver el escritorio. - Permitir a otros usuarios controlar el escritorio. - Cuando un usuario quiera conectarse: Pedir confirmación y/o password. Una vez ajustado a nuestras necesidades no debemos...

Preparar MySQL en Linux para que sea accesible desde la red

Cuando instalamos MySQL en nuestro sistema Linux , normalmente, la instalación por defecto solo permite acceder al motor de la base de datos desde la misma máquina y como localhost (o 127.0.0.1) pero en ningún caso con la IP local propia, y mucho menos desde otros ordenadores, desde nuestra red local o desde Internet. Esto es así por motivos de seguridad. Si queremos que sea accesible en local desde la IP de la propia máquina, o queremos que sea accesible desde la red local o Internet tendremos que realizar una breve modificación en el fichero de configuración my.cnf . Dicho fichero, en instalaciones normales, se encuentra en el directorio /etc/mysql . Buscaremos la línea bind-address = 127.0.0.1 y la sustituiremos por bind-address = IP_local_maquina donde IP_local_maquina es la IP local de la máquina en la que está instalado MySQL , por ejemplo 192.168.1.10 , quedando: bind-address = 192.168.1.10 Ahora simplemente tendremos que reiniciar nuestro MySQL : /sbin /service mysqld restart...

Aprenda informática como si estuviera en primero

A más de uno le sonará el título de este artículo, y es que somos muchos los que, en algún momento dado de nuestro aprendizaje en algún campo de la informática, nos hemos servido de estos últiles y prácticos manuales. El primero que yo usé fué el de Visual Basic 6.0, que me lo prestaron impreso; el siguiente, creo que fue, el de Java. Este ya lo encontré en internet en alguna web. Hay muchos títulos de " Aprenda informática como si estuviera en primero ", y dependiendo de su temática te los puedes encontrar por unas web u otras. No sé desde cuando están todos recopilados en la web de la Universidad de Navarra, yo me he dado cuenta hoy, así que pongo por aquí en enlace de este magnifico recopilatorio de manuales y tutoriales. Todos los títulos publicados de "Aprenda informática como si estuviera en primero" . Desde en enlace anterior podemos acceder a otro recopilatorio de cursos de los Servicios de Informática de la Universidad de Navarra. Manuales de los Servicios ...