lunes, 14 de julio de 2014

Crea tu primer Red Social en PHP - Diseño de la lógica del actualización.




Venimos realizando una pequeña "Red Social" en algunas entradas, hoy toca a la lógica de la Actualización que es una tabla de nuestra Base de datos.
Este fue nuestra primera entrada a la lógica del usuario. A la cual le aplicamos una actualización a la entrada aquí, donde explicamos el Patrón DAO. En la siguiente entrada, explico cuales fueron los cambios para seguir con nuestra pequeña "Red Social". 



Bien, que es la lógica de actualización sobre nuestra "Red Social", esta va a funcionar como si fuera una publicación en Facebook o una en Twitter.

Nuestra clase Actualización.


Nuestras interfaces que contendra nuestra clase ActualizacionDAO.


sábado, 12 de julio de 2014

Crear copia de la Aplicación "¿Que significa tu nombre? en HTML5




Bien, en Facebook eh notado que se esta volviendo una simple aplicación que se llama ¿Que significa tu nombre?  y dirás, ¿De que se trata? que tiene que ha hace muy popular entre tus amigos y a cada momento vez una publicación de la misma, pues esta aplicación toma tu nombre propio como base y de ahí cada letra la usa para formar otra palabra pero esta son cualidades positivas de forma vertical.
Este es su plus, haciendo sentir bien al usuario, "demostrando" que su nombre significa eso y por lo cual el es una persona de bien
.





La aplicación por lo que note esta desarrollada en php y pues es muy sencillo hacerla, vamos a usar JavaScript para hacer una aplicación similar.


Maquetamos nuestra aplicación en HTML.


Aquí el ejemplo de como funcionaria.

Al apretar el boton los procesos que ocurren son estos:

  • Limpia mis "div" nombre y palabras.
  • La variable nombre almacena el texto que se ingresa.
  • Mi aplicación tiene una restricción de no mas de 8 caracteres.
  • Tomamos el valor del sexo del nombre.
  • Tenemos un arreglo donde almacenaremos las letras del nombre.
  • Agregamos cada palabra con un div con la clase "p".
  • Por ultimo llamamos la función diccionario el cual toma la letra y el sexo, para asi generar una cualidad.



Nuestra función diccionario.
Esta función nos ayudara a recibir como argumento una letra y el sexo de la persona, para asi generar una palabra dependiendo de la letra.
Usamos un aleatorio para crear mas opciones de palabras con la misma letra.


La pueden ver funcionar en el siguiente link.

domingo, 6 de julio de 2014

Aplicación CRUD HTML5 con Web Sql




Vamos a crear una aplicacion CRUD con las tecnología de HTML5, en una entrada anterior publique sobre una aplicación CRUD en asp.Eso lo pasaremos a HTML 5 con Web Sql.







Bien HTML5 nos proporciona tener una base local que se almacena en el navegador. Para esto usamos Web Sql Database, en WC3  nos proporciona una API que nos permite manipular la base de datos del lado del cliente mediante peticiones SQL.
Maquetado de la aplicación.


Parte del código de la aplicación.



martes, 1 de julio de 2014

Actualización Red Social adaptando DAO




Bien, venimos construyendo una pequeña "Red Social" hasta ahora vamos publicando dos partes: Diseño de la Base de datos  y Lógica de Usuario.
El motivo de la actualización es para adaptarlo al modelo DAO, hace unos días publique una entrada: DAO en PHP.






Esta era nuestro modelo relacional.


¿Que actualizamos? Pues en la tabla Usuario agregamos 2 atributos mas: 
  • Sexo: Para poder tener el registro de sexo es cada usuario.
  • Foto: Para tener la imagen personal del usuario.
Mas que nada estos atributos es para poder tener por categorías nuestros usuarios.

sábado, 14 de junio de 2014

Data Access Object en PHP




Bien dicen que la Universidad es para fortalecer los conocimientos, esto nos lleva a DAO.
DAO es un patrón de diseño para crear una capa de persistencia.
El Data Access Object (DAO) es un componente de software que suministra una interfaz común entre una aplicación y uno o mas dispositivos de almacenamiento, como puede ser una Base de Datos o un simple archivo
.





Como funciona?
Bien DAO lo que hace es encapsular el acceso a la Base de datos. Digamos cuando la logica de negocio necesita acudir  a la Base de Datos este accede mediante los métodos muy conocidos CRUD
(Create, Read, Update, Delete) o traducido (Crear, Leer,Actualizar y Borrar).

