Mostrando entradas con la etiqueta chavakanada. Mostrar todas las entradas
Mostrando entradas con la etiqueta chavakanada. Mostrar todas las entradas

jueves, 1 de diciembre de 2011

Codigo Morse a Letras en JAVA

hola Vacilero!!

este dia no se.. pero me dieron ganas de publicar un pedazo de codigo..
este codigo es el examen de un amigo.. el cual se lo dejaron jajajaj y pues para nosotros los novatos pues podemos pasar horas y horas intentandolo..  hasta que nos salga verdad!!

a pues.. bueno logre hacerlo para serles sincero me costo pero bueno se hizo... y pos mi amigo saco un 10 va! :D que buena onda.. la verdad.. entonces compartire con ustedes el codig

se trata de escribir la clave morse y te devolvera la conversion en Letras!! muy probable alguien dira haaa que facil va.. pero.. bueno me gustaria compartirlo con ustedes y aqui se los dejo :D







Resultara Tedioso.. pero si ustedes creen que pueden hacerlo mejor!.. se los dejo de tarea :D pero.. espero que a alguien le sirva

pero aqui les dejare en enlace de descarga por si lo quieren..

http://www.mediafire.com/?ybtwz4ycbrtq4jc


Saludos y Bienvenido!!
comentanos y cuentanos que te parece!!

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...

jueves, 21 de julio de 2011

Web Services En PHP Parte 3

bueno hoy veremos la ultima parte de web services en PHP la cual esta orientada a mandar arreglos y retornar arreglos algo que a veces ayuda mucho en la parte de la programacion a la hora de devolver muchos datos.

bien primero veamos como declaramos dentro de la estructura del WS las variables complejas que en este caso son Arrays.

Y las declaraciones de los arreglos los hacemos asi , como un arreglo normal en php,especificando primero un nombre,un tipo y luego declarando el nombre del arrays .Nombre es el nombre del campo del arrays luego va el tipo .

Luego registramos las funciones del WS solo que debes que sean string ahora seran del tipo tns: mas el nombre del arreglo.Despues la declaracion normal que hemos visto en los anteriores post.


Creamos las funciones de servidor como que si fueran funciones normales con arreglos luego llenamos el arreglo de retorno . y por ultima la configuracion del web service.

Y en el cliente hacemos un metodo que nos devuelva el servicio para solo invocar el metodo y mandarle el parametro que sera un arreglo.

El archivo de pruebas creamos un arreglo instanciamos la clase cliente hacemos la llamada al metodo y le mandamos el arreglo con los datos y el nos devolvera un arreglo con la informacion concatenada en una variable string luego solo la imprimimos en pantalla.

Y tendremos esto como resultado , bien con esto terminamos la serie de Web services en PHP bueno en este lenguaje falta mucho por lograr hay muy poca documentacion acerca de esto y no esta al 100% para produccion.

Espero que les haya servido a entender esto que es tan importante, despues los veremos en otros lenguajes y veremos las comparacion en cual es mejor implementar esto.

descargar


Proximamente tutoriales de Logica de Programacion

comenten no sean bayuncos

lunes, 11 de julio de 2011

Web Services en PHP Parte 2

Hoy seguiremos con el tema anterior que son los web Services en PHP solo que ahora si veremos codigo y como se estructura uno con Nusoap que es el framework para WS en PHP.

Bien comenzemos estructurando nuestro proyecto , en donde tendremos la carpeta con todas las librerias que trae Nusoap a la carpeta le llamaremos WebServicesLib.

Primero creamos el objeto de tipo soap_server luego especificamos que queremos que se configure un WSDL antes de todo esto hacemos un require para el archivo que vemos descrito arriba y poder usar sus metodos.

Aca tenemos la forma en que vamos a registrar las funciones del WS esta mas que explicada la estructura que se maneja con nusoap , en el ejemplo tenemos 3 ejemplos una funcion que recibe un valor y devuelve ese valor , el otro que no recibe ningun parametro pero devuelve un string y la ultima que recibe dos parametros y lo devuelve concatenados.

