jueves, 27 de enero de 2011

Proyecto extra: Creación de una aplicación en plataforma móvil

Otra de mi idea y que también me llamaba mucho la atención era la creación de una aplicación en alguna plataforma móvil o como es conocido para el celular.

Pero en sí, mi idea que me gustaba más, era la de crear algo en Android, RIM (SO de los BlackBerry) o iOS ( SO de Iphone/Ipod/Ipad), que son algúnos Sistenas Operativos de celulares.

Pero, se me hizo que sacaría mas provecho al "organigrama", aunque no estaría mal desarrollar algo en estos, para que nos sirva de práctica y aparte en mi punto de vista, hacer una aplicación en algún sistema móvil, será algo importante para el programador, ya que si nos damos cuenta, estos SO, son los que queremos como celular, son los que están dominando el mercado y día a día se van asemejando más y más a un computador.

En mi opinión
Porque, si nos damos cuenta, al igual que las computadoras, un celular antes era como un ladrillo grande, pesado, costoso y aparte feo. Pero fue evolucionando, mejorando y asemejando a la computadora, aunque tiene algunas cosas que la computadora no y que es lo que valoramos un poco más, como es lo de gps, el acelerómetro, que es multitáctil, entre otros aspectos.
Ya sin salirme tanto del tema, en mi opinión la creación de un programa en algún SO móvil sera importante para el programador.

Así que, como meta o reto personal, también será la creación de una aplicación en algun SO móvil.

En otra entrada, hablare un poco mas sobre estas.

Saludos.

Herramientas a usar para el proyecto

En ésta entrada pondré las herramientas, que tengo pensado usar para la elaboración de mi proyecto.
En sí aún no tengo del todo definido que lenguajes emplearé como base para desarrollo de mi programa, ya que me gustaría aprender bien otro lenguaje o aprender bien el lenguaje que empleo más.
Pero mis ideas u opciones son: java (el que quiero aprender bien), python (lenguaje que empleo más) y php (cómo el sistema lo estamos haciendo en línea sería bueno tenerlo ya para usarse en la web). Ya como quiera estube investigando e instalando los lenguajes que podría usar, pero se me hace que emplearé o python o java.

Java
Si queremos usar java, hay que instalar el lenguaje en nuestra máquina. En mi caso ya lo tengo instalado, pero como quiera dire sus pasos, no son tan complicados, basta con abrir la Terminal y poner lo siguiente:

sudo apt-get install openjdk-6-jdk

Y pedirá la contraseña y que aceptes y así, lo mismo que te píde cuando vas a descargar o instalar algo en el equipo.
Para comprobar si ya tenemos java instalado (como es mi caso), solo con que poongamos en la Terminal:

javac


Nos desplegará una información como la siguiente, indicandonos que ya la tenemos instalada.


Python
En sí Python, ya viene cargado en Ubuntu, así que no será necesario instalarlo, lo podemos verficar escribiendo en la terminal:

python

Y se pondrá en la terminal el intérprete de python:


MySQL
Utilizaré MySQL porque está será la base de datos que emplearé para gardar la información de los empleados o registros que se vayan creando.
No explicaré como instalar MySQL (ni php), porque en una entrada anterior ya lo había hecho.
Pero como quiera aquí les dejo el link.

Lo que espero para este proyecto

En realidad lo que espero para este proyecto, es mejorar como estudiante y programador, hacer un buen proyecto, ya que siento, que el proyecto que elegí, será un poco laborioso y/o complicado, así que será una buena prueba para demostrarme.
Como quiera siento que mi elección fue la correcta, porque investigando, me di cuenta que muchas empresas buscan hacer organigramas y los costos que ponen para su elaboración, programadores o compañías dedicadas a esto, cobran entre $125 dls y e visto costos hasta de $1750 dls, me imagino que han de haber más caras, pero por lo que investigué es lo que viene rondando.

Así que espero (cobrar la misma cantidad que esas compañias) hacer un buen proyecto y que me pueda ser útil, pero por lo pronto será todo.
Saludos, y espero que les sirva mi información o que les pueda ser útil.

miércoles, 26 de enero de 2011

Proyecto de POO "Organigrama"


Como les había comentado en la entrada anterior, que para proyecto final de la materia, tengo que desarrollar un software Orientado a Objetos y que éste sea útil, había estado pensando que sería lo ideal para hacer así que le pedí la opinión a la Dra. Elisa Schaeffer y ella me recomendo, qué como estoy trabajando en una plataforma en línea para el departamento de Calidad de la FIME, sería interesante desarrollar algo en ésta.