Un ejemplo, digamos que nuestro Business Object necesita guardar un dato en nuestra Base de Datos
y llamara a nuestro metodo Create, al Business Object no le interesa lo que haga este metodo, este depende del DAO por lo cual lo debe de implementar.
Lo unico que debe saber el Business Object que el metodo Create va a guardar los datos y digamos el método Delete los va a eliminar como asi con los demas.

En una Base de Datos relacional por cada Tabla debemos crear un DAO.
Resumiendo el DAO es la que interactua con la Base de Datos y sus metodos dependen de que lo que queremos hacer pero por lo normal se implementan los metodos del CRUD.


BusinessObject

El BusinessObject representa al cliente datos. Es el objeto que requiere el acceso a la fuente de datos para obtener y almacenar datos. 

DataAccessObject

El DataAccessObject es el objeto principal de este patrón. El DataAccessObject abstrae la implementación subyacente de acceso a datos para el BusinessObject para permitir un acceso transparente a la fuente de datos. El BusinessObject también delegados de carga de datos y operaciones de la tienda a la DataAccessObject.

DataSource

Esto representa una implementación de fuente de datos. Una fuente de datos podría ser una base de datos tal como un RDBMS, SGBDOO, repositorio XML, sistema de archivo plano, y así sucesivamente.

TransferObject

Esto representa un Transfer Object se utiliza como soporte de datos. El DataAccessObject puede utilizar un Transfer Object para devolver los datos al cliente. El DataAccessObject también puede recibir los datos del cliente en un Transfer Object para actualizar los datos del origen de datos.
Bien una breve explicación del Tranfer Object.
Son utilizados para transportar datos desde la Base de Datos hacia la capa de logica de negocio y viceversa.
En el ejemplo del método Create digamos que inserta un nuevo dato, pero, ¿cual es el dato? este dato se pasara a través del Transfer Object y es un objeto común que tiene como atributos del modelo, con sus respectivos métodos (getters and setters).
Si tenemos una tabla en nuestra Base de Datos llamada Usuario, nuestro Transfer Object tendría que ser una clase llamada Usuario con atributos por ejemplo, id, nombre, apellidopaterno.... etc. 
Entonces cuando nuestro Business Object ahora si quiera guardar un dato, este debe crear un objeto de tipo Usuario y se lo pasara a el método Create.
Nuestro DataSource.

lunes, 9 de junio de 2014

Autosugestión como Facebook con Ajax





Facebook contiene una seccion de busqueda, la cual accede a los registros de la base de datos mostrandolos en tiempo real.

 







Vamos a realizar esto usando la tecnologia de Ajax, JQuery, PHP  y MySQL como Gestor de Base de Datos.









Creamos nuestra tabla con los registros a usar.



Nuestra clase de conexion a la base de datos.


sábado, 7 de junio de 2014

Aplicacion CRUD en ASP.NET MVC3

En la clase de Programación Visual estuvimos viendo el patron de arquitectura Modelo Vista Controlador (MVC) este nos permite separar los datos y la logica de negocio de negocio de una aplicación  de la interfaz de usuario y el modulo encargado de gestionar los eventos y las  comunicaciones.







Como proyecto final nos dejo elaborar una aplicacion CRUD (Create, Read, Update y Delete), fue una aplicacion sencilla, ya que teniamos que conectar a una base de datos MySQL con dos tablas, una de Usuarios y una de Perfiles.


Modelo Relacional.


Digrama de clases.


domingo, 20 de abril de 2014

Listas ligadas simples - Java


Una lista es una estructura lineal y dinámica de datos.Lineal es porque a cada elemento solo le puede seguir otro elemento.Dinámica es porque se puede manejar la memoria de manera flexible sin la necesidad de reservar espacio conantelación.


Una ventaja de las listas es que pueden manejar un tipo dinámico de datos cuando lo necesitan,como así liberar la memoria cuando ya no se requiera.


Las listas ligadas son colecciones de elementos llamados nodos, el cual el orden entre ellos se establece por medio de un tipo de datos llamados punteros, apuntadores, direcciones o referencias a otros nodos.


Un nodo consta de un campo de información y una liga.Información que es del tipo  de datos que se quieren almacenar.Liga que es de tipo puntero, que se utiliza para establecer el enlace hacia otro nodo de la lista.El ultimo nodo de la lista este apuntaría a null o vació.


Aquí están algunos métodos mas usados dentro de las listas.
Para esto necesitamos una clase nodo.


Ahora en nuestra clase de lista, tenemos un nodo llamado inicio. En todos lo métodos hacemos referencia al nodo inicio.

Insertar un elemento al inicio de la lista.