Para registrar la funcion hacemos uso de la metodo register que recibe un array de parametros los cuales son los parametros de entrada los de salida el namespace que fue configurado mas arriba el archivo action de soap el estilo que lo dejamos rpc por defaul el codificado mas los comentarios del metodo o la documentacion.

Despues de declarar la estructura veremos donde de verdad estan las funciones , mas abajo se declaran y se crean como una funcion normal hecha en php con parametros de entrada con toda su logica y devolviendo un valor.


y por ultimo configuramos las opciones de salida del WS .

Si todo lo hemos hecho bien nos vamos a nuestro servidor y buscamos nuestro proyecto y vemos si se ha creado el WSDL junto con la informacion de los metodos.

Bien ahora veremos el cliente que consumira el WS aca creamos una clase java en la cual tendremos un metodo que nos devuelva la direccion del wsdl donde se almacenan todos los metodos que ocuparemos.

Aca podemos usar una clase abstracta que herede a las clases hijas el WS pero esa mejora la haran ustedes , sigamos aca creamos los metodos para que los mandemos al WS , al WS lo llamamos con el objeto soapClient con su metodo call y en arreglo le mandamos todos los parametros que necesite el procedimiento, junto con el nombre de la funcion del WS.

Ahora vamos a nuestro archivo de pruebas para invocar el cliente y que el cliente nos llame a la funcion WS.

Luego nos vamos a nuestro servidor y vemos si funciono si todo esta bien te mostrara esto en pantalla:


Descargar archivos

comenten no sean bayuncos ...

viernes, 24 de junio de 2011

Web Services En PHP

Hoy veremos una parte fundamental en el area de programacion y son los famosos servicios web de los que tanto mencionan en internet.

Primero es lo primero tenemos que saber y entender lo basico de los servicios web:

Pero que es un Servicio Web ??????

Web Service Es un sistema software diseñado para soportar la interoperabilidad máquina - máquina a través de una red. Este tiene una interfaz descripta en un formato que puede ser procesado por una máquina (específicamente WSDL,que veremos más adelante). Otros sistemas interactúan con el Web service utilizando mensajes SOAP los cuales se encuentran establecidos previamente.

En nuestro caso seria un archivo PHP en el cual se almacenen una serie de metodos los cuales tengan un objetivo especifico y general para hacerlo web service.

Tambien hay otros conceptos los cuales hay que ponerles atencion:

XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones.

SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML.


UDDI es uno de estándares básicos de los servicios web. Está diseñado para ser interrogado por mensajes SOAP y proveer acceso documentos de WSDL (Web Services Description Language), en los que se describen los requisitos del protocolo y los formatos del mensaje solicitado para interactuar con los servicios Web del catálogo de registros.

Ventajas de los servicios web :
  • Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen.
  • Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento.
  • Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados.
  • Basado en estandares

Desventajas de los Web Services:
  • Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear
  • la comunicación entre programas.
  • Existe poca información de servicios web para algunos lenguajes de programación
  • No es la solucion a todos los problemas
  • Relativamente nuevo, algunos estandares no definidos
  • Dependencia de la disponibilidad de servidores y comunicaciones
Como lo trabajaremos en PHP usaremos unas librerias que hagan el trabajo de los protocolos y los mensajes , de eso no nos preocupemos aunque es bueno darle un vistazo a esas librerias .

¿Que es NuSOAP?

NuSOAP es un kit de herramientas (ToolKit) para desarrollar Web Services bajo el lenguaje PHP. Está compuesto por una serie de clases que nos harán mucho más fácil el desarrollo de Web Services. Provee soporte para el desarrollo de clientes (aquellos que consumen los Web Services) y de servidores (aquellos que los proveen). NuSOAP está basado en SOAP 1.1, WSDL 1.1 y HTTP 1.0/1.1

no es el único, existen otros, pero es uno de los que están en una fase de desarrollo mucho más avanzada. Sin ir más lejos, PHP a partir de su versión 5 comienza a dar soporte para SOAP, pero aún está en fase de pruebas.

¿Por qué NuSOAP y no otro?
  • Está en una fase madura de desarrollo.
  • No necesita módulos adicionales.
  • Es muy fácil su instalación y uso
