Archive for category Programación

Pequeña reseña del DevCamp Caracas

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 :)

, ,

4 Comments

Efectos de Entrada y Salida para PopUps en Flex

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:

preview.jpg

Read the rest of this entry »

, ,

No Comments

Sube multiples archivos al servidor con Uploadify

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.

,

No Comments

Cerrar ventana modal al hacer Click fuera de la ventana en FlashBuilder

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:

preview.jpg

Puedes ver y descargar el código fuente mediante el menú del botón derecho

, ,

1 Comment

Crear imagenes miniaturas con CodeIgniter

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.

,

2 Comments

Actualizar perfil con streamPublish en Facebook

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

No Comments

Llenar una matriz con numeros impares en Lenguaje C

#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;
}

No Comments

Calculadora en Lenguaje C

#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;
}

No Comments

Contar la cantidad de 1 y 0 de un vector en Visual Basic

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

2 Comments

Sencillos ejemplos en Visual Basic

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

1 Comment