lunes, 3 de febrero de 2014

Crea tu primer Red Social en PHP - Diseño de la lógica del usuario.




Recordando en la entrada anterior, diseñamos nuestra base de datos, ahora comenzaremos con la programación de nuestra red social.Lo primero es tratar de crear toda la lógica de nuestro proyecto y cuando sea funcional pasaremos a crear la apariencia para que se vea mas presentable. 




Para nuestra red social vamos a ir creando nuestras clases en php, así que para empezar, vamos a utilizar una clase que nos conecte con la Base de Datos y se nos facilite la manipulación de la misma.
He creado una clase para esto en unas entradas atras, pueden revisarla en el siguiente enlace:
Crear una clase en PHP para el manejo de consultas en la Base de Datos
Esa clase vamos a utilizar, solo es cuestión de cambiarle el nombre de la base de datos en la propiedad:
db_name a "social".


Nuestra clase se llamara modelUsuario el cual se encontrara en un archivo llamado modelUsuario.php, esta clase heredara de nuestra clase abstracta modeloBD que es la que mencionaba anteriormente.

La clase abstracta modeloBD contiene métodos abstractos el cual toda aquella clase que herede de ella, contendrá dichos métodos por defecto si no, nos mostrara un error.

Propiedades de nuestra clase modelUsuario:
  • idusuario
  • nombre
  • apellidoPaterno
  • apellidoMaterno
  • nacionalidad
  • correo
  • clave
            Como verán, nuestras propiedades de nuestra clase son las mismas que las columnas de la tabla usuario de nuestra Base de Datos "social".




            Metodos

            GET
            Nuestro método GET sera para obtener todos los datos de cierto usuario en especifico, esto sera a través de su identificador (id), el cual lo pasaremos por el parámetro del método.
            Si id es correcto todos los datos le serán asignados a las propiedades de la clase, los cual podemos acceder a ellos a través de sus métodos GET de cada propiedad.




            He insertado valores a la Base de Datos para ver que funcione.


            Para ir probando que sea funcional nuestro código, crearemos un archivo llamado prueba.php en el cual vamos a ir creando nuestros objetos.


            Abrimos nuestro navegador.

            martes, 28 de enero de 2014

            Crea tu primer Red Social en PHP - Diseño de la Base de Datos




            Comenzaremos a desarrollar una pequeña Red Social, no como toda la infraestructura de las actuales como Facebook o Twitter.Llevaremos los principios de la programación orientada a objetos, como así el manejo de una base de datos.







            He creado un modelo relacional de nuestra Base de Datos, esta consiste en 5 tablas:

            • usuario
            • actualizacion
            • comentario
            • amigos
            • votos


            La tabla usuario se relaciona con otras tres: amigos, actualizacion y comentario.

            Tabla usuario.


            lunes, 27 de enero de 2014

            Crear una clase en PHP para el manejo de consultas en la Base de Datos


            Porque crear una clase que nos permita realizar las peticiones a la base de datos? Pues cuando empiezas a programar en PHP y necesitar a crear tus consultas para obtener ciertos  datos te das cuenta que empiezas a repetir mucho código y ahí es donde te das cuenta que necesitas minimizar el proceso y entras en la POO.







            La clase consiste en atributos; los atributos estáticos son los que nos permitirá acceder la configuración de nuestra base de datos.
            Los atributos protegidos se encargaran de guardar el proceso dentro de la clase, como por ejemplo el atributo query lo usaremos para generar las peticiones SQL, la row guardara todos los datos que se obtengan de la petición (query).

            Los métodos abstractos get, set, edit y delete serán agregados obligatoriamente en cualquier clase que se herede de ella, usando la palabra reservada extends. Si estos métodos no son agregados a la clase hija, marcara un error.

            Métodos.
            open_connection
            Este método se encargara de abrir la conexión usando dichos atributos estáticos.

            close_connection
            Cerrara la conexión.

            execute_single_query
            Método que permitirá hacer las peticiones simples, las que no es necesario obtener datos.

            sábado, 25 de enero de 2014

            Invertir un arreglo de números en Java




            Invertir un arreglo de números. Podemos tener un arreglo así, por ejemplo: [2,3,4,5,6] y al invertirlo nos quedara [6,5,4,3,2].Lo mas recomendado es hacer un for y recorrer cada elemento del arreglo original e ir del ultimo al primero.









            jueves, 23 de enero de 2014

            Obtener el valor máximo de un arreglo en Java




            Obtener el valor máximo de un arreglo, lo que necesitamos es ir comparando cada valor del arreglo con un valor que estableceremos como el máximo.