Artículos
jQuery

Utilizar jQuery each para recorrer una lista o array

Creado: 24/Feb/2013 Actualizado: 27/Ago/2021

Vamos a ver un ejemplo de la función jQuery each para recorrer una lista de elementos o un array Javascript. Es algo que se puede hacer de forma muy sencilla mediante este método que nos proporciona la librería.

Lo primero de todo no olvides incluir la librería jQuery:

Si tenemos la siguiente lista ordenada en HTML:

  1. Elemento 1
  2. Elemento 2
  3. Elemento 3
  4. Elemento 4

Haremos los siguientes pasos:

  1. Primero vamos a seleccionar la lista.
  2. Una vez seleccionada llamamos a la función jQuery each que nos recorre los elementos de la selección.
  3. Por cada elemento que seleccione jQuery each ejecuta la función que le pasamos como argumento. Dicha función tiene dos parámetros para dar acceso tanto al índice como al elemento seleccionado y realizamos su escritura por consola.

Veamos el código:

$('ol li').each(function(indice, elemento) {
  console.log('El elemento con el índice '+indice+' contiene '+$(elemento).text());
});

Como ves:

  • Hemos seleccionado la lista con $(‘ol li’).
  • Llamamos a jQuery each.
  • Por cada selección ejecuta la función que tiene acceso al índice y al elemento y lo imprimimos por consola.
  • Date cuenta de que hemos aplicado a element la función text() para sacar su contenido.

Lo interesante es que la función jQuery each puede usarse directamente sobre $. En ese caso habrá que pasarle también como parámetro lista correspondiente de elementos seguida de la función tal como hacíamos en el ejemplo anterior. En el siguiente ejemplo lo vamos a usar para recorrer un vector de Javascript de personas y saludarlas. Veamos cómo quedaría:

var vectorPersonas = ['Elena', 'Isabel', 'Ana']; 

$.each(vector, function (ind, elem) { 
  console.log('¡Hola :'+elem+'!'); 
}); 

Ahora ya sabemos recorrer listas con jQuery gracias a la función each.

Código Fuente

Descárgate el código fuente de Utilizar jQuery each para recorrer una lista o array
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Artículos
Java

Calcular el área de un cubo en Java

Creado: 14/Feb/2013 Actualizado: 26/Mar/2024

Para este ejercicio en el que vamos a calcular el área de un cubo en Java utilizaremos las siguientes fórmulas:

area_lateral= 4*Math.pow(a,2)

para obtener el área lateral y

area_total= 6*Math.pow(a,2)

para obtener el área total del cubo. Donde a es el valor de la arista del cubo.

Vamos a crear una clase abstracta llamada «Area» y definiremos dos métodos areaLateral() y areaTotal().

abstract class Area{
   public abstract double areaLateral();
   public abstract double areaTotal();
}

Las clases abstractas nos permiten crear una jerarquía de clases (clase base) que extienden su funcionalidad a otras clases denominadas derivadas.

Ahora creamos la clase derivada y la llamaremos «Cubo».

class Cubo extends Area{
private double arista;

@Override
public double areaLateral(){
//... aqui la fórmula para calcular el área lateral
}
   
@Override
public double areaTotal(){
...// aquí la fórmula para calcular  el área total
}

}

Con esto la clase base(Area) y la clase derivada(Cubo) tienen código y datos comunes. Finalmente creamos la clase principal «AreaCubo».

public class AreaCubo{
//creamos un miembro de tipo Area
   Area area; 
...

public AreaCubo(){}

   public AreaCubo(Area ar){
    this.area=ar;
   }
...
}

Para visualizar el resultado tendremos dos métodos.

   
   public void verAreaLateral(){
      System.out.println("area lateral obtenida: "+area.areaLateral());
  }
   public void verAreaTotal(){
    System.out.println("area total obtenida: "+area.areaTotal());
  }

