Archive for category Programación
Pequeña reseña del DevCamp Caracas
Posted by Psycho in Comunidad, Programación on February 24, 2010
Hace casi una semana que asistí al
DevCamp Caracas y no hice una reseña. Si, se que fue un FAIL pero aquí va un pequeño resumen del tiempo que anduve en el evento, mas vale tarde que nunca
Al DevCamp Caracas llegue tarde, la primera ponencia a la que entre fue a la de distribución Linux Canaima y Radio por Streaming en donde estaba Prothotype como oyente que vino de Valencia para incrementar la presencia claber en el evento pero ya habían comenzado, así que no puedo disfrutar de gran parte de la charla. Luego entre a la charla de Adios PHP 4 y larga vida a PHP 5 que estuvo muy buena y fue realizada por personas del equipo de desarrollo del framework en PHP Kumbia.
En la ponencia se hablo de las nuevas bondades de PHP 5, Patrones de diseño y Frameworks para el desarrollo de aplicaciones en PHP que existen. Cuando tocaron el tema de los frameworks en PHP contruidos en el modelo MVC(Modelo-Vista-Controlador) hicierion mucho hincapié en que los desarrolladores utilizamos los modelos en la mayoría de los casos solo para conectarnos un repositorio de datos como una base de datos nada mas y no aprovechamos las otras bondades de esta capa.
La capa de modelo en el MVC no solo es para acceder a una base de datos sino que esta encargada de la lógica de negocio de nuestra aplicación, eso quiere decir que en el caso de enviar emails, manipular archivos, hacer manejo de imagenes todo deberia ser manejado desde esta capa.
Si trabajas con
MVC en tus aplicaciones y estas realizado las tareas descritas anteriormente en la capa de Controlador deberías de ir cambiando esos fragmentos de código por componentes de modelo
Efectos de Entrada y Salida para PopUps en Flex
Posted by Shogoki in Programación on February 4, 2010
En el último tip vimos como cerrar una ventana emergente (PopUp) de flex al hacer click fuera de la ventana, hoy veremos como podemos animar las entradas y salidas de dicho popup mediante los métodos creationCompleteEffect y removedEffect respectivamente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | < ?xml version="1.0" encoding="utf-8"?> <mx :Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="174" backgroundAlpha="0" mouseDownOutside="removePopUp()" creationCompleteEffect="{myFade}" removedEffect="{myFade}" horizontalCenter="0" verticalCenter="0"> </mx><mx :Script> < ![CDATA[ import mx.effects.easing.Elastic; import mx.managers.PopUpManager; private function removePopUp():void { PopUpManager.removePopUp(this); } ]]> </mx> <mx :Fade id="myFade" duration="1000"/> <mx :Canvas width="226" height="122" borderStyle="solid" borderColor="#000000" backgroundColor="#FFFFFF" horizontalCenter="0" verticalCenter="0"> <mx :Text text="Hola soy PopUp con Animación de entrada y salida :D" height="45" width="202" fontFamily="Arial" fontSize="12" color="#000000" horizontalCenter="1" verticalCenter="2"/> <mx :Label x="10" y="10" text="Ventana Modal" fontWeight="bold" fontSize="14" fontFamily="Arial" color="#000000"/> </mx> <mx :LinkButton x="220" y="145" label="cerrar" skin="{null}" color="#000000" fontSize="11" fontFamily="Arial" click="removePopUp()"/> |
Como se ve bastante sencillo solo basta con crear el efecto deseado en nuestro caso: <mx:Fade /> y asociar dicho efecto a los métodos creationCompleteEffect y removedEffect como se muestra en las lineas 5 y 6, esto daría como resultado lo siguiente:
Sube multiples archivos al servidor con Uploadify
Posted by Psycho in Programación on January 27, 2010
Uploadify es un plugin de JQuery el cual nos permite subir varios archivos a un servidor.
En la pagina oficial del proyecto hay varios ejemplos de como funciona, una sección de como implementarlo en nuestros proyectos y un foro para cualquier duda.
Sitio oficial de Uploadify.
Cerrar ventana modal al hacer Click fuera de la ventana en FlashBuilder
Posted by Shogoki in Programación, Tips on January 26, 2010
Una de las mejores funcionalidades de FlashBuilder y ActionScript3 es la clase PopUpManager que nos permite mostrar ventanas a los usuarios bien sea modales o no; a veces simplemente queremos dar la opción al usuario de cerrar la ventana al hacer click fuera de esta, al estilo de los PopUps hechos con JQuery y gracias al Evento MOUSE_DOWN_OUTSIDE de la clase FlexMouseEvent podemos hacerlo, como vemos en el siguiente ejemplo:
Puedes ver y descargar el código fuente mediante el menú del botón derecho
Crear imagenes miniaturas con CodeIgniter
Posted by Psycho in Programación on January 26, 2010
El Framework en PHP llamado CodeIgniter el cual utilizo al momento de crear aplicaciones en PHP, trae un conjunto de librerías y entre ellas esta una para la manipulación de imágenes.
El objetivo de este ejemplo es mostrar como utilizando el metodo image_lib->resize() de la librería image_lib podemos crear imagenes miniaturas a partir de cualquier imagen que se encuentre en nuestro servidor.
La función en el código de ejemplo debe ser colocada en cualquier parte de un controlador de CodeIgniter para cargar la libreria image_lib, luego le asignamos una serie de parámetros de configuración en donde especificamos como queremos dimensionar la imagen miniatura, como se va a llamar la imagen, etc.
/**
*
* @param $imagen: ruta de la imagen en el servidor
* @param $nombre_archivo: nombre del archivo
* @param $ancho: ancho para la imagen a generar
* @param $alto: alto de la imagen a generar
* @return void
*/
function crear_thumbnail($imagen, $nombre_archivo, $ancho, $alto)
{
// cargar libreria de imagen
$this->load->library('image_lib');
// dividir el nombre del archivo y tomar el nombre y extension del archivo
$nombre_archivo = split("[.]", $nombre_archivo);
// crear valores de configuracion para cargar la libreria
$config['image_library'] = 'GD2'; // libreria a utilizar
$config['source_image'] = $imagen; // imagen fuente, aqui se debe colocar la ruta completa del archivo en el servidor tomando como referencia la raíz del sitio (ejemplo ./uploads/)
$config['width'] = $ancho; // ancho de la imagen a generar
$config['height'] = $alto; // alto de la imagen a generar
$config['create_thumb'] = TRUE; // especificar que se quiere generar un thumbnail
$config['new_image'] = './uploads/home_party/thumbnails/'.$nombre_archivo[0].'_'.$ancho.'x'.$alto.'.'.$nombre_archivo[1]; // nombre y ubicacion de la imagen miniatura
$this->image_lib->initialize($config); // asignar parametros de configuracion a la libreria
$this->image_lib->resize(); // crear thumbnail
}
Para mas información de la libreria puedes consultar la guia de usuario de CodeIgniter.
Actualizar perfil con streamPublish en Facebook
Posted by Psycho in Programación on January 4, 2010
Muchas o casi todas las aplicaciones que existen en Facebook permiten a los usuarios compartir cualquier actividad que hayan realizado en dichas aplicaciones y colocarlo en su perfil para que sus contactos en Facebook lo vean.
Después del boom de las galletas de las fortuna(que para mi son un cancer en dicha comunidad), parte de los desarrolladores buscan como hacer una aplicación parecida a estas galletas, foto del día o cualquier otra aplicación de este tipo. En este articulo haré un par de ejemplos de como un usuario puede actualizar su status o el de un amigo(si, pueden actualizar tu status desde estas aplicaciones).
Antes de continuar si no has visto el post
Crear aplicación “Hello World” en Facebook con PHP te recomiendo echarle un ojo antes de seguir
Para actualizar el status de los usuarios utilizaremos una función llamada streamPublish utilizando javascript la cual se encuentra en el API de Facebook. Esta función recibe dos parametros:
- El primero es el id del usuario en facebook en donde aparecera el pos, caso de estar vacío o nulo se actualizara en el perfil del usuario que este utilizando la aplicación.
- El segundo parametro es un objeto JSON que tendrá la información que se colocara en el perfil del usuario.
Función streamPublish:
Facebook.streamPublish('', attachment);
Para actualizar los status se puede hacer que solo aparezca texto o se pueden adjuntar imágenes, a continuación un ejemplo de como hacerlo de las dos formas.
Solo texto:

caption = 'Motivo del Feed';
description = 'Descripcion sobre que va a compratir el usuario';
attachment = {
'caption':'{*actor*} '+ caption,
'description': description
};
Facebook.streamPublish('', attachment);
NOTA: En donde aparece {*actor*} indica que aparecerá el nombre del usuario que haya utilizado la aplicación.
Con texto e imagenes:

caption = 'Motivo del Feed';
description = 'Descripcion sobre que va a compratir el usuario';
attachment = {
'caption':'{*actor*} '+ caption,
'description': description,
'media':
[{'type': 'image',
'src': 'http://psycho-side.com.ve/ejemplos/10/imagen1.jpg',
'href': 'http://apps.facebook.com/psychotuto/'},
{'type': 'image',
'src': 'http://psycho-side.com.ve/ejemplos/10/imagen2.jpg',
'href': 'http://apps.facebook.com/psychotuto/'}]
};
Facebook.streamPublish('', attachment);
A diferencia de solo texto para agregar imágenes u otros elementos, se agrega el atributo media el cual tiene los siguientes atributos:
- type: tipo de elemento.
- src: URL del elemento a mostrar.
- href: indica el link en caso que el usuario haga click sobre el elemento.
Para mas información puedes consultar la documentación Facebook Developer Wiki.
PD: Utilicen estas herramientas para bien y no hagan aplicaciones que generen spam U_U
Llenar una matriz con numeros impares en Lenguaje C
Posted by Psycho in Programación on November 11, 2009
#include <stdio.h>
#include <stdlib.h>
int main()
{
int matriz[3][3];
int i = 0;
int j = 0;
int numero = 0;
int resultado = 0;
for(int i = 0 ; i < 3 ; i++)
{
for(int j = 0 ; j < 3 ; j++)
{
do
{
numero++;
if((numero % 2) != 0)
{
matriz[i][j] = numero;
}
}
while((numero % 2) != 0);
}
}
for(int i = 0 ; i < 3 ; i++)
{
for(int j = 0 ; j < 3 ; j++)
{
printf("El valor en la posicion %d, %d es: %d \n", i, j, matriz[i][j]);
}
}
system("PAUSE");
return 0;
}
Calculadora en Lenguaje C
Posted by Psycho in Programación on November 9, 2009
#include <stdio.h>
int main()
{
int opcion = 0;
int dato1 = 0;
int dato2 = 0;
int calculo = 0;
printf("Ingrese el primer dato \n");
scanf("%d", &dato1);
printf("Ingrese el segundo dato \n");
scanf("%d", &dato2);
printf("Seleccione una operacion \n");
printf("1.- Suma \n");
printf("2.- Resta \n");
printf("3.- Multiplicacion \n");
printf("4.- Division \n");
scanf("%d", &opcion);
switch(opcion)
{
case 1: calculo = dato1 + dato2;
break;
case 2: calculo = dato1 - dato2;
break;
case 3: calculo = dato1 * dato2;
break;
case 4: if(dato2 > 0)
{
calculo = dato1 / dato2;
}
else
{
printf("No se puede dividir entre cero \n");
}
break;
default: printf("Opcion no valida \n");
break;
}
printf("El resultado es: %d \n", calculo);
system("PAUSE");
return 0;
}
Contar la cantidad de 1 y 0 de un vector en Visual Basic
Posted by Psycho in Programación on November 1, 2009
Module Module1
Sub Main()
'Vector en donde se van a almacenar los datos
Dim arreglo(4) As Integer
'Variables que almacenaran la cantidad de que numeros (1 y 0) que esten en el vector
Dim cont_cero As Integer
Dim cont_uno As Integer
cont_cero = 0
cont_uno = 0
'Llenar el vector con 1 y 0 ingresados por consola
For i = 1 To 4
Console.WriteLine("Ingrese un numero:")
arreglo(i) = Console.ReadLine()
Next
'Iterar el vector para contar la cantidad de 1 y 0
For i = 1 To 4
'Preguntar si el numero en la posicion actual es 1 e incrementar contador en caso contrario incrementar el contador de 0
If (arreglo(i) = 1) Then
cont_uno = cont_uno + 1
Else
cont_cero = cont_cero + 1
End If
Next
'Imprimir en pantalla
Console.Write("El total de ceros son: ")
Console.WriteLine(cont_cero)
Console.Write("El total de unos son: ")
Console.WriteLine(cont_uno)
End Sub
End Module
Sencillos ejemplos en Visual Basic
Posted by Psycho in Programación on November 1, 2009
En este semestre comenzamos a ver Visual Basic en lenguaje de programación II, y subiré algunos ejemplos para los compañeros de clases.
Este primer ejemplo es una aplicación de consola la cual consiste en saber el número mayor de un arreglo con números ingresados por el usuario.
Module Module1
Sub Main()
'Arreglo de 3 posiciones
Dim arreglo(3) As Integer
'Variable que almacenara el numero mayor
Dim mayor As Integer
mayor = 0
'For para llenar el arreglo con datos ingresados por la consola
For i = 1 To 3
Console.WriteLine("Ingrese un numero:")
arreglo(i) = Console.ReadLine()
Next
'Iterar el arreglo para obtener el dato mayor
For i = 1 To 3
'Preguntar si el datos que esta en la poscision n del arreglo es mayor al dato que se encuentra en la variable mayor
If (arreglo(i) > mayor) Then
mayor = arreglo(i)
End If
Next
'Imprimir el numero mayor
Console.Write("El numero mayor es: ")
Console.WriteLine(mayor)
End Sub
End Module



