viernes, 26 de agosto de 2011

Datos Tipo Enum en MYSQL


Hace un tiempo cuando no habia investigado de este tipo de dato , me tocaba hacer un combo fijo o radios que mostraras las opciones fijas dentro de un rango de tipos pero ahora con este tipo de dato cambiara eso del lado de la base de datos.

Siempre nos tocara validarlo desde la aplicacion pero nuestra base de datos tambien tiene que ser muy bien hecha por eso este tipo de datos viene a poner datos fijos por decirlo asi en el campo de la base de datos.

Por ejemplo yo tengo una tabla de un inventario donde habran tipos de movimiento dentro de un inventario que puede ser compra, venta o perdidas u otros pero en la base de datos tenemos que indicar esta restriccion por decirlo asi.

Aca vemos la tabla declarada como tipo texto que nos agarra mas espacio de almacenamiento en la base de datos.

Editamos ese campo de la tabla y ponemos enum en el tipo y en el value ponemos los valores no necesariamente en mayusculas pero si en comillas y separado por comas. luego le damos GO.

Ya cuando querramos insertar nos exigira insertar un dato de los tipos que hemos declarado en el campo. y asi tenemos una base de datos mas integra.

Comenten no sean bayuncos.

jueves, 25 de agosto de 2011

UUID en PHP


Algunos se preguntaran que es UUID o para que sirve mejor dicho pues UUID es una abreviatura de la palabra identificador universal único (identificador universal único).

Y para que sirve pues para muchas cosas pero lo podemos usar para crear llaves primarias en nuestra base de datos para que ya no usemos autonumerico por ejemplo.

El siguiente ejemplo esta hecho para php con una clase que encontre en internet , que nos ayuda a la creacion del UUID por algunos parametros .

Lo unico que tenemos que hacer es bajar la clase que la podemos encontrar aca luego solo hacemos un require y llamamos sus metodos como lo vemos en la imagen.

Tenemos la opcion de escoger dentro de estos tipos que existen.
  • UUID_NAME_MD5
  • UUID_TIME
  • UUID_RANDOM
  • UUID_NAME_SHA1
Y los formatos que necesitemos en el ejemplo lo puse en formato string pero se puede en otros como estos:
  • FMT_FIELD
  • FMT_STRING
  • FMT_BINARY
  • FMT_QWORD
  • FMT_DWORD
  • FMT_WORD
  • FMT_SHORT
  • FMT_BYTE
  • FMT_DEFAULT
Y tendremos como resultado esto:

Son 36 caracteres asi que en algunas base de datos esta el tipo de dato UUID pero en otros no asi que solo le pondremos texto de 36 caracteres. si nos fijamos el ultimo parametro que le enviamos lo conjunta con toda la expresion.

Descargar ejemplo


comenten no sean bayuncos

miércoles, 24 de agosto de 2011

Personalizacion de Plantillas en Netbeans


Bueno hoy veremos como personalizar una parte importante para trabajar en el IDE de netbeans , que son la personalizacion de nuestros archivos que creamos ya sean clases interfaces u otros archivos.

Que es lo que queremos cambiar a la hora de crear nuestros archivos , algunas veces necesitamos cierta informacion a la hora de crear una clase por ejemplo, alguna informacion extra que es de utilidad a la hora de trabajar en grupo o en nuevo proyecto.

Lo primero que debemos de hacer es irnos a tool luego a templates como lo vemos en la imagen

Luego nos saldra esta pantalla y nos vamos a la carpeta que dice java y seleccionamos la plantilla de una clase por ejemplo.

Luego lo seleccionamos y presionamos en el boton que dice open in editor. Y saldra este archivo por default.

Bien aca le podemos quitar las primeras 4 lineas para que no nos salga un comentario que siempre toca borrarlo.

Bien aca podemos personalizar este archivo por medio de un properties que podemos implementar nuestras propiedades personalizadas tales como un usuario que no sea el de la maquina o una direccion de correo o otra informacion que necesitemos.

Pero donde encontramos ese archivo properties en el mismo menu templates lo buscamos como esta en la imagen.

Bien ahora como modificamos ese archivo asi como esta el ejemplo en la imagen

ponemos el nombre del indicardor mas el valor que contendra el indicador. aca podemos poner tantos indicadores necesitemos.

Luego nos vamos a la plantilla de la clase y lo modificamos como querramos pero aplicando ciertas reglas.

Hay algunos parametros que ya vienen por defecto y los podemos usar como estos:
  • ${user} - Nuestro nombre de usuario dentro del sistema.
  • ${name} - El nombre del archivo.
  • ${nameAndExt} - El nombre y la extensión del archivo que estamos creando
  • ${date} - La fecha de creación del archivo.
  • ${time} - La hora de creación del archivo.