¿Cómo instalo NuSOAP?

La instalación es bastante sencilla, sólo basta ir a la pagina en sourceforge de NuSOAP
y bajar el archivo comprimido (es un .zip).

Lo descomprimimos en un directorio de nuestro servidor web (como puede ser /lib que es el directorio por default o ponerle el nombre que queramos), y listo, ya podemos hacer uso de
NuSOAP.

comenten no sean bayuncos...

jueves, 23 de junio de 2011

Creacion de Metodos para Clase Conexion PHP

Hoy veremos como crear metodos con la clase conexion siempre usando el estilo orientado a objetos que hemos ido desarrollando .

Nuestro proyecto tendra una estructura como la que vemos en la imagen con una capa de persistencia donde haremos todos los procedimientos que tengan que ver con la base de datos,dentro de la capa de persistencia esta el action que es donde estan los archivos de todos los procedimientos del sistema , conexion es donde estan las clases de conexion , luego van las entidades que nos ayudaran al traer y devolver informacion de nuestras entidades en la base de datos no son mas que clases con getter y setter, luego esta el SQLClass que es la encargada de construir las consultas sql .

Ahora veremos la parte del action :

Como aplicaremos conceptos orientados a objetos entonces necesitaremos una clase abstracta en el action que nos retorne la conexion con un metodo y asi solo heredar esa caracteristica que los hace familia a las demas clases .

Pero primero como todo buen sistema tenemos que guardar lo que sucede en cada momento importante, he creado una clase historial la cual hace lo que su nombre dice guarda el historial.

Pero antes tenemos que ver la clase que construira el SQL para mayor comodidad y poner en practica la teoria orientada a objetos.

Esta clase contiene todas las funciones que retornaran un sql , si en dado caso necesitamos parametros solo los indicamos y retornamos el string concatenado .

La clase historial heredara de la abstracta para obtener la conexion a la base de datos , luego creamos un metodo el cual pedira un Objeto usuario que es la clase entidad de usuario, y un string de accion que es lo que se esta realizando a la hora de guardar el historial.

Antes de ver el action veremos como esta formado la clase entidad , no es mas que una clase que contendra getter y setter de los atributos de esa entidad , y esa entidad la tomaremos como una tabla de nuestra base de datos.

Esto nos servira para traer la informacion y devolverla de una manera facil y exacta de lo que queremos ocupar , esto nos evita el estar declarando propiedad por propiedad en nuestro metodo .

Bien esta es la clase que contendra toda la logica de la aplicacion primero vemos que hereda de la abstracta y luego tenemos un metodo publico que sirve para logearse vemos que tenemos como parametro a la clase entidad haciendo uso de type hinting que significa tipos sugeridos , luego llamamos a la conexion con self que sirve para traer metodos de la misma clase , antes de eso instanciamos la clase sql para enviarle los valores a la funcion y que nos retorne la sql con esos valores.

Luego ejecutamos la consulta por medio de la conexion y lo recorremos para ver si trajo resultados o no ,si trajo resultados pues simplemente llama a otro metodo privado para que cree la sesion y guarde el historial.

El otro metodo sirve para cerrar la sesion.

Ahora como ejecutamos esto en una aplicacion , solo veamos el codigo que esta aca abajo que es un fragmento del login.

Hemos visto como implementar las caracteristicas de la POO primero el principio de ocultacion , hemos ocultado muchas funciones para que la otra funcion no tenga que preocuparle caracteristicas mas profundas solo se hace una idea general del objeto , Generalizacion, y encapsulamiento, ciertas funciones son privadas y solo se pueden accesar a travez de la clase misma , ahora con la abstraccion lo que hemos hecho es separar los elementos singularmente para hacer asi mucho mejor su compresion ,La abstracción nos permite dividir nuestro programa en distintos objetos que se agrupan para formar cosas más complejas, cumplimos con una vieja regla de guerra: Divide y Vencerás. Es decir, lo que hacemos es seccionar nuestro código en grupos de código más pequeño que, al unirlos, hacen el trabajo.

