Introducción a JSON, sintaxis y ejemplos

JSON es una notación de objetos basada en JavaScript, utiliza una sintaxis que nos permite crear objetos de manera rapida y simple, estos objetos pueden ser utilizados de la manera que queramos y la notación se utiliza muy comúnmente para crear servicios REST, objetos, e incluso fue adoptada por algunas bases de datos como lo es MongoDB. A continuación el siguiente video tutorial demuestra una introducción. Codigo ejemplo puedes encontrarlo posteriormente.

Sintaxis de JSON

Para escribir JSON debemos tener en cuenta lo siguiente:
La creación de los objetos JSON implica escribir datos, para ello:

  • Losdatos estan separados por comas.
  • los datos se escriban en pares, siendo primero el nombre o atributo del mismo y luego el valor del dato.
  • Los objetos JSON estan rodeados por llaves “{}”
  • Llaves cuadradas [] guardan arreglos, incluyendo otros objetos JSON

Ejemplo de un objeto JSON que guarda un usuario y password:

var objetoJSON = {"usuario":"user","password":"123456"};

 

Video tutorial:


Codigo fuente:

<!DOCTYPE  html>
<html>
<head>
	<meta charset="UTF-8">
</head>
<body>
	<section id="tests">
		<h1>Tutorial JSON (JavaScript Object Notation)</h1>
		<div id="content" >

		</div>
	</section>
	<script type="text/javascript">

	var objetos = {"Personas":[
			{"nombre":"Jorge","edad":23},
			{"nombre":"Carlos","edad":17}
		]};

	document.getElementById('content').innerHTML = objetos.Personas[1].nombre ;
	/*Declarar un objeto JSON con una funcion en un atributo
	 notese el uso de "this" que hace referencia a el objeto en sí, es decir a persona*/
	var persona = {"name":"Jorge","edad":23,
				  "avisar":function(){alert("Hola soy "+this.name);}
				 };

	persona.avisar();
	</script>
</body>	
</html>

 

Pro tips para crear Clases en Java

¡Estimados lectores! En esta ocasión quiero compartir con ustedes algunos tips y recomendaciones para mejorar su estilo de programación orientada a objetos especialmente cuando escribimos nuestras propias clases para diseñar objetos que cumplan con los requisitos de cualquier programa, esto quiere decir no solo en Java pero también otro lenguaje que maneje conceptos de POO.

Algunos de estos “Pro tips para crear clases” son nada mas y nada menos que algunas pautas muy sencillas que hay que seguir para hacer código de mejor calidad, mas legible y estandarizado. Es así como se practica en muchas empresas por cualquier programador profesional. A continuación algunos de los puntos mas importantes para tomar en cuenta y un video explicando como se tiene que hacer.

  1. Al crear una clase debemos definir las variables de la misma como privadas, incluso pueden ser protegidas, esto para previnir que se puedan acceder desde otras clases y obligar a el desarrollador a usar getters y setters como debe de ser.
  2. Evitar el uso de “numeros magicos”, es decir que cuando sea necesario realizar alguna operación matematica o algún calculo en nuestros metodos, no debemos utilizar numeros naturales o enteros directamente incluidos en las operaciones, debemos crear constantes estaticas y utilizar las mismas en nuestra clase.
  3. Crear constructores multiples, de manera que podamos crear objetos a partir de nuestra clase con distintas opciones, siendo sin parametros definidos, o bien utilizando parametros para construirlos con valores definidos en los parametros.
  4. Crear nuestro propio metodo toString(), esto para poder representar nuestros objetos de manera totalmente personalizada en formato de cadena de texto.

Estos fueron solo algunos de los tips, a continuación el video.

Video de Tips para crear clases en Java

Estimados, eso es todo por este articulo y tutorial, espero que les haya sido de utilidad y puedan aplicar algunos conceptos sencillos pero muy útiles cada vez que creen clases en Java.

Recuerda que puedes comentar tus opiniones, criticas o dudas al respecto. Comentar es gratis.

K9 Web Protection – Filtra contenido web fácil y gratis !

“La información es poder”, decía Bill Gates(o Steve Jobs si viste los piratas de silicon valley), pero como estar seguros de que lo es toda? , Y más aún cuando un niño está frente al computador (casa, escuela) conectado a la nube ? , para ser más exacto frente a contenidos relacionados con violencia, drogas, etc.

K9

Actualmente existen miles de formas de poder filtrar y restringir este tipo de contenidos en la web, para ello me gustaría compartir una herramienta que realmente me ha llamado la atención en estos días.
Se llama K9 Web Protection , puedes descargarlo en el siguiente link:

www1.k9webprotection.com

K92

Entre sus características:

*Es gratuito(it’s free).

*Posee un alto nivel de seguridad(uso de contraseña y correo de referencia para advertencias).

*Filtra y restringe acceso a paginas que asigne el usuario(Black list).

K93

*Restringe acceso de contenido web por categorías(Redes sociales,juegos online,etc)

* Monitorea y reporta a que paginas o categoría de paginas a las que accede el usuario (incluso cuando este borra el historial del navegador por completo).

K94

* Compatibilidad(Windows XP/Windows Vista/Windows 7/Mac.)

Bueno espero que les sirva,aunque mi pequeña hermana va a matarme cuando lea esto.

…Un saludo desde Perú,hasta la próxima :)

xCarlos

Una introducción a Automatas finitos deterministicos (Maquinas de estado)

Screen Shot 2013-07-10 at 18.37.07

En este tutorial haremos una pequeña introducción a los automatas finitos deterministicos, esto quiere decir que hablamos de maquinas de estado donde los estados siguientes a un estado actual estan predeterminados sin equivocación alguna. Para ello he preparado el siguiente video que espero les pueda servir para comprenderlo de una manera sencilla.

Codigo fuente (ejemplo de automata finito):

Implementación del siguiente automata para evaluar cadenas de numeros binarios (1 y 0 ).

Screen Shot 2013-07-10 at 18.37.07
El siguiente codigo esta en Java, sin embargo el concepto deberia ser valido para implementarse en otros lenguajes.

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		int[] input = {1,0,0,0,0};
		int inicio = 1;
		int finalizar = 1;
		int actual = inicio;

		boolean fin = false;

		int contador = 0;
		while(fin==false)
		{
			if(contador > input.length-1)
			{
				fin = true;
				break;
			}
			if(actual==1)
			{
				if(input[contador]==1)
				{
					actual=1;
				}
				if(input[contador]==0)
				{
					actual=2;
				}
				contador++;
				continue;
			}
			if(actual==2)
			{
				if(input[contador]==1)
				{
					actual=2;
				}
				if(input[contador]==0)
				{
					actual=1;
				}
				contador++;
				continue;
			}
		}

		if(actual==finalizar)
		{
			System.out.println("La cadena es correcta");
		}
		else
		{
			System.out.println("La cadena es incorrecta");
		}

	}

}