Así que pensé que sería bueno desarrollar un "Organigrama". Para aquellos que no saben, un organigrama es una forma de interpretar gráficamente las jerarquías en alguna empreasa, donde te muestra también el personal que está en ella y te puede dar información de ellos.

Idea
La idea en sí es que tu mismo vayas creando el organigrama y decidas en que área o departamento estará y al darle clíck a una de estas te mostrara el personal de éste, podría ser algo así como solo el nombre del trabajador para guardar espacio y creo que también la estética porque no se vería del todo agradable que apareciera toda la información y ocupara mucho espacio, así que mejor si le damos clíck al nombre o al marco de este, se desplegue la información que buscas y ya poderte regresar.
Más o menos es así mi idea:


Y que al darle clíck a uno de estos departamentos se abra la información de este:

(Estas imagenes las saqué de ésta página, que la busqué para que se asemejara a mi idea y me ayudase a explicarla mejor)

En si, se escucha un poco fácil, pero mientras vas desarrollando la idea de como lo vas a hacer, como irá enlazado, la verdad si está complicado, porque tiene que llevar un seguimiento de quien va con quien, donde va cada departamento, como será el guardado de este o edición, etc...

En la otra entrada, explicaré las herramientas o lenguajes que usaré.

Bienvenidos POO (Programación Orientada a Objetos)

Hola que tal nuevamente a todos y les comento que llevaré el curso de Programación Orientado a Objetos, en la cuál, se estarán viendo lenguajes oreintado a objetos y que sean útiles para programar.
Así que ya no tendre tantas publicaciones sobre programación en html, seguridad en las redes o algo por el estilo.
El curso lo estaré llevando con la Dra. Elisa Schaeffer los martes y los jueves llevaré el taller.
Para esta materia, lo sobresaliente es que para proyecto final tendré que hacer un software que sea Orientado a Objetos y útil. Mi proyecto lo diré en la proxima publicación.
Saludos.

lunes, 22 de noviembre de 2010

Hacar aplicacion en Facebook

En entradas anteriores había estado hablado, sobre "la nube" y cosas relacionadas a estas.
Retomando otra vez este tema, nos enfocaremos en Facebook, como muchos sabemos, Facebook, nace de un estudiante de Harvard que se desvelaba haciendo la programación para este, ya que veía que la mayoría de las personas de la universidad, se las pasaba viendo información y fotos de otras personas, y así fue como empezo todo esto.

Pero
Cada vez, me va asombrando Facebook, ya que en tan poco tiempo de haber salido a la web, es algo que la mayoría de nosotros conocemos y utilizamos. El poder de su posicionamiento, ya que de la noche a la mañana Facebook, se convirtió en uno de los principales competidores de la web (youtube, google, myspace, entre otros).
Pero, una de las cosas que me sorprendió mas, fue el modo que tiene para la integración de aplicaciones, el cual hace que no gaste recursos en el momento de llamar a estas y ejecutando las.

Explicacion:
La entrada principal es acerca de como hacer una aplicación en Facebook, así que los orientare para que puedan realizar una aplicación o que intenten algo nuevo.

Antes que nada, hay que explicar como funciona las aplicaciones en Facebook.
Estas aplicaciones funcionan por medio de servidores externos, en el cual el programador, dejara el código de esta, ya después, cuando se quiera correr la aplicación, lo que hace Facebook es que nos enlaza al servidor de esta, para que se pueda correr en la pagina de Facebook sin gastar ancho de Banda, para este utilizando el del servidor.

Pasos:
Primero que nada nos debemos de ir a Facebook Developers o a facebook/developers.
En la primera, podemos leer un poco acerca del entorno que maneja Facebook, checar documentación, entre otras, la segunda es como una introducción de aquí buscamos el botón que diga configurar una nueva aplicación.
Le damos click y después nos pedirá, checar algunos datos, tal es el caso, como nombre de la aplicacion, etc...

Una vez que hayamos hecho eso una mandara una pantalla como esta:
Que nos dará una Id de aplicacion, Una clave Api, clave secreta, entre otras cosas.