Y el ultimo pero no menos importante que es la herencia ,la herencia nos permite, entre otras cosas, evitar tener que escribir el mismo código una y otra vez, puesto que al definir que una categoría (que en programación llamaremos clase) pertenece a otra, automáticamente estamos atribuyéndoles las características generales de la primera, sin tener que definirlas de nuevo.

Tambien usamos otros elementos que son caracteristica como interfaces metodos sobrecargados metodos asesores.

Comenten no sean bayuncos

Descargar archivo Completo

miércoles, 1 de junio de 2011

Crear una Aplicacion Multilenguaje en PHP

Bien hoy veremos como crear una aplicacion multilenguaje usando php claro que se podra aplicar en otros lenguajes de programacion espero que agarren la idea de como funciona y poder aplicarla a sus proyectos.

Hoy en dia vemos muchas web que tienen muchos idiomas tambien programas que los podemos cambiar entre idiomas , pues bien como hacen esto , pues no hacen una web en cada idioma ni tampoco hacen otro programa para la version en ingles , todo esto lo podemos hacer con varios XML en donde tengamos todo lo relacionado a nuestro sistema por ejemplo mensajes de error , mensajes de confirmacion, algunas etiquetas , algunos titulos que tengamos que usar todo iria dentro de un xml.

bien luego de tener nuestros xml para español para ingles para frances solo basta hacer una estructura por la cual sea reusable y bastante util para general estas configuraciones.

Luego de tener nuestros archivos xml en todos los idiomas disponibles en la aplicacion solo basta usar la clase de leer xml generica para accesar a todos los nodos padres y traer todos sus nodos hijos en un arreglo.

Luego haremos otro XML que contenga la configuracion existente tales como que idioma estamos usando y el archivo de localizacion mas un identificador para saber que archivo xml ir a traer.

luego tenemos una clase que lee esa configuracion y nos indica que archivo xml de lenguaje tenemos que leer y traer el modulo o pantalla que necesitemos independiente del lenguaje .

mas adelante tenemos un archivo que manda a traer todo el lenguaje de un modulo del xml para luego meterlo en una matriz y devolver los datos en otra matriz con los datos cargados para solo hacer una simple traida de datos de un array con el nombre a que se refiere.

Primero veamos la estructura de como esta formado :

Este es el diagrama que representa el modulo de configuracion de lenguaje ahora veamos el codigo de cada clase .

Este archivo xml es el que guarda la configuracion del lenguaje a la hora de instala el sistema solo basta generarlo con php y sobrescribirlo cuando el usuario lo requiera. Lo unico que utilizaremos aca por el momento sera el identicador que el siguiente archivo lo leera y ira a traer ese archivo xml veamos esa clase.

Primero leemos el xml de configuracion y extraemos el identificador y lo comparamos con los posibles predefinidos en el sistema y retornamos un nombre de archivo que contiene todo el lenguaje de nuestra aplicacion separada por modulos veamos ese archivo xml.

Aca tenemos que usar estandares para no confundirnos y tampoco hacer un desorden en este archivo puedes hacer tus estandares . o usar los mios msg son mensajes , et son etiquetas , bt son botones .

Bien pero como es multilenguaje tenemos que crear todos los archivos posibles de lenguaje que esten disponibles dentro de la aplicacion.

Ahora veamos el archivo que manda a llamar todos los mensajes o etiquetas o valores de botones que necesitemos para un modulo .


Aca tenemos que especificar todas las etiquetas que hemos definido por modulo y esto nos regresara una matriz de objetos en cual es asociativo no necesitamos identificarlo con indices solo con el nombre de la etiqueta.

Ahora veamos el archivo que tendria que estar fuera de todo el modulo de lenguaje que sirve para solo llamarlo y que nos devuelva el array del modulo.

Ya hecha esta clase solo basta con llamarlo y donde necesitemos los mensajes del idioma solo hacemos esto:

solo basta con llamarlo asi .

Mas adelante veremos como usar la clase conexion desarrollando metodos los cuales tendran una estructura diferente que haremo uso de la ocultacion de la programacion orientada a objetos y lo veremos aplicado a un login.

comenten no sean bayuncos...