RSS

JUnit

Junit es utilizado para realizar pruebas unitarias en aplicaciones java, esto es un framework que permite realizar la ejecución de clases java de manera controlada, con la finalidad de evaluar el funcionamiento de cada uno de los métodos de la clases esto para ver si se comportan como se esperan. Junit viene en Netbeans y en Eclipse por lo tanto las pruebas se realizaran más fácilmente que tener que descargar el jar de Junit estar configurando el classpath etc. Y teniendo Netbeans un plugin para que realice las pruebas de una clase de manera automática haciendo que el programador solo se enfoque en las pruebas y resultados esperados.

Junit permite timeouts en los test, comparación de arrayas con assertArrayEquals, configurar excepciones esperadas, ordenación, priorización,  categorización y filtrado de text entre muchas más.

Método assert() de JUnit Qué verifica
assertTrue(expresión) Comprueba que expresión evalúe a true
assertFalse(expresión) Comprueba que expresión evalúe a false
assertEquals(esperado,real) Comprueba que esperado sea igual a real
assertNull(objeto) Comprueba que objeto sea null
assertNotNull(objeto) Comprueba que objeto no sea null
assertSame(objeto_esperado,objeto_real) Comprueba que objeto_esperado y objeto_real sean el mismo objeto
assertNotSame(objeto_esperado,objeto_real) Comprueba que objeto_esperado no sea el mismo objeto que objeto_real
fail() Hace que el test termine con fallo
assertArrayEquals()  Comprueba que dos arrays sean iguales
assertThat() Comprueba que satisface real la condición especificada en Matcher.

Testcase: Un testcase se define para ejecutar múltiples pruebas. Para definir un testcase se implementa una subclase de TestCase, se definen las variables de instancia que almacenan el estado del aparato, inicializar el estado accesorio primordial el programa de instalación setUp(), limpieza después de una prueba primordial por tearDown(). Cada prueba se ejecuta en su propio accesorio para que pueda haber efectos secundarios entre las ejecuciones de pruebas.

Testsuite: Un testsuite es una composición de pruebas. Puede extraer las pruebas que se ejecutan automáticamente, para ello se pasan a la clase del TestCase a la clase del constructor de testsuite.

TestSuite suite= new TestSuite();

suite.addTest(new MathTest(“testAdd”));

suite.addTest(new MathTest(“testDivideByZero”));

o la segunda alternativa:

TestSuite suite= new TestSuite(MathTest.class);

 
Deja un comentario

Publicado por en diciembre 21, 2011 en Java

 

Comando grep en linux

Cuando se necesita realizar busqueda dentro de archivos el comando a utilizar en la shell de linux es grep, este comando hace una busqueda de palabras dentro del archivos por si a uno se le olvido el nombre del archivo pero sabe que contenido tiene o por ejemplo si se esta estudiando el codigo de una aplicacion que no es de uno y no se logra encontrar en que clase o archivo esta un metodo o algo por el estilo este comando es el mejor para esta situación.

La sintaxis es la siguiente, suponiéndose que se encuentra dentro de la direccion /home/softwaredevelopment  y se quiere buscar el archivo que contiene la frase “GNU/LINUX comandos”