Lo que sigue ahora es bajar la Biblioteca de cliente, el cual nos dará un ejemplo y de ahí nosotros lo podremos modificar, para esto, hay que registrarnos en una cuenta de algún servidor, ya que a diferencia de google, Facebook accede a nuestra aplicacion por medio del servidor, en mi caso la hice en http://www.000webhost.com/, ya que te da mucha capacidad, entre otras cosas.
Y ahora creas la cuenta, es muy sencillo, solo llenas un simple formulario en la cual te pedirá cual sera tu nombre de usuario, clave de acceso, y el nombre de tu host.
Enseguida, te mandara un correo con una información necesaria y claro, te pides que confirmes

Lo que sigue, sera descargar un programa que nos muesta administrar nuestra cuenta en el servidor, para que se nos pueda hacer mas fácil la forma de subir y mandar información.

Para esto, nos podemos descargar un programita, que se llama FileZilla, que tiene un buen entorno y nos deja acceder si tenemos múltiples cuentas o servidores.

Para su rápida descarga, nos vamos a Aplicaciones/Centro De Desarrollo Ubuntu, nos vamos al buscador, y tecleamos FileZilla.

Dan click para que se descargue e instale.

Una vez terminada, abrimos el programa en el cual se encuentra en Aplicaciones/Internet/FileZilla.
Nos Abrirá una pantalla, parecida a esta:
Lo siguiente es ir al correo que nos llego, en la cual nos decía, cual era nuestro servidor, nombre de usuario.
Y, ya llenamos los siguientes campos:
Una vez hecho esto, nos conectara al servidor y nos desplegara lo siguiente, indicando que hubo éxito en la conexion.
De aquí nos dirigimos a la parte de la ventana inferior derecha, que esta sera el lugar de las carpetas y documentos en nuestro servidor (el lado contrario, sera el de nuestra maquina y este nos ayudara para subir los documentos que realicemos para subir).

Lo siguiente sera, subir la biblioteca descargada.
Para esto le damos click donde dice public y creamos una carpeta en la cual se subirá la biblioteca.
Después, en el lado izquierdo buscamos la carpeta descomprimida de la biblioteca.
Ahora vamos pasando las carpetas a nuestro servidor.
Antes de pasar el archivo index.php lo abrimos y tenemos que modificar una cosas, que serán la clave de la API y la clave secreta que nos proporcionaron
Una vez hecho esto, subimos también el index.php.

Ya, dando los últimos ajustes, nos vamos a la pagina de Facebook donde tenemos la información de nuestra aplicación y nos vamos a Editar Cofiguración. En seguida como en la imagen de nos vamos a la parte de integración con Facebook.
Y ponemos cual sera nuestra dirección de trabajo, les recomiendo que pongan el nombre de su aplicación, para que sea un fácil recordatorio, abajo de este hay uno que dice Canvas URL, le pondremos la dirección de nuestro servidor, y como creamos una carpeta, le ponemos el nombre de la carpeta.
http://abapps.webege.com/face/ (esta es mi dirección del servidor).
Y le damos guardar.

Y listo, corremos nuestra aplicación, de forma que pongamos en nuestro navegador la dirección de ella en nuestro navegador.
Debo de mencionar, que yo ya estuve haciendo pruebas acerca de este, por esta razón, se verá un poco diferente al tuyo (El tuyo dirá un Hola mundo o algo relacionado).

Modificar Código
Aquí tratare de orientarte, para que empieces la creación de tu aplicación, ayudandote a poner pluginsde FAcebooks, como "Me Gusta", un cuadro de comentario, entre otros.
El lenguaje que estamos empleando es el de php, ya que descargamos esta librería y aparte es un poco mas sencillo en php y aparte hay muchas ayudas, en internet, por si te llegas a equivocar.
El archivo que estaremos modificando sera el index.php, ya que es esta es el documento o archivo principal en la cual se corre la secuencia.
Lo que podemos hacer es ir a la documentacion de Facebook developers.
Para ir conociendo un poco mas de su funcionamiento.
Después nos vamos a Social Plugins, para poner el botón de "I Like" entre otros.
Para esto nos dirigimos a la parte de un cuadro el cual nos ayudara ara obtener el código.
En la parte que dice URL to Like, ponemos nuestra dirección de la aplicación, movemos unas que otra opciones y le oprimimos al botón de Get Code.
Enseguida, nos dará unas lineas de comandos y estas las copiáremos (tomemos en cuenta que es el mismo proceso para los demas plugins). para agregarlas a nuestro documento de index.php.
Y listo, subimos el archivo a nuetro servidor, nos vamos a la dirección de la aplicación y veremos como tenemos un botón de "I Like".