El método main de la clase tiene el siguiente aspecto:

  public static void main(String[] args){
    //clase abstracta y la clase extendida
     Area area= new Cubo(10); //le asignamos el valor 10
   
     AreaCubo areaCubo=new AreaCubo(area);
     
     //visualizar área lateral 
     areaCubo.verAreaLateral();
    //visualizar área total
     areaCubo.verAreaTotal();
    
 }

Si a la arista le asignamos el valor de 10 obtendremos un área lateral de 400 y un área total de 600. Con estos pasos hemos podido, de forma sencilla, calcular el área de un cubo en Java.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Ceylon

Hola Mundo en Ceylon

Creado: 12/Feb/2013 Actualizado: 27/Ago/2021

¿Qué es Ceylon?

Ceylon es un lenguaje de programación que al igual que Groovy pretenden darle una nueva visión al programador, tomar lo mejor de Java y olvidarse de lo malo. Una de las diferencias con respecto a Groovy (tipado dinámico) es que se trata de un lenguaje de tipado estático y es necesario tener más cuidado cuando se definen variables y funciones.

Su sintaxis es muy parecida a C.

doc "Definir la sintaxis"
by "Yo"
TipoDato nombreFuncion(Param param){ ... }

El lenguaje todavía esta en desarrollo por el equipo de Gavin King, pero se puede empezar a usar.

Hola Mundo con Ceylon

Escribir el famoso «Hola mundo» (los programas se guardan con la extensión *.ceylon):

Los pasos a seguir son:

  1. Crear un directorio llamado «Programas»
  2. Dentro crear una carpeta llamada «source»
  3. Ahora crear un archivo llamado «hola.ceylon»

Si no queda muy claro puedes guiarte por la imagen.
pruebaceylon1

hola.ceylon

doc "Hola mundo en Ceylon"
by "Yo"

void run(){
  print("Hola mundo!!");
}

¿Cómo se compila y ejecuta Ceylon?

Debes teclear en la terminal de comandos:

ceylon compile source\hola.ceylon

Y para ejecutar:

ceylon run default

Listo, ya tienes tu primer programa escrito en este lenguaje.
pruebaceylon2

Código Fuente

Descárgate el código fuente de Hola Mundo en Ceylon
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Artículos
PHP

Insertar elementos en MySQL con PHP

Creado: 11/Feb/2013 Actualizado: 25/Ago/2021

En este ejemplo vamos a ver cómo podemos insertar un elemento en MySQL utilizando PHP. Lo primero será conectarnos a la base de datos MySQL. Para ello vamos a crear una clase mysqli.

@ $db = new mysqli(localhost, "root", "password", "biblioteca");

Vemos que nos hemos conectado con el usuario «root» y de contraseña «password». Además la base de datos que vamos a utilizar es «biblioteca».

Lo siguiente será preparar la sentencia de insercción en SQL mediante la sentencia INSERT.

$query = "INSERT INTO autores (idAutor, nombreAutor) VALUES (NULL, 'Larry Ullman');";

Esta sentencia la podemos completar con valores que vengan de la página web. Pero en estos casos hay que tener cuidado y realizarlo con un PreparedStatement para no tener problemas de inyección de código SQL.

Ahora ejecutamos la sentencia de INSERT. Para ello utilizamos el método query.

$result = $db->query($query);

Tendremos que evaluar si hay contenido dentro del resultado para ver si se ha ejecutado correctamente la sentencia de INSERT. En ese caso podemos validar mediante el método affected_rows de la base de datos el número de filas que se han insertado.

if ($result)
  echo $db->affected_rows." fila(s) afectada(s). Información insertada correctamente";
else
 echo "Ha ocurrido un problema insertando los datos";

Ya solo nos quedará cerrar la base de datos.

$db->close();

Código Fuente

Descárgate el código fuente de Insertar elementos en MySQL con PHP
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Artículos
Java