Para usar estas expresiones solo tenemos que colocarlas en nuestra plantilla y sus valores serán reemplazados de forma automática al generarse el archivo.

Y finalmente nuestra clase terminaria asi :

Bien si quieren investigar mas podemos leer la documentacion oficial de netbeans que es esta:

http://wiki.netbeans.org/FaqFreeMarker


Comenten no sean bayuncos...

martes, 16 de agosto de 2011

Jerarquia de Operadores


Bueno hoy veremos algo que es muy basico y que tenemos que entender , son la jerarquia de operadores aunque esto cambia de lenguaje de programacion pero es bueno entender la logica luego solo es de guiarse con un manual.

veamos los tipos de operadores que existen :

a) Aritméticos (su resultado es un número): potencia, * , / , mod, div, + , -

b) Relacionales (su resultado es un valor de verdad): =, <, >, <=, >=, <>

c) Lógicos o Booleanos (su resultado es un valor de verdad): not, and, or

d) Alfanuméricos : + (concatenación)

e) Asociativos. El único operador asociativo es el paréntesis ( ) , el cual
permite indicar en qué orden deben realizarse las operaciones. Cuando una expresión
se encuentra entre paréntesis, indica que las operaciones que están dentro de ellos
debe realizarse primero. Si en una expresión se utilizan más de un paréntesis se deberá
proceder primero con los que se encuentren más hacia el centro de la expresión.

Y luego tenemos una tabla resumida del orden que tenemos que respetar :

Para resolver una expresión aritmética se deben seguir las siguientes reglas:
  • Primero se resuelven las expresiones que se encuentran entre paréntesis.
  • Se procede aplicando la jerarquía de operadores.
  • Al evaluar una expresión, si hay dos operadores con la misma jerarquía, se procede a evaluar de izquierda a derecha.
  • Si hay expresiones relacionales, se resuelven primero paréntesis, luego se encuentran los valores de verdad de las expresiones relacionales y por último se aplica jerarquía de operadores lógicos. En caso de haber iguales, proceder de izquierda a derecha.
Tablas de verdad :
Siguiendo con lo que dicen estas tablas solucionaremos las expreciones logicas.

La negación (NOT) es un operador que opera. sobre un único valor de verdad, devolviendo el valor contradictorio de la proposición considerada.

La conjunción ( Y , AND) es un operador que opera sobre dos valores de verdad, típicamente los valores de verdad de dos proposiciones, devolviendo el valor de verdad verdadero cuando ambas proposiciones son verdaderas, y falso en cualquier otro caso.

Es decir es verdadera cuando ambas son verdaderas.

La disyunción (O , OR) es un operador que opera sobre dos valores de verdad, típicamente los valores de verdad de dos proposiciones, devolviendo el valor de verdad verdadero cuando una de las proposiciones es verdadera, o cuando ambas lo son, y falso cuando ambas son falsas.

Mas adelante veremos algunos ejercicios practicos

Comenten no sean bayuncos.....

lunes, 1 de agosto de 2011

Fundamentos De Programacion

Bien estos post son para los que recien comienzan en este vacil o los que estan haciendo su primer semestre en alguna carrera que tenga que ver con sistemas o informatica.

Bien para darte una breve introduccion a lo que es la programacion primero un consejo : En la informatica no solo existe la programacion , es cierto que se podria considerar como lo mas complejo del area pero existen otras ramas en las cuales te puedes desempeñar en dado caso no te guste la programacion.

Para empezar la programacion no es facil pero tampoco es dificil es cuestion que nos guste y veras que esto te dara de comer algun dia.

Programacion lo entenderemos como una forma de comunicarse con la computadora luego veamos unos conceptos basicos que los he sacado de varias fuentes de internet asi que no es invento mio.

¿Qué es un algoritmo?

Definición: Un algoritmo se entiende como una sucesión finita de pasos que debe cumplir las siguientes especificaciones:

  • Cada paso del algoritmo debe estar bien definido: Esto significa que la definición de un paso debe ser suficientemente clara, para que una persona pueda entenderla y realizarla. Si bien no se puede dar un criterio determinístico para decidir si un paso está bien definido, debemos apelar al sentido común para decidir que un paso está especificado sin ambigüedades.
  • Un algoritmo debe tener un principio y un fin: Un programa es un algoritmo escrito con un objetivo: conseguir un resultado. No tiene sentido crear un programa que espere ~ segundos (infinitos segundos) y luego escriba en pantalla "Hola Mundo!", del mismo modo que un algoritmo debe tener un principio bien definido