Por lo pronto, seria tomo de este tutorial, mas adelante haré mas publicaciones relacionadas a este.

DTD

Esta es la definicion de tipo de documento, esto sirve como una descripción de estructura y sintaxis de un documento de XML o SGML.

Su principal objetivo es como se menciono la descripción del formato de datos que se van a emplear en una pagina web, esta generalmente la vemos enlazada con el xml, ya que a este le ayuda a darle formato a su contenido, como por ejemplo, diciéndole que formatos empleara, si son de hora, fecha, numéricos, cuantos caracteres puede contener, si la información es necesaria tenerla es en dado caso que sea opcional, entre otras cosas

En un DTD se describe:
Elementos: Indica que etiquetas van permitidas.
Estructuras: Indican el orden de las etiquetas.
Anidamiento: Indica que si una etiqueta es hija de alguna otra etiqueta.

Aquí te dejo una pagina que sera muy útil para conocer mas de este y te vienen varios ejemplos.

Ejemplo:
Por ejemplo, yo aquí le dejo un simple ejemplo que es hacerca de los datos que debe de contener el un xml de personal de una empresa.


Este es el codigo del xmlY aqui es como te despliega en el navegador, indicandote que contiene hijos, entre otros.
Ahora abrimos el dtd, el cual nos dara la siguiente informacion
Hay que tomar encuenta que el dtd es sensible a los caracteres, así que hay tener cuidado
Por ejemplo en la primera linea, indicamos que el elemento padre es personal.
Y que de estos sus hijos seran: numeroempleado, nombre, puesto, proceso, extencion, telefonooficina, correo.
Vemos también que en proceso hay un "+", esto quiere decir que tiene otros hijos los cuales están mostrados.
Y en extension, telefonooficina y correo hay un "*", el cual nos indica que en estos puede contener mas de un elemento.
Se ve también un "?", el cual nos indica que su elemento es opcional, así que puede ir o no.
Y ya en las ultimas lineas un #REQUIRED, que indica que estos campos deben de existir.

Elgg

Elgg no es nada parecido a un huevo así, que no le quites la "l" sino, que es una plataforma de código abierto, esta catalogada como un servicio de red social, ya que tu puedes crear en esta una comunidad, foro, red social, plataforma de intercambio, entre otras cosas.

En pocas palabras algo, es un facebok de código abierto, en la cual todo les podemos meter mano, para manipularlo a nuestro antojo.

Elgg es muy simple de usar, basta, con tener instalado alguna distribución linux, apache, mysql y php (en una entrada anterior había mencionado sobre estos y su instalación).

Lo bueno de elgg es que es soportada por una comunidad, en la cual esta dispuesta a ayudarte o a orientarte, si te surge alguna duda o algo por el estilo, para este, también hay muchos tutoriales, y lo mejor de todo es que si le queremos agregar cosas como por ejemplo un chat o un lugar donde aparesca fotos o algo por el estilo, basta con instalar plugins y listo, estos aparecerán, claro, también tu los puedes modificar para darle un toque mas personal.

Instalación:
Nos vamos a la pagina oficial de elgg y ahí le damos click en descargar elgg, el cual nos descargara un archivo comprimido.

Lo descomprimen elgg y lo ponen en la direccion de /var/www/ y le dan un nombre, les recomiendo que le pongan elgg para que puedan identificarlo.
Hay que crear una base de datos en MySql
para eso nos vamos a la terminal y la creamos:

Hay que crear también una carpeta de dados en /var/www/data
Después de esto tenemos que dar permisos a las carpetas creadas en /var/www/ así que abrimos la terminal y escribimos lo siguiente:
sudo chmod 777/var/www/elgg sudo chmod 777/var/www/elgg *chmod 777 le damos permisos a las carpetas

De ahí nos aparecerá un archivo que dice crontab.txt
Este lo renombramos con la terminación que queramos, y lo corremos en la terminal
/directorio de la carpeta/$ crontab crontab.ab

De ahí abren el explorar y escriben localhost/elgg/install.php.
De ahí te pedirá unos datos necesarios que son para iniciar, (ojo hay que tomar en cuenta que estos datos son de mysql, así que debes proporcionar la información de esta para que te cree la cuenta.
Ya de aquí te pedirá otra información así que la llenas y listo.
Esto es lo que te debe de aparecer al terminar todo, ahora solo faltaría apregarle algunos plugins y modificarlo para hacerlo mas al gusto nuestro.

P.d
Los plugins los descargas de la pagina oficial