Como obtener la raíz cuadrada de un número con Java

Creado: 10/Feb/2013 Actualizado: 28/Dic/2014

Primeramente como se procede a hacer la raíz cuadrada de un numero con Java tenemos que tener en consideración como es el proceso, y este proceso es bastante sencillo aritméticamente hablando.

Para proceder a hacer la raíz cuadrada de un numero con Java debemos proceder a tomar el numero en pares de dígitos numéricos, luego procesar esos pares para obtener uno por uno un dígito de resultado para la raíz del numero.

No debemos olvidar que debemos considerar el resto de las operaciones para obtener la raíz cuadrada de un numero.

Entonces procedemos a ver en código como funcionaria esta idea, primero creamos los métodos que nos serán útiles para esto:

  • Necesitaremos un método de parseo de tuplas para obtener los pares de dígitos a usarse en el proceso de extracción de la raíz cuadrada.
  • Se usara también un método de obtención de mínimo numero positivo, puesto que esto nos ayudara a encontrar el resto mínimo para obtención del numero correcto para la mantisa de la raíz cuadrada.
  • Otro método utilitario para este caso seria, un método de procesado de radicación por tuplas.
  • Y finalmente el método de raíz cuadrada que hará uso de todos y cada uno de los métodos utilitarios señalados anteriormente.

Método de parseo de tuplas

Para este método tendremos que recibir como parámetro el numero como string y lo convertimos en char [] de ahi solo tendremos que recorrer el array de chars y de dos en dos ponerlos en la lista de tuplas.

El metodo quedaria asi:

public static List parseNumber(String n){
        List result=new ArrayList();
        String number=n.trim();        
        char [] numberChars=number.toCharArray();
        int length=numberChars.length;
        int i=0;
        if(length%2!=0){
                // si hay un numero impar de dígitos se toma el primer dígito
                result.add(new Integer(new Character(numberChars[0]).toString()));
                i=1;
        }
        for(;i

Obtener mínimo número positivo

Ahora el método de obtención de mínimo numero positivo seria como sigue; se evalúa cada elemento contra el mínimo y luego solo el numero menor y positivo es devuelto como resultado en el HashMap.

public static HashMap minimoPositivo(List<HashMap> lista){
        Integer minimo=Integer.MAX_VALUE;
        int indice=0;
        HashMap result=new HashMap();
        for(HashMap elem:lista){// se recorre toda la lista
                Integer elemento=Integer.parseInt(elem.get("resto").toString());
                if(minimo>elemento && elemento>=0){// se obtiene el minimo positivo
                        minimo=elemento;
                        indice=Integer.parseInt(elem.get("indice").toString());
                }
        }
        result.put("indice",indice);
        result.put("resto",minimo);
        return result;
}

Procesado de las raíces en función de cada tupla

El otro método es hacer el procesado de las raíces en función de cada tupla, para esto procesamos todos los restos posibles de evaluar todas las posibles raíces y los almacenamos en una lista.

A ese resultado le aplicamos la función minimoPositivo para obtener el indice correcto para la raíz, y también con el resto calculado devolvemos esto como respuesta en el HashMap.

public static HashMap procesarRadicacion(Integer tupla,Integer raiz, Integer resto){
        HashMap result=new HashMap();
        List lista=new ArrayList();
        result.put("raiz",0);
        result.put("resto",0);
        Integer radical=raiz*2;
        Integer nuevoresto;        
        Integer numero=0;
        try{
                numero=new Integer(resto.toString()+tupla.toString());
        }catch(Exception ex){
                System.err.println("El numero es demasiado grande no se puede procesar ...");
        }
        Integer nuevaraiz;
        Integer operando;
        for(Integer i=0;i<=9;i++){// se calcula los restos posibles
                operando=raiz*2;
                operando=Integer.parseInt(operando.toString()+i.toString());              
                nuevoresto=numero-(operando*i);
                HashMap hash=new HashMap();
                hash.put("resto",nuevoresto);
                hash.put("indice",i);
                lista.add(hash);
        }
        HashMap Minimo=minimoPositivo(lista);//se obtiene el minimo
        nuevaraiz=new Integer(raiz.toString()+Minimo.get("indice").toString());                                
        result.put("raiz",nuevaraiz.toString());
        result.put("resto",Minimo.get("resto").toString());
        return result;
}

Método para la Raíz Cuadrada

Finalmente el metodo de raizCuadrada, este metodo tiene que aplicar el parseo de tuplas luego de eso recorriendo cada tupla aplica el metodo procesarRadicacion de cada tupla, para de esta forma obtener la raiz del numero procesado y su resto.

public static HashMap raizCuadrada(String number){
        HashMap result=new HashMap();
        List tuplas=parseNumber(number);// se procesa el numero
        Integer raiz=0;
        Integer resto=0;
        for(Integer tupla:tuplas){//se procesan las tuplas de digitos
                HashMap process=procesarRadicacion(tupla, raiz, resto);
                try{raiz=Integer.parseInt(process.get("raiz").toString());}catch(Exception ex){}
                try{resto=Integer.parseInt(process.get("resto").toString());}catch(Exception ex){}
        }
        result.put("raiz", raiz.toString());
        result.put("resto", resto.toString());
        return result;
}

Y ahora la forma de comprobar el funcionamiento de todo esto es mediante el siguiente codigo:

String num="";
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ingrese un numero : ");
try{num = buffer.readLine();}catch(Exception ex){}

HashMap raiz=raizCuadrada(num);
System.out.println("numero: "+num);
System.out.println("raiz: "+raiz.get("raiz").toString());
System.out.println("resto: "+raiz.get("resto").toString());

No olviden que el uso de este metodo de raiz cuadrada esta limitado por las capacidades del lenguaje de programacion y por tanto fallara esta implementacion si usamos un numero no soportado por la arquitectura de procesamiento de la maquina en uso para la ejecucion de este programa.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
SQL

Insertar parte de los campos en SQL

Creado: 09/Feb/2013 Actualizado: 25/Ago/2021

Si estamos insertando elementos en una tabla mediante la sentencia SQL INSERT tenemos que saber que no es necesario insertar todos los campos de la tabla y que podemos insertar parte de los campos.

Es decir, si tenemos campos que pueden estar vacíos o tienen un valor por defecto dentro de la tabla, no es necesario que les asignemos un valor a dichos campos. Por lo tanto podemos evitarnos dichos campos a la hora de realizar el INSERT y solo insertar parte de los campos.

La sentencia INSERT tendrá, en este caso, la siguiente estructura:

INSERT INTO tabla ('campo1','campo2') VALUES ('valor1','valor2')

Vemos que solo indicamos un par de campos, independientemente del número de campos que tenga la tabla.

Para el ejemplo, si partimos de nuestra tabla de libros.

Libros
ISBN
Titulo
Autor
Editorial
Fecha Publicación

Y sabemos que el autor, la editorial y fecha de publicación pueden estar vacíos, es decir, podemos obviarlos, tendremos la siguiente sentencia que solo inserte parte de los campos en SQL.

INSERT INTO Libros ('ISBN','Titulo') VALUES (970-26-0518-0','Cómo Programar en Java')

Vemos que solo hemos indicado en la parte de los campos los dos campos sobre los que queremos insertar.

Artículos
Javascript

Usando Raphaël para dibujar algunas formas en multiples navegadores

Creado: 08/Feb/2013 Actualizado: 27/Ago/2021

Primeramente enfoquemonos en que es Raphaël. Raphaël es una libreria Javascript para gráficos SVG destinados a todos los navegadores actuales incluyendo a Internet Explorer que como todos sabemos es el que mas problemas da a la hora de programar puesto que no es sencillo encontrar librerias que sean compatibles con este navegador.

Su modo de uso es sencillo primero debemos obtener la libreria que la descargamos de la pagina:
http://raphaeljs.com/ y ademas de esto necesitaremos jQuery (no imprescindible)

Para comenzar debemos colocar en nuestro código HTML las librerias a usarse para esto incluimos el siguiente codigo:



Luego debemos poner una funcion inicializadora en este caso hare uso de el inicializador de jQuery:

$(	
  function(){
    ...
  }
);

Dentro del mismo podremos hacer uso de la libreria Raphaël y el conjunto de funciones de dibujo que deseemos.
Y para esto necesitamos primero crear el canvas de dibujo de Raphaël, procedemos a hacerlo con el siguiente codigo:

$(	
	function(){
		var paper = Raphael(10, 50, 700, 700);
	}
);

Donde paper es el objeto que contiene el canvas de dibujo para Raphaël, el cual esta posicionado en la posición 10,50 y tiene un tamaño tanto en alto como en ancho de 700px.

Para lograr dibujar cualquier objeto o interactuar con objetos de ahora en adelante usaremos el objeto paper.

Nuestro objetivo es dibujar solo cuatro objetos que nos den alguna forma mas o menos simétrica de un objeto, esto lo conseguimos asi:

//crear un circulo 
var circle = paper.circle(200, 200, 100);		
//dibujar un cuadrado 
var square = paper.rect(200, 200, 100,100);
//crear un cuadrado
var squaretwo = paper.rect(100, 100, 100,100);
//poner un texto de hola mundo
var t = paper.text(150,150, "Hola Mundo con Raphaël...");

Y por ultimo procedemos a darle color para decorarlos con el siguiente código:

// poner un atributo de llenado de color del circulo
circle.attr("fill", "#f00");
// poner un atributo de linea de color #f77
circle.attr("stroke", "#f77");
// poner un atributo de llenado de color del cuadrado
square.attr("fill", "#ccc");
// poner un atributo de linea de color #f77
square.attr("stroke", "#f77");		
// poner un atributo de llenado de color del cuadrado
squaretwo.attr("fill", "#ccc");

Y obtenemos un interesante resultado que podemos probar en algún navegador de internet.

Código Fuente

Descárgate el código fuente de Usando Raphaël para dibujar algunas formas en multiples navegadores
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Artículos
SQL

Insertar comillas simples en SQL

Creado: 07/Feb/2013 Actualizado: 24/Abr/2024

Si te encuentras en la situación de estar trabajando con una base de datos, específicamente realizando una sentencia de INSERT, es posible que te topes con un problema bastante común: cómo insertar comillas simples en SQL.

Este lenguaje de programación tiene una particularidad cuando se trata de las sentencias INSERT, y es que utiliza las comillas simples para diferenciar el comienzo y el fin de los campos dentro de la propia sentencia. Esto puede generar una cierta confusión a la hora de intentar insertar comillas simples, ya que su uso está ya asignado a otra función dentro de la sentencia, lo cual puede dar lugar a errores si no se maneja correctamente.

Esto lo podemos ver cuando nos fijamos en la sintaxis de la operación INSERT, la cual se describe de la siguiente forma:

INSERT INTO tabla ('campo1','campo2',...'campoN') VALUES ('valor1','valor2',...,'valorN')

Por lo que si intentamos insertar un texto que tenga una comilla simple (‘) nos va a dar un error de sentencia. Por ejemplo, imaginemos que queremos insertar el valor O’Reilly el cual contiene ya una comilla simple en su texto. La sentencia SQL que escribiremos será la siguiente:

INSERT INTO Editorial ('editorial') VALUES ('O'Reilly')

Al momento en que decidimos ejecutar nuestra consulta en un motor de bases de datos como MySQL, nos encontraremos con que nos devuelve un mensaje específico. Este mensaje es el resultado de nuestra consulta y nos brinda información muy valiosa sobre lo que ocurrió al procesar nuestra solicitud en el motor de bases de datos:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Reilly')' at line 1

Para poder insertar comillas simples en SQL tenemos que duplicar la comilla simple dentro del valor. Es decir, ponerla seguida dos veces. Por lo que para el texto O’Reilly tendremos que poner O’’Reilly.

De esta forma nos funcionará la sentencia de INSERT siguiente:

INSERT INTO Editorial ('editorial') VALUES ('O''Reilly')

Con esto ya habremos conseguido resolver el problema de cómo insertar comillas simples en SQL.

Código Fuente

Descárgate el código fuente de Insertar comillas simples en SQL
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Insertar comillas simples en SQL
PHP

Codificar una imagen en base 64 con PHP

Creado: 06/Feb/2013 Actualizado: 25/Ago/2021

Codificar una imagen e insertarla directamente en el código nos facilita la tarea de optimizar las páginas web y hacerlas más rápidas. Esto nos da la ventaja de acelerar la carga al disminuir las peticiones necesarias, además evita el uso de archivos externos.

Base 64 es un tipo de codificación diseñado para que datos binarios sobrepasen capas de transporte que no son de 8-bits. La información codificada con este sistema dará como resultado una secuencia de letras, que constituye un archivo y puede ser decodificado y mostrado correctamente por cualquier navegador web.

Codificando la imagen en base 64

Codificar un archivo es algo sencillo, ya que PHP incluye una librería que permite la conversión en base64 de la siguiente forma mediante el método base64_encode.

string base64_encode (cadena o datos)

Por ejemplo para codificar una cadena de texto utiliza el siguiente código:

En el siguiente ejemplo podemos ver como se codifica/decodifica en base64 con PHP:

"; //Se muestra Hola mundo
echo $codificado; //Se muestra SG9sYSBtdW5kbw==
?>

Una vez que hemos visto como se codifica/decodifica  una cadena de texto, veremos este ejemplo de cómo codificar una imagen en base 64 con PHP:

Lo que hemos hecho ha sido obtener el contenido de la imagen del directorio mediante file_get_contents y pasarla a base64 con base64_encode.

Para insertarla en nuestra página web sería algo como esto:

echo "";

Donde imdata es datos base64.

Artículos
SQL

Insertar un elemento en SQL

Creado: 05/Feb/2013 Actualizado: 09/Oct/2021

En SQL existe la sentencia INSERT la cual nos ayuda a insertar elementos dentro de las tablas. La estructura que tiene la sentencia INSERT es la siguiente:

INSERT INTO tabla VALUES ('valor1','valor2',...,'valorN')

En esta sentencia vemos que existen un conjunto de valores a insertar. Dichos valores corresponden a los valores que queramos insertar en la tabla, en el orden en el que están escritos..

De esta manera, si tenemos 4 columnas nos encontraremos con 4 valores. Si partimos de nuestra tabla ejemplo:

Libros
ISBN
Titulo
Autor
Editorial
Fecha Publicación

Podremos insertar un elemento dando valores a los 5 campos que contiene. De esta forma la sentencia será la siguiente:

INSERT INTO Libros ('970-26-0518-0','Cómo Programar en Java','Paul Deitel','Pearson','2012-08-16')

Vemos que el orden de los campos coincide con el orden de los campos de la tabla.

Si queremos poner el orden de los campos de otra forma deberemos de indicar la sentencia INSERT con los campos de inserción.

INSERT INTO tabla ('campo1','campo2',...'campoN') VALUES ('valor1','valor2',...,'valorN')

Así podríamos poner primero el título y el autor y en tercera posición el ISBN.

INSERT INTO Libros ('Titulo','Autor','ISBN','Editorial','FechaPublicacion')
VALUES ('Cómo Programar en Java','Paul Deitel','970-26-0518-0','Pearson','2012-08-16')