grep -ri “GNU/LINUX comandos” /home/softwaredevelopment/*

r ->  que la busqueda que hara sera recursiva es decir buscara en las subcarpetas

i -> omitira mayusculas y minusculas.

/home/softwaredevelopment/* -> el * indicar que hara una busqueda en toda la carpeta

 
Deja un comentario

Publicado por en septiembre 16, 2011 en GNU/Linux

 

Etiquetas:

Abrir un documento desde Java

Si deseamos abrir un archivo con java bastara con colocar el siguiente método es decir si por ejemplo se desea abrir un archivo pdf con darle clic a un botón se coloca el siguiente código dentro del botón y este abrirá ya sea Acrobat Reader o la aplicación que tengamos por defecto para abrir el pdf

 

    public void abrirArchivo()
    {
        
    try{
		File path = new File("C:\miarchivo.pdf");
		Desktop.getDesktop().open(path);
    	}catch(IOException e){
    		e.printStackTrace();
    		System.out.println("Ruta erronea");
    	}
    }
 
Deja un comentario

Publicado por en agosto 15, 2011 en Java

 

Escribir un archivo en Java

El siguiente código realizado en java muestra como escribir un archivo en formato html el formato es independiente ya que la forma en que se escribirá un archivo de cualquier tipo es la misma.

FileWriter: es para abrir y poder esscribir archivos se asocia con el objeto File.

PrintWriter: Es para poder escribir sobre el archivo.

Try: Tratara de hacer el código dentro de el si surge un error se ir a la parte de catch.

catch: Entrara a esta parte si a la hora de escribir o abrir el archivo hay un error como ejemplo si el archivo no existe o no se tenga privilegios para escribir en el archivo.

Finally: Esta parte siempre la hará.

Para realizar esto se necesita importar la siguiente libreria

import java.io.*;

    public void EscribirHtml(){
    FileWriter html=null;
    PrintWriter pw=null;

    try
    {
        html=new FileWriter("bitacora.html");
        pw=new PrintWriter(html);

        pw.println("<html>");
        pw.println("<body bgcolor=black>");
        pw.println("<head>");
        pw.println("<title>");
        pw.println("Bitacora de canciones / Videos Reproducidos");
        pw.println("</title>");
        pw.println("</head>");
        pw.println("<font color=white size=+5, face=bell MT>");
        pw.println("<h1 align=center>Canciones/ Videos Reproducidos</h1>");
        pw.println("<hr width =100% color=White>");
        pw.println("</font>");
        pw.println("<br>");
        pw.println("<br>");
        pw.println("<font color=white size=+2,face=bell MT>");
        pw.println("Video Reproducido");
        pw.println("</font>");
        pw.println("</html>");
        pw.println("</body>");
    }
     catch(Exception e){
        e.printStackTrace();

     }
     finally
     {
        try
        {
            if(null!=html)
                html.close();
        }

     catch(Exception e2)
     {
        e2.printStackTrace();
     }
    }
    }
 
Deja un comentario

Publicado por en agosto 15, 2011 en Java

 

IPV6

IPv6 quiere decir Protocolo de internet versión 6 fue creado para reemplazar IPv4 esto debido a que IPv4 no tiene la capacidad de soportar tanta demanda por lo tanto IPv6 tiene la capacidad para soportar toda la demanda del mercado. La capacidad de IPv4 es de 2^32 direcciones y uno se puede preguntar por qué crearon algo de ese tamaño es decir de un tamaño bastante limitado si se compara con la demanda actual de internet lo que paso es que IP4 casi como un experimento, no pensaron que pudiera tener tanto éxito comercial. Por lo tanto ahorita se están acabando las direcciones y por este motivo se creó y se estuvo experimentando con IPv6 en todo este tiempo también así el protocolo IPv6, dispone de 340 billones de billones de billones (sextillones) de direcciones. Esto debido a que pose direcciones con una longitud de 128 bits o en otro modo 340 sextillones. Esto no quiere decir que desaparecerá IPv4 bueno tal vez con el tiempo pueda ser muy posible pero IPv6 coexistirá con IPv4 esto debido a que muchas empresas trabajan con este protocolo y el cambio de toda su infraestructura y todo puede ser demasiado caro entonces IPv6 coexistirá con IPv4.

Dentro de los cambios de IPv4 a IPv6 es que esta última especifica un nuevo formato de paquetes, diseñado para minimizar el procesamiento del encabezado de paquetes. Debido a que las cabeceras de los paquetes estos son significativamente distintas, los dos protocolos no son interoperables. También así como ya se mencionó la capacidad de direccionamiento es mucho mayor que en IPv4 y el tamaño de la subred en IPv6 es de 2^64 el cuadrado del tamaño de la internet IPv4 entera con esto la tasa de utilización de espacio de direcciones será probablemnte menos en IPv6, pero la administración de las redes y el ruteo serán mas eficientes debido a las decisiones de diseño inherentes al mayor tamaño de las subredes y la agregación jerárquica de rutas.

La habilidad para enviar paquetes únicos a destinos múltiples (Multicast) es parte de las especificaciones de IPv6 mientras que en IPv4 es opcional. Esto debido a que la primera mencionada no hace uso de broadcast ya que pueden lograr lo mismo con multicast así que el broadcast de IPv4 es considerado una dirección normal en IPv6.

IPv6 tiene la capacidad de ser autoconfigurable es decir pueden configurarse a si mismos automáticamente cuando son conectados a una red ruteada en IPv6 a esto es comúnmente llamado una autoconfiguración de direcciones libres de estado. Si la autoconfiguración de direcciones libre de estado no es adecuada para una aplicación, es posible utilizar DHCPPv6 es un DHCP para ipv6 o se puede configurar de forma estática. Algo que cabe notar la seguridad de nivel de red con un protocolo IPsec es un protocolo para cifrado y autenticación IP esta en IPv6 en IPv4 este protocolo es opcional pero comúnmente implementado. Esta y muchas más diferencias hay entre IPv4 con IPv6.

La notación para las direcciones IPv6 estas direcciones se escriben como 8 grupos de cuatro dígitos hexadecimales.

2008:0db8:1881:8a2e:4564: 08d3:1111:3afa

Si por ejemplo si se tuviera un grupo de 4 dígitos todos 0 es decir 0000 se puede comprimir es decir si existiera 0987:0000:454B se pude poner 0987::454B se realizara un ejemplo mas real 2008:1881:2881:8a2e:0000:08d3:0000:3afa-> 2008:1881:2881:8a2e::08d3::3afa

Identificación de tipos de direcciones:

::

La dirección con todo ceros se utiliza para indicar la ausencia de dirección, y no se asigna ningún nodo. ::1 La dirección de loopback es una dirección que puede usar un nodo para enviarse paquetes a sí mismo (corresponde con 127.0.0.1 de IPv4). No puede asignarse a ninguna interfaz física.

::1.2.3.4

La dirección IPv4 compatible se usa como un mecanismo de transición en las redes duales IPv4/IPv6. Es un mecanismo que no se usa.

::ffff:0:0

La dirección IPv4 mapeada se usa como mecanismo de transición en terminales duales.

fe80::

El prefijo de enlace local (en inglés link local) específica que la dirección sólo es válida en el enlace físico local.

fec0::

El prefijo de emplazamiento específico que la dirección sólo es válida dentro de una organización local.

ff00::

El prefijo de multicast. Se usa para las direcciones multicast.

Relación de estándares más importante de IPv6 se pueden encontrar:

• RFC1981 – Path MTU Discovery for IP version 6

• RFC2460 – Internet Protocol, Version 6 (IPv6) Specification

• RFC2461 – Neighbor Discovery for IP Version 6 (IPv6)

• RFC2462 – IPv6 Stateless Address Autoconfiguration

• RFC4291 – IP Version 6 Addressing Architecture

• RFC4443 – Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 • (IPv6) Specification

 
Deja un comentario

Publicado por en agosto 15, 2011 en Redes

 

Conexion PHP con Mysql Usando Clases

Buen día en esta ocasión se pretende realizar una conexión sencilla de php con mysql pero no sera como se muestra en otros tutoriales se manejaran clases para optimizar mejor nuestro código y hacerlo mas modular. Para esto se deberá de crear un archivo en conexionphp.php y agregarle el codigo siguiente:

<?php
class DBManager{
	var $conect;

	var $BaseDatos;
	var $Servidor;
	var $Usuario;
	var $Clave;
	function DBManager(){
		$this->BaseDatos = "name_BD";
		$this->Servidor="localhost";
		$this->Usuario = "user";
		$this->Clave = "pass";
	}

	 function conectar() {
		if(!($con=@mysql_connect($this->Servidor,
                        $this->Usuario,$this->Clave))){
			echo"Error al conectar a la base de datos";
			exit();
		}
		if (!@mysql_select_db($this->BaseDatos,$con)){
			echo "Error al seleccionar la base de datos";
			exit();
		}
		$this->conect=$con;
		return true;
	}

        function cerrar(){
            mysql_close($this->conect);

        }
}
?>

Luego en la clase que se desea conectar a la base de datos se coloca lo siguiente:

        <?php
            include("conexionphp.php");
            $conection=new DBManager;
			if($conection->conectar()==true){
				$val=mysql_query("SELECT * FROM name_tabla");
			}
			$conection->cerrar();
		?>

Este ultimo código podemos colocarlo en cualquier .php y así se hará que la contraseña y el password de nuestra base de datos no este en todos los archivos y si se desea cambiar de usuario bastara con cambiar la primer clase y todo estará bien.

 
1 comentario

Publicado por en julio 5, 2011 en PHP

 

Conceptos Generales de Redes

RED:  también llamada red de ordenadores o red informática, es un conjunto de equipos informáticos conectados entre sí por medio de dispositivos físicos que envían y reciben impulsos eléctricos, ondas electromagnéticas o cualquier otro medio para el transporte de datos para compartir información y recursos. Este término también engloba aquellos medios técnicos que permiten compartir la información. La finalidad principal para la creación de una red de computadoras es compartir los recursos y la información en la distancia, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el coste general de estas acciones.

 

DHCP: significa Protocolo de configuración de host dinámico . Es un protocolo que permite que un equipo conectado a una red pueda obtener su configuración (principalmente, su configuración de red) en forma dinámica (es decir, sin intervención particular). Sólo tiene que especificarle al equipo, mediante DHCP, que encuentre una dirección  IP de manera independiente. El objetivo principal es simplificar la administración de la red.

El protocolo DHCP sirve principalmente para distribuir direcciones IP en una red, pero desde sus inicios se diseñó como un complemento del protocolo BOOTP (Protocolo Bootstrap), que se utiliza, por ejemplo, cuando se instala un equipo a través de una red (BOOTP se usa junto con un servidor TFTP donde el cliente encontrará los archivos que se cargarán y copiarán en el disco duro). Un servidor DHCP puede devolver parámetros BOOTP o la configuración específica a un determinado host.


IP: Los equipos comunican a través de Internet mediante el protocolo IP (Protocolo de Internet). Este protocolo utiliza direcciones numéricas denominadas direcciones IP compuestas por cuatro números enteros (4 bytes) entre 0 y 255, y escritos en el formato xxx.xxx.xxx.xxx. Por ejemplo, 194.153.205.26 es una dirección IP en formato técnico.

Los equipos de una red utilizan estas direcciones para comunicarse, de manera que cada equipo de la red tiene una dirección IP exclusiva.


HOST:  un ordenador que funciona como el punto de inicio y final de las transferencias de datos. Más comunmente descrito como el lugar donde reside un sitio web. Un host de Internet tiene una dirección de Internet única (direción IP) y un nombre de dominio único o nombre de host. El término host también se utiliza para referirse a una compañía que ofrece servicios de alojamiento para sitios web.

 

DNS: es un sistema de nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado a Internet o a una red privada. Este sistema asocia información variada con nombres de dominios asignado a cada uno de los participantes. Su función más importante, es traducir (resolver) nombres inteligibles para los humanos en identificadores binarios asociados con los equipos conectados a la red, esto con el propósito de poder localizar y direccionar estos equipos mundialmente.

 
Deja un comentario

Publicado por en julio 5, 2011 en Redes