¿Qué instrucciones ejecuta un ordenador?

Lenguaje de máquina
Cada tipo de microprocesador contiene un conjunto de instrucciones que realizan ciertas operaciones sobre una o más
palabras de bits; las instrucciones van también codificadas en bits.Se entiende que escribir sólo con dos teclas, el 0 y el 1

Lenguaje ensamblador
El código máquina tenía dos grandes inconvenientes para los programadores:
  • Las instrucciones eran difíciles de recordar, ya que no guardaban relación con la operación que se está realizando.
  • Puede haber, y de hecho hay, diferencias entre las instrucciones de un procesador a otro.
Todo esto ha llevado a "poner nombre" a las instrucciones de código máquina de manera que a una secuencia concreta de bits que realiza una operación se le pone un nombre sencillo que identifique la operación. Esta traducción a un lenguaje más sencillo para las personas resulta en una mayor comodidad para el programador, además el proceso de traducción inverso de
lenguaje ensamblador a código máquina puede ser realizado por un sencillo programa.

Programación para seres humanos

Lenguajes de alto nivel
Estos son los que se codifican los algoritmos son los códigos fuente; siguen las reglas sintácticas de un determinado lenguaje de programación. Existen numerosos lenguajes de programación, y se utiliza uno u otro según sus características se adecúen más o menos a la resolución de nuestro problema

Lenguajes interpretados vs. lenguajes compilados

Para los lenguajes compilados todo eso no es gran derroche de recursos para un ordenador medio actualmente, pero dura sus 10 o 15 segundos.

En cambio, con un lenguaje interpretado, el programa intérprete analiza el fichero de código y lo va ejecutando en tiempo real, sin compilarlo ni ensamblarlo. Otra de las ventajas de los lenguajes interpretados es que son multiplataforma: un programa en Perl, por ejemplo, no debe ser compilado dos veces (una para Unix y otra para Windows).

Con que haya diferentes versiones del intérprete en cada uno de esos ordenadores, específicamente compilados para ellos, basta.

Estructura de un programa

En la programación estructurada hay un inicio y un fin perfectamente bien definido de acuerdo al diagrama de flujo que se planteó al concebir la idea del programa.

Un programa bien estructurado debería tener algún subprograma que capture cualquier error dentro del programa principal o de cualquier subprograma dentro de la aplicación de tal modo que el subprograma que captura los errores genere un registro de datos que describa el error generado y/o en qué subprograma se generó el error para posteriormente corregirlo.

Para facilitar la corrección de estos errores se hace uso de los comentarios agregados en el código fuente.

Variables y constantes
Antes de conocer un concepto tenemos que saber los tipos de datos que existen .
  • entero - es lo que comunmente conocemos como un numero natural sin decimales.
  • ejemplos (edad,numero de telefono,año de nacimiento)
  • real - este si puede contener datos decimales. ejemplos (dinero)
  • cadena de caracteres - esto es lo que conocemos como una serie de palabras ejemplo(codigo rojo,
  • vacil mio,programacion)
  • caracter - esto es solo un simbolo por ejemplo (A,%,5)
  • logico - de los tipos falso y verdadero
  • colecciones - vectores y matrices
Despues de esta pequeña explicacion veamos que es una variable:

Las variables son un espacio de memoria (espacio de almacenamiento de datos, La memoria es donde son ejecutados los programas y procesos de una computadora) en el que se almacena un dato de un tipo dado. La característica más importante de las variables es que, como su nombre lo indica, es posible cambiar el valor que almacenan en el transcurso del programa.

Cada variable tiene asignado un identificador, formado por uno o más caracteres que permiten referirse a su contenido dentro de su dominio.

Cuando creamos una variable tenemos que seguir ciertas reglas no son todas pero si las mas importantes.
  • El nombre de la variable tiene que expresar para que fue creada un nombre que la identifique para que sirve ni muy corto ni muy largo.
  • Evitemos contractar nombres de variables
  • Evitemos crear variables con una sola letra de nombre para bucles que lo veremos mas adelante se podria pensar asi pero no es recomendable.
Ahora veamos que son las constantes :

como lo dice su palabra es un espacion de memoria que siempre va mantener su valor esa es la unica diferencia a una variable ya que esta ultima puede agarrar cualquier valor que le asignemos.

Bien hasta aca tenemos una breve introduccion como todos unos programadores siempre nos toca investigar mas de la cuenta asi que te dejo este libro muy bueno aunque se requiere un poco de investigacion aparte de este libro te ayudara bastante.

Fundamentos de programacion Luis Joyanes Aguilar 3° Edicion

comenten no sean bayuncos....